{
  "resourceType": "StructureDefinition",
  "id": "imm-Vaccination-event-carenetwork",
  "text": {
    "status": "empty",
    "div": "<div xmlns=\"http://www.w3.org/1999/xhtml\">No narrative is provided for definitional resources. A human-readable rendering can be found in the implementation guide(s) where this resource is used.</div>"
  },
  "url": "http://nictiz.nl/fhir/StructureDefinition/imm-Vaccination-event-carenetwork",
  "version": "2.1.0-alpha.1",
  "name": "ImmVaccinationeventcarenetwork",
  "title": "imm Vaccination event carenetwork",
  "status": "draft",
  "date": "2025-12-04",
  "publisher": "Nictiz",
  "contact": [
    {
      "name": "Nictiz",
      "telecom": [
        {
          "system": "url",
          "value": "https://www.nictiz.nl",
          "use": "work"
        }
      ]
    }
  ],
  "description": "Immunization can be defined as “Generating natural immunity against pathogens by means of vaccination (active immunization) or by administering immunoglobulins (passive immunization)”.\r\n\r\nOnly the (administered and planned) vaccinations are included in this information model. Administering immunoglobulins is part of the medication overview. Vaccinations have lifelong relevance.\r\n\r\nMost vaccinations are carried out in the Netherlands as part of the RVP (Rijksvaccinatieprogramma, National Immunisation Program). RVP information is especially important for children.\r\n\r\nVaccinations are also relevant for adult patients such as transplant patients, dialysis patients and patients with a post-splenectomy status. In addition, there are specific indications for the vaccination of risk groups, such as travelers, professionals who come into contact with blood or patients with wounds, weakened immune systems or heightened risk.",
  "purpose": "This Immunization resource represents the Vaccination building block for implementations following the information standard [Vaccination-Immunization](https://informatiestandaarden.nictiz.nl/wiki/imm:Landingspagina_Vaccinatie_Immunisatie). This profile is based on the Dutch zib (&#39;Zorginformatiebouwsteen&#39;, i.e. Health and Care Information Model) Immunization, but has no dependency on the corresponding nl-core profile because it contains non-compatible changes. Where compatible, mappings to zib concepts are defined. Additional concepts or concepts that are not compatible with their zib counterparts contain a mapping to the Vaccination-Immunization data set.",
  "copyright": "Copyright and related rights waived via CC0, https://creativecommons.org/publicdomain/zero/1.0/. This does not apply to information from third parties, for example a medical terminology system. The implementer alone is responsible for identifying and obtaining any necessary licenses or authorizations to utilize third party IP in connection with the specification or otherwise.",
  "fhirVersion": "4.0.1",
  "mapping": [
    {
      "identity": "imm-dataset-210-alpha1-20251204",
      "uri": "https://decor.nictiz.nl/pub/immunisatie/imm-html-20251202T093626/ds-2.16.840.1.113883.2.4.3.11.60.131.1.1-2021-11-18T100634.html",
      "name": "ART-DECOR Dataset Vaccination-Immunization 2.1.0-alpha.1 20251204"
    },
    {
      "identity": "zib-vaccination-v4.0-2020EN",
      "uri": "https://zibs.nl/wiki/Vaccination-v4.0(2020EN)",
      "name": "zib Vaccination-v4.0(2020EN)"
    }
  ],
  "kind": "resource",
  "abstract": false,
  "type": "Immunization",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Immunization",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Immunization",
        "path": "Immunization",
        "comment": "All administered vaccinations are covered using this Immunization profile, while all planned vaccinations are covered in the [nl-core-Vaccination-request](http://nictiz.nl/fhir/StructureDefinition/nl-core-Vaccination-request) profile.\r\n\r\nPlease note that, contrary to the related zib concepts, `.vaccineCode` and `.occurrence[x]` are mandatory in FHIR and need to be recorded to exchange Immunization resources.",
        "constraint": [
          {
            "key": "imm-carenetwork-2",
            "severity": "error",
            "human": "If the dataAbsentReason extension has been used on occurrence[x] then the RegistratieDatumTijd MUST be provided in Immunization.recorded.",
            "expression": "occurrence.extension('http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists() implies recorded.exists()"
          }
        ]
      },
      {
        "id": "Immunization.extension",
        "path": "Immunization.extension",
        "min": 1
      },
      {
        "id": "Immunization.extension:pharmaceuticalProduct",
        "path": "Immunization.extension",
        "sliceName": "pharmaceuticalProduct",
        "min": 1,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://nictiz.nl/fhir/StructureDefinition/ext-imm-Vaccination.PharmaceuticalProduct"
            ]
          }
        ]
      },
      {
        "id": "Immunization.extension:pharmaceuticalProduct.value[x]",
        "path": "Immunization.extension.value[x]",
        "definition": "The pharmaceutical product of the administered vaccination.",
        "comment": "If this reference to ImmPharmaceuticalProduct is used, the MedicationCode (`Medication.code`) in the referenced resource SHALL be the same as `Immunization.vaccineCode` of the current resource."
      },
      {
        "id": "Immunization.identifier",
        "path": "Immunization.identifier",
        "short": "IdentificationNumber",
        "definition": "Globally unique number that identifies the instantiation of the information model. The number is composed of an identification of the issuer organization and a unique number assigned by this organization.",
        "alias": [
          "Identificatienummer"
        ],
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-135",
            "comment": "IdentificationNumber"
          }
        ]
      },
      {
        "id": "Immunization.status",
        "path": "Immunization.status",
        "short": "AdministrationStatus",
        "definition": "Provides the administration status:\r\n* Not done: The event was terminated prior to any activity beyond preparation.\r\n* Entered in Error: This electronic record should never have existed, though it is possible that real-world decisions were based on it.\r\n* Completed: The event has now concluded.",
        "comment": "This element has no functional counterpart in the zib and cannot be implicitly mapped to other concepts. Unless a more appropriate status is recorded, it is assumed that only completed Immunization resources will be exchanged.",
        "alias": [
          "StatusToediening"
        ],
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-315",
            "comment": "AdministrationStatus"
          }
        ]
      },
      {
        "id": "Immunization.vaccineCode",
        "path": "Immunization.vaccineCode",
        "short": "ProductCode",
        "definition": "Coding medication in the Netherlands is done on the basis of the G-standaard (issued by Z-index), which is filled under the direction of Royal Dutch Pharmacists Association (KNMP). The coded medication can be expressed as:\r\n* ZI number\r\n* Trade product code (HPK)\r\n* Prescription code (PRK)\r\n* Generic product code (GPK)\r\n* SNOMED CT code\r\n\r\nThe ZI number represents the trade product and the package size. The HPK is the trade product as registered and marketed by the manufacturer.The PRK contains all GPK information supplemented with information needed to prescribe the right product. This level is intended to facilitate generic prescription of drugs. The GPK defines the pharmaceutical characteristics of a product: ingredients, strengths, units, pharmaceutical form and route of administration.Further information about the G-Standaard levels see https://www.z-index.nl. So-called 90.000.000 numbers are used in local IT systems. The 90.000.000 number is used in accordance with national agreements.\r\n\r\nSNOMED CT can be used as an alternative coding for a pharmaceutical product, for example it is used to describe the vaccinations from the Dutch National Immunisation Programme more generically based on the combination of substances (for example DKTP vaccine). With historical vaccines, a G-Standaard code is not always present, but it is recommended to record it for current processing. The SNOMED CT code for the same product can also be registered as an alternative.",
        "comment": "A G-Standaard code is preferred over a SNOMED CT code. If both codes are available, a SNOMED CT code can be used as an alternative coding.\r\n\r\nEg. SNOMED CT code “871878002 | vaccin met uitsluitend antigenen van Corynebacterium diphtheriae, Bordetella pertussis, Clostridium tetani en humaan poliovirus (farmaceutisch product)” can be used as an alternative code for GPK code \"130745 | DKTP VACCIN (TRIAXIS POLIO)\". The concepts may not differ from each other, but one code may be more generic than the other. So \"137006 | CHOLERAVACCIN ORAAL\" (GPK) met \"991000221105 | vaccin met uitsluitend antigeen van Vibrio cholerae (farmaceutisch product)\" (SNOMED CT) is allowed, but \"176397 | DTK vaccin\" (GPK) may not be alternative of \"130745 | DKTP VACCIN (TRIAXIS POLIO)\", because these are different vaccines (with and without Polio).\r\n\r\nIt is possible to use a reference to imm PharmaceuticalProduct to identify the used vaccine, using `Immunization.extension:pharmaceuticalProduct`. If this reference is used, `Immunization.vaccineCode` SHALL contain the same value as the MedicationCode (`Medication.code`) in the referenced resource.",
        "alias": [
          "ProductCode"
        ],
        "binding": {
          "strength": "extensible",
          "valueSet": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.131.11.7--20240507084413"
        },
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-318",
            "comment": "ProductCode"
          }
        ]
      },
      {
        "id": "Immunization.patient",
        "path": "Immunization.patient",
        "short": "Patient",
        "alias": [
          "Patient"
        ],
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Patient",
              "http://nictiz.nl/fhir/StructureDefinition/nl-core-Patient"
            ]
          }
        ],
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-71",
            "comment": "Patient"
          }
        ]
      },
      {
        "id": "Immunization.occurrence[x]",
        "path": "Immunization.occurrence[x]",
        "slicing": {
          "discriminator": [
            {
              "type": "type",
              "path": "$this"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Immunization.occurrence[x]:occurrenceDateTime",
        "path": "Immunization.occurrence[x]",
        "sliceName": "occurrenceDateTime",
        "short": "VaccinationDate",
        "definition": "Date (and if possible time) that the vaccine was or will be administered. In the case of a planned re-vaccination, a vague date (month, year) is allowed (Clinical reminder). If a planned vaccination cannot be administered before a certain date, the date stated (vague or not) must indicate this.",
        "comment": "When immunizations are given a specific date and time should always be known. When immunizations are patient reported, a specific date might not be known.  Although partial dates are allowed, an adult patient might not be able to recall the year a childhood immunization was given. An exact date is always preferable, but the use of the String data type is acceptable when an exact date is not known. A small number of vaccines (e.g. live oral typhoid vaccine) are given as a series of patient self-administered dose over a span of time. In cases like this, often, only the first dose (typically a provider supervised dose) is recorded with the occurrence indicating the date/time of the first dose. If the ToedieningsDatumTijd is not known, the dataAbsentReason extension SHOULD be used on occurrence[x] and the RegistratieDatumTijd MUST be provided in Immunization.recorded.",
        "alias": [
          "ToedieningsDatumTijd"
        ],
        "min": 1,
        "type": [
          {
            "code": "dateTime"
          }
        ],
        "constraint": [
          {
            "key": "imm-carenetwork-1",
            "severity": "error",
            "human": "If the value for occurrenceDateTime is not populated then the extension of type dataAbsentReason MUST be used.",
            "expression": "$this.hasValue() or extension('http://hl7.org/fhir/StructureDefinition/data-absent-reason').exists()"
          }
        ],
        "mapping": [
          {
            "identity": "zib-vaccination-v4.0-2020EN",
            "map": "NL-CM:11.1.3",
            "comment": "VaccinationDate"
          },
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-292",
            "comment": "VaccinationDate"
          },
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-816",
            "comment": "ToedieningsDatumTijd"
          }
        ]
      },
      {
        "id": "Immunization.occurrence[x]:occurrenceDateTime.extension",
        "path": "Immunization.occurrence[x].extension",
        "slicing": {
          "rules": "closed"
        },
        "max": "1",
        "condition": [
          "imm-carenetwork-1"
        ]
      },
      {
        "id": "Immunization.occurrence[x]:occurrenceDateTime.extension:dataAbsentReason",
        "path": "Immunization.occurrence[x].extension",
        "sliceName": "dataAbsentReason",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
            ]
          }
        ],
        "isModifier": false
      },
      {
        "id": "Immunization.occurrence[x]:occurrenceDateTime.value",
        "path": "Immunization.occurrence[x].value",
        "condition": [
          "imm-carenetwork-1"
        ],
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-816",
            "comment": "ToedieningsDatumTijd"
          }
        ]
      },
      {
        "id": "Immunization.recorded",
        "path": "Immunization.recorded",
        "alias": [
          "RegistratieDatumTijd"
        ],
        "condition": [
          "imm-carenetwork-2"
        ],
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-815",
            "comment": "RegistratieDatumTijd"
          }
        ]
      },
      {
        "id": "Immunization.location",
        "path": "Immunization.location",
        "short": "Location",
        "definition": "Physical location where the vaccination is or will be carried out.",
        "alias": [
          "Locatie"
        ],
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://hl7.org/fhir/StructureDefinition/Location",
              "http://nictiz.nl/fhir/StructureDefinition/nl-core-HealthcareProvider"
            ]
          }
        ],
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-262",
            "comment": "HealthcareProvider"
          }
        ]
      },
      {
        "id": "Immunization.site",
        "path": "Immunization.site",
        "short": "AnatomicalLocation",
        "alias": [
          "AnatomischeLocatie",
          "Location"
        ],
        "type": [
          {
            "code": "CodeableConcept",
            "profile": [
              "http://nictiz.nl/fhir/StructureDefinition/nl-core-AnatomicalLocation"
            ]
          }
        ],
        "binding": {
          "strength": "extensible",
          "valueSet": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.121.11.11--20200901000000"
        },
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-140",
            "comment": "AnatomicalLocation"
          }
        ]
      },
      {
        "id": "Immunization.route",
        "path": "Immunization.route",
        "short": "RouteOfAdministration",
        "definition": "The route by which the vaccine is administered into the body.",
        "alias": [
          "Toedieningsweg"
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.9.13.2--20200901000000"
        },
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-143",
            "comment": "Toedieningsweg"
          }
        ]
      },
      {
        "id": "Immunization.doseQuantity",
        "path": "Immunization.doseQuantity",
        "short": "Dose",
        "definition": "The amount of product administered. In most cases, the entire product is administered; in some cases, a described part of the product is administered. If doseQuantity is provided, a value and corresponding unit MUST be populated. The preferred system for doseQuantity.unit is \"http://unitsofmeasure.org\" (UCUM). For the carenetwork data exchange the extension gstdSimpleQuantity MUST always be populated.",
        "comment": "The definition of Dose deviates slightly from the definition in the zib Vaccination; the unit of measure is not limited to mL. This difference is according to the planned modifications in the zib (https://bits.nictiz.nl/browse/ZIB-1654).",
        "alias": [
          "Toegediende hoeveelheid"
        ],
        "type": [
          {
            "code": "Quantity",
            "profile": [
              "http://nictiz.nl/fhir/StructureDefinition/pattern-GstdSimpleQuantity"
            ]
          }
        ],
        "mapping": [
          {
            "identity": "zib-vaccination-v4.0-2020EN",
            "map": "NL-CM:11.1.4",
            "comment": "Dose"
          },
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-291",
            "comment": "Dose"
          },
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-812",
            "comment": "ToegediendeHoeveelheid"
          }
        ]
      },
      {
        "id": "Immunization.doseQuantity.extension",
        "path": "Immunization.doseQuantity.extension",
        "min": 1
      },
      {
        "id": "Immunization.doseQuantity.extension:gstdSimpleQuantity",
        "path": "Immunization.doseQuantity.extension",
        "sliceName": "gstdSimpleQuantity",
        "min": 1
      },
      {
        "id": "Immunization.doseQuantity.extension:gstdSimpleQuantity.value[x].value",
        "path": "Immunization.doseQuantity.extension.value[x].value",
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-813",
            "comment": "Aantal"
          }
        ]
      },
      {
        "id": "Immunization.doseQuantity.extension:gstdSimpleQuantity.value[x].code",
        "path": "Immunization.doseQuantity.extension.value[x].code",
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-814",
            "comment": "Eenheid"
          }
        ]
      },
      {
        "id": "Immunization.doseQuantity.value",
        "path": "Immunization.doseQuantity.value",
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-813",
            "comment": "Aantal"
          }
        ]
      },
      {
        "id": "Immunization.doseQuantity.code",
        "path": "Immunization.doseQuantity.code",
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-814",
            "comment": "Eenheid"
          }
        ]
      },
      {
        "id": "Immunization.performer",
        "path": "Immunization.performer",
        "slicing": {
          "discriminator": [
            {
              "type": "profile",
              "path": "actor.resolve()"
            }
          ],
          "rules": "closed"
        },
        "short": "Performer",
        "definition": "The healthcare provider and/or organization where or by whom the vaccination was done or will be done.",
        "alias": [
          "Uitvoerder"
        ],
        "max": "1",
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-817",
            "comment": "Uitvoerder"
          }
        ]
      },
      {
        "id": "Immunization.performer:healthcareProvider",
        "path": "Immunization.performer",
        "sliceName": "healthcareProvider",
        "comment": "For the carenetwork data exchange, the slice healthcareProvider MUST be used for the Immunization.performer.",
        "max": "1"
      },
      {
        "id": "Immunization.performer:healthcareProvider.actor",
        "path": "Immunization.performer.actor",
        "type": [
          {
            "code": "Reference",
            "targetProfile": [
              "http://nictiz.nl/fhir/StructureDefinition/nl-core-HealthcareProvider-Organization"
            ]
          }
        ],
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-818",
            "comment": "HealthcareProvider"
          }
        ]
      },
      {
        "id": "Immunization.note.text",
        "path": "Immunization.note.text",
        "short": "Comment",
        "definition": "Free text explanation.\r\nExamples of commonly used explanations are: - \"Vaccination according to the National Immunisation Program\". - \"Not according to the National Immunisation Program\", followed by further explanation. - \"Unknown\"",
        "alias": [
          "Toelichting"
        ],
        "mapping": [
          {
            "identity": "zib-vaccination-v4.0-2020EN",
            "map": "NL-CM:11.1.7",
            "comment": "Comment"
          },
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-293",
            "comment": "Comment"
          }
        ]
      },
      {
        "id": "Immunization.reasonCode",
        "path": "Immunization.reasonCode",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "$this"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Immunization.reasonCode:vaccinationIndication",
        "path": "Immunization.reasonCode",
        "sliceName": "vaccinationIndication",
        "short": "VaccinationIndication",
        "definition": "Displays the trigger based on what the vaccine was administered.",
        "alias": [
          "VaccinatieIndicatie"
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.131.11.4--20220301181306"
        },
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-160",
            "comment": "VaccinationIndication"
          }
        ]
      },
      {
        "id": "Immunization.reasonCode:vaccinationMotive",
        "path": "Immunization.reasonCode",
        "sliceName": "vaccinationMotive",
        "short": "VaccinationMotive",
        "definition": "Displays the trigger based on what the vaccine was administered.",
        "alias": [
          "VaccinatieAanleiding"
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.131.11.2--20220301153357"
        },
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-158",
            "comment": "VaccinationMotive"
          }
        ]
      },
      {
        "id": "Immunization.protocolApplied.targetDisease",
        "path": "Immunization.protocolApplied.targetDisease",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "$this"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Immunization.protocolApplied.targetDisease:targetDisease",
        "path": "Immunization.protocolApplied.targetDisease",
        "sliceName": "targetDisease",
        "short": "VaccinationPathogen",
        "definition": "The disease or pathogeen against what the vaccination is primarily given.",
        "alias": [
          "ZiekteWaarTegenGevaccineerdWordt"
        ],
        "binding": {
          "strength": "required",
          "valueSet": "http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.131.11.3--20220301175614"
        },
        "mapping": [
          {
            "identity": "imm-dataset-210-alpha1-20251204",
            "map": "imm-dataelement-159",
            "comment": "VaccinationPathogen"
          }
        ]
      }
    ]
  }
}