Care Coordination and 360 Referrals (Proof of Concept)
0.1.0 - proof-of-concept United Kingdom flag

Care Coordination and 360 Referrals (Proof of Concept) - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Schedule

Official URL: https://fhir.acmeexample.org.uk/PatientCareCoordination/StructureDefinition/Schedule Version: 0.1.0
Draft as of 2026-11-03 Computable Name: Schedule

Scheduling - the availability of a service, clinician or location (a clinic), whose Slots can be booked. Follows the Interweave Schedule.

FDP Canonical Data Model

Equivalent FDP Canonical Data Model (CDM) v1.0.0 objects: Clinic Session.

Differences:

  • Good fit for outpatient clinics: CDM Clinic Session has the lead care professional, site, room, specialty and utilisation.

The CDM is a downstream persistence model, used here as evidence of what NHS operations record, not as a design source. Mapping by property name - To confirm. See FDP Canonical Data Model Mapping for the full mapping.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Schedule 0..* Schedule A container for slots of time that may be available for booking appointments
Schedule.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Schedule.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Schedule.identifier This element must be supported. This element is included in summaries. 0..* Identifier External Ids for this item
Schedule.active This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 boolean Whether this schedule is in active use
Schedule.serviceType This element must be supported. This element is included in summaries. 0..* CodeableConcept Specific service
Binding: ServiceType (example)
Schedule.specialty This element must be supported. This element is included in summaries. 0..* CodeableConcept Type of specialty needed
Binding: Specialty (extensible)
Schedule.actor This element must be supported. This element is included in summaries. 1..* Reference(HealthcareService | PractitionerRole | Practitioner | Location) Resource(s) that availability information is being provided for
Schedule.planningHorizon This element must be supported. This element is included in summaries. 0..1 Period Period of time covered by schedule

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Schedule.serviceType Base example Service type 📍4.0.1 FHIR Std.
Schedule.specialty Base extensible Specialty 📦0.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
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

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Schedule 0..* Schedule A container for slots of time that may be available for booking appointments
Schedule.identifier This element must be supported. 0..* Identifier External Ids for this item
Schedule.active This element must be supported. 0..1 boolean Whether this schedule is in active use
Schedule.serviceType This element must be supported. 0..* CodeableConcept Specific service
Schedule.actor This element must be supported. 1..* Reference(HealthcareService | PractitionerRole | Practitioner | Location) Resource(s) that availability information is being provided for
Schedule.planningHorizon This element must be supported. 0..1 Period Period of time covered by schedule

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Schedule.specialty Base extensible Specialty 📦0.1.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Schedule 0..* Schedule A container for slots of time that may be available for booking appointments
Schedule.id This element is included in summaries. 0..1 id Logical id of this artifact
Schedule.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Schedule.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Schedule.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Schedule.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
Schedule.contained 0..* Resource Contained, inline Resources
Schedule.extension 0..* Extension Additional content defined by implementations
Schedule.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Schedule.identifier This element must be supported. This element is included in summaries. 0..* Identifier External Ids for this item
Schedule.active This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 boolean Whether this schedule is in active use
Schedule.serviceCategory This element is included in summaries. 0..* CodeableConcept High-level category
Binding: ServiceCategory (example)
Schedule.serviceType This element must be supported. This element is included in summaries. 0..* CodeableConcept Specific service
Binding: ServiceType (example)
Schedule.specialty This element must be supported. This element is included in summaries. 0..* CodeableConcept Type of specialty needed
Binding: Specialty (extensible)
Schedule.actor This element must be supported. This element is included in summaries. 1..* Reference(HealthcareService | PractitionerRole | Practitioner | Location) Resource(s) that availability information is being provided for
Schedule.planningHorizon This element must be supported. This element is included in summaries. 0..1 Period Period of time covered by schedule
Schedule.comment 0..1 string Comments on availability

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Schedule.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Schedule.serviceCategory Base example Service category 📍4.0.1 FHIR Std.
Schedule.serviceType Base example Service type 📍4.0.1 FHIR Std.
Schedule.specialty Base extensible Specialty 📦0.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
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()

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Schedule 0..* Schedule A container for slots of time that may be available for booking appointments
Schedule.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Schedule.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Schedule.identifier This element must be supported. This element is included in summaries. 0..* Identifier External Ids for this item
Schedule.active This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 boolean Whether this schedule is in active use
Schedule.serviceType This element must be supported. This element is included in summaries. 0..* CodeableConcept Specific service
Binding: ServiceType (example)
Schedule.specialty This element must be supported. This element is included in summaries. 0..* CodeableConcept Type of specialty needed
Binding: Specialty (extensible)
Schedule.actor This element must be supported. This element is included in summaries. 1..* Reference(HealthcareService | PractitionerRole | Practitioner | Location) Resource(s) that availability information is being provided for
Schedule.planningHorizon This element must be supported. This element is included in summaries. 0..1 Period Period of time covered by schedule

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Schedule.serviceType Base example Service type 📍4.0.1 FHIR Std.
Schedule.specialty Base extensible Specialty 📦0.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
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()

Differential View

This structure is derived from Schedule

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Schedule 0..* Schedule A container for slots of time that may be available for booking appointments
Schedule.identifier This element must be supported. 0..* Identifier External Ids for this item
Schedule.active This element must be supported. 0..1 boolean Whether this schedule is in active use
Schedule.serviceType This element must be supported. 0..* CodeableConcept Specific service
Schedule.specialty This element must be supported. 0..* CodeableConcept Type of specialty needed
Binding: Specialty (extensible)
Schedule.actor This element must be supported. 1..* Reference(HealthcareService | PractitionerRole | Practitioner | Location) Resource(s) that availability information is being provided for
Schedule.planningHorizon This element must be supported. 0..1 Period Period of time covered by schedule

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Schedule.specialty Base extensible Specialty 📦0.1.0 This IG

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Schedule 0..* Schedule A container for slots of time that may be available for booking appointments
Schedule.id This element is included in summaries. 0..1 id Logical id of this artifact
Schedule.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Schedule.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
Schedule.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Schedule.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
Schedule.contained 0..* Resource Contained, inline Resources
Schedule.extension 0..* Extension Additional content defined by implementations
Schedule.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Schedule.identifier This element must be supported. This element is included in summaries. 0..* Identifier External Ids for this item
Schedule.active This element is a modifier element. This element must be supported. This element is included in summaries. 0..1 boolean Whether this schedule is in active use
Schedule.serviceCategory This element is included in summaries. 0..* CodeableConcept High-level category
Binding: ServiceCategory (example)
Schedule.serviceType This element must be supported. This element is included in summaries. 0..* CodeableConcept Specific service
Binding: ServiceType (example)
Schedule.specialty This element must be supported. This element is included in summaries. 0..* CodeableConcept Type of specialty needed
Binding: Specialty (extensible)
Schedule.actor This element must be supported. This element is included in summaries. 1..* Reference(HealthcareService | PractitionerRole | Practitioner | Location) Resource(s) that availability information is being provided for
Schedule.planningHorizon This element must be supported. This element is included in summaries. 0..1 Period Period of time covered by schedule
Schedule.comment 0..1 string Comments on availability

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Schedule.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Schedule.serviceCategory Base example Service category 📍4.0.1 FHIR Std.
Schedule.serviceType Base example Service type 📍4.0.1 FHIR Std.
Schedule.specialty Base extensible Specialty 📦0.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
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()

 

Other representations of profile: CSV, Excel, Schematron