<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="CA-eReC-MessageHeader" />
  <url value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-MessageHeader" />
  <name value="MessageHeader" />
  <title value="MessageHeader" />
  <status value="draft" />
  <description value="The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle." />
  <fhirVersion value="4.0.1" />
  <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" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.meta">
      <path value="MessageHeader.meta" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.meta.profile">
      <path value="MessageHeader.meta.profile" />
      <comment value="Implementers should be aware that some Canadian jurisdictions require vendors to use meta.profile to declare which FHIR profile(s) and version(s) the resource conforms to." />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.extension">
      <path value="MessageHeader.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="MessageHeader.extension:RoutingOptions">
      <path value="MessageHeader.extension" />
      <sliceName value="RoutingOptions" />
      <short value="USE CASE SUPPORT: Systems deployed in Ontario SHALL support.  See definition for routing option business rules." />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/Routing-Options-EXT" />
      </type>
    </element>
    <element id="MessageHeader.event[x]">
      <path value="MessageHeader.event[x]" />
      <type>
        <code value="Coding" />
      </type>
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/ca-messageeventcode" />
      </binding>
    </element>
    <element id="MessageHeader.destination">
      <path value="MessageHeader.destination" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.destination.endpoint">
      <path value="MessageHeader.destination.endpoint" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.destination.receiver">
      <path value="MessageHeader.destination.receiver" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization" />
      </type>
    </element>
    <element id="MessageHeader.destination.receiver.reference">
      <path value="MessageHeader.destination.receiver.reference" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.destination.receiver.identifier">
      <path value="MessageHeader.destination.receiver.identifier" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.destination.receiver.identifier.system">
      <path value="MessageHeader.destination.receiver.identifier.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.destination.receiver.identifier.value">
      <path value="MessageHeader.destination.receiver.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.sender">
      <path value="MessageHeader.sender" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Organization" />
      </type>
    </element>
    <element id="MessageHeader.sender.reference">
      <path value="MessageHeader.sender.reference" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.sender.identifier">
      <path value="MessageHeader.sender.identifier" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.sender.identifier.system">
      <path value="MessageHeader.sender.identifier.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.sender.identifier.value">
      <path value="MessageHeader.sender.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.enterer">
      <path value="MessageHeader.enterer" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Practitioner" />
      </type>
    </element>
    <element id="MessageHeader.enterer.reference">
      <path value="MessageHeader.enterer.reference" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.enterer.identifier">
      <path value="MessageHeader.enterer.identifier" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.enterer.identifier.system">
      <path value="MessageHeader.enterer.identifier.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.enterer.identifier.value">
      <path value="MessageHeader.enterer.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.author">
      <path value="MessageHeader.author" />
      <comment value="See guidance on https://simplifier.net/guide/Pan-Canadian-eReferral-eConsult-CA-eReC-iGuide/Index/FHIR-Artifacts/Messaging-Events/MessageBundle-Task-CA-eReC.page.md." />
      <min value="0" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.author.reference">
      <path value="MessageHeader.author.reference" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.author.identifier">
      <path value="MessageHeader.author.identifier" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.author.identifier.system">
      <path value="MessageHeader.author.identifier.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.author.identifier.value">
      <path value="MessageHeader.author.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.source">
      <path value="MessageHeader.source" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.source.endpoint">
      <path value="MessageHeader.source.endpoint" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.reason">
      <path value="MessageHeader.reason" />
      <binding>
        <strength value="extensible" />
        <valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/ca-messagechangereasoncode" />
      </binding>
    </element>
    <element id="MessageHeader.response">
      <path value="MessageHeader.response" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.response.identifier">
      <path value="MessageHeader.response.identifier" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.response.code">
      <path value="MessageHeader.response.code" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.response.details">
      <path value="MessageHeader.response.details" />
      <mustSupport value="true" />
    </element>
    <element id="MessageHeader.focus">
      <path value="MessageHeader.focus" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-ServiceRequest" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Task" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Appointment" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-Communication" />
      </type>
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>