Finnish Base Profiles
2.0.0 - release

Publication Build: This will be filled in by the publication tooling

## Resource Profile: FI Base HealthcareService

Official URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-healthcare-service | Version: 2.0.0
Active as of 2025-10-05 | Computable Name: FiBaseHealthcareService

This is the Finnish base profile for the HealthcareService resource.

Usages:

- Refer to this Profile: FI Base PractitionerRole, FI Base Schedule, FI Base PractitionerRole and FI Base Schedule
- Examples for this Profile: Vastaanottoaika*

### Formal Views of Profile Content

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

- 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 dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-3: 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 dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
active | ?!Σ | 0..1 | boolean | Whether this HealthcareService record is in active use ele-1: All FHIR elements must have a @value or children
providedBy | Σ | 0..1 | Reference(FI Base Organization(2.0.0)) | Organization that provides this service ele-1: All FHIR elements must have a @value or children
location | Σ | 0..* | Reference(FI Base Location(2.0.0)) | Location(s) where service may be provided ele-1: All FHIR elements must have a @value or children
coverageArea |  | 0..* | Reference(FI Base Location(2.0.0)) | Location(s) service is intended for/available to ele-1: All FHIR elements must have a @value or children
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
HealthcareService |  |  | HealthcareService |
providedBy |  | 0..1 | Reference(FI Base Organization(2.0.0)) | Organization that provides this service
location |  | 0..* | Reference(FI Base Location(2.0.0)) | Location(s) where service may be provided
coverageArea |  | 0..* | Reference(FI Base Location(2.0.0)) | Location(s) service is intended for/available to
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 | Σ | 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 Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation
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 | ?!Σ | 0..1 | boolean | Whether this HealthcareService record is in active use
providedBy | Σ | 0..1 | Reference(FI Base Organization(2.0.0)) | Organization that provides this service
category | Σ | 0..* | CodeableConcept | Broad category of service being performed or delivered Binding: ServiceCategory (example): A category of the service(s) that could be provided.
type | Σ | 0..* | 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 | Σ | 0..* | CodeableConcept | Specialties handled by the HealthcareService Binding: PracticeSettingCodeValueSet (preferred): A specialty that a healthcare service may provide.
location | Σ | 0..* | Reference(FI Base Location(2.0.0)) | Location(s) where service may be provided
name | Σ | 0..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 |  | 0..* | ContactPoint | Contacts related to the healthcare service
coverageArea |  | 0..* | Reference(FI Base Location(2.0.0)) | 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 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 |  | 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
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
HealthcareService.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
Additional Bindings | Purpose
AllLanguages | Max Binding
HealthcareService.category | example | ServiceCategory `http://hl7.org/fhir/ValueSet/service-category` From the FHIR Standard
HealthcareService.type | example | ServiceType `http://hl7.org/fhir/ValueSet/service-type` From the FHIR Standard
HealthcareService.specialty | preferred | PracticeSettingCodeValueSet `http://hl7.org/fhir/ValueSet/c80-practice-codes` From the FHIR Standard
HealthcareService.serviceProvisionCode | example | ServiceProvisionConditions `http://hl7.org/fhir/ValueSet/service-provision-conditions` From the FHIR Standard
HealthcareService.eligibility.code | example |
HealthcareService.program | example | Program `http://hl7.org/fhir/ValueSet/program` From the FHIR Standard
HealthcareService.characteristic | example |
HealthcareService.communication | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
Additional Bindings | Purpose
AllLanguages | Max Binding
HealthcareService.referralMethod | example | ReferralMethod `http://hl7.org/fhir/ValueSet/service-referral-method` From the FHIR Standard
HealthcareService.availableTime.daysOfWeek | required | DaysOfWeek `http://hl7.org/fhir/ValueSet/days-of-week|4.0.1` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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

Structures

This structure refers to these other structures:

- FI Base Organization (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-organization)
- FI Base Location (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-location)

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 dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-3: 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 dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
active | ?!Σ | 0..1 | boolean | Whether this HealthcareService record is in active use ele-1: All FHIR elements must have a @value or children
providedBy | Σ | 0..1 | Reference(FI Base Organization(2.0.0)) | Organization that provides this service ele-1: All FHIR elements must have a @value or children
location | Σ | 0..* | Reference(FI Base Location(2.0.0)) | Location(s) where service may be provided ele-1: All FHIR elements must have a @value or children
coverageArea |  | 0..* | Reference(FI Base Location(2.0.0)) | Location(s) service is intended for/available to ele-1: All FHIR elements must have a @value or children
Documentation for this format

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
HealthcareService |  |  | HealthcareService |
providedBy |  | 0..1 | Reference(FI Base Organization(2.0.0)) | Organization that provides this service
location |  | 0..* | Reference(FI Base Location(2.0.0)) | Location(s) where service may be provided
coverageArea |  | 0..* | Reference(FI Base Location(2.0.0)) | Location(s) service is intended for/available to
Documentation for this format

Snapshot 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 | Σ | 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 Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation
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 | ?!Σ | 0..1 | boolean | Whether this HealthcareService record is in active use
providedBy | Σ | 0..1 | Reference(FI Base Organization(2.0.0)) | Organization that provides this service
category | Σ | 0..* | CodeableConcept | Broad category of service being performed or delivered Binding: ServiceCategory (example): A category of the service(s) that could be provided.
type | Σ | 0..* | 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 | Σ | 0..* | CodeableConcept | Specialties handled by the HealthcareService Binding: PracticeSettingCodeValueSet (preferred): A specialty that a healthcare service may provide.
location | Σ | 0..* | Reference(FI Base Location(2.0.0)) | Location(s) where service may be provided
name | Σ | 0..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 |  | 0..* | ContactPoint | Contacts related to the healthcare service
coverageArea |  | 0..* | Reference(FI Base Location(2.0.0)) | 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 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 |  | 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
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
HealthcareService.language | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
Additional Bindings | Purpose
AllLanguages | Max Binding
HealthcareService.category | example | ServiceCategory `http://hl7.org/fhir/ValueSet/service-category` From the FHIR Standard
HealthcareService.type | example | ServiceType `http://hl7.org/fhir/ValueSet/service-type` From the FHIR Standard
HealthcareService.specialty | preferred | PracticeSettingCodeValueSet `http://hl7.org/fhir/ValueSet/c80-practice-codes` From the FHIR Standard
HealthcareService.serviceProvisionCode | example | ServiceProvisionConditions `http://hl7.org/fhir/ValueSet/service-provision-conditions` From the FHIR Standard
HealthcareService.eligibility.code | example |
HealthcareService.program | example | Program `http://hl7.org/fhir/ValueSet/program` From the FHIR Standard
HealthcareService.characteristic | example |
HealthcareService.communication | preferred | CommonLanguages `http://hl7.org/fhir/ValueSet/languages` From the FHIR Standard
Additional Bindings | Purpose
AllLanguages | Max Binding
HealthcareService.referralMethod | example | ReferralMethod `http://hl7.org/fhir/ValueSet/service-referral-method` From the FHIR Standard
HealthcareService.availableTime.daysOfWeek | required | DaysOfWeek `http://hl7.org/fhir/ValueSet/days-of-week|4.0.1` From the FHIR Standard

#### Constraints

Id | Grade | Path(s) | Details | Requirements
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

Structures

This structure refers to these other structures:

- FI Base Organization (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-organization)
- FI Base Location (https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-location)

Other representations of profile: CSV, Excel, Schematron