<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://fhir.healthbc.org/StructureDefinition/Immunization" />
  <version value="1.0" />
  <name value="ca-bc-careconnect-immunization" />
  <status value="active" />
  <date value="2021-07-21" />
  <fhirVersion value="3.0.2" />
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/w5" />
    <name value="W5 Mapping" />
  </mapping>
  <mapping>
    <identity value="workflow" />
    <uri value="http://hl7.org/fhir/workflow" />
    <name value="Workflow Mapping" />
  </mapping>
  <mapping>
    <identity value="cda" />
    <uri value="http://hl7.org/v3/cda" />
    <name value="CDA (R2)" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Immunization" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Immunization" />
  <derivation value="constraint" />
  <differential>
    <element id="Immunization.id">
      <path value="Immunization.id" />
      <min value="1" />
    </element>
    <element id="Immunization.meta">
      <path value="Immunization.meta" />
      <max value="0" />
    </element>
    <element id="Immunization.implicitRules">
      <path value="Immunization.implicitRules" />
      <max value="0" />
    </element>
    <element id="Immunization.language">
      <path value="Immunization.language" />
      <max value="0" />
    </element>
    <element id="Immunization.text">
      <path value="Immunization.text" />
      <max value="0" />
    </element>
    <element id="Immunization.extension">
      <path value="Immunization.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Immunization.extension:statusChangeComment">
      <path value="Immunization.extension" />
      <sliceName value="statusChangeComment" />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.healthbc.org/StructureDefinition/ca-bc-careconnect-immunization-status-change-comment-extension" />
      </type>
    </element>
    <element id="Immunization.extension:annotationCode">
      <path value="Immunization.extension" />
      <sliceName value="annotationCode" />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.healthbc.org/StructureDefinition/ca-bc-careconnect-immunization-annotation-code-extension" />
      </type>
    </element>
    <element id="Immunization.identifier">
      <path value="Immunization.identifier" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode">
      <path value="Immunization.vaccineCode" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="coding.system" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Immunization.vaccineCode:antigen">
      <path value="Immunization.vaccineCode" />
      <sliceName value="antigen" />
    </element>
    <element id="Immunization.vaccineCode:antigen.id">
      <path value="Immunization.vaccineCode.id" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode:antigen.coding.id">
      <path value="Immunization.vaccineCode.coding.id" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode:antigen.coding.system">
      <path value="Immunization.vaccineCode.coding.system" />
      <fixedUri value="http://fhir.healthbc.org/NamingSystem/ca-bc-panorama-immunization-antigen-code" />
    </element>
    <element id="Immunization.vaccineCode:antigen.coding.version">
      <path value="Immunization.vaccineCode.coding.version" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode:antigen.coding.userSelected">
      <path value="Immunization.vaccineCode.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode:agent">
      <path value="Immunization.vaccineCode" />
      <sliceName value="agent" />
    </element>
    <element id="Immunization.vaccineCode:agent.id">
      <path value="Immunization.vaccineCode.id" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode:agent.coding.id">
      <path value="Immunization.vaccineCode.coding.id" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode:agent.coding.system">
      <path value="Immunization.vaccineCode.coding.system" />
      <fixedUri value="http://fhir.healthbc.org/NamingSystem/ca-bc-panorama-immunization-agent-code" />
    </element>
    <element id="Immunization.vaccineCode:agent.coding.version">
      <path value="Immunization.vaccineCode.coding.version" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode:agent.coding.userSelected">
      <path value="Immunization.vaccineCode.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode:tradeName">
      <path value="Immunization.vaccineCode" />
      <sliceName value="tradeName" />
    </element>
    <element id="Immunization.vaccineCode:tradeName.id">
      <path value="Immunization.vaccineCode.id" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode:tradeName.coding.id">
      <path value="Immunization.vaccineCode.coding.id" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode:tradeName.coding.system">
      <path value="Immunization.vaccineCode.coding.system" />
      <fixedUri value="http://fhir.healthbc.org/NamingSystem/ca-bc-panorama-immunization-trade-name" />
    </element>
    <element id="Immunization.vaccineCode:tradeName.coding.version">
      <path value="Immunization.vaccineCode.coding.version" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode:tradeName.coding.code">
      <path value="Immunization.vaccineCode.coding.code" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode:tradeName.coding.userSelected">
      <path value="Immunization.vaccineCode.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Immunization.patient.id">
      <path value="Immunization.patient.id" />
      <max value="0" />
    </element>
    <element id="Immunization.patient.identifier">
      <path value="Immunization.patient.identifier" />
      <max value="0" />
    </element>
    <element id="Immunization.patient.display">
      <path value="Immunization.patient.display" />
      <max value="0" />
    </element>
    <element id="Immunization.encounter">
      <path value="Immunization.encounter" />
      <max value="0" />
    </element>
    <element id="Immunization.primarySource">
      <path value="Immunization.primarySource" />
      <comment value="Reflects the “reliability” of the content.&#xD;&#xA;&#xD;&#xA;** Not used because the data source did not provide the value. **" />
    </element>
    <element id="Immunization.reportOrigin">
      <path value="Immunization.reportOrigin" />
      <max value="0" />
    </element>
    <element id="Immunization.location">
      <path value="Immunization.location" />
      <max value="0" />
    </element>
    <element id="Immunization.manufacturer">
      <path value="Immunization.manufacturer" />
      <max value="0" />
    </element>
    <element id="Immunization.expirationDate">
      <path value="Immunization.expirationDate" />
      <max value="0" />
    </element>
    <element id="Immunization.site">
      <path value="Immunization.site" />
      <max value="0" />
    </element>
    <element id="Immunization.route">
      <path value="Immunization.route" />
      <max value="0" />
    </element>
    <element id="Immunization.doseQuantity.id">
      <path value="Immunization.doseQuantity.id" />
      <max value="0" />
    </element>
    <element id="Immunization.doseQuantity.system">
      <path value="Immunization.doseQuantity.system" />
      <max value="0" />
    </element>
    <element id="Immunization.doseQuantity.code">
      <path value="Immunization.doseQuantity.code" />
      <max value="0" />
    </element>
    <element id="Immunization.practitioner">
      <path value="Immunization.practitioner" />
      <max value="0" />
    </element>
    <element id="Immunization.note">
      <path value="Immunization.note" />
      <max value="0" />
    </element>
    <element id="Immunization.explanation.id">
      <path value="Immunization.explanation.id" />
      <max value="0" />
    </element>
    <element id="Immunization.explanation.extension">
      <path value="Immunization.explanation.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Immunization.explanation.extension:explanationType">
      <path value="Immunization.explanation.extension" />
      <sliceName value="explanationType" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.healthbc.org/StructureDefinition/ca-bc-careconnect-immunization-explanation-type-extension" />
      </type>
    </element>
    <element id="Immunization.explanation.extension:effectivePeriod">
      <path value="Immunization.explanation.extension" />
      <sliceName value="effectivePeriod" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.healthbc.org/StructureDefinition/ca-bc-careconnect-effective-period-extension" />
      </type>
    </element>
    <element id="Immunization.explanation.reason">
      <path value="Immunization.explanation.reason" />
      <max value="0" />
    </element>
    <element id="Immunization.explanation.reasonNotGiven.id">
      <path value="Immunization.explanation.reasonNotGiven.id" />
      <max value="0" />
    </element>
    <element id="Immunization.explanation.reasonNotGiven.coding.id">
      <path value="Immunization.explanation.reasonNotGiven.coding.id" />
      <max value="0" />
    </element>
    <element id="Immunization.explanation.reasonNotGiven.coding.version">
      <path value="Immunization.explanation.reasonNotGiven.coding.version" />
      <max value="0" />
    </element>
    <element id="Immunization.explanation.reasonNotGiven.coding.userSelected">
      <path value="Immunization.explanation.reasonNotGiven.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Immunization.explanation.reasonNotGiven.text">
      <path value="Immunization.explanation.reasonNotGiven.text" />
      <max value="0" />
    </element>
    <element id="Immunization.reaction">
      <path value="Immunization.reaction" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.id">
      <path value="Immunization.vaccinationProtocol.id" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.extension">
      <path value="Immunization.vaccinationProtocol.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.extension:antigen">
      <path value="Immunization.vaccinationProtocol.extension" />
      <sliceName value="antigen" />
      <min value="0" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.healthbc.org/StructureDefinition/ca-bc-careconnect-immunization-antigen-extension" />
      </type>
    </element>
    <element id="Immunization.vaccinationProtocol.extension:antigen.extension">
      <path value="Immunization.vaccinationProtocol.extension.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.extension:antigen.extension:targetDisease">
      <path value="Immunization.vaccinationProtocol.extension.extension" />
      <sliceName value="targetDisease" />
      <min value="0" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.doseSequence">
      <path value="Immunization.vaccinationProtocol.doseSequence" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.description">
      <path value="Immunization.vaccinationProtocol.description" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.authority">
      <path value="Immunization.vaccinationProtocol.authority" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.series">
      <path value="Immunization.vaccinationProtocol.series" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.seriesDoses">
      <path value="Immunization.vaccinationProtocol.seriesDoses" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.targetDisease">
      <path value="Immunization.vaccinationProtocol.targetDisease" />
      <comment value="** Not used because the data source did not provide the value. **&#xD;&#xA;Not all terminology uses fit this general pattern. In some cases, models should not use CodeableConcept and use Coding directly and provide their own structure for managing text, codings, translations and the relationship between elements and pre- and post-coordination." />
    </element>
    <element id="Immunization.vaccinationProtocol.doseStatus.id">
      <path value="Immunization.vaccinationProtocol.doseStatus.id" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.doseStatus.coding.id">
      <path value="Immunization.vaccinationProtocol.doseStatus.coding.id" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.doseStatus.coding.version">
      <path value="Immunization.vaccinationProtocol.doseStatus.coding.version" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.doseStatus.coding.display">
      <path value="Immunization.vaccinationProtocol.doseStatus.coding.display" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.doseStatus.coding.userSelected">
      <path value="Immunization.vaccinationProtocol.doseStatus.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.doseStatus.text">
      <path value="Immunization.vaccinationProtocol.doseStatus.text" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccinationProtocol.doseStatusReason">
      <path value="Immunization.vaccinationProtocol.doseStatusReason" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>