DHIN 2025Connectathon FHIR IG
0.1.0 - draft

DHIN 2025Connectathon FHIR IG, published by DHIN. 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/Nigeria-FHIR-Community/2025Connectathon/ and changes regularly. See the Directory of published versions

Resource Profile: NG HealthcareService

Official URL: https://sandbox.dhin-hie.org/ig/StructureDefinition/NgHealthcareService Version: 0.1.0
Draft as of 2025-10-02 Computable Name: NgHealthcareService

Minimal HealthcareService profile for the 2025 Connectathon (service directory/referrals).

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
.. HealthcareService 0..* HealthcareService The details of a healthcare service available at a location
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... active ?!SΣ 0..1 boolean Whether this HealthcareService record is in active use
... category SΣ 0..* CodeableConcept Broad category of service being performed or delivered
Binding: ServiceCategory (preferred)
... type SΣ 0..* CodeableConcept Type of service that may be delivered or performed
Binding: ServiceType (preferred)
... location SΣ 0..* Reference(NG Location) Location(s) where service may be provided
... name SΣ 1..1 string Description of service as presented to a consumer while searching
... telecom S 0..* ContactPoint Contacts related to the healthcare service
... coverageArea 0..* Reference(NG Location) Location(s) service is intended for/available to
... referralMethod 0..* CodeableConcept Ways that the service accepts referrals
Binding: ReferralMethod (preferred)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
HealthcareService.category Base preferred Service category 📦4.0.1 FHIR Std.
HealthcareService.type Base preferred Service type 📦4.0.1 FHIR Std.
HealthcareService.referralMethod Base preferred ReferralMethod 📦4.0.1 FHIR Std.

Constraints

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. HealthcareService 0..* HealthcareService The details of a healthcare service available at a location
... active S 0..1 boolean Whether this HealthcareService record is in active use
... providedBy S 0..1 Reference(NG Organization) Organization that provides this service
... category S 0..* CodeableConcept Broad category of service being performed or delivered
Binding: ServiceCategory (preferred)
... location S 0..* Reference(NG Location) Location(s) where service may be provided
... name S 1..1 string Description of service as presented to a consumer while searching
... telecom S 0..* ContactPoint Contacts related to the healthcare service
... coverageArea 0..* Reference(NG Location) Location(s) service is intended for/available to
... referralMethod 0..* CodeableConcept Ways that the service accepts referrals
Binding: ReferralMethod (preferred)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
HealthcareService.category Base preferred Service category 📦4.0.1 FHIR Std.
HealthcareService.type Base preferred Service type 📦4.0.1 FHIR Std.
HealthcareService.referralMethod Base preferred ReferralMethod 📦4.0.1 FHIR Std.
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. HealthcareService 0..* HealthcareService The details of a healthcare service available at a location
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... 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 External identifiers for this item
... active ?!SΣ 0..1 boolean Whether this HealthcareService record is in active use
... providedBy SΣ 0..1 Reference(NG Organization) Organization that provides this service
... category SΣ 0..* CodeableConcept Broad category of service being performed or delivered
Binding: ServiceCategory (preferred)
... type SΣ 0..* CodeableConcept Type of service that may be delivered or performed
Binding: ServiceType (preferred)
... specialty Σ 0..* CodeableConcept Specialties handled by the HealthcareService
Binding: PracticeSettingCodeValueSet (preferred): A specialty that a healthcare service may provide.
... location SΣ 0..* Reference(NG Location) Location(s) where service may be provided
... name SΣ 1..1 string Description of service as presented to a consumer while searching
... comment Σ 0..1 string Additional description and/or any specific issues not covered elsewhere
... extraDetails 0..1 markdown Extra details about the service that can't be placed in the other fields
... photo Σ 0..1 Attachment Facilitates quick identification of the service
... telecom S 0..* ContactPoint Contacts related to the healthcare service
... coverageArea 0..* Reference(NG Location) Location(s) service is intended for/available to
... serviceProvisionCode 0..* CodeableConcept Conditions under which service is available/offered
Binding: ServiceProvisionConditions (example): The code(s) that detail the conditions under which the healthcare service is available/offered.
... eligibility 0..* BackboneElement Specific eligibility requirements required to use the service
.... 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
.... code 0..1 CodeableConcept Coded value for the eligibility
Binding Description: (example): Coded values underwhich a specific service is made available.
.... comment 0..1 markdown Describes the eligibility conditions for the service
... program 0..* CodeableConcept Programs that this service is applicable to
Binding: Program (example): Government or local programs that this service applies to.
... characteristic 0..* CodeableConcept Collection of characteristics (attributes)
Binding Description: (example): A custom attribute that could be provided at a service (e.g. Wheelchair accessibiliy).
... communication 0..* CodeableConcept The language that this service is offered in
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding

... referralMethod 0..* CodeableConcept Ways that the service accepts referrals
Binding: ReferralMethod (preferred)
... appointmentRequired 0..1 boolean If an appointment is required for access to this service
... availableTime 0..* BackboneElement Times the Service Site is available
.... 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 Always available? e.g. 24 hour service
.... availableStartTime 0..1 time Opening time of day (ignored if allDay = true)
.... availableEndTime 0..1 time Closing time of day (ignored if allDay = true)
... notAvailable 0..* BackboneElement Not available during this time due to provided reason
.... 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
.... description 1..1 string Reason presented to the user explaining why time not available
.... during 0..1 Period Service not available from this date
... availabilityExceptions 0..1 string Description of availability exceptions
... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to electronic services operated for the healthcare service

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
HealthcareService.language Base preferred Common Languages 📍4.0.1 FHIR Std.
HealthcareService.category Base preferred Service category 📦4.0.1 FHIR Std.
HealthcareService.type Base preferred Service type 📦4.0.1 FHIR Std.
HealthcareService.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.
HealthcareService.serviceProvisionCode Base example ServiceProvisionConditions 📍4.0.1 FHIR Std.
HealthcareService.eligibility.​code Base example ? Unknown
HealthcareService.program Base example Program 📍4.0.1 FHIR Std.
HealthcareService.characteristic Base example ? Unknown
HealthcareService.communication Base preferred Common Languages 📍4.0.1 FHIR Std.
HealthcareService.referralMethod Base preferred ReferralMethod 📦4.0.1 FHIR Std.
HealthcareService.availableTime.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

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

Summary

Mandatory: 1 element
Must-Support: 7 elements

Structures

This structure refers to these other structures:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. HealthcareService 0..* HealthcareService The details of a healthcare service available at a location
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... active ?!SΣ 0..1 boolean Whether this HealthcareService record is in active use
... category SΣ 0..* CodeableConcept Broad category of service being performed or delivered
Binding: ServiceCategory (preferred)
... type SΣ 0..* CodeableConcept Type of service that may be delivered or performed
Binding: ServiceType (preferred)
... location SΣ 0..* Reference(NG Location) Location(s) where service may be provided
... name SΣ 1..1 string Description of service as presented to a consumer while searching
... telecom S 0..* ContactPoint Contacts related to the healthcare service
... coverageArea 0..* Reference(NG Location) Location(s) service is intended for/available to
... referralMethod 0..* CodeableConcept Ways that the service accepts referrals
Binding: ReferralMethod (preferred)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
HealthcareService.category Base preferred Service category 📦4.0.1 FHIR Std.
HealthcareService.type Base preferred Service type 📦4.0.1 FHIR Std.
HealthcareService.referralMethod Base preferred ReferralMethod 📦4.0.1 FHIR Std.

