<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.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="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/io/CA-eReC/StructureDefinition/CA-eReC-PractitionerRole" />
        <aggregation value="referenced" />
      </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" />
      <mustSupport value="true" />
    </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>