Finnish Base Profiles
1.0.1-cibuild - ci-build
Finnish Base Profiles, published by HL7 Finland. This guide is not an authorized publication; it is the continuous build for version 1.0.1-cibuild built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/fhir-fi/finnish-base-profiles/ and changes regularly. See the Directory of published versions
Official URL: https://hl7.fi/fhir/finnish-base-profiles/StructureDefinition/fi-base-schedule | Version: 1.0.1-cibuild | |||
Draft as of 2024-09-24 | Computable Name: FiBaseSchedule |
This is the Finnish base profile for the Schedule resource.
This implementation guide does not profile scheduling related resources.
However, references to Appointment, Schedule, and Slot resources are included here in order to draw the readers attention to two previous implementation guides published by HL7 Finland:
There is also ongoing work on FHIR APIs for scheduling in the national Kanta system.
The contents of both of the implementation guides published by HL7 Finland are already a bit outdated.
The concepts and resources are used, most notably by Omaolo symptom assessment services and AVPH (ajanvaraus ja palveluohjain -sovellus) scheduling service, and the scheduling API of the OMNI360 electronic health record system.
Still, implementers should read these implementation guides with caution and verify the latest state of the art from their customers or from vendors of real world implementations.
HL7 Finland is currently considering updating the published implementation guides.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Schedule
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Schedule | Schedule | |||
actor | 1..* | Reference(FI Base Patient | FI Base Practitioner | FI Base PractitionerRole | RelatedPerson | Device | FI Base HealthcareService | FI Base Location) | Resource(s) that availability information is being provided for | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Schedule | 0..* | Schedule | A container for slots of time that may be available for booking appointments | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
active | ?!Σ | 0..1 | boolean | Whether this schedule is in active use |
actor | Σ | 1..* | Reference(FI Base Patient | FI Base Practitioner | FI Base PractitionerRole | RelatedPerson | Device | FI Base HealthcareService | FI Base Location) | Resource(s) that availability information is being provided for |
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Schedule | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Schedule | 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 | Schedule | 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 | Schedule | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Schedule | 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 | ||||
---|---|---|---|---|---|---|---|---|
Schedule | 0..* | Schedule | A container for slots of time that may be available for booking appointments | |||||
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.
| |||||
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 Ids for this item | ||||
active | ?!Σ | 0..1 | boolean | Whether this schedule is in active use | ||||
serviceCategory | Σ | 0..* | CodeableConcept | High-level category Binding: ServiceCategory (example) | ||||
serviceType | Σ | 0..* | CodeableConcept | Specific service Binding: ServiceType (example) | ||||
specialty | Σ | 0..* | CodeableConcept | Type of specialty needed Binding: PracticeSettingCodeValueSet (preferred): Additional details about where the content was created (e.g. clinical specialty). | ||||
actor | Σ | 1..* | Reference(FI Base Patient | FI Base Practitioner | FI Base PractitionerRole | RelatedPerson | Device | FI Base HealthcareService | FI Base Location) | Resource(s) that availability information is being provided for | ||||
planningHorizon | Σ | 0..1 | Period | Period of time covered by schedule | ||||
comment | 0..1 | string | Comments on availability | |||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Schedule.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Schedule.serviceCategory | example | ServiceCategoryhttp://hl7.org/fhir/ValueSet/service-category from the FHIR Standard | ||||
Schedule.serviceType | example | ServiceTypehttp://hl7.org/fhir/ValueSet/service-type from the FHIR Standard | ||||
Schedule.specialty | preferred | PracticeSettingCodeValueSethttp://hl7.org/fhir/ValueSet/c80-practice-codes from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Schedule | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Schedule | 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 | Schedule | 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 | Schedule | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Schedule | 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 Schedule
Summary
Structures
This structure refers to these other structures:
Differential View
This structure is derived from Schedule
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Schedule | Schedule | |||
actor | 1..* | Reference(FI Base Patient | FI Base Practitioner | FI Base PractitionerRole | RelatedPerson | Device | FI Base HealthcareService | FI Base Location) | Resource(s) that availability information is being provided for | |
Documentation for this format |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Schedule | 0..* | Schedule | A container for slots of time that may be available for booking appointments | |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
active | ?!Σ | 0..1 | boolean | Whether this schedule is in active use |
actor | Σ | 1..* | Reference(FI Base Patient | FI Base Practitioner | FI Base PractitionerRole | RelatedPerson | Device | FI Base HealthcareService | FI Base Location) | Resource(s) that availability information is being provided for |
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Schedule | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Schedule | 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 | Schedule | 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 | Schedule | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Schedule | 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() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Schedule | 0..* | Schedule | A container for slots of time that may be available for booking appointments | |||||
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.
| |||||
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 Ids for this item | ||||
active | ?!Σ | 0..1 | boolean | Whether this schedule is in active use | ||||
serviceCategory | Σ | 0..* | CodeableConcept | High-level category Binding: ServiceCategory (example) | ||||
serviceType | Σ | 0..* | CodeableConcept | Specific service Binding: ServiceType (example) | ||||
specialty | Σ | 0..* | CodeableConcept | Type of specialty needed Binding: PracticeSettingCodeValueSet (preferred): Additional details about where the content was created (e.g. clinical specialty). | ||||
actor | Σ | 1..* | Reference(FI Base Patient | FI Base Practitioner | FI Base PractitionerRole | RelatedPerson | Device | FI Base HealthcareService | FI Base Location) | Resource(s) that availability information is being provided for | ||||
planningHorizon | Σ | 0..1 | Period | Period of time covered by schedule | ||||
comment | 0..1 | string | Comments on availability | |||||
Documentation for this format |
Path | Conformance | ValueSet | URI | |||
Schedule.language | preferred | CommonLanguages
http://hl7.org/fhir/ValueSet/languages from the FHIR Standard | ||||
Schedule.serviceCategory | example | ServiceCategoryhttp://hl7.org/fhir/ValueSet/service-category from the FHIR Standard | ||||
Schedule.serviceType | example | ServiceTypehttp://hl7.org/fhir/ValueSet/service-type from the FHIR Standard | ||||
Schedule.specialty | preferred | PracticeSettingCodeValueSethttp://hl7.org/fhir/ValueSet/c80-practice-codes from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | Schedule | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Schedule | 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 | Schedule | 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 | Schedule | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | Schedule | 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 Schedule
Summary
Structures
This structure refers to these other structures:
Other representations of profile: CSV, Excel, Schematron