Constraints

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. HealthcareService 0..* HealthcareService The details of a healthcare service available at a location
... active S 0..1 boolean Whether this HealthcareService record is in active use
... providedBy S 0..1 Reference(NG Organization) Organization that provides this service
... category S 0..* CodeableConcept Broad category of service being performed or delivered
Binding: ServiceCategory (preferred)
... location S 0..* Reference(NG Location) Location(s) where service may be provided
... name S 1..1 string Description of service as presented to a consumer while searching
... telecom S 0..* ContactPoint Contacts related to the healthcare service
... coverageArea 0..* Reference(NG Location) Location(s) service is intended for/available to
... referralMethod 0..* CodeableConcept Ways that the service accepts referrals
Binding: ReferralMethod (preferred)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
HealthcareService.category Base preferred Service category 📦4.0.1 FHIR Std.
HealthcareService.type Base preferred Service type 📦4.0.1 FHIR Std.
HealthcareService.referralMethod Base preferred ReferralMethod 📦4.0.1 FHIR Std.

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. HealthcareService 0..* HealthcareService The details of a healthcare service available at a location
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... 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 External identifiers for this item
... active ?!SΣ 0..1 boolean Whether this HealthcareService record is in active use
... providedBy SΣ 0..1 Reference(NG Organization) Organization that provides this service
... category SΣ 0..* CodeableConcept Broad category of service being performed or delivered
Binding: ServiceCategory (preferred)
... type SΣ 0..* CodeableConcept Type of service that may be delivered or performed
Binding: ServiceType (preferred)
... specialty Σ 0..* CodeableConcept Specialties handled by the HealthcareService
Binding: PracticeSettingCodeValueSet (preferred): A specialty that a healthcare service may provide.
... location SΣ 0..* Reference(NG Location) Location(s) where service may be provided
... name SΣ 1..1 string Description of service as presented to a consumer while searching
... comment Σ 0..1 string Additional description and/or any specific issues not covered elsewhere
... extraDetails 0..1 markdown Extra details about the service that can't be placed in the other fields
... photo Σ 0..1 Attachment Facilitates quick identification of the service
... telecom S 0..* ContactPoint Contacts related to the healthcare service
... coverageArea 0..* Reference(NG Location) Location(s) service is intended for/available to
... serviceProvisionCode 0..* CodeableConcept Conditions under which service is available/offered
Binding: ServiceProvisionConditions (example): The code(s) that detail the conditions under which the healthcare service is available/offered.
... eligibility 0..* BackboneElement Specific eligibility requirements required to use the service
.... 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
.... code 0..1 CodeableConcept Coded value for the eligibility
Binding Description: (example): Coded values underwhich a specific service is made available.
.... comment 0..1 markdown Describes the eligibility conditions for the service
... program 0..* CodeableConcept Programs that this service is applicable to
Binding: Program (example): Government or local programs that this service applies to.
... characteristic 0..* CodeableConcept Collection of characteristics (attributes)
Binding Description: (example): A custom attribute that could be provided at a service (e.g. Wheelchair accessibiliy).
... communication 0..* CodeableConcept The language that this service is offered in
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding

... referralMethod 0..* CodeableConcept Ways that the service accepts referrals
Binding: ReferralMethod (preferred)
... appointmentRequired 0..1 boolean If an appointment is required for access to this service
... availableTime 0..* BackboneElement Times the Service Site is available
.... 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 Always available? e.g. 24 hour service
.... availableStartTime 0..1 time Opening time of day (ignored if allDay = true)
.... availableEndTime 0..1 time Closing time of day (ignored if allDay = true)
... notAvailable 0..* BackboneElement Not available during this time due to provided reason
.... 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
.... description 1..1 string Reason presented to the user explaining why time not available
.... during 0..1 Period Service not available from this date
... availabilityExceptions 0..1 string Description of availability exceptions
... endpoint 0..* Reference(Endpoint) Technical endpoints providing access to electronic services operated for the healthcare service

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
HealthcareService.language Base preferred Common Languages 📍4.0.1 FHIR Std.
HealthcareService.category Base preferred Service category 📦4.0.1 FHIR Std.
HealthcareService.type Base preferred Service type 📦4.0.1 FHIR Std.
HealthcareService.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.
HealthcareService.serviceProvisionCode Base example ServiceProvisionConditions 📍4.0.1 FHIR Std.
HealthcareService.eligibility.​code Base example ? Unknown
HealthcareService.program Base example Program 📍4.0.1 FHIR Std.
HealthcareService.characteristic Base example ? Unknown
HealthcareService.communication Base preferred Common Languages 📍4.0.1 FHIR Std.
HealthcareService.referralMethod Base preferred ReferralMethod 📦4.0.1 FHIR Std.
HealthcareService.availableTime.​daysOfWeek Base required DaysOfWeek 📍4.0.1 FHIR Std.

Constraints

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

Summary

Mandatory: 1 element
Must-Support: 7 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron