<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.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" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/Routing-Options-EXT" />
      </type>
    </element>
    <element id="MessageHeader.extension:ReferralIdentifier">
      <path value="MessageHeader.extension" />
      <sliceName value="ReferralIdentifier" />
      <short value="USE CASE SUPPORT: Systems deployed in Ontario SHALL support" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/Referral-Identifier-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="http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/message-event-code" />
      </binding>
    </element>
    <element id="MessageHeader.destination">
      <path value="MessageHeader.destination" />
      <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" />
      <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="http://fhir.infoway-inforoute.ca/io/CA-eReC/ValueSet/message-change-reason" />
      </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>