<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://ehealth.bc.ca/fhir/StructureDefinition/bc-bcyimmunizationdistribution/MedicationRequest" />
  <name value="MedicationRequest" />
  <status value="draft" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="MedicationRequest" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/MedicationRequest" />
  <derivation value="constraint" />
  <differential>
    <element id="MedicationRequest">
      <path value="MedicationRequest" />
      <short value="FHIR resource applies for PIR Vaccine Deferrals" />
      <definition value="FHIR resource applies for PIR Vaccine Deferrals" />
    </element>
    <element id="MedicationRequest.id">
      <path value="MedicationRequest.id" />
      <short value="PIR internal Deferral ID" />
      <definition value="PIR internal Deferral Identifier." />
      <comment value="See Mappings." />
      <min value="1" />
      <mapping>
        <identity value="source-PIR" />
        <map value="H33_PATIENT_VACCINE_DEFERRAL.PATIENT_VACCINE_DEFERRAL_ID" />
      </mapping>
      <mapping>
        <identity value="source-PHSL" />
        <map value="deferralID" />
      </mapping>
    </element>
    <element id="MedicationRequest.meta">
      <path value="MedicationRequest.meta" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.meta.versionId">
      <path value="MedicationRequest.meta.versionId" />
      <comment value="Apply &quot;2025.01.1&quot;.  This indicates the FHIR Specs as of year 2025 Jan." />
    </element>
    <element id="MedicationRequest.meta.lastUpdated">
      <path value="MedicationRequest.meta.lastUpdated" />
      <comment value="Updated: Relax the previously crossed-out elements." />
    </element>
    <element id="MedicationRequest.meta.profile">
      <path value="MedicationRequest.meta.profile" />
      <comment value="Apply &quot;http://ehealth.bc.ca/fhir/StructureDefinition/bc-bcyimmunizationdistribution/MedicationRequest&quot;" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.meta.security">
      <path value="MedicationRequest.meta.security" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.meta.tag">
      <path value="MedicationRequest.meta.tag" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.contained">
      <path value="MedicationRequest.contained" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.extension">
      <path value="MedicationRequest.extension" />
      <min value="2" />
    </element>
    <element id="MedicationRequest.extension:pIRIdentifierExtension">
      <path value="MedicationRequest.extension" />
      <sliceName value="pIRIdentifierExtension" />
      <type>
        <code value="Extension" />
        <profile value="https://ehealth.bc.ca/fhir/StructureDefinition/bcy-ids-pir-identifier" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="MedicationRequest.extension:pIRLockSeqNumberExtension">
      <path value="MedicationRequest.extension" />
      <sliceName value="pIRLockSeqNumberExtension" />
      <type>
        <code value="Extension" />
        <profile value="https://ehealth.bc.ca/fhir/StructureDefinition/bcy-ids-pir-lock-sequence-number" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="MedicationRequest.identifier">
      <path value="MedicationRequest.identifier" />
      <short value="PIR internal Deferral ID + External Deferral ID from source system(s)" />
      <definition value="PIR internal Deferral Identifier + External Deferral ID from source system(s)" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.identifier.type.coding">
      <path value="MedicationRequest.identifier.type.coding" />
      <max value="0" />
    </element>
    <element id="MedicationRequest.identifier.type.text">
      <path value="MedicationRequest.identifier.type.text" />
      <comment value="See Mappings" />
      <min value="1" />
      <mapping>
        <identity value="source-PIR" />
        <map value="PANORAMAIMMZDEFERID" />
      </mapping>
    </element>
    <element id="MedicationRequest.identifier.system">
      <path value="MedicationRequest.identifier.system" />
      <comment value="See Mappings" />
      <min value="1" />
      <mapping>
        <identity value="source-PIR" />
        <map value="https://health.gov.bc.ca/fhir/NamingSystem/ca-bc-panorama-immunization-deferral-id" />
      </mapping>
    </element>
    <element id="MedicationRequest.identifier.value">
      <path value="MedicationRequest.identifier.value" />
      <comment value="See Mappings" />
      <min value="1" />
      <mapping>
        <identity value="source-PIR" />
        <map value="H33_PATIENT_VACCINE_DEFERRAL.PATIENT_VACCINE_DEFERRAL_ID" />
      </mapping>
    </element>
    <element id="MedicationRequest.status">
      <path value="MedicationRequest.status" />
      <short value="PIR applies: | active | cancelled |" />
      <definition value="PIR applies possible statuses : | active | cancelled |" />
      <comment value="See Mappings" />
      <mapping>
        <identity value="source-PIR-active" />
        <map value="active" />
      </mapping>
      <mapping>
        <identity value="source-PIR-deleted" />
        <map value="cancelled" />
      </mapping>
    </element>
    <element id="MedicationRequest.status.extension:_status">
      <path value="MedicationRequest.status.extension" />
      <sliceName value="_status" />
      <comment value="To be applied if Deferral has been deleted in PIR" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://ehealth.bc.ca/fhir/StructureDefinition/bc-bcyimmunizationdistribution/deferral-status" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="MedicationRequest.status.extension:_status.extension:deferralDeleteReason">
      <path value="MedicationRequest.status.extension.extension" />
      <sliceName value="deferralDeleteReason" />
      <comment value="To be applied if Deferral has been deleted with reason in PIR drop-down list or NO Delete Reason provided." />
      <mapping>
        <identity value="source-PIR-nullReason" />
        <map value="Other" />
      </mapping>
    </element>
    <element id="MedicationRequest.status.extension:_status.extension:deferralDeleteReasonOther">
      <path value="MedicationRequest.status.extension.extension" />
      <sliceName value="deferralDeleteReasonOther" />
      <comment value="To be applied when Deferral has been deleted with OTHER reason not listed in PIR drop-down list or NO deletion reason is provided.  See Mappings." />
      <mapping>
        <identity value="source-PIR-null" />
        <map value="unknown" />
      </mapping>
    </element>
    <element id="MedicationRequest.statusReason">
      <path value="MedicationRequest.statusReason" />
      <short value="PIR Deferral Reason" />
      <definition value="PIR Deferral Reason" />
      <comment value="Reason for Deferral" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.statusReason.coding">
      <path value="MedicationRequest.statusReason.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.statusReason.coding.id">
      <path value="MedicationRequest.statusReason.coding.id" />
      <max value="0" />
    </element>
    <element id="MedicationRequest.statusReason.coding.system">
      <path value="MedicationRequest.statusReason.coding.system" />
      <comment value="See Mappings" />
      <min value="1" />
      <mapping>
        <identity value="source-PIR" />
        <map value="https://fhir.infoway-inforoute.ca/NamingSystem/ca-bc-panorama-code" />
      </mapping>
    </element>
    <element id="MedicationRequest.statusReason.coding.version">
      <path value="MedicationRequest.statusReason.coding.version" />
      <max value="0" />
    </element>
    <element id="MedicationRequest.statusReason.coding.code">
      <path value="MedicationRequest.statusReason.coding.code" />
      <comment value="See Mappings" />
      <min value="1" />
      <mapping>
        <identity value="source-PIR" />
        <map value="BCYREPORTNG.RBCY_FN_GET_CONCEPT_CODE (H33_PATIENT_VACCINE_DEFERRAL.DEFERRAL_REASON_CD_CNCPT_ID)" />
      </mapping>
      <mapping>
        <identity value="source-PHSL" />
        <map value="reasonCode" />
      </mapping>
    </element>
    <element id="MedicationRequest.statusReason.coding.display">
      <path value="MedicationRequest.statusReason.coding.display" />
      <comment value="See Mappings" />
      <min value="1" />
      <mapping>
        <identity value="source-PIR" />
        <map value="REPORTNG.GET_ITERM_DESC (H33_PATIENT_VACCINE_DEFERRAL.DEFERRAL_REASON_CD_CNCPT_ID)" />
      </mapping>
      <mapping>
        <identity value="source-PHSL" />
        <map value="reasonDescription" />
      </mapping>
    </element>
    <element id="MedicationRequest.statusReason.coding.userSelected">
      <path value="MedicationRequest.statusReason.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="MedicationRequest.intent">
      <path value="MedicationRequest.intent" />
      <short value="PIR applies | order | for FHIR purposes" />
      <definition value="PIR applies | order | for FHIR purposes" />
      <comment value="Apply &quot;order&quot;" />
    </element>
    <element id="MedicationRequest.category">
      <path value="MedicationRequest.category" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.doNotPerform">
      <path value="MedicationRequest.doNotPerform" />
      <short value="True if request is deferring vaccine" />
      <definition value="If true indicates that the provider is asking for the vaccine not to occur." />
      <comment value="Apply &quot;true&quot; for deferral." />
      <min value="1" />
    </element>
    <element id="MedicationRequest.medication[x]">
      <path value="MedicationRequest.medication[x]" />
      <short value="Vaccine to be deferred" />
      <definition value="Agent/antigen vaccine to be deferred" />
      <type>
        <code value="CodeableConcept" />
      </type>
    </element>
    <element id="MedicationRequest.medication[x].coding">
      <path value="MedicationRequest.medication[x].coding" />
      <short value="1st instance Agent in NVC code, 2nd instance Agent in PIR code" />
      <definition value="1st instance Agent in NVC code, 2nd instance Agent in PIR code" />
      <comment value="1st instance Agent/Antigen in NVC code, 2nd instance Agent/Antigen in PIR code." />
      <min value="1" />
    </element>
    <element id="MedicationRequest.medication[x].coding.system">
      <path value="MedicationRequest.medication[x].coding.system" />
      <comment value="1st instance Agent in NVC code, 2nd instance Agent in PIR code.  See Mappings." />
      <min value="1" />
      <mapping>
        <identity value="code-NVC" />
        <map value="https://nvc-cnv.canada.ca" />
      </mapping>
      <mapping>
        <identity value="code-PIR" />
        <map value="https://fhir.infoway-inforoute.ca/NamingSystem/ca-bc-panorama-code" />
      </mapping>
    </element>
    <element id="MedicationRequest.medication[x].coding.code">
      <path value="MedicationRequest.medication[x].coding.code" />
      <comment value="See Mappings" />
      <min value="1" />
      <mapping>
        <identity value="source-PIR" />
        <map value="BCYREPORTNG.RBCY_FN_GET_CONCEPT_CODE (H33_PATIENT_VACCINE_DEFERRAL.ASIIS_VACC_CODE)" />
      </mapping>
      <mapping>
        <identity value="source-PHSL" />
        <map value="agentCode" />
      </mapping>
    </element>
    <element id="MedicationRequest.medication[x].coding.display">
      <path value="MedicationRequest.medication[x].coding.display" />
      <comment value="See Mappings" />
      <min value="1" />
      <mapping>
        <identity value="source-PIR" />
        <map value="REPORTNG.GET_ITERM_DESC (H33_PATIENT_VACCINE_DEFERRAL.ASIIS_VACC_CODE)" />
      </mapping>
      <mapping>
        <identity value="source-PHSL" />
        <map value="agentDescription" />
      </mapping>
    </element>
    <element id="MedicationRequest.medication[x].text">
      <path value="MedicationRequest.medication[x].text" />
      <max value="0" />
    </element>
    <element id="MedicationRequest.subject.reference">
      <path value="MedicationRequest.subject.reference" />
      <comment value="See Mappings" />
      <min value="1" />
      <mapping>
        <identity value="source-PIR" />
        <map value="fullURL of Panorama + &quot;Patient&quot; + PIR Client ID" />
      </mapping>
    </element>
    <element id="MedicationRequest.supportingInformation">
      <path value="MedicationRequest.supportingInformation" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.reasonCode">
      <path value="MedicationRequest.reasonCode" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.reasonReference">
      <path value="MedicationRequest.reasonReference" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.instantiatesCanonical">
      <path value="MedicationRequest.instantiatesCanonical" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.instantiatesUri">
      <path value="MedicationRequest.instantiatesUri" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.basedOn">
      <path value="MedicationRequest.basedOn" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.insurance">
      <path value="MedicationRequest.insurance" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.note">
      <path value="MedicationRequest.note" />
      <short value="Comments about the deferral." />
      <definition value="Comments about the deferral." />
      <comment value="See Mappings" />
      <max value="1" />
      <mapping>
        <identity value="source-PIR" />
        <map value="Comments" />
      </mapping>
    </element>
    <element id="MedicationRequest.note.id">
      <path value="MedicationRequest.note.id" />
      <max value="0" />
    </element>
    <element id="MedicationRequest.note.extension">
      <path value="MedicationRequest.note.extension" />
      <min value="2" />
    </element>
    <element id="MedicationRequest.note.extension:pIRIdentifierExtension">
      <path value="MedicationRequest.note.extension" />
      <sliceName value="pIRIdentifierExtension" />
      <type>
        <code value="Extension" />
        <profile value="https://ehealth.bc.ca/fhir/StructureDefinition/bcy-ids-pir-identifier" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="MedicationRequest.note.extension:pIRLockSeqNumberExtension">
      <path value="MedicationRequest.note.extension" />
      <sliceName value="pIRLockSeqNumberExtension" />
      <type>
        <code value="Extension" />
        <profile value="https://ehealth.bc.ca/fhir/StructureDefinition/bcy-ids-pir-lock-sequence-number" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="MedicationRequest.note.author[x]">
      <path value="MedicationRequest.note.author[x]" />
      <max value="0" />
    </element>
    <element id="MedicationRequest.note.text">
      <path value="MedicationRequest.note.text" />
      <comment value="Deferral Comments." />
    </element>
    <element id="MedicationRequest.dosageInstruction">
      <path value="MedicationRequest.dosageInstruction" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.dispenseRequest">
      <path value="MedicationRequest.dispenseRequest" />
      <short value="Deferral date range authorized." />
      <definition value="Deferral date range authorized..  Note Start Date is mandatory but End Date is optional." />
      <min value="1" />
    </element>
    <element id="MedicationRequest.dispenseRequest.validityPeriod">
      <path value="MedicationRequest.dispenseRequest.validityPeriod" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.dispenseRequest.validityPeriod.start">
      <path value="MedicationRequest.dispenseRequest.validityPeriod.start" />
      <min value="1" />
      <mapping>
        <identity value="source-PIR" />
        <map value="IMMS.H33_PATIENT_VACCINE_DEFERRAL.DEFERRAL_DATE" />
      </mapping>
      <mapping>
        <identity value="source-PHSL" />
        <map value="deffFrom" />
      </mapping>
    </element>
    <element id="MedicationRequest.dispenseRequest.validityPeriod.end">
      <path value="MedicationRequest.dispenseRequest.validityPeriod.end" />
      <comment value="See Mappings" />
      <mapping>
        <identity value="source-PIR" />
        <map value="IMMS.H33_PATIENT_VACCINE_DEFERRAL.DEFERRAL_END_DATE" />
      </mapping>
      <mapping>
        <identity value="source-PHSL" />
        <map value="deffTo" />
      </mapping>
    </element>
    <element id="MedicationRequest.detectedIssue">
      <path value="MedicationRequest.detectedIssue" />
      <max value="1" />
    </element>
    <element id="MedicationRequest.eventHistory">
      <path value="MedicationRequest.eventHistory" />
      <max value="1" />
    </element>
  </differential>
</StructureDefinition>