This page is part of the Occupational Data for Health (ODH) FHIR IG (v1.0.0: STU 1) based on FHIR R4. The current version which supercedes this version is 1.2.0. For a full list of available versions, see the Directory of published versions
The official URL for this profile is:
http://hl7.org/fhir/us/odh/StructureDefinition/obf-HealthcareService
The details of a healthcare service available at a location.
This profile builds on HealthcareService.
This profile was published on Sat Jan 04 00:00:00 UTC 2020 as a draft by HL7 International Public Health Work Group.
Summary
Structures
This structure refers to these other structures:
Mapping Source
This structure represents the following mapping definition:
obf.HealthcareService maps to HealthcareService: Identifier maps to identifier Active maps to active Organization maps to providedBy Category maps to category Type maps to type SpecialtiesHandled maps to specialty Location maps to location Name maps to name CommentOrDescription maps to comment ExtraDetails maps to extraDetails PhotographicImage maps to photo ContactPoint maps to telecom CoverageArea maps to coverageArea ServiceProvisionCode maps to serviceProvisionCode Eligibility maps to eligibility Program maps to program Characteristic maps to characteristic Language maps to communication ReferralMethod maps to referralMethod AppointmentRequired maps to appointmentRequired AvailableTime maps to availableTime NotAvailable maps to notAvailable AvailabilityExceptions maps to availabilityExceptions Endpoint maps to endpoint
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
HealthcareService | HealthcareService | Healthcare Service | ||
category | Binding: ServiceCategory (required) | |||
type | Binding: ServiceType (required) | |||
specialty | Binding: PracticeSettingCodeValueSet (required) | |||
serviceProvisionCode | Binding: ServiceProvisionConditions (required) | |||
program | Binding: Program (required) | |||
referralMethod | Binding: ReferralMethod (required) | |||
endpoint | Reference(Endpoint) | |||
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
HealthcareService | I | 0..* | HealthcareService | Healthcare Service |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | External identifiers for this item |
active | ?!ΣI | 0..1 | boolean | Whether this HealthcareService record is in active use |
providedBy | ΣI | 0..1 | Reference(Organization) | Organization that provides this service |
category | ΣI | 0..* | CodeableConcept | Broad category of service being performed or delivered Binding: ServiceCategory (required) |
type | ΣI | 0..* | CodeableConcept | Type of service that may be delivered or performed Binding: ServiceType (required) |
specialty | ΣI | 0..* | CodeableConcept | Specialties handled by the HealthcareService Binding: PracticeSettingCodeValueSet (required) |
location | ΣI | 0..* | Reference(Location) | Location(s) where service may be provided |
name | ΣI | 0..1 | string | Description of service as presented to a consumer while searching |
comment | ΣI | 0..1 | string | Additional description and/or any specific issues not covered elsewhere |
extraDetails | I | 0..1 | markdown | Extra details about the service that can't be placed in the other fields |
photo | ΣI | 0..1 | Attachment | Facilitates quick identification of the service |
telecom | I | 0..* | ContactPoint | Contacts related to the healthcare service |
coverageArea | I | 0..* | Reference(Location) | Location(s) service is intended for/available to |
serviceProvisionCode | I | 0..* | CodeableConcept | Conditions under which service is available/offered Binding: ServiceProvisionConditions (required) |
eligibility | I | 0..* | BackboneElement | Specific eligibility requirements required to use the service |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | I | 0..1 | CodeableConcept | Coded value for the eligibility Binding: (unbound) (example) |
comment | I | 0..1 | markdown | Describes the eligibility conditions for the service |
program | I | 0..* | CodeableConcept | Programs that this service is applicable to Binding: Program (required) |
characteristic | I | 0..* | CodeableConcept | Collection of characteristics (attributes) Binding: (unbound) (example) |
communication | I | 0..* | CodeableConcept | The language that this service is offered in Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
referralMethod | I | 0..* | CodeableConcept | Ways that the service accepts referrals Binding: ReferralMethod (required) |
appointmentRequired | I | 0..1 | boolean | If an appointment is required for access to this service |
availableTime | I | 0..* | BackboneElement | Times the Service Site is available |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
daysOfWeek | I | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required) |
allDay | I | 0..1 | boolean | Always available? e.g. 24 hour service |
availableStartTime | I | 0..1 | time | Opening time of day (ignored if allDay = true) |
availableEndTime | I | 0..1 | time | Closing time of day (ignored if allDay = true) |
notAvailable | I | 0..* | BackboneElement | Not available during this time due to provided reason |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
description | I | 1..1 | string | Reason presented to the user explaining why time not available |
during | I | 0..1 | Period | Service not available from this date |
availabilityExceptions | I | 0..1 | string | Description of availability exceptions |
endpoint | I | 0..* | Reference(Endpoint) | Technical endpoints providing access to electronic services operated for the healthcare service |
Documentation for this format |
Summary
Structures
This structure refers to these other structures:
Mapping Source
This structure represents the following mapping definition:
obf.HealthcareService maps to HealthcareService: Identifier maps to identifier Active maps to active Organization maps to providedBy Category maps to category Type maps to type SpecialtiesHandled maps to specialty Location maps to location Name maps to name CommentOrDescription maps to comment ExtraDetails maps to extraDetails PhotographicImage maps to photo ContactPoint maps to telecom CoverageArea maps to coverageArea ServiceProvisionCode maps to serviceProvisionCode Eligibility maps to eligibility Program maps to program Characteristic maps to characteristic Language maps to communication ReferralMethod maps to referralMethod AppointmentRequired maps to appointmentRequired AvailableTime maps to availableTime NotAvailable maps to notAvailable AvailabilityExceptions maps to availabilityExceptions Endpoint maps to endpoint
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
HealthcareService | HealthcareService | Healthcare Service | ||
category | Binding: ServiceCategory (required) | |||
type | Binding: ServiceType (required) | |||
specialty | Binding: PracticeSettingCodeValueSet (required) | |||
serviceProvisionCode | Binding: ServiceProvisionConditions (required) | |||
program | Binding: Program (required) | |||
referralMethod | Binding: ReferralMethod (required) | |||
endpoint | Reference(Endpoint) | |||
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
HealthcareService | I | 0..* | HealthcareService | Healthcare Service |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | ΣI | 0..* | Identifier | External identifiers for this item |
active | ?!ΣI | 0..1 | boolean | Whether this HealthcareService record is in active use |
providedBy | ΣI | 0..1 | Reference(Organization) | Organization that provides this service |
category | ΣI | 0..* | CodeableConcept | Broad category of service being performed or delivered Binding: ServiceCategory (required) |
type | ΣI | 0..* | CodeableConcept | Type of service that may be delivered or performed Binding: ServiceType (required) |
specialty | ΣI | 0..* | CodeableConcept | Specialties handled by the HealthcareService Binding: PracticeSettingCodeValueSet (required) |
location | ΣI | 0..* | Reference(Location) | Location(s) where service may be provided |
name | ΣI | 0..1 | string | Description of service as presented to a consumer while searching |
comment | ΣI | 0..1 | string | Additional description and/or any specific issues not covered elsewhere |
extraDetails | I | 0..1 | markdown | Extra details about the service that can't be placed in the other fields |
photo | ΣI | 0..1 | Attachment | Facilitates quick identification of the service |
telecom | I | 0..* | ContactPoint | Contacts related to the healthcare service |
coverageArea | I | 0..* | Reference(Location) | Location(s) service is intended for/available to |
serviceProvisionCode | I | 0..* | CodeableConcept | Conditions under which service is available/offered Binding: ServiceProvisionConditions (required) |
eligibility | I | 0..* | BackboneElement | Specific eligibility requirements required to use the service |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
code | I | 0..1 | CodeableConcept | Coded value for the eligibility Binding: (unbound) (example) |
comment | I | 0..1 | markdown | Describes the eligibility conditions for the service |
program | I | 0..* | CodeableConcept | Programs that this service is applicable to Binding: Program (required) |
characteristic | I | 0..* | CodeableConcept | Collection of characteristics (attributes) Binding: (unbound) (example) |
communication | I | 0..* | CodeableConcept | The language that this service is offered in Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
referralMethod | I | 0..* | CodeableConcept | Ways that the service accepts referrals Binding: ReferralMethod (required) |
appointmentRequired | I | 0..1 | boolean | If an appointment is required for access to this service |
availableTime | I | 0..* | BackboneElement | Times the Service Site is available |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
daysOfWeek | I | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required) |
allDay | I | 0..1 | boolean | Always available? e.g. 24 hour service |
availableStartTime | I | 0..1 | time | Opening time of day (ignored if allDay = true) |
availableEndTime | I | 0..1 | time | Closing time of day (ignored if allDay = true) |
notAvailable | I | 0..* | BackboneElement | Not available during this time due to provided reason |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
description | I | 1..1 | string | Reason presented to the user explaining why time not available |
during | I | 0..1 | Period | Service not available from this date |
availabilityExceptions | I | 0..1 | string | Description of availability exceptions |
endpoint | I | 0..* | Reference(Endpoint) | Technical endpoints providing access to electronic services operated for the healthcare service |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON, TTL), Schema: XML Schematron
Path | Conformance | ValueSet |
HealthcareService.language | preferred | CommonLanguages Max Binding: AllLanguages |
HealthcareService.category | required | ServiceCategory |
HealthcareService.type | required | ServiceType |
HealthcareService.specialty | required | PracticeSettingCodeValueSet |
HealthcareService.serviceProvisionCode | required | ServiceProvisionConditions |
HealthcareService.eligibility.code | example | |
HealthcareService.program | required | Program |
HealthcareService.characteristic | example | |
HealthcareService.communication | preferred | CommonLanguages Max Binding: AllLanguages |
HealthcareService.referralMethod | required | ReferralMethod |
HealthcareService.availableTime.daysOfWeek | required | DaysOfWeek |
Id | Path | Details | Requirements |
dom-2 | HealthcareService | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | 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 | 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 | HealthcareService | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | HealthcareService | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | HealthcareService.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | HealthcareService.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | HealthcareService.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | HealthcareService.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | HealthcareService.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.active | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.providedBy | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.specialty | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.location | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.name | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.comment | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.extraDetails | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.photo | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.telecom | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.coverageArea | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.serviceProvisionCode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.eligibility | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.eligibility.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | HealthcareService.eligibility.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | HealthcareService.eligibility.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | HealthcareService.eligibility.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | HealthcareService.eligibility.code | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.eligibility.comment | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.program | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.characteristic | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.communication | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.referralMethod | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.appointmentRequired | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.availableTime | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.availableTime.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | HealthcareService.availableTime.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | HealthcareService.availableTime.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | HealthcareService.availableTime.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | HealthcareService.availableTime.daysOfWeek | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.availableTime.allDay | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.availableTime.availableStartTime | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.availableTime.availableEndTime | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.notAvailable | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.notAvailable.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | HealthcareService.notAvailable.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | HealthcareService.notAvailable.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | HealthcareService.notAvailable.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | HealthcareService.notAvailable.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.notAvailable.during | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.availabilityExceptions | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | HealthcareService.endpoint | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |