<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="f1b0af3a-c77c-4357-be00-acc45bdee22b" />
  <meta>
    <versionId value="18" />
    <lastUpdated value="2025-01-24T22:57:28.3446711+00:00" />
  </meta>
  <url value="http://ehealth.bc.ca/fhir/StructureDefinition/bc-bcyimmunizationdistribution/MessageHeader" />
  <name value="MessageHeader" />
  <status value="draft" />
  <date value="2022-03-12T00:03:09.9131217+00:00" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </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>
  <kind value="resource" />
  <abstract value="false" />
  <type value="MessageHeader" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/MessageHeader" />
  <derivation value="constraint" />
  <differential>
    <element id="MessageHeader.id">
      <path value="MessageHeader.id" />
      <short value="Same unique GUID as resourceBundle.id" />
      <comment value="See Mappings" />
      <min value="1" />
      <mapping>
        <identity value="bundleID" />
        <map value="(bundle.id)" />
      </mapping>
    </element>
    <element id="MessageHeader.meta">
      <path value="MessageHeader.meta" />
      <min value="1" />
    </element>
    <element id="MessageHeader.meta.versionId">
      <path value="MessageHeader.meta.versionId" />
      <comment value="Apply '2025.01.1' (This indicates FHIR changes onJan 2025)." />
    </element>
    <element id="MessageHeader.meta.lastUpdated">
      <path value="MessageHeader.meta.lastUpdated" />
      <comment value="Updated: Relax the previously crossed-out elements." />
    </element>
    <element id="MessageHeader.meta.profile">
      <path value="MessageHeader.meta.profile" />
      <comment value="Use 'http://ehealth.bc.ca/fhir/StructureDefinition/bc-bcyimmunizationdistribution/MessageHeader'" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="http://ehealth.bc.ca/fhir/StructureDefinition/bc-bcyimmunizationdistribution/MessageHeader" />
    </element>
    <element id="MessageHeader.meta.security">
      <path value="MessageHeader.meta.security" />
      <max value="1" />
    </element>
    <element id="MessageHeader.meta.tag">
      <path value="MessageHeader.meta.tag" />
      <max value="1" />
    </element>
    <element id="MessageHeader.contained">
      <path value="MessageHeader.contained" />
      <max value="1" />
    </element>
    <element id="MessageHeader.event[x]">
      <path value="MessageHeader.event[x]" />
      <comment value="Apply 'http://ehealth.bc.ca/panorama/fhir/MessageHeader'" />
      <type>
        <code value="uri" />
      </type>
      <fixedUri value="http://ehealth.bc.ca/panorama/fhir/MessageHeader" />
    </element>
    <element id="MessageHeader.destination">
      <path value="MessageHeader.destination" />
      <min value="1" />
    </element>
    <element id="MessageHeader.destination.name">
      <path value="MessageHeader.destination.name" />
      <comment value="See Mappings" />
      <min value="1" />
      <mapping>
        <identity value="dest-fha" />
        <map value="fha" />
      </mapping>
      <mapping>
        <identity value="dest-HealthGateway" />
        <map value="hgwy" />
      </mapping>
      <mapping>
        <identity value="dest-iha" />
        <map value="iha" />
      </mapping>
      <mapping>
        <identity value="dest-nha" />
        <map value="nha" />
        <comment value="NHA COVID Immunization Record" />
      </mapping>
      <mapping>
        <identity value="dest-vcha" />
        <map value="vcha" />
      </mapping>
      <mapping>
        <identity value="dest-viha" />
        <map value="viha" />
        <comment value="VIHA  COVID Immunization Record" />
      </mapping>
      <mapping>
        <identity value="dest-indigenousHealthOrganization" />
        <map value="indigenous health organizations" />
      </mapping>
    </element>
    <element id="MessageHeader.destination.target.id">
      <path value="MessageHeader.destination.target.id" />
      <max value="0" />
    </element>
    <element id="MessageHeader.destination.target.reference">
      <path value="MessageHeader.destination.target.reference" />
      <max value="0" />
    </element>
    <element id="MessageHeader.destination.target.type">
      <path value="MessageHeader.destination.target.type" />
      <max value="0" />
    </element>
    <element id="MessageHeader.destination.target.identifier">
      <path value="MessageHeader.destination.target.identifier" />
      <max value="0" />
    </element>
    <element id="MessageHeader.destination.target.display">
      <path value="MessageHeader.destination.target.display" />
      <max value="0" />
    </element>
    <element id="MessageHeader.destination.endpoint">
      <path value="MessageHeader.destination.endpoint" />
      <comment value="See Mappings" />
      <mapping>
        <identity value="dest-fha" />
        <map value="[id-system-local-base]/ca-bc-fha" />
      </mapping>
      <mapping>
        <identity value="dest-HealthGateway" />
        <map value="[id-system-local-base]/ca-bc-healthGateway" />
      </mapping>
      <mapping>
        <identity value="dest-iha" />
        <map value="[id-system-local-base]/ca-bc-iha" />
      </mapping>
      <mapping>
        <identity value="dest-nha" />
        <map value="[id-system-local-base]/ca-bc-nha" />
        <comment value="NHA endpoint" />
      </mapping>
      <mapping>
        <identity value="dest-OutOfBC" />
        <map value="[id-system-local-base]/ca-bc-outofprovince" />
      </mapping>
      <mapping>
        <identity value="dest-vch" />
        <map value="[id-system-local-base]/ca-bc-vcha" />
      </mapping>
      <mapping>
        <identity value="dest-viha" />
        <map value="[id-system-local-base]/ca-bc-viha" />
        <comment value="VIHA endpoint" />
      </mapping>
      <mapping>
        <identity value="dest-IndigenousHealthOrganizations" />
        <map value="[id-system-local-base]/ca-bc-indigenous health organizations" />
      </mapping>
    </element>
    <element id="MessageHeader.source">
      <path value="MessageHeader.source" />
      <short value="Message source application - PIR" />
      <definition value="The source application from which this message originated - Provincial Immunization Registry (PIR)" />
    </element>
    <element id="MessageHeader.source.name">
      <path value="MessageHeader.source.name" />
      <comment value="Hardcode as &quot;PIR Immz&quot;" />
      <min value="1" />
      <fixedString value="PIR Immz" />
    </element>
    <element id="MessageHeader.source.endpoint">
      <path value="MessageHeader.source.endpoint" />
      <comment value="See Mappings" />
      <mapping>
        <identity value="PIRtest" />
        <map value="https://pir.healthbc.org/test/immunization" />
        <comment value="PIR Test Environment" />
      </mapping>
      <mapping>
        <identity value="PIRprod" />
        <map value="https://pir.healthbc.org/prod/immunization" />
        <comment value="PIR Prod ennvironment" />
      </mapping>
    </element>
    <element id="MessageHeader.responsible">
      <path value="MessageHeader.responsible" />
      <short value="The Panorama Organizational Unit and/or Client Health Region which submitted the message contents." />
      <definition value="The Panorama Organizational Unit and/or Client Health Region (CHR) that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party." />
      <comment value="See Mappings" />
      <min value="1" />
      <mapping>
        <identity value="source-PIR" />
        <map value="CHR or Submitter's Org" />
      </mapping>
      <mapping>
        <identity value="source-PHSL" />
        <map value="clientHealthRegion" />
      </mapping>
    </element>
    <element id="MessageHeader.responsible.reference">
      <path value="MessageHeader.responsible.reference" />
      <comment value="fullURL of Panorama + 'Organization' + (PIR Org ID)." />
      <min value="1" />
    </element>
    <element id="MessageHeader.reason">
      <path value="MessageHeader.reason" />
      <comment value="See Mappings.  List of event type(s) in alphabetical which have been triggered, also can be applied for filtering purposes." />
      <mapping>
        <identity value="trigger-CHR" />
        <map value="CLIENT" />
      </mapping>
      <mapping>
        <identity value="trriger-humanSubject" />
        <map value="CLIENT" />
      </mapping>
      <mapping>
        <identity value="trigger-riskFactor" />
        <map value="RISKFACTOR" />
      </mapping>
      <mapping>
        <identity value="trigger-subjectName" />
        <map value="CLIENT" />
      </mapping>
      <mapping>
        <identity value="trigger-consent" />
        <map value="CONSENT" />
      </mapping>
      <mapping>
        <identity value="trigger-consentComment" />
        <map value="CONSENTCMMT" />
      </mapping>
      <mapping>
        <identity value="trigger-AEFI" />
        <map value="AEFI" />
      </mapping>
      <mapping>
        <identity value="trigger-aefiRecommendation" />
        <map value="AEFI" />
      </mapping>
      <mapping>
        <identity value="trigger-invalidVaccine" />
        <map value="IMMS" />
      </mapping>
      <mapping>
        <identity value="trigger-deferral" />
        <map value="DEFERRAL" />
      </mapping>
      <mapping>
        <identity value="trigger-forecast" />
        <map value="FORECAST" />
      </mapping>
      <mapping>
        <identity value="trigger-vaccination" />
        <map value="IMMS" />
      </mapping>
      <mapping>
        <identity value="trigger-immsComments-IC" />
        <map value="IMMSCMMTIC" />
      </mapping>
      <mapping>
        <identity value="trigger-immsComments-SC" />
        <map value="IMMSCMMTSC" />
      </mapping>
      <mapping>
        <identity value="trigger-immsComments-DF" />
        <map value="IMMSCMMTDF" />
      </mapping>
      <mapping>
        <identity value="trigger-immsComments-AE" />
        <map value="IMMSCMMTAE" />
      </mapping>
      <mapping>
        <identity value="trigger-specialConsideration" />
        <map value="SPECIALCONSID" />
      </mapping>
      <mapping>
        <identity value="trigger-vaccineStatus" />
        <map value="IMMS" />
      </mapping>
      <mapping>
        <identity value="trigger-clientMerge" />
        <map value="CLIENT" />
      </mapping>
    </element>
    <element id="MessageHeader.reason.id">
      <path value="MessageHeader.reason.id" />
      <max value="0" />
    </element>
    <element id="MessageHeader.reason.coding">
      <path value="MessageHeader.reason.coding" />
      <max value="0" />
    </element>
    <element id="MessageHeader.reason.text">
      <path value="MessageHeader.reason.text" />
      <comment value="To be applied if IDS message contains only Forecasting data only.  See Mappings." />
      <mapping>
        <identity value="source-PIR" />
        <map value="Forecast" />
      </mapping>
    </element>
    <element id="MessageHeader.focus">
      <path value="MessageHeader.focus" />
      <short value="The actual content of the message related to a specific patient." />
      <definition value="The actual data of the message all related to a specific patient." />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="MessageHeader.focus.reference">
      <path value="MessageHeader.focus.reference" />
      <comment value="fullURL of Panorama + 'Patient' + PIR Client ID" />
      <min value="1" />
    </element>
  </differential>
</StructureDefinition>