<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://ontariohealth.ca/fhir/immunization/StructureDefinition/profile-immunization-submission" />
  <version value="1.0.0" />
  <name value="ImmunizationIRSubmission" />
  <title value="Immunization IR Submission" />
  <status value="draft" />
  <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">
      <path value="Immunization" />
      <constraint>
        <key value="potency-check-1" />
        <severity value="error" />
        <human value="If the dose is not subpotent, a reason shall not be provided." />
        <expression value="isSubpotent = true or subpotentReason.empty()" />
        <source value="http://ontariohealth.ca/fhir/immunization/StructureDefinition/profile-immunization-submission" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Immunization.extension:basedON">
      <path value="Immunization.extension" />
      <sliceName value="basedON" />
      <type>
        <code value="Extension" />
        <profile value="http://ontariohealth.ca/fhir/ehr/StructureDefinition/ext-immunization-basedOn" />
      </type>
      <isModifier value="false" />
    </element>
    <element id="Immunization.extension:isValid">
      <path value="Immunization.extension" />
      <sliceName value="isValid" />
      <short value="Indicates if the administration is clinically valid" />
      <type>
        <code value="Extension" />
        <profile value="http://ontariohealth.ca/fhir/ehr/StructureDefinition/ext-immunization-isValid" />
      </type>
      <mustSupport value="true" />
      <isModifier value="false" />
    </element>
    <element id="Immunization.identifier">
      <path value="Immunization.identifier" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.identifier.system">
      <path value="Immunization.identifier.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.identifier.value">
      <path value="Immunization.identifier.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.status">
      <path value="Immunization.status" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.vaccineCode">
      <path value="Immunization.vaccineCode" />
      <mustSupport value="true" />
      <binding>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
          <extension url="purpose">
            <valueCode value="candidate" />
          </extension>
          <extension url="valueSet">
            <valueCanonical value="https://fhir.infoway-inforoute.ca/ValueSet/passiveadministeredimmunizingagentcode" />
          </extension>
          <extension url="key">
            <valueId value="passiveAdministered" />
          </extension>
        </extension>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
          <extension url="purpose">
            <valueCode value="candidate" />
          </extension>
          <extension url="valueSet">
            <valueCanonical value="https://fhir.infoway-inforoute.ca/ValueSet/vaccinehistoricalnamecode" />
          </extension>
          <extension url="key">
            <valueId value="vaccineHistorical" />
          </extension>
        </extension>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
          <extension url="purpose">
            <valueCode value="candidate" />
          </extension>
          <extension url="valueSet">
            <valueCanonical value="https://fhir.infoway-inforoute.ca/ValueSet/passivehistoricalimmunizingagentcode" />
          </extension>
          <extension url="key">
            <valueId value="passiveHistorical" />
          </extension>
        </extension>
        <strength value="preferred" />
        <valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/vaccineadministeredtradenamecode" />
      </binding>
    </element>
    <element id="Immunization.vaccineCode.coding">
      <path value="Immunization.vaccineCode.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.vaccineCode.coding.system">
      <path value="Immunization.vaccineCode.coding.system" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.vaccineCode.coding.code">
      <path value="Immunization.vaccineCode.coding.code" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.vaccineCode.coding.display">
      <path value="Immunization.vaccineCode.coding.display" />
      <min value="1" />
      <max value="1" />
      <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="http://ontariohealth.ca/fhir/immunization/StructureDefinition/profile-patient-submission" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Immunization.patient.reference">
      <path value="Immunization.patient.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.occurrence[x]">
      <path value="Immunization.occurrence[x]" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Immunization.recorded">
      <path value="Immunization.recorded" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.location">
      <path value="Immunization.location" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://ontariohealth.ca/fhir/immunization/StructureDefinition/profile-location-submission" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Immunization.location.reference">
      <path value="Immunization.location.reference" />
      <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" />
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/immunizationadministrationanatomicalsitecode" />
      </binding>
    </element>
    <element id="Immunization.site.coding">
      <path value="Immunization.site.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.site.coding.system">
      <path value="Immunization.site.coding.system" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.site.coding.code">
      <path value="Immunization.site.coding.code" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.site.coding.display">
      <path value="Immunization.site.coding.display" />
      <min value="1" />
      <max value="1" />
      <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" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/immunizationrouteofadministrationcode" />
      </binding>
    </element>
    <element id="Immunization.route.coding">
      <path value="Immunization.route.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.route.coding.system">
      <path value="Immunization.route.coding.system" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.route.coding.code">
      <path value="Immunization.route.coding.code" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.route.coding.display">
      <path value="Immunization.route.coding.display" />
      <min value="1" />
      <max value="1" />
      <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" />
      <binding>
        <strength value="extensible" />
        <valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/prescriptiondosequantityunit" />
      </binding>
    </element>
    <element id="Immunization.doseQuantity.value">
      <path value="Immunization.doseQuantity.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.doseQuantity.unit">
      <path value="Immunization.doseQuantity.unit" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.doseQuantity.system">
      <path value="Immunization.doseQuantity.system" />
      <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" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://ontariohealth.ca/fhir/immunization/StructureDefinition/profile-practitionerRole-submission" />
        <targetProfile value="http://ontariohealth.ca/fhir/immunization/StructureDefinition/profile-practitioner-submission" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Immunization.performer.actor.reference">
      <path value="Immunization.performer.actor.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.reasonCode">
      <path value="Immunization.reasonCode" />
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://ontariohealth.ca/fhir/immunization/ValueSet/immunization-reason-code" />
      </binding>
    </element>
    <element id="Immunization.reasonCode.coding">
      <path value="Immunization.reasonCode.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.reasonCode.coding.system">
      <path value="Immunization.reasonCode.coding.system" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.reasonCode.coding.code">
      <path value="Immunization.reasonCode.coding.code" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.reasonCode.coding.display">
      <path value="Immunization.reasonCode.coding.display" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.fundingSource">
      <path value="Immunization.fundingSource" />
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://ontariohealth.ca/fhir/ehr/ValueSet/drug-service-coverage" />
      </binding>
    </element>
    <element id="Immunization.fundingSource.coding">
      <path value="Immunization.fundingSource.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.fundingSource.coding.system">
      <path value="Immunization.fundingSource.coding.system" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.fundingSource.coding.code">
      <path value="Immunization.fundingSource.coding.code" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.fundingSource.coding.display">
      <path value="Immunization.fundingSource.coding.display" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>