<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fohm.se/nvr/fhir/StructureDefinition/NVRImmunization" />
  <name value="NVRImmunization" />
  <status value="draft" />
  <description value="A vaccination performed on a patient" />
  <fhirVersion value="5.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Immunization" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Immunization" />
  <derivation value="constraint" />
  <differential>
    <element id="Immunization.identifier">
      <path value="Immunization.identifier" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Immunization.identifier.use">
      <path value="Immunization.identifier.use" />
      <max value="0" />
    </element>
    <element id="Immunization.identifier.type">
      <path value="Immunization.identifier.type" />
      <max value="0" />
    </element>
    <element id="Immunization.identifier.system">
      <path value="Immunization.identifier.system" />
      <binding>
        <strength value="preferred" />
        <description value="A uuid i strongly recommended" />
      </binding>
    </element>
    <element id="Immunization.identifier.value">
      <path value="Immunization.identifier.value" />
      <min value="1" />
      <binding>
        <strength value="required" />
        <description value="A version 4 UUID in format: urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" />
        <valueSet value="urn:ietf:rfc:3986" />
      </binding>
    </element>
    <element id="Immunization.identifier.period">
      <path value="Immunization.identifier.period" />
      <max value="0" />
    </element>
    <element id="Immunization.identifier.assigner">
      <path value="Immunization.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Immunization.basedOn">
      <path value="Immunization.basedOn" />
      <max value="0" />
    </element>
    <element id="Immunization.status">
      <path value="Immunization.status" />
      <fixedCode value="completed" />
    </element>
    <element id="Immunization.statusReason">
      <path value="Immunization.statusReason" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode.coding">
      <path value="Immunization.vaccineCode.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Immunization.vaccineCode.coding.system">
      <path value="Immunization.vaccineCode.coding.system" />
      <min value="1" />
      <fixedUri value="http://electronichealth.se/fhir/NamingSystem/nplid" />
    </element>
    <element id="Immunization.vaccineCode.coding.version">
      <path value="Immunization.vaccineCode.coding.version" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode.coding.code">
      <path value="Immunization.vaccineCode.coding.code" />
      <short value="nplId" />
      <definition value="nplId for the administered vaccine product" />
    </element>
    <element id="Immunization.vaccineCode.coding.display">
      <path value="Immunization.vaccineCode.coding.display" />
      <definition value="Name of the vaccine product (needed if nplId cannot be specified)" />
    </element>
    <element id="Immunization.vaccineCode.coding.userSelected">
      <path value="Immunization.vaccineCode.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Immunization.vaccineCode.text">
      <path value="Immunization.vaccineCode.text" />
      <max value="0" />
    </element>
    <element id="Immunization.administeredProduct">
      <path value="Immunization.administeredProduct" />
      <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.patient">
      <path value="Immunization.patient" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fohm.se/nvr/fhir/StructureDefinition/NVRPatient" />
        <aggregation value="contained" />
      </type>
    </element>
    <element id="Immunization.encounter">
      <path value="Immunization.encounter" />
      <max value="0" />
    </element>
    <element id="Immunization.supportingInformation">
      <path value="Immunization.supportingInformation" />
      <max value="0" />
    </element>
    <element id="Immunization.occurrence[x]">
      <path value="Immunization.occurrence[x]" />
      <type>
        <code value="dateTime" />
      </type>
      <example>
        <label value="First of Januari 2025" />
        <valueDateTime value="2025-01-01" />
      </example>
    </element>
    <element id="Immunization.primarySource">
      <path value="Immunization.primarySource" />
      <max value="0" />
    </element>
    <element id="Immunization.informationSource">
      <path value="Immunization.informationSource" />
      <max value="0" />
    </element>
    <element id="Immunization.location">
      <path value="Immunization.location" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fohm.se/nvr/fhir/StructureDefinition/NVRHealthCareUnitLocation" />
        <aggregation value="contained" />
      </type>
    </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">
      <path value="Immunization.doseQuantity" />
      <max value="0" />
    </element>
    <element id="Immunization.performer">
      <path value="Immunization.performer" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Immunization.performer.function">
      <path value="Immunization.performer.function" />
      <max value="0" />
    </element>
    <element id="Immunization.performer.actor">
      <path value="Immunization.performer.actor" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fohm.se/nvr/fhir/StructureDefinition/NVRHealthCareProvider" />
        <aggregation value="contained" />
      </type>
    </element>
    <element id="Immunization.note">
      <path value="Immunization.note" />
      <max value="0" />
    </element>
    <element id="Immunization.reason">
      <path value="Immunization.reason" />
      <max value="0" />
    </element>
    <element id="Immunization.isSubpotent">
      <path value="Immunization.isSubpotent" />
      <max value="0" />
    </element>
    <element id="Immunization.subpotentReason">
      <path value="Immunization.subpotentReason" />
      <max value="0" />
    </element>
    <element id="Immunization.programEligibility">
      <path value="Immunization.programEligibility" />
      <max value="0" />
    </element>
    <element id="Immunization.fundingSource">
      <path value="Immunization.fundingSource" />
      <max value="0" />
    </element>
    <element id="Immunization.reaction">
      <path value="Immunization.reaction" />
      <max value="0" />
    </element>
    <element id="Immunization.protocolApplied">
      <path value="Immunization.protocolApplied" />
      <max value="1" />
    </element>
    <element id="Immunization.protocolApplied.series">
      <path value="Immunization.protocolApplied.series" />
      <max value="0" />
    </element>
    <element id="Immunization.protocolApplied.authority">
      <path value="Immunization.protocolApplied.authority" />
      <max value="0" />
    </element>
    <element id="Immunization.protocolApplied.targetDisease">
      <path value="Immunization.protocolApplied.targetDisease" />
      <max value="0" />
    </element>
    <element id="Immunization.protocolApplied.seriesDoses">
      <path value="Immunization.protocolApplied.seriesDoses" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>