<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="il-core-immunization" />
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="trial-use" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="1" />
  </extension>
  <url value="http://fhir.health.gov.il/StructureDefinition/il-core-immunization" />
  <version value="0.21.0" />
  <name value="ILCoreImmunization" />
  <title value="ILCore Immunization Profile" />
  <status value="active" />
  <date value="2026-03-23" />
  <publisher value="Israel Core Team" />
  <contact>
    <telecom>
      <system value="email" />
      <value value="tal.primak@moh.gov.il" />
    </telecom>
  </contact>
  <description value="Israel Core proposed constraints and extensions on the Immunization Resource" />
  <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" />
      <short value="ILCore Immunization Profile" />
      <definition value="Israel Core proposed constraints and extensions on the Immunization resource profile." />
      <constraint>
        <key value="il-immunization-lot-number" />
        <severity value="error" />
        <human value="Immunization.lotNumber SHALL have a value if Immunization.primarySource is TRUE." />
        <expression value="primarySource=true implies lotNumber.exists()" />
        <source value="http://fhir.health.gov.il/StructureDefinition/il-core-immunization" />
      </constraint>
    </element>
    <element id="Immunization.identifier">
      <path value="Immunization.identifier" />
      <type>
        <code value="Identifier" />
        <profile value="http://fhir.health.gov.il/StructureDefinition/il-core-identifier" />
      </type>
    </element>
    <element id="Immunization.status">
      <path value="Immunization.status" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.statusReason">
      <path value="Immunization.statusReason" />
      <example>
        <label value="Valid Example" />
        <valueCodeableConcept>
          <coding>
            <system value="http://snomed.info/sct" />
            <code value="310376006" />
            <display value="Immunization consent not given" />
          </coding>
        </valueCodeableConcept>
      </example>
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/reason-not-done" />
      </binding>
    </element>
    <element id="Immunization.vaccineCode">
      <path value="Immunization.vaccineCode" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.vaccineCode.coding">
      <path value="Immunization.vaccineCode.coding" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
    </element>
    <element id="Immunization.vaccineCode.coding:vaccine">
      <path value="Immunization.vaccineCode.coding" />
      <sliceName value="vaccine" />
      <min value="1" />
      <max value="1" />
      <example>
        <label value="Valid Example" />
        <valueCodeableConcept>
          <coding>
            <system value="http://snomed.info/sct" />
            <code value="346313005" />
            <display value="Allergen extract vaccines" />
          </coding>
        </valueCodeableConcept>
      </example>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/vaccine-code" />
      </binding>
    </element>
    <element id="Immunization.vaccineCode.coding:product">
      <path value="Immunization.vaccineCode.coding" />
      <sliceName value="product" />
      <min value="0" />
      <max value="1" />
      <example>
        <label value="Valid Example" />
        <valueCodeableConcept>
          <coding>
            <system value="http://www.whocc.no/atc" />
            <code value="J07AC" />
            <display value="Anthrax vaccines" />
          </coding>
        </valueCodeableConcept>
      </example>
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/vaccine-product-code" />
      </binding>
    </element>
    <element id="Immunization.patient">
      <path value="Immunization.patient" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-patient" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Immunization.encounter">
      <path value="Immunization.encounter" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-encounter" />
      </type>
    </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.primarySource">
      <path value="Immunization.primarySource" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.location">
      <path value="Immunization.location" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-location" />
      </type>
    </element>
    <element id="Immunization.manufacturer">
      <path value="Immunization.manufacturer" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-organization" />
      </type>
    </element>
    <element id="Immunization.lotNumber">
      <path value="Immunization.lotNumber" />
      <mustSupport value="true" />
    </element>
    <element id="Immunization.site">
      <path value="Immunization.site" />
      <example>
        <label value="Valid Example" />
        <valueCodeableConcept>
          <coding>
            <system value="http://snomed.info/sct" />
            <code value="368208006" />
            <display value="Left upper arm structure (body structure)" />
          </coding>
        </valueCodeableConcept>
      </example>
      <binding>
        <strength value="extensible" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/immunization-body-site" />
      </binding>
    </element>
    <element id="Immunization.route">
      <path value="Immunization.route" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://hl7.org/fhir/ValueSet/immunization-route" />
      </binding>
    </element>
    <element id="Immunization.performer.actor">
      <path value="Immunization.performer.actor" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-practitioner" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-practitioner-role" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-organization" />
      </type>
    </element>
    <element id="Immunization.reasonReference">
      <path value="Immunization.reasonReference" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-condition" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-observation" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-diagnostic-report" />
      </type>
    </element>
    <element id="Immunization.reaction.detail">
      <path value="Immunization.reaction.detail" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.health.gov.il/StructureDefinition/il-core-immunization-reaction-observation" />
      </type>
    </element>
    <element id="Immunization.protocolApplied.targetDisease">
      <path value="Immunization.protocolApplied.targetDisease" />
      <binding>
        <strength value="preferred" />
        <valueSet value="http://fhir.health.gov.il/ValueSet/target-disease" />
      </binding>
    </element>
  </differential>
</StructureDefinition>