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

Official URL: https://fhir.interweavedigital.nhs.uk/R4/StructureDefinition/Interweave-Slot Version: 0.0.1
Draft as of 2024-07-15 Computable Name: InterweaveSlot

Interweave Slot resource profile - DRAFT.

Status: DRAFT: For Review

Introduction

This profile sets minimum expectations for the Slot resource. We use the slot structure definition as a base to this profile.

A slot of time on a schedule that may be available for booking appointments. Slot resources are used to provide time-slots that can be booked using an appointment. They do not provide any information about appointments that are available, just the time, and optionally what the time can be used for. These are effectively spaces of free/busy time.

Slots can also be marked as busy without having appointments associated.

A slot can have more than one appointment allocated to it. A scheduling system may permit multiple allocations up to a specific number of places. An example of this type of usage could be where the slot is being used for a group service that permits 5 participants at the same time.

If a service had a weekly schedule created that permitted eight 1 hour appointments each day of a working week (Monday - Friday), this would be constructed by a single Schedule resource with the dates for the start and end of the week set, and then 40 (5x8) Slot resources associated with it.

As appointments fill up the schedule, these slots would individually be marked as busy as the appointments are filled into the slots.

The slots in a schedule do not need to be the same size, and can be different for different days of the week.

Mandatory fields

The following mandatory fields are defined:

  1. Identifier - This is a business identifier which may be helpful to identify the record at a local level.

  2. Service Type - The type of appointments that can be booked into this slot (ideally this would be an identifiable service - which is available at a location, rather than the location itself). We pre-adopt the UKCore value set (based on SNOMED refset 1127531000000102: Services Simple Reference Set) - for consistency with the Encounter, and because it is more relevant than the default FHIR example and also covers social care.

  3. Status - this is already mandatory in FHIR. Slots are categorized as free or busy. A free slot on a schedule indicates that the service or resource is available for provision or use during that period of time. A busy slot indicates that the service or resource is not available during the time period, because an appointment has been scheduled. A busy-unavailable slot indicates that a service or resource is unavailable for reasons other than a scheduled appointment.

  4. 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.

  5. Start - Date/Time that the slot is to begin.

  6. End - Date/Time that the slot is to conclude.

Must Support fields

In addition the following fields are "Must Support" - ie they must be populated if relevant and known.

  1. Delivery Channel (UK Core Extension) - simple and useful field to indicate whether in-person, telephone, or video.

  2. Appointment Type - The style of appointment or patient that may be booked in the slot. In some situations a service may have a specific set of slots reserved for specific uses, such as "walk-ins" or a specific organization has a "standing booking" for Thursday mornings. These should be represented using the appointmentType field with a specified and agreed value. A simple list of codes eg "routine", "emergency" etc. We add a value for "urgent" to cover scheduled but urgent appointments.

  3. Overbooked - A slot can be marked as over-booked indicating that there are too many appointments allocated to it. Default value of 'false' is assumed.

  4. Specialty - further information which may be useful about the type of specialty required. Knowing the Service Type is probably sufficient for a shared care record, with the Specialty being more relevant to resourcing the correct staff member in a scheduling system. However obviously useful additional information if available. We replace the default FHIR valueset with the list of SDS Job Roles - which appears to be more complete and relevant to the UK, and which offers better coverage of Social Care.

Optional fields

Other fields are optional and may be populated if known - on the understanding that not all data consumers will necessarily make use of them. Points of note include:

  • Service Category - A general description under broad categorisation of the types of services that is to be performed during this appointment.

  • Comment - Comments on the slot to describe any extended information. Such as custom constraints on the slot.

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

This structure is derived from UKCoreSlot

