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: Slot

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

Scheduling - a bookable period on a Schedule. Follows the Interweave Slot.

FDP Canonical Data Model

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

Differences:

  • Good fit: CDM Clinic Slot has status, start / end, slot type and the booked appointmentId.

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
Slot 0..* Slot A slot of time on a schedule that may be available for booking appointments
Slot.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
Slot.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Slot.serviceType This element must be supported. This element is included in summaries. 0..* CodeableConcept The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource
Binding: ServiceType (example)
Slot.appointmentType This element must be supported. This element is included in summaries. 0..1 CodeableConcept The style of appointment or patient that may be booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
Slot.schedule This element must be supported. This element is included in summaries. 1..1 Reference(Schedule) The schedule resource that this slot defines an interval of status information
Slot.status This element must be supported. This element is included in summaries. 1..1 code busy | free | busy-unavailable | busy-tentative | entered-in-error
Binding: SlotStatus (required): The free/busy status of the slot.
Slot.start This element must be supported. This element is included in summaries. 1..1 instant Date/Time that the slot is to begin
Slot.end This element must be supported. This element is included in summaries. 1..1 instant Date/Time that the slot is to conclude

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Slot.serviceType Base example Service type 📍4.0.1 FHIR Std.
Slot.appointmentType Base preferred hl7VS-appointmentReasonCodes 📦3.0.0 THO v7.5
Slot.status Base required SlotStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Slot If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Slot 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 Slot 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 Slot If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Slot 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 Slot

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Slot 0..* Slot A slot of time on a schedule that may be available for booking appointments
Slot.serviceType This element must be supported. 0..* CodeableConcept The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource
Slot.appointmentType This element must be supported. 0..1 CodeableConcept The style of appointment or patient that may be booked in the slot (not service type)
Slot.schedule This element must be supported. 1..1 Reference(Schedule) The schedule resource that this slot defines an interval of status information
Slot.start This element must be supported. 1..1 instant Date/Time that the slot is to begin
Slot.end This element must be supported. 1..1 instant Date/Time that the slot is to conclude

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
Slot 0..* Slot A slot of time on a schedule that may be available for booking appointments
Slot.id This element is included in summaries. 0..1 id Logical id of this artifact
Slot.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Slot.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
Slot.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Slot.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
Slot.contained 0..* Resource Contained, inline Resources
Slot.extension 0..* Extension Additional content defined by implementations
Slot.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Slot.identifier This element is included in summaries. 0..* Identifier External Ids for this item
Slot.serviceCategory This element is included in summaries. 0..* CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
Slot.serviceType This element must be supported. This element is included in summaries. 0..* CodeableConcept The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource
Binding: ServiceType (example)
Slot.specialty This element is included in summaries. 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred): Additional details about where the content was created (e.g. clinical specialty).
Slot.appointmentType This element must be supported. This element is included in summaries. 0..1 CodeableConcept The style of appointment or patient that may be booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
Slot.schedule This element must be supported. This element is included in summaries. 1..1 Reference(Schedule) The schedule resource that this slot defines an interval of status information
Slot.status This element must be supported. This element is included in summaries. 1..1 code busy | free | busy-unavailable | busy-tentative | entered-in-error
Binding: SlotStatus (required): The free/busy status of the slot.
Slot.start This element must be supported. This element is included in summaries. 1..1 instant Date/Time that the slot is to begin
Slot.end This element must be supported. This element is included in summaries. 1..1 instant Date/Time that the slot is to conclude
Slot.overbooked 0..1 boolean This slot has already been overbooked, appointments are unlikely to be accepted for this time
Slot.comment 0..1 string Comments on the slot to describe any extended information. Such as custom constraints on the slot

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Slot.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Slot.serviceCategory Base example Service category 📍4.0.1 FHIR Std.
Slot.serviceType Base example Service type 📍4.0.1 FHIR Std.
Slot.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.
Slot.appointmentType Base preferred hl7VS-appointmentReasonCodes 📦3.0.0 THO v7.5
Slot.status Base required SlotStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Slot If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Slot 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 Slot 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 Slot If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Slot 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 Slot

Summary

Must-Support: 6 elements

Structures

