{
  "resourceType": "StructureDefinition",
  "id": "immunization-eu-core",
  "extension": [
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm",
      "valueInteger": 2
    },
    {
      "url": "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status",
      "valueCode": "trial-use"
    }
  ],
  "url": "http://hl7.eu/fhir/base/StructureDefinition/immunization-eu-core",
  "name": "ImmunizationEuCore",
  "title": "Immunization (EU core)",
  "status": "active",
  "experimental": false,
  "description": "This profile introduces essential constraints and extensions for the Immunization resource that apply across multiple use cases.",
  "purpose": "This profile constrains the Immunization resource for the purpose of this guide.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Immunization",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Immunization",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Immunization.language",
        "path": "Immunization.language",
        "short": "Language of the immunization content"
      },
      {
        "id": "Immunization.extension",
        "path": "Immunization.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "ordered": false,
          "rules": "open"
        }
      },
      {
        "id": "Immunization.extension:administeredProduct",
        "path": "Immunization.extension",
        "sliceName": "administeredProduct",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://hl7.org/fhir/5.0/StructureDefinition/extension-Immunization.administeredProduct"
            ]
          }
        ]
      },
      {
        "id": "Immunization.extension:administeredProduct.extension:reference",
        "path": "Immunization.extension.extension",
        "sliceName": "reference"
      },
      {
        "id": "Immunization.extension:administeredProduct.extension:reference.extension",
        "path": "Immunization.extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Immunization.extension:administeredProduct.extension:reference.value[x]",
        "path": "Immunization.extension.extension.value[x]",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.eu/fhir/base/StructureDefinition/medication-eu-core"
            ]
          }
        ]
      },
      {
        "id": "Immunization.extension:informationSource",
        "path": "Immunization.extension",
        "sliceName": "informationSource",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://hl7.org/fhir/5.0/StructureDefinition/extension-Immunization.informationSource"
            ]
          }
        ]
      },
      {
        "id": "Immunization.extension:informationSource.extension:reference",
        "path": "Immunization.extension.extension",
        "sliceName": "reference"
      },
      {
        "id": "Immunization.extension:informationSource.extension:reference.extension",
        "path": "Immunization.extension.extension.extension",
        "max": "0"
      },
      {
        "id": "Immunization.extension:informationSource.extension:reference.value[x]",
        "path": "Immunization.extension.extension.value[x]",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.eu/fhir/base/StructureDefinition/patient-eu-core",
              "http://hl7.eu/fhir/base/StructureDefinition/practitioner-eu-core",
              "http://hl7.eu/fhir/base/StructureDefinition/practitionerRole-eu-core",
              "http://hl7.org/fhir/StructureDefinition/RelatedPerson",
              "http://hl7.eu/fhir/base/StructureDefinition/organization-eu-core"
            ]
          }
        ]
      },
      {
        "id": "Immunization.identifier",
        "path": "Immunization.identifier",
        "short": "Identifier of the immunization"
      },
      {
        "id": "Immunization.status",
        "path": "Immunization.status",
        "short": "Immunization status."
      },
      {
        "id": "Immunization.statusReason",
        "path": "Immunization.statusReason",
        "short": "Reason for not performing."
      },
      {
        "id": "Immunization.vaccineCode",
        "path": "Immunization.vaccineCode",
        "binding": {
          "strength": "preferred",
          "valueSet": "http://hl7.org/fhir/uv/ips/ValueSet/vaccines-uv-ips",
          "extension": [
            {
              "extension": [
                {
                  "url": "purpose",
                  "valueCode": "preferred"
                },
                {
                  "url": "valueSet",
                  "valueCanonical": "http://hl7.org/fhir/uv/ips/ValueSet/vaccines-whoatc-uv-ips"
                },
                {
                  "url": "documentation",
                  "valueMarkdown": "Additional conformance binding to a vaccines value set from the WHO ATC code system for use in specific jurisdictional or other contexts where use of the ATC terminology is preferred."
                },
                {
                  "url": "shortDoco",
                  "valueString": "For when WHO ATC code system is preferred"
                }
              ],
              "url": "http://hl7.org/fhir/tools/StructureDefinition/additional-binding"
            },
            {
              "extension": [
                {
                  "url": "purpose",
                  "valueCode": "preferred"
                },
                {
                  "url": "valueSet",
                  "valueCanonical": "http://terminology.ehdsi.eu/ValueSet/eHDSIVaccine"
                },
                {
                  "url": "documentation",
                  "valueMarkdown": "Additional conformance binding to the cross-border vaccines value set."
                },
                {
                  "url": "shortDoco",
                  "valueString": "For EU cross-border use"
                }
              ],
              "url": "http://hl7.org/fhir/tools/StructureDefinition/additional-binding"
            }
          ],
          "description": "The type of vaccine for particular disease or diseases against which the patient has been immunised, or a code for absent/unknown immunization."
        }
      },
      {
        "id": "Immunization.patient",
        "path": "Immunization.patient",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.eu/fhir/base/StructureDefinition/patient-eu-core"
            ]
          }
        ]
      },
      {
        "id": "Immunization.occurrence[x]",
        "path": "Immunization.occurrence[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "ordered": false,
          "rules": "open"
        },
        "short": "Date of vaccination"
      },
      {
        "id": "Immunization.occurrence[x]:occurrenceDateTime",
        "path": "Immunization.occurrence[x]",
        "sliceName": "occurrenceDateTime",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "dateTime"
          }
        ]
      },
      {
        "id": "Immunization.occurrence[x]:occurrenceDateTime.extension",
        "path": "Immunization.occurrence[x].extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "ordered": false,
          "rules": "open"
        }
      },
      {
        "id": "Immunization.occurrence[x]:occurrenceDateTime.extension:periodOfLife",
        "path": "Immunization.occurrence[x].extension",
        "sliceName": "periodOfLife",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://hl7.eu/fhir/extensions/StructureDefinition/periods-of-life"
            ]
          }
        ]
      },
      {
        "id": "Immunization.occurrence[x]:occurrenceDateTime.extension:periodOfLife.value[x]",
        "path": "Immunization.occurrence[x].extension.value[x]",
        "binding": {
          "strength": "preferred",
          "valueSet": "http://hl7.eu/fhir/base/ValueSet/periodsOfLife-eu"
        }
      },
      {
        "id": "Immunization.location",
        "path": "Immunization.location",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.eu/fhir/base/StructureDefinition/location-eu-core"
            ]
          }
        ]
      },
      {
        "id": "Immunization.manufacturer",
        "path": "Immunization.manufacturer",
        "short": "Vaccine manufacturer/MAH"
      },
      {
        "id": "Immunization.lotNumber",
        "path": "Immunization.lotNumber",
        "short": "Batch/lot number"
      },
      {
        "id": "Immunization.performer",
        "path": "Immunization.performer",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "$this.function"
            }
          ],
          "ordered": false,
          "rules": "open"
        }
      },
      {
        "id": "Immunization.performer:administeringCentreOrHp",
        "path": "Immunization.performer",
        "sliceName": "administeringCentreOrHp",
        "short": "Administering centre",
        "min": 0,
        "max": "*"
      },
      {
        "id": "Immunization.performer:administeringCentreOrHp.function",
        "path": "Immunization.performer.function",
        "patternCodeableConcept": {
          "coding": [
            {
              "code": "AP",
              "system": "http://terminology.hl7.org/CodeSystem/v2-0443"
            }
          ]
        }
      },
      {
        "id": "Immunization.performer:administeringCentreOrHp.actor",
        "path": "Immunization.performer.actor",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.eu/fhir/base/StructureDefinition/organization-eu-core",
              "http://hl7.eu/fhir/base/StructureDefinition/practitionerRole-eu-core",
              "http://hl7.eu/fhir/base/StructureDefinition/practitioner-eu-core"
            ]
          }
        ]
      },
      {
        "id": "Immunization.note.text",
        "path": "Immunization.note.text",
        "short": "Additional notes about the immunization"
      },
      {
        "id": "Immunization.reasonCode",
        "path": "Immunization.reasonCode",
        "short": "Reasons for the administration."
      },
      {
        "id": "Immunization.protocolApplied.targetDisease",
        "path": "Immunization.protocolApplied.targetDisease",
        "binding": {
          "strength": "preferred",
          "valueSet": "http://hl7.org/fhir/uv/ips/ValueSet/target-diseases-uv-ips",
          "extension": [
            {
              "extension": [
                {
                  "url": "purpose",
                  "valueCode": "preferred"
                },
                {
                  "url": "valueSet",
                  "valueCanonical": "http://terminology.ehdsi.eu/ValueSet/eHDSIIllnessandDisorder"
                },
                {
                  "url": "documentation",
                  "valueMarkdown": "Additional conformance binding to a diseases value set for use in specific jurisdictional or for cross-border settings."
                },
                {
                  "url": "shortDoco",
                  "valueString": "For when WHO ATC code system is preferred"
                }
              ],
              "url": "http://hl7.org/fhir/tools/StructureDefinition/additional-binding"
            }
          ],
          "description": "The diseases against which the patient has been immunised"
        }
      },
      {
        "id": "Immunization.protocolApplied.doseNumber[x]",
        "path": "Immunization.protocolApplied.doseNumber[x]",
        "short": "Dose Number"
      },
      {
        "id": "Immunization.protocolApplied.seriesDoses[x]",
        "path": "Immunization.protocolApplied.seriesDoses[x]",
        "short": "Number of doses"
      }
    ]
  }
}