NameFlagsCard.TypeDescription & Constraintsdoco
.. Slot 0..* UKCoreSlot A slot of time on a schedule that may be available for booking appointments
... id S 0..1 id Logical id of this artifact
... meta
.... id 0..0
.... versionId S 0..1 id Version specific identifier
.... lastUpdated S 0..1 instant MANDATORY except in Contained Resources. When the resource version last changed.
.... profile S 0..* canonical(StructureDefinition) Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource.
.... security 0..* Coding DISCOURAGED - may not be honoured by Data Consumers
.... Slices for tag 0..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
..... tag:Source S 0..1 Coding MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
...... id 0..0
...... system 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Source
...... version 0..0
...... code S 1..1 code The Data Provider Id of the system supplying the data
...... display S 1..1 string Name of the system supplying the data
..... tag:Provenance S 0..1 Coding MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
...... id 0..0
...... system 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance
...... version 0..0
...... code S 1..1 code The ODS Code of the organisation responsible for the data
...... display S 1..1 string Name of the organisation supplying the data
... implicitRules 0..1 uri DISCOURAGED - may not be honoured by Data Consumers
... text 0..1 Narrative DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... Slices for extension Content/Rules for all slices
.... extension:deliveryChannel S 0..1 ExtensionUKCoreDeliveryChannel An extension to record the delivery channel of a scheduled Appointment
... identifier S 1..1 Identifier External Ids for this item
.... assigner 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
... serviceCategory 0..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (preferred)
... serviceType S 1..* 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: UK Core Care Setting Type (preferred)
.... id 0..0
.... coding
..... id 0..0
..... system 1..1 uri Identity of the terminology system
..... code 1..1 code Symbol in syntax defined by the system
..... display 1..1 string Representation defined by the system
... specialty 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment.
Binding: UK Core Practice Setting Code (required)
.... id 0..0
.... coding
..... id 0..0
..... system 1..1 uri Identity of the terminology system
..... code 1..1 code Symbol in syntax defined by the system
..... display 1..1 string Representation defined by the system
... appointmentType 0..1 CodeableConcept The style of appointment or patient that may be booked in the slot.
Binding: InterweaveAppointmentType (required)
.... id 0..0
.... coding
..... id 0..0
..... system 1..1 uri Identity of the terminology system
..... code 1..1 code Symbol in syntax defined by the system
..... display 1..1 string Representation defined by the system
... schedule 1..1 Reference(InterweaveSchedule) A reference to the Schedule that this Slot is an interval of.
... overbooked S 0..1 boolean if this slot has already been overbooked, appointments are unlikely to be accepted for this time. Default value of 'false' is assumed.

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Slot.serviceCategorypreferredServiceCategory
http://hl7.org/fhir/ValueSet/service-category
from the FHIR Standard
Slot.serviceTypepreferredUKCoreCareSettingType
https://fhir.hl7.org.uk/ValueSet/UKCore-CareSettingType
from this IG
Slot.specialtyrequiredUKCorePracticeSettingCode (a valid code from UKCore Practice Setting Code)
https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode
from this IG
Slot.appointmentTyperequiredInterweaveAppointmentType
https://fhir.interweavedigital.nhs.uk/R4/ValueSet/Interweave-AppointmentType
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. Slot 0..* UKCoreSlot A slot of time on a schedule that may be available for booking appointments
... id SΣ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... versionId SΣ 0..1 id Version specific identifier
.... lastUpdated SΣ 0..1 instant MANDATORY except in Contained Resources. When the resource version last changed.
.... profile SΣ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource.
.... security Σ 0..* Coding DISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ 0..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


..... tag:Source SΣ 0..1 Coding MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Source
...... code SΣ 1..1 code The Data Provider Id of the system supplying the data
...... display SΣ 1..1 string Name of the system supplying the data
..... tag:Provenance SΣ 0..1 Coding MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance
...... code SΣ 1..1 code The ODS Code of the organisation responsible for the data
...... display SΣ 1..1 string Name of the organisation supplying the data
... implicitRules ?!Σ 0..1 uri DISCOURAGED - may not be honoured by Data Consumers
... text 0..1 Narrative DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... Slices for extension Content/Rules for all slices
.... deliveryChannel S 0..1 CodeableConcept An extension to record the delivery channel of a scheduled Appointment
URL: https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-DeliveryChannel
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 1..1 Identifier External Ids for this item
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... assigner Σ 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
... serviceCategory Σ 0..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (preferred)
... serviceType SΣ 1..* 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: UK Core Care Setting Type (preferred)
... specialty SΣ 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment.
Binding: UK Core Practice Setting Code (required)
... appointmentType SΣ 0..1 CodeableConcept The style of appointment or patient that may be booked in the slot.
Binding: InterweaveAppointmentType (required)
... schedule SΣ 1..1 Reference(InterweaveSchedule) A reference to the Schedule that this Slot is an interval of.
... status SΣ 1..1 code The status of the slot, e.g free, busy, etc.
Binding: SlotStatus (required): The free/busy status of the slot.

... start SΣ 1..1 instant Date/Time that the slot is to begin.
... end SΣ 1..1 instant Date/Time that the slot is to conclude.
... overbooked S 0..1 boolean if this slot has already been overbooked, appointments are unlikely to be accepted for this time. Default value of 'false' is assumed.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Slot.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Slot.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Slot.meta.tag:SourceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Slot.meta.tag:ProvenanceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Slot.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Slot.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Slot.serviceCategorypreferredServiceCategory
http://hl7.org/fhir/ValueSet/service-category
from the FHIR Standard
Slot.serviceTypepreferredUKCoreCareSettingType
https://fhir.hl7.org.uk/ValueSet/UKCore-CareSettingType
from this IG
Slot.specialtyrequiredUKCorePracticeSettingCode (a valid code from UKCore Practice Setting Code)
https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode
from this IG
Slot.appointmentTyperequiredInterweaveAppointmentType
https://fhir.interweavedigital.nhs.uk/R4/ValueSet/Interweave-AppointmentType
from this IG
Slot.statusrequiredSlotStatus
http://hl7.org/fhir/ValueSet/slotstatus|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorSlotIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorSlotIf 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-4errorSlotIf 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-5errorSlotIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceSlotA 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
.. Slot 0..* UKCoreSlot A slot of time on a schedule that may be available for booking appointments
... id SΣ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId SΣ 0..1 id Version specific identifier
.... lastUpdated SΣ 0..1 instant MANDATORY except in Contained Resources. When the resource version last changed.
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile SΣ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource.
.... security Σ 0..* Coding DISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ 0..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


..... tag:Source SΣ 0..1 Coding MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Source
...... code SΣ 1..1 code The Data Provider Id of the system supplying the data
...... display SΣ 1..1 string Name of the system supplying the data
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... tag:Provenance SΣ 0..1 Coding MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance
...... code SΣ 1..1 code The ODS Code of the organisation responsible for the data
...... display SΣ 1..1 string Name of the organisation supplying the data
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
... implicitRules ?!Σ 0..1 uri DISCOURAGED - may not be honoured by Data Consumers
... text 0..1 Narrative DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... deliveryChannel S 0..1 CodeableConcept An extension to record the delivery channel of a scheduled Appointment
URL: https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-DeliveryChannel
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 1..1 Identifier External Ids for this item
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ 0..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value Σ 0..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
... serviceCategory Σ 0..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (preferred)
... serviceType SΣ 1..* 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: UK Core Care Setting Type (preferred)
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 1..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... specialty SΣ 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment.
Binding: UK Core Practice Setting Code (required)
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 1..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... appointmentType SΣ 0..1 CodeableConcept The style of appointment or patient that may be booked in the slot.
Binding: InterweaveAppointmentType (required)
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 1..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... schedule SΣ 1..1 Reference(InterweaveSchedule) A reference to the Schedule that this Slot is an interval of.
... status SΣ 1..1 code The status of the slot, e.g free, busy, etc.
Binding: SlotStatus (required): The free/busy status of the slot.

... start SΣ 1..1 instant Date/Time that the slot is to begin.
... end SΣ 1..1 instant Date/Time that the slot is to conclude.
... overbooked S 0..1 boolean if this slot has already been overbooked, appointments are unlikely to be accepted for this time. Default value of 'false' is assumed.
... 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

PathConformanceValueSetURI
Slot.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Slot.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Slot.meta.tag:SourceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Slot.meta.tag:ProvenanceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Slot.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Slot.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Slot.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Slot.serviceCategorypreferredServiceCategory
http://hl7.org/fhir/ValueSet/service-category
from the FHIR Standard
Slot.serviceTypepreferredUKCoreCareSettingType
https://fhir.hl7.org.uk/ValueSet/UKCore-CareSettingType
from this IG
Slot.specialtyrequiredUKCorePracticeSettingCode (a valid code from UKCore Practice Setting Code)
https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode
from this IG
Slot.appointmentTyperequiredInterweaveAppointmentType
https://fhir.interweavedigital.nhs.uk/R4/ValueSet/Interweave-AppointmentType
from this IG
Slot.statusrequiredSlotStatus
http://hl7.org/fhir/ValueSet/slotstatus|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorSlotIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorSlotIf 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-4errorSlotIf 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-5errorSlotIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceSlotA 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 UKCoreSlot

Summary

Mandatory: 2 elements(15 nested mandatory elements)
Must-Support: 14 elements
Fixed: 2 elements
Prohibited: 11 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Slot.meta.tag

Differential View

This structure is derived from UKCoreSlot

NameFlagsCard.TypeDescription & Constraintsdoco
.. Slot 0..* UKCoreSlot A slot of time on a schedule that may be available for booking appointments
... id S 0..1 id Logical id of this artifact
... meta
.... id 0..0
.... versionId S 0..1 id Version specific identifier
.... lastUpdated S 0..1 instant MANDATORY except in Contained Resources. When the resource version last changed.
.... profile S 0..* canonical(StructureDefinition) Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource.
.... security 0..* Coding DISCOURAGED - may not be honoured by Data Consumers
.... Slices for tag 0..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
..... tag:Source S 0..1 Coding MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
...... id 0..0
...... system 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Source
...... version 0..0
...... code S 1..1 code The Data Provider Id of the system supplying the data
...... display S 1..1 string Name of the system supplying the data
..... tag:Provenance S 0..1 Coding MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
...... id 0..0
...... system 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance
...... version 0..0
...... code S 1..1 code The ODS Code of the organisation responsible for the data
...... display S 1..1 string Name of the organisation supplying the data
... implicitRules 0..1 uri DISCOURAGED - may not be honoured by Data Consumers
... text 0..1 Narrative DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... Slices for extension Content/Rules for all slices
.... extension:deliveryChannel S 0..1 ExtensionUKCoreDeliveryChannel An extension to record the delivery channel of a scheduled Appointment
... identifier S 1..1 Identifier External Ids for this item
.... assigner 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
... serviceCategory 0..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (preferred)
... serviceType S 1..* 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: UK Core Care Setting Type (preferred)
.... id 0..0
.... coding
..... id 0..0
..... system 1..1 uri Identity of the terminology system
..... code 1..1 code Symbol in syntax defined by the system
..... display 1..1 string Representation defined by the system
... specialty 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment.
Binding: UK Core Practice Setting Code (required)
.... id 0..0
.... coding
..... id 0..0
..... system 1..1 uri Identity of the terminology system
..... code 1..1 code Symbol in syntax defined by the system
..... display 1..1 string Representation defined by the system
... appointmentType 0..1 CodeableConcept The style of appointment or patient that may be booked in the slot.
Binding: InterweaveAppointmentType (required)
.... id 0..0
.... coding
..... id 0..0
..... system 1..1 uri Identity of the terminology system
..... code 1..1 code Symbol in syntax defined by the system
..... display 1..1 string Representation defined by the system
... schedule 1..1 Reference(InterweaveSchedule) A reference to the Schedule that this Slot is an interval of.
... overbooked S 0..1 boolean if this slot has already been overbooked, appointments are unlikely to be accepted for this time. Default value of 'false' is assumed.

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Slot.serviceCategorypreferredServiceCategory
http://hl7.org/fhir/ValueSet/service-category
from the FHIR Standard
Slot.serviceTypepreferredUKCoreCareSettingType
https://fhir.hl7.org.uk/ValueSet/UKCore-CareSettingType
from this IG
Slot.specialtyrequiredUKCorePracticeSettingCode (a valid code from UKCore Practice Setting Code)
https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode
from this IG
Slot.appointmentTyperequiredInterweaveAppointmentType
https://fhir.interweavedigital.nhs.uk/R4/ValueSet/Interweave-AppointmentType
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Slot 0..* UKCoreSlot A slot of time on a schedule that may be available for booking appointments
... id SΣ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... versionId SΣ 0..1 id Version specific identifier
.... lastUpdated SΣ 0..1 instant MANDATORY except in Contained Resources. When the resource version last changed.
.... profile SΣ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource.
.... security Σ 0..* Coding DISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ 0..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


..... tag:Source SΣ 0..1 Coding MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Source
...... code SΣ 1..1 code The Data Provider Id of the system supplying the data
...... display SΣ 1..1 string Name of the system supplying the data
..... tag:Provenance SΣ 0..1 Coding MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance
...... code SΣ 1..1 code The ODS Code of the organisation responsible for the data
...... display SΣ 1..1 string Name of the organisation supplying the data
... implicitRules ?!Σ 0..1 uri DISCOURAGED - may not be honoured by Data Consumers
... text 0..1 Narrative DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... Slices for extension Content/Rules for all slices
.... deliveryChannel S 0..1 CodeableConcept An extension to record the delivery channel of a scheduled Appointment
URL: https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-DeliveryChannel
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 1..1 Identifier External Ids for this item
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... assigner Σ 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
... serviceCategory Σ 0..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (preferred)
... serviceType SΣ 1..* 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: UK Core Care Setting Type (preferred)
... specialty SΣ 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment.
Binding: UK Core Practice Setting Code (required)
... appointmentType SΣ 0..1 CodeableConcept The style of appointment or patient that may be booked in the slot.
Binding: InterweaveAppointmentType (required)
... schedule SΣ 1..1 Reference(InterweaveSchedule) A reference to the Schedule that this Slot is an interval of.
... status SΣ 1..1 code The status of the slot, e.g free, busy, etc.
Binding: SlotStatus (required): The free/busy status of the slot.

... start SΣ 1..1 instant Date/Time that the slot is to begin.
... end SΣ 1..1 instant Date/Time that the slot is to conclude.
... overbooked S 0..1 boolean if this slot has already been overbooked, appointments are unlikely to be accepted for this time. Default value of 'false' is assumed.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Slot.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Slot.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Slot.meta.tag:SourceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Slot.meta.tag:ProvenanceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Slot.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Slot.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Slot.serviceCategorypreferredServiceCategory
http://hl7.org/fhir/ValueSet/service-category
from the FHIR Standard
Slot.serviceTypepreferredUKCoreCareSettingType
https://fhir.hl7.org.uk/ValueSet/UKCore-CareSettingType
from this IG
Slot.specialtyrequiredUKCorePracticeSettingCode (a valid code from UKCore Practice Setting Code)
https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode
from this IG
Slot.appointmentTyperequiredInterweaveAppointmentType
https://fhir.interweavedigital.nhs.uk/R4/ValueSet/Interweave-AppointmentType
from this IG
Slot.statusrequiredSlotStatus
http://hl7.org/fhir/ValueSet/slotstatus|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorSlotIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorSlotIf 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-4errorSlotIf 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-5errorSlotIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceSlotA 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
.. Slot 0..* UKCoreSlot A slot of time on a schedule that may be available for booking appointments
... id SΣ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId SΣ 0..1 id Version specific identifier
.... lastUpdated SΣ 0..1 instant MANDATORY except in Contained Resources. When the resource version last changed.
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile SΣ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to. Should list (i) this profile (ii) base profile for this resource.
.... security Σ 0..* Coding DISCOURAGED - may not be honoured by Data Consumers
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... Slices for tag Σ 0..* Coding Tags applied to this resource
Slice: Unordered, Open by value:system
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


..... tag:Source SΣ 0..1 Coding MANDATORY except in Contained Resources. The Data Provider Id (and display text) of the system supplying the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Source
...... code SΣ 1..1 code The Data Provider Id of the system supplying the data
...... display SΣ 1..1 string Name of the system supplying the data
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
..... tag:Provenance SΣ 0..1 Coding MANDATORY except in Contained Resources. The ODS Code (and display text) of the organisation responsible for the data
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".


