<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ImmunizationMERT" />
  <url value="https://intrahealth.com/fhir/mert/StructureDefinition/ImmunizationMERT" />
  <name value="ImmunizationMERT" />
  <title value="Immunization (MERT)" />
  <status value="draft" />
  <description value="This profile describes the Immunization constraints for MERT." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Immunization" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Immunization" />
  <derivation value="constraint" />
  <differential>
    <element id="Immunization.status">
      <path value="Immunization.status" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.vaccineCode">
      <path value="Immunization.vaccineCode" />
      <short value="Vaccine product administered (source coding preserved)." />
      <comment value="MERT does not further constrain vaccineCode beyond base FHIR. Source systems SHOULD preserve original codings. If local or non-standard codes are used, populate vaccineCode.text with a human-readable vaccine name." />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.vaccineCode.text">
      <path value="Immunization.vaccineCode.text" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.patient">
      <path value="Immunization.patient" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://intrahealth.com/fhir/mert/StructureDefinition/PatientMERT" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Immunization.occurrence[x]">
      <path value="Immunization.occurrence[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Immunization.occurrence[x]:occurrenceDateTime">
      <path value="Immunization.occurrence[x]" />
      <sliceName value="occurrenceDateTime" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Immunization.occurrence[x]:occurrenceString">
      <path value="Immunization.occurrence[x]" />
      <sliceName value="occurrenceString" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Immunization.lotNumber">
      <path value="Immunization.lotNumber" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.expirationDate">
      <path value="Immunization.expirationDate" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.site">
      <path value="Immunization.site" />
      <comment value="Use SNOMED CT body site of administration when available. Local body site codes are permitted when no mapping exists; include site.text." />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.site.text">
      <path value="Immunization.site.text" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.route">
      <path value="Immunization.route" />
      <comment value="MERT does not further constrain route beyond base FHIR. SNOMED CT is preferred when available; local codes are permitted. When local codes are used, populate route.text with a human-readable description." />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.route.text">
      <path value="Immunization.route.text" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.doseQuantity">
      <path value="Immunization.doseQuantity" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.performer">
      <path value="Immunization.performer" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.performer.actor">
      <path value="Immunization.performer.actor" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.note">
      <path value="Immunization.note" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>