This structure refers to these other structures:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Slot 0..* Slot A slot of time on a schedule that may be available for booking appointments
Slot.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
Slot.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Slot.serviceType This element must be supported. This element is included in summaries. 0..* CodeableConcept The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource
Binding: ServiceType (example)
Slot.appointmentType This element must be supported. This element is included in summaries. 0..1 CodeableConcept The style of appointment or patient that may be booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
Slot.schedule This element must be supported. This element is included in summaries. 1..1 Reference(Schedule) The schedule resource that this slot defines an interval of status information
Slot.status This element must be supported. This element is included in summaries. 1..1 code busy | free | busy-unavailable | busy-tentative | entered-in-error
Binding: SlotStatus (required): The free/busy status of the slot.
Slot.start This element must be supported. This element is included in summaries. 1..1 instant Date/Time that the slot is to begin
Slot.end This element must be supported. This element is included in summaries. 1..1 instant Date/Time that the slot is to conclude

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Slot.serviceType Base example Service type 📍4.0.1 FHIR Std.
Slot.appointmentType Base preferred hl7VS-appointmentReasonCodes 📦3.0.0 THO v7.5
Slot.status Base required SlotStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Slot If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Slot 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 Slot 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 Slot If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Slot 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 Slot

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Slot 0..* Slot A slot of time on a schedule that may be available for booking appointments
Slot.serviceType This element must be supported. 0..* CodeableConcept The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource
Slot.appointmentType This element must be supported. 0..1 CodeableConcept The style of appointment or patient that may be booked in the slot (not service type)
Slot.schedule This element must be supported. 1..1 Reference(Schedule) The schedule resource that this slot defines an interval of status information
Slot.status This element must be supported. 1..1 code busy | free | busy-unavailable | busy-tentative | entered-in-error
Slot.start This element must be supported. 1..1 instant Date/Time that the slot is to begin
Slot.end This element must be supported. 1..1 instant Date/Time that the slot is to conclude

doco Documentation for this format

Snapshot ViewView

NameFlagsCard.TypeDescription & Constraints    Filter: doco
Slot 0..* Slot A slot of time on a schedule that may be available for booking appointments
Slot.id This element is included in summaries. 0..1 id Logical id of this artifact
Slot.meta This element is included in summaries. 0..1 Meta Metadata about the resource
Slot.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
Slot.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
Slot.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
Slot.contained 0..* Resource Contained, inline Resources
Slot.extension 0..* Extension Additional content defined by implementations
Slot.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
Slot.identifier This element is included in summaries. 0..* Identifier External Ids for this item
Slot.serviceCategory This element is included in summaries. 0..* CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (example)
Slot.serviceType This element must be supported. This element is included in summaries. 0..* CodeableConcept The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is at a location, rather than the location itself). If provided then this overrides the value provided on the availability resource
Binding: ServiceType (example)
Slot.specialty This element is included in summaries. 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment
Binding: PracticeSettingCodeValueSet (preferred): Additional details about where the content was created (e.g. clinical specialty).
Slot.appointmentType This element must be supported. This element is included in summaries. 0..1 CodeableConcept The style of appointment or patient that may be booked in the slot (not service type)
Binding: hl7VS-appointmentReasonCodes (preferred)
Slot.schedule This element must be supported. This element is included in summaries. 1..1 Reference(Schedule) The schedule resource that this slot defines an interval of status information
Slot.status This element must be supported. This element is included in summaries. 1..1 code busy | free | busy-unavailable | busy-tentative | entered-in-error
Binding: SlotStatus (required): The free/busy status of the slot.
Slot.start This element must be supported. This element is included in summaries. 1..1 instant Date/Time that the slot is to begin
Slot.end This element must be supported. This element is included in summaries. 1..1 instant Date/Time that the slot is to conclude
Slot.overbooked 0..1 boolean This slot has already been overbooked, appointments are unlikely to be accepted for this time
Slot.comment 0..1 string Comments on the slot to describe any extended information. Such as custom constraints on the slot

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Slot.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Slot.serviceCategory Base example Service category 📍4.0.1 FHIR Std.
Slot.serviceType Base example Service type 📍4.0.1 FHIR Std.
Slot.specialty Base preferred Practice Setting Code Value Set 📍4.0.1 FHIR Std.
Slot.appointmentType Base preferred hl7VS-appointmentReasonCodes 📦3.0.0 THO v7.5
Slot.status Base required SlotStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Slot If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Slot 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 Slot 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 Slot If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Slot 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 Slot

Summary

Must-Support: 6 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron