SMART Scheduling Links
1.0.0-ballot - STU 1 Ballot

SMART Scheduling Links, published by HL7 International / Patient Administration. This guide is not an authorized publication; it is the continuous build for version 1.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/smart-scheduling-links/ and changes regularly. See the Directory of published versions

## Resource Profile: Healthcare Service

Official URL: http://hl7.org/fhir/uv/smart-scheduling-links/StructureDefinition/smart-scheduling-healthcare-service | Version: 1.0.0-ballot | Highlight text changes?
Standards status: Trial-use Active as of 2026-04-22 | Maturity Level: 2 | Computable Name: SmartSchedulingHealthcareService

The Health Service resource is used to describe a single healthcare service or category of services that are provided by an organization at a location. The location of the services could be virtual, as with telemedicine services. This profile provides a scheduling-optimized view of healthcare service offerings, enabling discovery and booking of appointments when no specific practitioner is required or specified.

Example Usage Scenarios

The following are example usage scenarios for the SMART Scheduling Links HealthcareService profile:

- Query services provided by an organization at a location

### Mandatory and Must Support Data Elements

The following data elements must always be present or must be supported if the data is present in the sending system. They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements.

Each HealthcareService Must Have:

- id
- active
- type
- specialty
- location
- name

Each HealthcareService Must Support:

- providedBy
- category
- comment
- telecom
- serviceProvisionCode
- appointmentRequired
- availableTime
- notAvailable

Usages:

