<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="db5e6fcc-2f29-42a8-ab29-18faa469d032" />
  <url value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-MedicationRequest" />
  <name value="NHSDigital-MedicationRequest" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="workflow" />
    <uri value="http://hl7.org/fhir/workflow" />
    <name value="Workflow Pattern" />
  </mapping>
  <mapping>
    <identity value="script10.6" />
    <uri value="http://ncpdp.org/SCRIPT10_6" />
    <name value="Mapping to NCPDP SCRIPT 10.6" />
  </mapping>
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="MedicationRequest" />
  <baseDefinition value="https://fhir.hl7.org.uk/StructureDefinition/UKCore-MedicationRequest" />
  <derivation value="constraint" />
  <differential>
    <element id="MedicationRequest">
      <path value="MedicationRequest" />
      <constraint>
        <key value="eps-1" />
        <severity value="error" />
        <human value="Only one of medicationReference or medicationCodeableConcept should be provided" />
        <expression value="(medicationReference.exists() and medicationCodeableConcept.exists().not()) or (medicationReference.exists().not() and medicationCodeableConcept.exists())" />
        <source value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-MedicationRequest" />
      </constraint>
    </element>
    <element id="MedicationRequest.extension">
      <path value="MedicationRequest.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="MedicationRequest.extension:repeatInformation">
      <path value="MedicationRequest.extension" />
      <sliceName value="repeatInformation" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.hl7.org.uk/StructureDefinition/Extension-UKCore-MedicationRepeatInformation" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.extension:responsiblePractitioner">
      <path value="MedicationRequest.extension" />
      <sliceName value="responsiblePractitioner" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.uk/StructureDefinition/Extension-DM-ResponsiblePractitioner" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.extension:prescriptionEndorsement">
      <path value="MedicationRequest.extension" />
      <sliceName value="prescriptionEndorsement" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.uk/StructureDefinition/Extension-DM-PrescriptionEndorsement" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.extension:prescriptionTaskStatusReason">
      <path value="MedicationRequest.extension" />
      <sliceName value="prescriptionTaskStatusReason" />
      <definition value="The status history within EPS is primarily a technical Status and the statusReason will reflect current clinical status of the order." />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.uk/StructureDefinition/Extension-DM-PrescriptionStatusHistory" />
      </type>
    </element>
    <element id="MedicationRequest.extension:NHSBSAprescriptionType">
      <path value="MedicationRequest.extension" />
      <sliceName value="NHSBSAprescriptionType" />
      <min value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.uk/StructureDefinition/Extension-DM-PrescriptionType" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.extension:controlledDrug">
      <path value="MedicationRequest.extension" />
      <sliceName value="controlledDrug" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.uk/StructureDefinition/Extension-DM-ControlledDrug" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.extension:dispensingInformation">
      <path value="MedicationRequest.extension" />
      <sliceName value="dispensingInformation" />
      <short value="For EPS use only" />
      <definition value="Not to be populated by prescribing systems. Tracking systems only for repeat dispensing." />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.uk/StructureDefinition/Extension-EPS-DispensingInformation" />
      </type>
    </element>
    <element id="MedicationRequest.identifier">
      <path value="MedicationRequest.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.identifier:prescriptionOrderItem">
      <path value="MedicationRequest.identifier" />
      <sliceName value="prescriptionOrderItem" />
      <short value="Prescription Order Item" />
      <definition value="Unique Id of the MedicationRequest within EPS" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.identifier:prescriptionOrderItem.system">
      <path value="MedicationRequest.identifier.system" />
      <min value="1" />
      <fixedUri value="https://fhir.nhs.uk/Id/prescription-order-item-number" />
    </element>
    <element id="MedicationRequest.identifier:prescriptionOrderItem.value">
      <path value="MedicationRequest.identifier.value" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.status">
      <path value="MedicationRequest.status" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.statusReason">
      <path value="MedicationRequest.statusReason" />
      <definition value="Mandatory for cancelled prescription items" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.nhs.uk/ValueSet/DM-medicationrequest-status-reason" />
      </binding>
    </element>
    <element id="MedicationRequest.statusReason.coding">
      <path value="MedicationRequest.statusReason.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.statusReason.coding.system">
      <path value="MedicationRequest.statusReason.coding.system" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.statusReason.coding.code">
      <path value="MedicationRequest.statusReason.coding.code" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.statusReason.coding.display">
      <path value="MedicationRequest.statusReason.coding.display" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.category">
      <path value="MedicationRequest.category" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.category.coding">
      <path value="MedicationRequest.category.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.category.coding:patientClassFHIR">
      <path value="MedicationRequest.category.coding" />
      <sliceName value="patientClassFHIR" />
      <max value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.nhs.uk/ValueSet/DM-medicationrequest-category" />
      </binding>
    </element>
    <element id="MedicationRequest.category.coding:patientClassFHIR.system">
      <path value="MedicationRequest.category.coding.system" />
      <min value="1" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/medicationrequest-category" />
    </element>
    <element id="MedicationRequest.category.coding:patientClassFHIR.code">
      <path value="MedicationRequest.category.coding.code" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.category.coding:patientClassUK">
      <path value="MedicationRequest.category.coding" />
      <sliceName value="patientClassUK" />
      <max value="1" />
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.nhs.uk/ValueSet/DM-medicationrequest-category" />
      </binding>
    </element>
    <element id="MedicationRequest.category.coding:patientClassUK.system">
      <path value="MedicationRequest.category.coding.system" />
      <min value="1" />
      <fixedUri value="https://fhir.nhs.uk/CodeSystem/medicationrequest-category" />
    </element>
    <element id="MedicationRequest.category.coding:patientClassUK.code">
      <path value="MedicationRequest.category.coding.code" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.medication[x]">
      <path value="MedicationRequest.medication[x]" />
      <comment value="Any code from the SnomedCT UK DMD subset for VMP, AMP and VTM concepts" />
      <type>
        <code value="CodeableConcept" />
        <profile value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-MedicationRequest-CodeableConcept" />
      </type>
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-MedicationRequest-Medication" />
        <aggregation value="bundled" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.subject">
      <path value="MedicationRequest.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-Patient" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.subject.reference">
      <path value="MedicationRequest.subject.reference" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.encounter">
      <path value="MedicationRequest.encounter" />
      <definition value="Encounter is required for secondary care prescriptions." />
    </element>
    <element id="MedicationRequest.authoredOn">
      <path value="MedicationRequest.authoredOn" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.requester">
      <path value="MedicationRequest.requester" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-PractitionerRole" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.requester.reference">
      <path value="MedicationRequest.requester.reference" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.basedOn">
      <path value="MedicationRequest.basedOn" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/ImmunizationRecommendation" />
        <targetProfile value="https://fhir.nhs.uk/StructureDefinition/NHSDigital-MedicationRequest" />
      </type>
    </element>
    <element id="MedicationRequest.groupIdentifier">
      <path value="MedicationRequest.groupIdentifier" />
      <short value="order number for grouped MedicationRequests" />
      <definition value="The short form prescription identifier" />
      <comment value="ITK HL7v3 Mapping = The groupIdentifier is equivalent to ParentPrescription.id (prescription-order-number). The extension is used to carry the ParentPrescription.id (UUID)." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.groupIdentifier.extension">
      <path value="MedicationRequest.groupIdentifier.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="MedicationRequest.groupIdentifier.extension:PrescriptionOrderUUID">
      <path value="MedicationRequest.groupIdentifier.extension" />
      <sliceName value="PrescriptionOrderUUID" />
      <short value="UUID order number for grouped MedciationRequests" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.uk/StructureDefinition/Extension-DM-PrescriptionId" />
      </type>
    </element>
    <element id="MedicationRequest.groupIdentifier.extension:PrescriptionOrderUUID.value[x].system">
      <path value="MedicationRequest.groupIdentifier.extension.value[x].system" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.groupIdentifier.extension:PrescriptionOrderUUID.value[x].value">
      <path value="MedicationRequest.groupIdentifier.extension.value[x].value" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.groupIdentifier.system">
      <path value="MedicationRequest.groupIdentifier.system" />
      <min value="1" />
      <fixedUri value="https://fhir.nhs.uk/Id/prescription-order-number" />
    </element>
    <element id="MedicationRequest.groupIdentifier.value">
      <path value="MedicationRequest.groupIdentifier.value" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.courseOfTherapyType">
      <path value="MedicationRequest.courseOfTherapyType" />
      <definition value="The description of the overall pattern of the administration of the medication to the patient.&#xD;&#xA;Required for prescription-order" />
      <comment value="The type of prescription e.g. acute, continuous, etc. Was extension in STU3 https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-CareConnect-PrescriptionType-1 and Digital Medicine uses international codes, so continuous in place of repeat." />
      <min value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.nhs.uk/ValueSet/DM-medicationrequest-course-of-therapy" />
      </binding>
    </element>
    <element id="MedicationRequest.courseOfTherapyType.coding">
      <path value="MedicationRequest.courseOfTherapyType.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.courseOfTherapyType.coding.system">
      <path value="MedicationRequest.courseOfTherapyType.coding.system" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.courseOfTherapyType.coding.code">
      <path value="MedicationRequest.courseOfTherapyType.coding.code" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.dosageInstruction">
      <path value="MedicationRequest.dosageInstruction" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dosageInstruction.text">
      <path value="MedicationRequest.dosageInstruction.text" />
      <comment value="ITK Mapping = pertinentInformation2.pertinentLineItem.pertinentInformation2.pertinentDosageInstructions.value" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.dispenseRequest">
      <path value="MedicationRequest.dispenseRequest" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.extension">
      <path value="MedicationRequest.dispenseRequest.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="MedicationRequest.dispenseRequest.extension:performerSiteType">
      <path value="MedicationRequest.dispenseRequest.extension" />
      <sliceName value="performerSiteType" />
      <short value="type of dispensing organisation" />
      <min value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.uk/StructureDefinition/Extension-DM-PerformerSiteType" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.validityPeriod">
      <path value="MedicationRequest.dispenseRequest.validityPeriod" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.validityPeriod.start">
      <path value="MedicationRequest.dispenseRequest.validityPeriod.start" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.dispenseRequest.numberOfRepeatsAllowed">
      <path value="MedicationRequest.dispenseRequest.numberOfRepeatsAllowed" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.quantity">
      <path value="MedicationRequest.dispenseRequest.quantity" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.quantity.value">
      <path value="MedicationRequest.dispenseRequest.quantity.value" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.dispenseRequest.quantity.unit">
      <path value="MedicationRequest.dispenseRequest.quantity.unit" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.dispenseRequest.quantity.code">
      <path value="MedicationRequest.dispenseRequest.quantity.code" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.dispenseRequest.expectedSupplyDuration">
      <path value="MedicationRequest.dispenseRequest.expectedSupplyDuration" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.expectedSupplyDuration.value">
      <path value="MedicationRequest.dispenseRequest.expectedSupplyDuration.value" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.dispenseRequest.expectedSupplyDuration.code">
      <path value="MedicationRequest.dispenseRequest.expectedSupplyDuration.code" />
      <min value="1" />
      <fixedCode value="d" />
    </element>
    <element id="MedicationRequest.dispenseRequest.performer">
      <path value="MedicationRequest.dispenseRequest.performer" />
      <definition value="Indicates the intended dispensing Pharmacy specified by the patient. Can be sourced from nominatedPharmacy in the Patient Demographics Service (PDS)" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.performer.extension">
      <path value="MedicationRequest.dispenseRequest.performer.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="MedicationRequest.dispenseRequest.performer.extension:practitionerRole">
      <path value="MedicationRequest.dispenseRequest.performer.extension" />
      <sliceName value="practitionerRole" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.nhs.uk/StructureDefinition/Extension-DM-DispensingPerformer" />
      </type>
    </element>
    <element id="MedicationRequest.dispenseRequest.performer.identifier">
      <path value="MedicationRequest.dispenseRequest.performer.identifier" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.dispenseRequest.performer.identifier.system">
      <path value="MedicationRequest.dispenseRequest.performer.identifier.system" />
      <min value="1" />
      <fixedUri value="https://fhir.nhs.uk/Id/ods-organization-code" />
    </element>
    <element id="MedicationRequest.dispenseRequest.performer.identifier.value">
      <path value="MedicationRequest.dispenseRequest.performer.identifier.value" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.substitution">
      <path value="MedicationRequest.substitution" />
      <definition value="Indicates whether or not substitution can or should be part of the dispense. In some cases, substitution must happen, in other cases substitution must not happen. This block explains the prescriber's intent. If nothing is specified substitution may be done. In most cases this should default to false." />
      <comment value="Substituition is a mandatory requirement for EPS." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.substitution.allowed[x]">
      <path value="MedicationRequest.substitution.allowed[x]" />
      <type>
        <code value="boolean" />
      </type>
    </element>
    <element id="MedicationRequest.eventHistory">
      <path value="MedicationRequest.eventHistory" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.nhs.uk/StructureDefinition/DM-Provenance" />
      </type>
    </element>
  </differential>
</StructureDefinition>