Kenya Core Implementation Guide
1.0.0 - release Kenya flag

Kenya Core Implementation Guide - Local Development build (v1.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Kenya Core Community Health Worker

Official URL: https://fhir.dha.go.ke/core/StructureDefinition/kenya-core-community-health-worker Version: 1.0.0
Active as of 2026-10-02 Computable Name: KenyaCoreCommunityHealthWorker

A Community Health Promoter (CHP) or Community Health Assistant (CHA) registered in the Community Health Unit Registry. The worker's role and CHU come from KenyaCoreCommunityHealthWorkerRole.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Practitioner 0..* Practitioner A person with a formal responsibility in the provisioning of healthcare or related services
... id SΣ 1..1 id Logical id of this artifact
... meta SΣ 1..1 Meta Metadata about the resource
.... profile Σ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to

Required Pattern: https://fhir.dha.go.ke/core/StructureDefinition/kenya-core-community-health-worker
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
.... extension:trained S 0..1 boolean Community Health Worker Trained
URL: https://fhir.dha.go.ke/core/StructureDefinition/community-health-worker-trained
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier SΣ 1..* Identifier An identifier for the person as this agent
Slice: Unordered, Open by value:system
.... identifier:workerCode SΣ 1..1 Identifier Worker code issued by the CHU Registry (HWIDNNNNNN-D)
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Required Pattern: official
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/identifier/community-health-worker-code
..... value ΣC 1..1 string The value that is unique
Constraints: chw-code-format
Example General: 123456
.... identifier:nationalId SΣ 0..1 Identifier National ID number
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/Practitioner/National_ID
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:registrationNumber SΣ 0..1 Identifier Professional registration number (CHAs only)
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/Practitioner/PractitionerRegistrationNumber
..... value Σ 1..1 string The value that is unique
Example General: 123456
... active SΣ 1..1 boolean Whether this practitioner's record is in active use
... name SΣ 1..* HumanName The name(s) associated with the practitioner
.... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.
.... text SΣ 1..1 string Text representation of the full name
... telecom SΣ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
... address SΣ 0..* Address Address(es) of the practitioner that are not role specific (typically home address)
.... use ?!Σ 0..1 code home | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.
Example General: home
.... city SΣ 0..1 string Sub-County
Example General: Erewhon
.... district SΣ 0..1 string County
Example General: Madison
... gender SΣ 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Practitioner.identifier:workerCode.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Practitioner.identifier:nationalId.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Practitioner.identifier:registrationNumber.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Practitioner.name.use Base required NameUse 📍4.0.1 FHIR Std.
Practitioner.address.​use Base required AddressUse 📍4.0.1 FHIR Std.
Practitioner.gender Base required AdministrativeGender 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
chw-code-format error Practitioner.identifier:workerCode.value Community health worker code must be HWID<sequence>-<Luhn check digit>, e.g. HWID100001-7 $this.matches('^HWID[0-9]{6,}-[0-9]$')
dom-2 error Practitioner If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Practitioner If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Practitioner If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Practitioner If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Practitioner A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Practitioner

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Practitioner 0..* Practitioner A person with a formal responsibility in the provisioning of healthcare or related services
... id S 1..1 id Logical id of this artifact
... meta S 1..1 Meta Metadata about the resource
.... profile 1..* canonical(StructureDefinition) Profiles this resource claims to conform to
Required Pattern: https://fhir.dha.go.ke/core/StructureDefinition/kenya-core-community-health-worker
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:trained S 0..1 boolean Community Health Worker Trained
URL: https://fhir.dha.go.ke/core/StructureDefinition/community-health-worker-trained
.... identifier:workerCode S 1..1 Identifier Worker code issued by the CHU Registry (HWIDNNNNNN-D)
..... use 0..1 code usual | official | temp | secondary | old (If known)
Required Pattern: official
..... system 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/identifier/community-health-worker-code
..... value C 1..1 string The value that is unique
Constraints: chw-code-format
.... identifier:nationalId S 0..1 Identifier National ID number
..... system 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/Practitioner/National_ID
..... value 1..1 string The value that is unique
.... identifier:registrationNumber S 0..1 Identifier Professional registration number (CHAs only)
..... system 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/Practitioner/PractitionerRegistrationNumber
..... value 1..1 string The value that is unique
... active S 1..1 boolean Whether this practitioner's record is in active use
... name S 1..* HumanName The name(s) associated with the practitioner
.... text S 1..1 string Text representation of the full name
... telecom S 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
... address S 0..* Address Address(es) of the practitioner that are not role specific (typically home address)
.... city S 0..1 string Sub-County
.... district S 0..1 string County
... gender S 0..1 code male | female | other | unknown

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
chw-code-format error Practitioner.identifier:workerCode.value Community health worker code must be HWID<sequence>-<Luhn check digit>, e.g. HWID100001-7 $this.matches('^HWID[0-9]{6,}-[0-9]$')
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Practitioner 0..* Practitioner A person with a formal responsibility in the provisioning of healthcare or related services
... id SΣ 1..1 id Logical id of this artifact
... meta SΣ 1..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to

Required Pattern: https://fhir.dha.go.ke/core/StructureDefinition/kenya-core-community-health-worker
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:trained S 0..1 boolean Community Health Worker Trained
URL: https://fhir.dha.go.ke/core/StructureDefinition/community-health-worker-trained
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier SΣ 1..* Identifier An identifier for the person as this agent
Slice: Unordered, Open by value:system
.... identifier:workerCode SΣ 1..1 Identifier Worker code issued by the CHU Registry (HWIDNNNNNN-D)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Required Pattern: official
..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/identifier/community-health-worker-code
..... value ΣC 1..1 string The value that is unique
Constraints: chw-code-format
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
.... identifier:nationalId SΣ 0..1 Identifier National ID number
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/Practitioner/National_ID
..... value Σ 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
.... identifier:registrationNumber SΣ 0..1 Identifier Professional registration number (CHAs only)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/Practitioner/PractitionerRegistrationNumber
..... value Σ 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... active SΣ 1..1 boolean Whether this practitioner's record is in active use
... name SΣ 1..* HumanName The name(s) associated with the practitioner
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.
.... text SΣ 1..1 string Text representation of the full name
.... family Σ 0..1 string Family name (often called 'Surname')
.... given Σ 0..* string Given names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix Σ 0..* string Parts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix Σ 0..* string Parts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period Σ 0..1 Period Time period when name was/is in use
... telecom SΣ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
... address SΣ 0..* Address Address(es) of the practitioner that are not role specific (typically home address)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code home | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.
Example General: home
.... type Σ 0..1 code postal | physical | both
Binding: AddressType (required): The type of an address (physical / postal).
Example General: both
.... text Σ 0..1 string Text representation of the address
Example General: 137 Nowhere Street, Erewhon 9132
.... line Σ 0..* string Street name, number, direction & P.O. Box etc.
This repeating element order: The order in which lines should appear in an address label
Example General: 137 Nowhere Street
.... city SΣ 0..1 string Sub-County
Example General: Erewhon
.... district SΣ 0..1 string County
Example General: Madison
.... state Σ 0..1 string Sub-unit of country (abbreviations ok)
.... postalCode Σ 0..1 string Postal code for area
Example General: 9132
.... country Σ 0..1 string Country (e.g. can be ISO 3166 2 or 3 letter code)
.... period Σ 0..1 Period Time period when address was/is in use
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... gender SΣ 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
... birthDate Σ 0..1 date The date on which the practitioner was born
... photo 0..* Attachment Image of the person
... qualification 0..* BackboneElement Certification, licenses, or training pertaining to the provision of care
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... identifier 0..* Identifier An identifier for this qualification for the practitioner
.... code 1..1 CodeableConcept Coded representation of the qualification
Binding: v2 table 0360, Version 2.7 (example): Specific qualification the practitioner has to provide a service.
.... period 0..1 Period Period during which the qualification is valid
.... issuer 0..1 Reference(Organization) Organization that regulates and issues the qualification
... communication 0..* CodeableConcept A language the practitioner can use in patient communication
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding


doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Practitioner.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Practitioner.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Practitioner.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Practitioner.identifier:workerCode.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Practitioner.identifier:workerCode.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Practitioner.identifier:nationalId.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Practitioner.identifier:nationalId.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Practitioner.identifier:registrationNumber.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Practitioner.identifier:registrationNumber.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Practitioner.name.use Base required NameUse 📍4.0.1 FHIR Std.
Practitioner.address.​use Base required AddressUse 📍4.0.1 FHIR Std.
Practitioner.address.​type Base required AddressType 📍4.0.1 FHIR Std.
Practitioner.gender Base required AdministrativeGender 📍4.0.1 FHIR Std.
Practitioner.qualification.​code Base example v2 table 0360, Version 2.7 📦0360 FHIR Std.
Practitioner.communication Base preferred Common Languages 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
chw-code-format error Practitioner.identifier:workerCode.value Community health worker code must be HWID<sequence>-<Luhn check digit>, e.g. HWID100001-7 $this.matches('^HWID[0-9]{6,}-[0-9]$')
dom-2 error Practitioner If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Practitioner If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Practitioner If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Practitioner If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Practitioner A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Practitioner

Summary

Mandatory: 10 elements(4 nested mandatory elements)
Must-Support: 15 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Practitioner.identifier

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Practitioner 0..* Practitioner A person with a formal responsibility in the provisioning of healthcare or related services
... id SΣ 1..1 id Logical id of this artifact
... meta SΣ 1..1 Meta Metadata about the resource
.... profile Σ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to

Required Pattern: https://fhir.dha.go.ke/core/StructureDefinition/kenya-core-community-health-worker
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
.... extension:trained S 0..1 boolean Community Health Worker Trained
URL: https://fhir.dha.go.ke/core/StructureDefinition/community-health-worker-trained
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier SΣ 1..* Identifier An identifier for the person as this agent
Slice: Unordered, Open by value:system
.... identifier:workerCode SΣ 1..1 Identifier Worker code issued by the CHU Registry (HWIDNNNNNN-D)
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Required Pattern: official
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/identifier/community-health-worker-code
..... value ΣC 1..1 string The value that is unique
Constraints: chw-code-format
Example General: 123456
.... identifier:nationalId SΣ 0..1 Identifier National ID number
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/Practitioner/National_ID
..... value Σ 1..1 string The value that is unique
Example General: 123456
.... identifier:registrationNumber SΣ 0..1 Identifier Professional registration number (CHAs only)
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/Practitioner/PractitionerRegistrationNumber
..... value Σ 1..1 string The value that is unique
Example General: 123456
... active SΣ 1..1 boolean Whether this practitioner's record is in active use
... name SΣ 1..* HumanName The name(s) associated with the practitioner
.... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.
.... text SΣ 1..1 string Text representation of the full name
... telecom SΣ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
... address SΣ 0..* Address Address(es) of the practitioner that are not role specific (typically home address)
.... use ?!Σ 0..1 code home | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.
Example General: home
.... city SΣ 0..1 string Sub-County
Example General: Erewhon
.... district SΣ 0..1 string County
Example General: Madison
... gender SΣ 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Practitioner.identifier:workerCode.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Practitioner.identifier:nationalId.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Practitioner.identifier:registrationNumber.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Practitioner.name.use Base required NameUse 📍4.0.1 FHIR Std.
Practitioner.address.​use Base required AddressUse 📍4.0.1 FHIR Std.
Practitioner.gender Base required AdministrativeGender 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
chw-code-format error Practitioner.identifier:workerCode.value Community health worker code must be HWID<sequence>-<Luhn check digit>, e.g. HWID100001-7 $this.matches('^HWID[0-9]{6,}-[0-9]$')
dom-2 error Practitioner If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Practitioner If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Practitioner If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Practitioner If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Practitioner A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from Practitioner

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Practitioner 0..* Practitioner A person with a formal responsibility in the provisioning of healthcare or related services
... id S 1..1 id Logical id of this artifact
... meta S 1..1 Meta Metadata about the resource
.... profile 1..* canonical(StructureDefinition) Profiles this resource claims to conform to
Required Pattern: https://fhir.dha.go.ke/core/StructureDefinition/kenya-core-community-health-worker
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:trained S 0..1 boolean Community Health Worker Trained
URL: https://fhir.dha.go.ke/core/StructureDefinition/community-health-worker-trained
.... identifier:workerCode S 1..1 Identifier Worker code issued by the CHU Registry (HWIDNNNNNN-D)
..... use 0..1 code usual | official | temp | secondary | old (If known)
Required Pattern: official
..... system 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/identifier/community-health-worker-code
..... value C 1..1 string The value that is unique
Constraints: chw-code-format
.... identifier:nationalId S 0..1 Identifier National ID number
..... system 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/Practitioner/National_ID
..... value 1..1 string The value that is unique
.... identifier:registrationNumber S 0..1 Identifier Professional registration number (CHAs only)
..... system 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/Practitioner/PractitionerRegistrationNumber
..... value 1..1 string The value that is unique
... active S 1..1 boolean Whether this practitioner's record is in active use
... name S 1..* HumanName The name(s) associated with the practitioner
.... text S 1..1 string Text representation of the full name
... telecom S 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
... address S 0..* Address Address(es) of the practitioner that are not role specific (typically home address)
.... city S 0..1 string Sub-County
.... district S 0..1 string County
... gender S 0..1 code male | female | other | unknown

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
chw-code-format error Practitioner.identifier:workerCode.value Community health worker code must be HWID<sequence>-<Luhn check digit>, e.g. HWID100001-7 $this.matches('^HWID[0-9]{6,}-[0-9]$')

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Practitioner 0..* Practitioner A person with a formal responsibility in the provisioning of healthcare or related services
... id SΣ 1..1 id Logical id of this artifact
... meta SΣ 1..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to

Required Pattern: https://fhir.dha.go.ke/core/StructureDefinition/kenya-core-community-health-worker
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 0..* Coding Tags applied to this resource
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... extension:trained S 0..1 boolean Community Health Worker Trained
URL: https://fhir.dha.go.ke/core/StructureDefinition/community-health-worker-trained
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... Slices for identifier SΣ 1..* Identifier An identifier for the person as this agent
Slice: Unordered, Open by value:system
.... identifier:workerCode SΣ 1..1 Identifier Worker code issued by the CHU Registry (HWIDNNNNNN-D)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
Required Pattern: official
..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/identifier/community-health-worker-code
..... value ΣC 1..1 string The value that is unique
Constraints: chw-code-format
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
.... identifier:nationalId SΣ 0..1 Identifier National ID number
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/Practitioner/National_ID
..... value Σ 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
.... identifier:registrationNumber SΣ 0..1 Identifier Professional registration number (CHAs only)
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
..... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
..... system Σ 1..1 uri The namespace for the identifier value
Required Pattern: https://fhir.dha.go.ke/fhir/Practitioner/PractitionerRegistrationNumber
..... value Σ 1..1 string The value that is unique
Example General: 123456
..... period Σ 0..1 Period Time period when id is/was valid for use
..... assigner Σ 0..1 Reference(Organization) Organization that issued id (may be just text)
... active SΣ 1..1 boolean Whether this practitioner's record is in active use
... name SΣ 1..* HumanName The name(s) associated with the practitioner
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | nickname | anonymous | old | maiden
Binding: NameUse (required): The use of a human name.
.... text SΣ 1..1 string Text representation of the full name
.... family Σ 0..1 string Family name (often called 'Surname')
.... given Σ 0..* string Given names (not always 'first'). Includes middle names
This repeating element order: Given Names appear in the correct order for presenting the name
.... prefix Σ 0..* string Parts that come before the name
This repeating element order: Prefixes appear in the correct order for presenting the name
.... suffix Σ 0..* string Parts that come after the name
This repeating element order: Suffixes appear in the correct order for presenting the name
.... period Σ 0..1 Period Time period when name was/is in use
... telecom SΣ 0..* ContactPoint A contact detail for the practitioner (that apply to all roles)
... address SΣ 0..* Address Address(es) of the practitioner that are not role specific (typically home address)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code home | work | temp | old | billing - purpose of this address
Binding: AddressUse (required): The use of an address.
Example General: home
.... type Σ 0..1 code postal | physical | both
Binding: AddressType (required): The type of an address (physical / postal).
Example General: both
.... text Σ 0..1 string Text representation of the address
Example General: 137 Nowhere Street, Erewhon 9132
.... line Σ 0..* string Street name, number, direction & P.O. Box etc.
This repeating element order: The order in which lines should appear in an address label
Example General: 137 Nowhere Street
.... city SΣ 0..1 string Sub-County
Example General: Erewhon
.... district SΣ 0..1 string County
Example General: Madison
.... state Σ 0..1 string Sub-unit of country (abbreviations ok)
.... postalCode Σ 0..1 string Postal code for area
Example General: 9132
.... country Σ 0..1 string Country (e.g. can be ISO 3166 2 or 3 letter code)
.... period Σ 0..1 Period Time period when address was/is in use
Example General: {"start":"2010-03-23","end":"2010-07-01"}
... gender SΣ 0..1 code male | female | other | unknown
Binding: AdministrativeGender (required): The gender of a person used for administrative purposes.
... birthDate Σ 0..1 date The date on which the practitioner was born
... photo 0..* Attachment Image of the person
... qualification 0..* BackboneElement Certification, licenses, or training pertaining to the provision of care
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... identifier 0..* Identifier An identifier for this qualification for the practitioner
.... code 1..1 CodeableConcept Coded representation of the qualification
Binding: v2 table 0360, Version 2.7 (example): Specific qualification the practitioner has to provide a service.
.... period 0..1 Period Period during which the qualification is valid
.... issuer 0..1 Reference(Organization) Organization that regulates and issues the qualification
... communication 0..* CodeableConcept A language the practitioner can use in patient communication
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding


doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Practitioner.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Practitioner.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Practitioner.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Practitioner.identifier:workerCode.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Practitioner.identifier:workerCode.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Practitioner.identifier:nationalId.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Practitioner.identifier:nationalId.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Practitioner.identifier:registrationNumber.​use Base required IdentifierUse 📍4.0.1 FHIR Std.
Practitioner.identifier:registrationNumber.​type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Practitioner.name.use Base required NameUse 📍4.0.1 FHIR Std.
Practitioner.address.​use Base required AddressUse 📍4.0.1 FHIR Std.
Practitioner.address.​type Base required AddressType 📍4.0.1 FHIR Std.
Practitioner.gender Base required AdministrativeGender 📍4.0.1 FHIR Std.
Practitioner.qualification.​code Base example v2 table 0360, Version 2.7 📦0360 FHIR Std.
Practitioner.communication Base preferred Common Languages 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
chw-code-format error Practitioner.identifier:workerCode.value Community health worker code must be HWID<sequence>-<Luhn check digit>, e.g. HWID100001-7 $this.matches('^HWID[0-9]{6,}-[0-9]$')
dom-2 error Practitioner If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Practitioner If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Practitioner If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Practitioner If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Practitioner A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Practitioner

Summary

Mandatory: 10 elements(4 nested mandatory elements)
Must-Support: 15 elements

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Practitioner.identifier

 

Other representations of profile: CSV, Excel, Schematron