- Refer to this Profile: PractitionerRole
- Examples for this Profile: Primary Care Appointments - Online Booking

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
HealthcareService |  | 0..* | HealthcareService | The details of a healthcare service available at a location
id | S Σ | 1..1 | id | Logical id of this artifact
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
active | ?!S Σ | 1..1 | boolean | Whether this HealthcareService record is in active use
providedBy | S Σ | 0..1 | Reference(Organization) | Organization that provides this service
category | S Σ | 0..1 | CodeableConcept | Broad category of service being performed or delivered Binding: ServiceCategory (example): A category of the service(s) that could be provided.
type | S Σ | 1..1 | CodeableConcept | Type of service that may be delivered or performed Binding: ServiceType (example): Additional details about where the content was created (e.g. clinical specialty).
specialty | S Σ | 1..1 | CodeableConcept | Specialties handled by the HealthcareService Binding: PracticeSettingCodeValueSet (preferred): A specialty that a healthcare service may provide.
location | S Σ | 1..1 | Reference(Location) | Location(s) where service may be provided
name | S Σ | 1..1 | string | Description of service as presented to a consumer while searching
comment | S Σ | 0..1 | string | Additional description and/or any specific issues not covered elsewhere
telecom | S | 0..* | ContactPoint | Contacts related to the healthcare service
serviceProvisionCode | S | 0..1 | 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.
appointmentRequired | S | 0..1 | boolean | If an appointment is required for access to this service
availableTime | S | 0..* | BackboneElement | Times the Service Site is available
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
daysOfWeek | S | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week.
allDay | S | 0..1 | boolean | Always available? e.g. 24 hour service
availableStartTime | S | 0..1 | time | Opening time of day (ignored if allDay = true)
availableEndTime | S | 0..1 | time | Closing time of day (ignored if allDay = true)
notAvailable | S | 0..* | BackboneElement | Not available during this time due to provided reason
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
description | S | 1..1 | string | Reason presented to the user explaining why time not available
during | S | 0..1 | Period | Service not available from this date
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
HealthcareService.category | Base | example | Service category | 📍4.0.1 | FHIR Std.
HealthcareService.type | Base | example | 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.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()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
HealthcareService |  | 0..* | HealthcareService | The details of a healthcare service available at a location
id | S | 1..1 | id | Logical id of this artifact
active | S | 1..1 | boolean | Whether this HealthcareService record is in active use
providedBy | S | 0..1 | Reference(Organization) | Organization that provides this service
category | S | 0..1 | CodeableConcept | Broad category of service being performed or delivered
type | S | 1..1 | CodeableConcept | Type of service that may be delivered or performed
specialty | S | 1..1 | CodeableConcept | Specialties handled by the HealthcareService
location | S | 1..1 | Reference(Location) | Location(s) where service may be provided
name | S | 1..1 | string | Description of service as presented to a consumer while searching
comment | S | 0..1 | string | Additional description and/or any specific issues not covered elsewhere
telecom | S | 0..* | ContactPoint | Contacts related to the healthcare service
serviceProvisionCode | S | 0..1 | CodeableConcept | Conditions under which service is available/offered
appointmentRequired | S | 0..1 | boolean | If an appointment is required for access to this service
availableTime | S | 0..* | BackboneElement | Times the Service Site is available
daysOfWeek | S | 0..* | code | mon | tue | wed | thu | fri | sat | sun
allDay | S | 0..1 | boolean | Always available? e.g. 24 hour service
availableStartTime | S | 0..1 | time | Opening time of day (ignored if allDay = true)
availableEndTime | S | 0..1 | time | Closing time of day (ignored if allDay = true)
notAvailable | S | 0..* | BackboneElement | Not available during this time due to provided reason
description | S | 1..1 | string | Reason presented to the user explaining why time not available
during | S | 0..1 | Period | Service not available from this date
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
HealthcareService |  | 0..* | HealthcareService | The details of a healthcare service available at a location
id | S Σ | 1..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 Bindings | Purpose
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 Σ | 1..1 | boolean | Whether this HealthcareService record is in active use
providedBy | S Σ | 0..1 | Reference(Organization) | Organization that provides this service
category | S Σ | 0..1 | CodeableConcept | Broad category of service being performed or delivered Binding: ServiceCategory (example): A category of the service(s) that could be provided.
type | S Σ | 1..1 | CodeableConcept | Type of service that may be delivered or performed Binding: ServiceType (example): Additional details about where the content was created (e.g. clinical specialty).
specialty | S Σ | 1..1 | CodeableConcept | Specialties handled by the HealthcareService Binding: PracticeSettingCodeValueSet (preferred): A specialty that a healthcare service may provide.
location | S Σ | 1..1 | Reference(Location) | Location(s) where service may be provided
name | S Σ | 1..1 | string | Description of service as presented to a consumer while searching
comment | S Σ | 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(Location) | Location(s) service is intended for/available to
serviceProvisionCode | S | 0..1 | 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 Bindings | Purpose
AllLanguages | Max Binding
referralMethod |  | 0..* | CodeableConcept | Ways that the service accepts referrals Binding: ReferralMethod (example): The methods of referral can be used when referring to a specific HealthCareService resource.
appointmentRequired | S | 0..1 | boolean | If an appointment is required for access to this service
availableTime | S | 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 | S | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week.
allDay | S | 0..1 | boolean | Always available? e.g. 24 hour service
availableStartTime | S | 0..1 | time | Opening time of day (ignored if allDay = true)
availableEndTime | S | 0..1 | time | Closing time of day (ignored if allDay = true)
notAvailable | S | 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 | S | 1..1 | string | Reason presented to the user explaining why time not available
during | S | 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
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 | example | Service category | 📍4.0.1 | FHIR Std.
HealthcareService.type | Base | example | 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 |  | Not State | Unknown
HealthcareService.program | Base | example | Program | 📍4.0.1 | FHIR Std.
HealthcareService.characteristic | Base | example |  | Not State | Unknown
HealthcareService.communication | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
HealthcareService.referralMethod | Base | example | 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()`

Summary

Mandatory: 6 elements
Must-Support: 20 elements

Structures

This structure refers to these other structures:

- Location (http://hl7.org/fhir/uv/smart-scheduling-links/StructureDefinition/smart-scheduling-location)

Maturity: 2

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
HealthcareService |  | 0..* | HealthcareService | The details of a healthcare service available at a location
id | S Σ | 1..1 | id | Logical id of this artifact
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
active | ?!S Σ | 1..1 | boolean | Whether this HealthcareService record is in active use
providedBy | S Σ | 0..1 | Reference(Organization) | Organization that provides this service
category | S Σ | 0..1 | CodeableConcept | Broad category of service being performed or delivered Binding: ServiceCategory (example): A category of the service(s) that could be provided.
type | S Σ | 1..1 | CodeableConcept | Type of service that may be delivered or performed Binding: ServiceType (example): Additional details about where the content was created (e.g. clinical specialty).
specialty | S Σ | 1..1 | CodeableConcept | Specialties handled by the HealthcareService Binding: PracticeSettingCodeValueSet (preferred): A specialty that a healthcare service may provide.
location | S Σ | 1..1 | Reference(Location) | Location(s) where service may be provided
name | S Σ | 1..1 | string | Description of service as presented to a consumer while searching
comment | S Σ | 0..1 | string | Additional description and/or any specific issues not covered elsewhere
telecom | S | 0..* | ContactPoint | Contacts related to the healthcare service
serviceProvisionCode | S | 0..1 | 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.
appointmentRequired | S | 0..1 | boolean | If an appointment is required for access to this service
availableTime | S | 0..* | BackboneElement | Times the Service Site is available
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
daysOfWeek | S | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week.
allDay | S | 0..1 | boolean | Always available? e.g. 24 hour service
availableStartTime | S | 0..1 | time | Opening time of day (ignored if allDay = true)
availableEndTime | S | 0..1 | time | Closing time of day (ignored if allDay = true)
notAvailable | S | 0..* | BackboneElement | Not available during this time due to provided reason
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
description | S | 1..1 | string | Reason presented to the user explaining why time not available
during | S | 0..1 | Period | Service not available from this date
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
HealthcareService.category | Base | example | Service category | 📍4.0.1 | FHIR Std.
HealthcareService.type | Base | example | 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.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()`