...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://fhir.interweavedigital.nhs.uk/Provenance
...... code SΣ 1..1 code The ODS Code of the organisation responsible for the data
...... display SΣ 1..1 string Name of the organisation supplying the data
...... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
... implicitRules ?!Σ 0..1 uri DISCOURAGED - may not be honoured by Data Consumers
... text 0..1 Narrative DISCOURAGED - the preferred approach is to offer structured data fields which a Data Consumer can then render and present in a manner most suited to its users
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... deliveryChannel S 0..1 CodeableConcept An extension to record the delivery channel of a scheduled Appointment
URL: https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-DeliveryChannel
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier SΣ 1..1 Identifier External Ids for this item
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .

.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.

.... system Σ 0..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value Σ 0..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner Σ 0..1 Reference(InterweaveOrganization) Organization that issued id (may be just text)
... serviceCategory Σ 0..1 CodeableConcept A broad categorization of the service that is to be performed during this appointment
Binding: ServiceCategory (preferred)
... serviceType SΣ 1..* 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: UK Core Care Setting Type (preferred)
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 1..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... specialty SΣ 0..* CodeableConcept The specialty of a practitioner that would be required to perform the service requested in this appointment.
Binding: UK Core Practice Setting Code (required)
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 1..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... appointmentType SΣ 0..1 CodeableConcept The style of appointment or patient that may be booked in the slot.
Binding: InterweaveAppointmentType (required)
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... coding Σ 0..* Coding Code defined by a terminology system
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
..... display Σ 1..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
.... text Σ 0..1 string Plain text representation of the concept
... schedule SΣ 1..1 Reference(InterweaveSchedule) A reference to the Schedule that this Slot is an interval of.
... status SΣ 1..1 code The status of the slot, e.g free, busy, etc.
Binding: SlotStatus (required): The free/busy status of the slot.

... start SΣ 1..1 instant Date/Time that the slot is to begin.
... end SΣ 1..1 instant Date/Time that the slot is to conclude.
... overbooked S 0..1 boolean if this slot has already been overbooked, appointments are unlikely to be accepted for this time. Default value of 'false' is assumed.
... 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

PathConformanceValueSetURI
Slot.meta.securityextensibleAll Security Labels
http://hl7.org/fhir/ValueSet/security-labels
from the FHIR Standard
Slot.meta.tagexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Slot.meta.tag:SourceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Slot.meta.tag:ProvenanceexampleCommonTags
http://hl7.org/fhir/ValueSet/common-tags
from the FHIR Standard
Slot.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Slot.identifier.userequiredIdentifierUse
http://hl7.org/fhir/ValueSet/identifier-use|4.0.1
from the FHIR Standard
Slot.identifier.typeextensibleIdentifier Type Codes
http://hl7.org/fhir/ValueSet/identifier-type
from the FHIR Standard
Slot.serviceCategorypreferredServiceCategory
http://hl7.org/fhir/ValueSet/service-category
from the FHIR Standard
Slot.serviceTypepreferredUKCoreCareSettingType
https://fhir.hl7.org.uk/ValueSet/UKCore-CareSettingType
from this IG
Slot.specialtyrequiredUKCorePracticeSettingCode (a valid code from UKCore Practice Setting Code)
https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode
from this IG
Slot.appointmentTyperequiredInterweaveAppointmentType
https://fhir.interweavedigital.nhs.uk/R4/ValueSet/Interweave-AppointmentType
from this IG
Slot.statusrequiredSlotStatus
http://hl7.org/fhir/ValueSet/slotstatus|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorSlotIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorSlotIf 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-4errorSlotIf 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-5errorSlotIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceSlotA 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 UKCoreSlot

Summary

Mandatory: 2 elements(15 nested mandatory elements)
Must-Support: 14 elements
Fixed: 2 elements
Prohibited: 11 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Slot.meta.tag

 

Other representations of profile: CSV, Excel, Schematron