Kenya Core FHIR Implementation Guide (IG)
0.1.0 - ci-build

Kenya Core FHIR Implementation Guide (IG), published by IntelliSOFT Consulting. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IntelliSOFT-Consulting/Kenya-core-FHIR-IG/ and changes regularly. See the Directory of published versions

Resource Profile: Kenya Core Location Profile

Official URL: http://example.org/StructureDefinition/kenya-core-location Version: 0.1.0
Draft as of 2025-12-17 Computable Name: KenyaCoreLocation

Location profile for facility units, wards, labs.

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

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
.. Location 0..* Location Details and position information for a physical place
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 0..1 code Location status
Binding: LocationStatus (required)
... type SΣ 0..* CodeableConcept Type of location (e.g., Ward/clinic/lab/etc.)
Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location.
... address S 0..1 Address Physical address
... position 0..1 BackboneElement Geo
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... longitude 1..1 decimal Longitude with WGS84 datum
.... latitude 1..1 decimal Latitude with WGS84 datum
... managingOrganization SΣ 0..1 Reference(Organization) Who manages
... partOf 0..1 Reference(Location) Parent location

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Location.status Base required LocationStatus 📦4.0.1 FHIR Std.
Location.type Base extensible ServiceDeliveryLocationRoleType 📦3.0.0 THO v7.0

Constraints

Id Grade Path(s) Description Expression
dom-2 error Location If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Location 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 Location 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 Location If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Location 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 Location

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Location 0..* Location Details and position information for a physical place
... meta
.... profile 1..* canonical(StructureDefinition) Profiles this resource claims to conform to
Fixed Value: https://fhir.sha.go.ke/fhir/StructureDefinition/kenya-core-location|1.0.0
... status S 0..1 code Location status
Binding: LocationStatus (required)
... name S 0..1 string Display name
... address S 0..1 Address Physical address
... position 0..1 BackboneElement Geo
... managingOrganization S 0..1 Reference(Organization) Who manages
... partOf 0..1 Reference(Location) Parent location

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Location.status Base required LocationStatus 📦4.0.1 FHIR Std.
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Location 0..* Location Details and position information for a physical place
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..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

Fixed Value: https://fhir.sha.go.ke/fhir/StructureDefinition/kenya-core-location|1.0.0
.... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Unique code or number identifying the location to its users
... status ?!SΣ 0..1 code Location status
Binding: LocationStatus (required)
... operationalStatus Σ 0..1 Coding The operational status of the location (typically only for a bed/room)
Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room).
... name SΣ 0..1 string Display name
... alias 0..* string A list of alternate names that the location is known as, or was known as, in the past
... description Σ 0..1 string Additional details about the location that could be displayed as further information to identify the location beyond its name
... mode Σ 0..1 code instance | kind
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.
... type SΣ 0..* CodeableConcept Type of location (e.g., Ward/clinic/lab/etc.)
Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location.
... telecom 0..* ContactPoint Contact details of the location
... address S 0..1 Address Physical address
... physicalType Σ 0..1 CodeableConcept Physical form of the location
Binding: LocationType (example): Physical form of the location.
... position 0..1 BackboneElement Geo
.... 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
.... longitude 1..1 decimal Longitude with WGS84 datum
.... latitude 1..1 decimal Latitude with WGS84 datum
.... altitude 0..1 decimal Altitude with WGS84 datum
... managingOrganization SΣ 0..1 Reference(Organization) Who manages
... partOf 0..1 Reference(Location) Parent location
... hoursOfOperation 0..* BackboneElement What days/times during a week is this location usually open
.... 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
.... daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.
.... allDay 0..1 boolean The Location is open all day
.... openingTime 0..1 time Time that the Location opens
.... closingTime 0..1 time Time that the Location closes
... availabilityExceptions 0..1 string Description of availability exceptions
... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the location

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Location.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Location.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Location.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Location.status Base required LocationStatus 📦4.0.1 FHIR Std.
Location.operationalStatus Base preferred hl7VS-bedStatus 📦2.0.0 THO v7.0
Location.mode Base required LocationMode 📍4.0.1 FHIR Std.
Location.type Base extensible ServiceDeliveryLocationRoleType 📦3.0.0 THO v7.0
Location.physicalType Base example Location type 📍4.0.1 FHIR Std.
Location.hoursOfOperation.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Location If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Location 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 Location 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 Location If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Location 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 Location

Summary

Mandatory: 0 element(1 nested mandatory element)
Must-Support: 5 elements
Fixed: 1 element

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Location 0..* Location Details and position information for a physical place
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!SΣ 0..1 code Location status
Binding: LocationStatus (required)
... type SΣ 0..* CodeableConcept Type of location (e.g., Ward/clinic/lab/etc.)
Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location.
... address S 0..1 Address Physical address
... position 0..1 BackboneElement Geo
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... longitude 1..1 decimal Longitude with WGS84 datum
.... latitude 1..1 decimal Latitude with WGS84 datum
... managingOrganization SΣ 0..1 Reference(Organization) Who manages
... partOf 0..1 Reference(Location) Parent location

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Location.status Base required LocationStatus 📦4.0.1 FHIR Std.
Location.type Base extensible ServiceDeliveryLocationRoleType 📦3.0.0 THO v7.0

Constraints

Id Grade Path(s) Description Expression
dom-2 error Location If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Location 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 Location 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 Location If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Location 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 Location

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Location 0..* Location Details and position information for a physical place
... meta
.... profile 1..* canonical(StructureDefinition) Profiles this resource claims to conform to
Fixed Value: https://fhir.sha.go.ke/fhir/StructureDefinition/kenya-core-location|1.0.0
... status S 0..1 code Location status
Binding: LocationStatus (required)
... name S 0..1 string Display name
... address S 0..1 Address Physical address
... position 0..1 BackboneElement Geo
... managingOrganization S 0..1 Reference(Organization) Who manages
... partOf 0..1 Reference(Location) Parent location

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Location.status Base required LocationStatus 📦4.0.1 FHIR Std.

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Location 0..* Location Details and position information for a physical place
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..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

Fixed Value: https://fhir.sha.go.ke/fhir/StructureDefinition/kenya-core-location|1.0.0
.... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Unique code or number identifying the location to its users
... status ?!SΣ 0..1 code Location status
Binding: LocationStatus (required)
... operationalStatus Σ 0..1 Coding The operational status of the location (typically only for a bed/room)
Binding: hl7VS-bedStatus (preferred): The operational status if the location (where typically a bed/room).
... name SΣ 0..1 string Display name
... alias 0..* string A list of alternate names that the location is known as, or was known as, in the past
... description Σ 0..1 string Additional details about the location that could be displayed as further information to identify the location beyond its name
... mode Σ 0..1 code instance | kind
Binding: LocationMode (required): Indicates whether a resource instance represents a specific location or a class of locations.
... type SΣ 0..* CodeableConcept Type of location (e.g., Ward/clinic/lab/etc.)
Binding: ServiceDeliveryLocationRoleType (extensible): Indicates the type of function performed at the location.
... telecom 0..* ContactPoint Contact details of the location
... address S 0..1 Address Physical address
... physicalType Σ 0..1 CodeableConcept Physical form of the location
Binding: LocationType (example): Physical form of the location.
... position 0..1 BackboneElement Geo
.... 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
.... longitude 1..1 decimal Longitude with WGS84 datum
.... latitude 1..1 decimal Latitude with WGS84 datum
.... altitude 0..1 decimal Altitude with WGS84 datum
... managingOrganization SΣ 0..1 Reference(Organization) Who manages
... partOf 0..1 Reference(Location) Parent location
... hoursOfOperation 0..* BackboneElement What days/times during a week is this location usually open
.... 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
.... daysOfWeek 0..* code mon | tue | wed | thu | fri | sat | sun
Binding: DaysOfWeek (required): The days of the week.
.... allDay 0..1 boolean The Location is open all day
.... openingTime 0..1 time Time that the Location opens
.... closingTime 0..1 time Time that the Location closes
... availabilityExceptions 0..1 string Description of availability exceptions
... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to services operated for the location

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Location.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Location.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Location.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Location.status Base required LocationStatus 📦4.0.1 FHIR Std.
Location.operationalStatus Base preferred hl7VS-bedStatus 📦2.0.0 THO v7.0
Location.mode Base required LocationMode 📍4.0.1 FHIR Std.
Location.type Base extensible ServiceDeliveryLocationRoleType 📦3.0.0 THO v7.0
Location.physicalType Base example Location type 📍4.0.1 FHIR Std.
Location.hoursOfOperation.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Location If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Location 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 Location 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 Location If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Location 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 Location

Summary

Mandatory: 0 element(1 nested mandatory element)
Must-Support: 5 elements
Fixed: 1 element

 

Other representations of profile: CSV, Excel, Schematron