Differential View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
HealthcareService |  | 0..* | HealthcareService | The details of a healthcare service available at a location
id | S | 1..1 | id | Logical id of this artifact
active | S | 1..1 | boolean | Whether this HealthcareService record is in active use
providedBy | S | 0..1 | Reference(Organization) | Organization that provides this service
category | S | 0..1 | CodeableConcept | Broad category of service being performed or delivered
type | S | 1..1 | CodeableConcept | Type of service that may be delivered or performed
specialty | S | 1..1 | CodeableConcept | Specialties handled by the HealthcareService
location | S | 1..1 | Reference(Location) | Location(s) where service may be provided
name | S | 1..1 | string | Description of service as presented to a consumer while searching
comment | S | 0..1 | string | Additional description and/or any specific issues not covered elsewhere
telecom | S | 0..* | ContactPoint | Contacts related to the healthcare service
serviceProvisionCode | S | 0..1 | CodeableConcept | Conditions under which service is available/offered
appointmentRequired | S | 0..1 | boolean | If an appointment is required for access to this service
availableTime | S | 0..* | BackboneElement | Times the Service Site is available
daysOfWeek | S | 0..* | code | mon | tue | wed | thu | fri | sat | sun
allDay | S | 0..1 | boolean | Always available? e.g. 24 hour service
availableStartTime | S | 0..1 | time | Opening time of day (ignored if allDay = true)
availableEndTime | S | 0..1 | time | Closing time of day (ignored if allDay = true)
notAvailable | S | 0..* | BackboneElement | Not available during this time due to provided reason
description | S | 1..1 | string | Reason presented to the user explaining why time not available
during | S | 0..1 | Period | Service not available from this date
Documentation for this format

Snapshot ViewView

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
HealthcareService |  | 0..* | HealthcareService | The details of a healthcare service available at a location
id | S Σ | 1..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 Bindings | Purpose
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 Σ | 1..1 | boolean | Whether this HealthcareService record is in active use
providedBy | S Σ | 0..1 | Reference(Organization) | Organization that provides this service
category | S Σ | 0..1 | CodeableConcept | Broad category of service being performed or delivered Binding: ServiceCategory (example): A category of the service(s) that could be provided.
type | S Σ | 1..1 | CodeableConcept | Type of service that may be delivered or performed Binding: ServiceType (example): Additional details about where the content was created (e.g. clinical specialty).
specialty | S Σ | 1..1 | CodeableConcept | Specialties handled by the HealthcareService Binding: PracticeSettingCodeValueSet (preferred): A specialty that a healthcare service may provide.
location | S Σ | 1..1 | Reference(Location) | Location(s) where service may be provided
name | S Σ | 1..1 | string | Description of service as presented to a consumer while searching
comment | S Σ | 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(Location) | Location(s) service is intended for/available to
serviceProvisionCode | S | 0..1 | 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 Bindings | Purpose
AllLanguages | Max Binding
referralMethod |  | 0..* | CodeableConcept | Ways that the service accepts referrals Binding: ReferralMethod (example): The methods of referral can be used when referring to a specific HealthCareService resource.
appointmentRequired | S | 0..1 | boolean | If an appointment is required for access to this service
availableTime | S | 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 | S | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required): The days of the week.
allDay | S | 0..1 | boolean | Always available? e.g. 24 hour service
availableStartTime | S | 0..1 | time | Opening time of day (ignored if allDay = true)
availableEndTime | S | 0..1 | time | Closing time of day (ignored if allDay = true)
notAvailable | S | 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 | S | 1..1 | string | Reason presented to the user explaining why time not available
during | S | 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
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 | example | Service category | 📍4.0.1 | FHIR Std.
HealthcareService.type | Base | example | 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 |  | Not State | Unknown
HealthcareService.program | Base | example | Program | 📍4.0.1 | FHIR Std.
HealthcareService.characteristic | Base | example |  | Not State | Unknown
HealthcareService.communication | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std.
HealthcareService.referralMethod | Base | example | 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()`

Summary

Mandatory: 6 elements
Must-Support: 20 elements

Structures

This structure refers to these other structures:

- Location (http://hl7.org/fhir/uv/smart-scheduling-links/StructureDefinition/smart-scheduling-location)

Maturity: 2

Other representations of profile: CSV, Excel, Schematron