Interweave Implementation Guide
0.1.0 - ci-build United Kingdom flag

Interweave Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the STU3 profiles here.

Resource Profile: UK Core Schedule

Official URL: https://fhir.hl7.org.uk/StructureDefinition/UKCore-Schedule Version: 1.3.0
Active as of 2023-12-12 Computable Name: UKCoreSchedule

Copyright/Legal: Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. HL7® FHIR® standard Copyright © 2011+ HL7 The HL7® FHIR® standard is used under the FHIR license. You may obtain a copy of the FHIR license at https://www.hl7.org/fhir/license.html.

This profile defines the UK constraints and extensions on the International FHIR resource Schedule.

Schedule resources provide a container for time-slots that can be booked using an appointment. It provides the window of time (period) that slots are defined for and what type of appointments can be booked.

The schedule does not provide any information about actual appointments. This separation greatly assists where access to the appointments would not be permitted for security or privacy reasons, while still being able to determine if an appointment might be available.

Usage:

Formal Views of Profile Content

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

This structure is derived from Schedule

NameFlagsCard.TypeDescription & Constraintsdoco
.. Schedule 0..* Schedule A container for slots of time that may be available for booking appointments
... active S 0..1 boolean Whether this schedule is in active use.
... specialty S 0..* CodeableConcept Type of specialty needed.
Binding: UK Core Practice Setting Code (extensible)
... actor S 1..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location) Resource(s) that availability information is being provided for.

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Schedule.specialtyextensibleUKCorePracticeSettingCode (a valid code from UKCore Practice Setting Code)
https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. 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 ?!SΣ 0..1 boolean Whether this schedule is in active use.
... actor SΣ 1..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location) Resource(s) that availability information is being provided for.
... planningHorizon SΣ 0..1 Period Period of time covered by schedule.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Schedule.specialtyextensibleUKCorePracticeSettingCode (a valid code from UKCore Practice Setting Code)
https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode
from this IG

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorScheduleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorScheduleIf 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-4errorScheduleIf 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-5errorScheduleIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceScheduleA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... 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 ?!SΣ 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 SΣ 0..* CodeableConcept Type of specialty needed.
Binding: UK Core Practice Setting Code (extensible)
... actor SΣ 1..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location) Resource(s) that availability information is being provided for.
... planningHorizon SΣ 0..1 Period Period of time covered by schedule.
... comment 0..1 string Comments on availability

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Schedule.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Schedule.serviceCategoryexampleServiceCategory
http://hl7.org/fhir/ValueSet/service-category
from the FHIR Standard
Schedule.serviceTypeexampleServiceType
http://hl7.org/fhir/ValueSet/service-type
from the FHIR Standard
Schedule.specialtyextensibleUKCorePracticeSettingCode (a valid code from UKCore Practice Setting Code)
https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode
from this IG

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorScheduleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorScheduleIf 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-4errorScheduleIf 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-5errorScheduleIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceScheduleA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Schedule

Summary

Must-Support: 4 elements

Differential View

This structure is derived from Schedule

NameFlagsCard.TypeDescription & Constraintsdoco
.. Schedule 0..* Schedule A container for slots of time that may be available for booking appointments
... active S 0..1 boolean Whether this schedule is in active use.
... specialty S 0..* CodeableConcept Type of specialty needed.
Binding: UK Core Practice Setting Code (extensible)
... actor S 1..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location) Resource(s) that availability information is being provided for.

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Schedule.specialtyextensibleUKCorePracticeSettingCode (a valid code from UKCore Practice Setting Code)
https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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 ?!SΣ 0..1 boolean Whether this schedule is in active use.
... actor SΣ 1..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location) Resource(s) that availability information is being provided for.
... planningHorizon SΣ 0..1 Period Period of time covered by schedule.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Schedule.specialtyextensibleUKCorePracticeSettingCode (a valid code from UKCore Practice Setting Code)
https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode
from this IG

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorScheduleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorScheduleIf 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-4errorScheduleIf 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-5errorScheduleIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceScheduleA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. 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
... 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 ?!SΣ 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 SΣ 0..* CodeableConcept Type of specialty needed.
Binding: UK Core Practice Setting Code (extensible)
... actor SΣ 1..* Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Device | HealthcareService | Location) Resource(s) that availability information is being provided for.
... planningHorizon SΣ 0..1 Period Period of time covered by schedule.
... comment 0..1 string Comments on availability

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Schedule.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Schedule.serviceCategoryexampleServiceCategory
http://hl7.org/fhir/ValueSet/service-category
from the FHIR Standard
Schedule.serviceTypeexampleServiceType
http://hl7.org/fhir/ValueSet/service-type
from the FHIR Standard
Schedule.specialtyextensibleUKCorePracticeSettingCode (a valid code from UKCore Practice Setting Code)
https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode
from this IG

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorScheduleIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorScheduleIf 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-4errorScheduleIf 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-5errorScheduleIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceScheduleA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Schedule

Summary

Must-Support: 4 elements

 

Other representations of profile: CSV, Excel, Schematron