<StructureDefinition xmlns="http://hl7.org/fhir">
  <meta>
    <lastUpdated value="2018-09-21T11:54:03.97+01:00" />
  </meta>
  <url value="https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Appointment-1" />
  <version value="1.6.0" />
  <name value="GPConnect-Appointment-1" />
  <status value="active" />
  <date value="2024-01-22T11:39:06.3872207+00:00" />
  <publisher value="NHS Digital" />
  <contact>
    <name value="Interoperability Team" />
    <telecom>
      <system value="email" />
      <value value="interoperabilityteam@nhs.net" />
      <use value="work" />
    </telecom>
  </contact>
  <description value="The Appointment resource provides information on the booking of a healthcare event." />
  <copyright value="Copyright © 2019 NHS Digital" />
  <fhirVersion value="3.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Appointment" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Appointment" />
  <derivation value="constraint" />
  <differential>
    <element id="Appointment.extension">
      <path value="Appointment.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Appointment.extension:appointmentCancellationReason">
      <path value="Appointment.extension" />
      <sliceName value="appointmentCancellationReason" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.uk/STU3/StructureDefinition/Extension-GPConnect-AppointmentCancellationReason-1" />
      </type>
    </element>
    <element id="Appointment.extension:bookingOrganisation">
      <path value="Appointment.extension" />
      <sliceName value="bookingOrganisation" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.uk/STU3/StructureDefinition/Extension-GPConnect-BookingOrganisation-1" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Appointment.extension:practitionerRole">
      <path value="Appointment.extension" />
      <sliceName value="practitionerRole" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.uk/STU3/StructureDefinition/Extension-GPConnect-PractitionerRole-1" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Appointment.extension:deliveryChannel">
      <path value="Appointment.extension" />
      <sliceName value="deliveryChannel" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.uk/STU3/StructureDefinition/Extension-GPConnect-DeliveryChannel-2" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Appointment.identifier.use">
      <path value="Appointment.identifier.use" />
      <max value="0" />
    </element>
    <element id="Appointment.identifier.type">
      <path value="Appointment.identifier.type" />
      <max value="0" />
    </element>
    <element id="Appointment.identifier.system">
      <path value="Appointment.identifier.system" />
      <min value="1" />
      <example>
        <label value="General" />
        <valueUri value="https://fhir.nhs.uk/Id/gpconnect-appointment-identifier" />
      </example>
    </element>
    <element id="Appointment.identifier.value">
      <path value="Appointment.identifier.value" />
      <min value="1" />
      <example>
        <label value="General" />
        <valueString value="898976578" />
      </example>
    </element>
    <element id="Appointment.identifier.period">
      <path value="Appointment.identifier.period" />
      <max value="0" />
    </element>
    <element id="Appointment.identifier.assigner">
      <path value="Appointment.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Appointment.status">
      <path value="Appointment.status" />
      <example>
        <label value="General" />
        <valueCode value="booked" />
      </example>
    </element>
    <element id="Appointment.specialty">
      <path value="Appointment.specialty" />
      <max value="1" />
    </element>
    <element id="Appointment.specialty.coding.code">
      <path value="Appointment.specialty.coding.code" />
      <example>
        <label value="General" />
        <valueCode value="394733009" />
      </example>
    </element>
    <element id="Appointment.specialty.coding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Appointment.specialty.coding.display" />
      <example>
        <label value="General" />
        <valueString value="Medical specialty--OTHER--NOT LISTED" />
      </example>
    </element>
    <element id="Appointment.appointmentType">
      <path value="Appointment.appointmentType" />
      <max value="0" />
    </element>
    <element id="Appointment.reason">
      <path value="Appointment.reason" />
      <max value="1" />
      <binding>
        <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName">
          <valueString value="ApptReason" />
        </extension>
        <strength value="required" />
      </binding>
    </element>
    <element id="Appointment.reason.coding.system">
      <path value="Appointment.reason.coding.system" />
      <min value="1" />
      <fixedUri value="http://snomed.info/sct" />
    </element>
    <element id="Appointment.reason.coding.version">
      <path value="Appointment.reason.coding.version" />
      <max value="0" />
    </element>
    <element id="Appointment.reason.coding.code">
      <path value="Appointment.reason.coding.code" />
      <min value="1" />
      <example>
        <label value="General" />
        <valueCode value="17436001" />
      </example>
    </element>
    <element id="Appointment.reason.coding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Appointment.reason.coding.display" />
      <min value="1" />
      <example>
        <label value="General" />
        <valueString value="Medical consultation with outpatient" />
      </example>
    </element>
    <element id="Appointment.reason.coding.userSelected">
      <path value="Appointment.reason.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Appointment.indication">
      <path value="Appointment.indication" />
      <max value="0" />
    </element>
    <element id="Appointment.priority">
      <path value="Appointment.priority" />
      <short value="Gives the priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority)" />
    </element>
    <element id="Appointment.description">
      <path value="Appointment.description" />
      <min value="1" />
    </element>
    <element id="Appointment.supportingInformation">
      <path value="Appointment.supportingInformation" />
      <max value="0" />
    </element>
    <element id="Appointment.start">
      <path value="Appointment.start" />
      <min value="1" />
    </element>
    <element id="Appointment.end">
      <path value="Appointment.end" />
      <min value="1" />
    </element>
    <element id="Appointment.slot">
      <path value="Appointment.slot" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Slot-1" />
      </type>
    </element>
    <element id="Appointment.slot.reference">
      <path value="Appointment.slot.reference" />
      <example>
        <label value="General" />
        <valueString value="Slot/79a37bc3-8d22-4805-b1a7-8cf8ceca9217" />
      </example>
    </element>
    <element id="Appointment.slot.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Appointment.slot.display" />
      <example>
        <label value="General" />
        <valueString value="Appointment Slot - Out of Hours GP Clinic - 19:30 - 19:45" />
      </example>
    </element>
    <element id="Appointment.comment">
      <path value="Appointment.comment" />
      <short value="Any additional comments about the appointment" />
      <example>
        <label value="General" />
        <valueString value="Discussion on problem 'Increased pain in right arm.'" />
      </example>
    </element>
    <element id="Appointment.incomingReferral">
      <path value="Appointment.incomingReferral" />
      <max value="0" />
    </element>
    <element id="Appointment.participant.actor">
      <path value="Appointment.participant.actor" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/RelatedPerson" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/HealthcareService" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Practitioner-1" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Location-1" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Device-1" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Patient-1" />
      </type>
    </element>
    <element id="Appointment.requestedPeriod">
      <path value="Appointment.requestedPeriod" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>