<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="UKCore-Slot" />
  <url value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-Slot" />
  <version value="1.4.0" />
  <name value="UKCoreSlot" />
  <title value="UK Core Slot" />
  <status value="active" />
  <date value="2026-01-19" />
  <publisher value="HL7 UK" />
  <contact>
    <name value="HL7 UK" />
    <telecom>
      <system value="email" />
      <value value="ukcore@hl7.org.uk" />
      <use value="work" />
      <rank value="1" />
    </telecom>
  </contact>
  <description value="This profile defines the UK constraints and extensions on the International FHIR resource [Slot](https://hl7.org/fhir/R4/Slot.html)." />
  <purpose value="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.&#xD;&#xA;Slots can also be marked as busy without having appointments associated." />
  <copyright value="Copyright © 2021+ HL7 UK Licensed under the Apache License, Version 2.0 (the &quot;License&quot;); 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 &quot;AS IS&quot; 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." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Slot" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Slot" />
  <derivation value="constraint" />
  <differential>
    <element id="Slot.extension:deliveryChannel">
      <path value="Slot.extension" />
      <sliceName value="deliveryChannel" />
      <short value="This describes the delivery channel of a scheduled appointment." />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-DeliveryChannel" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Slot.serviceType">
      <path value="Slot.serviceType" />
      <binding>
        <strength value="preferred" />
        <description value="Any code from the SNOMED CT UK Refset with fully specified name 'Services simple reference set (foundation metadata concept)' with Refset Id 1127531000000102." />
        <valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-CareSettingType" />
      </binding>
    </element>
    <element id="Slot.specialty">
      <path value="Slot.specialty" />
      <short value="The specialty of a practitioner that would be required to perform the service requested in this appointment." />
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="https://fhir.hl7.org.uk/ValueSet/UKCore-PracticeSettingCode" />
      </binding>
    </element>
    <element id="Slot.appointmentType">
      <path value="Slot.appointmentType" />
      <short value="The style of appointment or patient that may be booked in the slot." />
      <mustSupport value="true" />
    </element>
    <element id="Slot.schedule">
      <path value="Slot.schedule" />
      <short value="A reference to the Schedule that this Slot is an interval of." />
      <mustSupport value="true" />
    </element>
    <element id="Slot.status">
      <path value="Slot.status" />
      <short value="The status of the slot, e.g free, busy, etc." />
      <mustSupport value="true" />
    </element>
    <element id="Slot.start">
      <path value="Slot.start" />
      <short value="Date/Time that the slot is to begin." />
      <mustSupport value="true" />
    </element>
    <element id="Slot.end">
      <path value="Slot.end" />
      <short value="Date/Time that the slot is to conclude." />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>