This page is part of the FHIR Specification (v0.5.0: DSTU 2 Ballot 2). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
This resource maintained by the Public Health and Emergency Response Work Group
Immunization event information.
The immunization resource is intended to cover the administration of vaccines to patients across all healthcare disciplines in all care settings and all regions. This includes immunization of both humans and animals but does not include the administration of non-vaccine agents, even those that may have or claim immunological effects.
Additionally, the immunization resource is expected to cover key concepts related to the creation, revision and querying of a patient's immunization history. This resource - through consultation with the PHER work group - is believed to meet key use cases and information requirements as defined in the existing HL7 v2.x immunization implementation guide, HL7 v3 POIZ domain and Immunization Domain Analysis Model.
This resource references the following resources:
Administration of vaccines is intended to be handled using the Immunization resource. MedicationAdministration is intended for tracking the administration of non-vaccine medications. Some systems treat immunizations in the same way as any other medication administration. Such systems SHOULD use an immunization resource to represent these. If systems need to use a MedicationAdministration resource to capture vaccinations for workflow or other reasons, they SHOULD also expose an equivalent Immunization instance.
This resource is referenced by Condition, ImmunizationRecommendation and Procedure
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | DomainResource | Immunization event information | ||
identifier | 0..* | Identifier | Business identifier | |
date | 1..1 | dateTime | Vaccination administration date | |
vaccineType | 1..1 | CodeableConcept | Vaccine product administered VaccineType (Example) | |
patient | 1..1 | Patient | Who was immunized? | |
wasNotGiven | ?! I | 1..1 | boolean | Was immunization given? If immunization was administered (wasNotGiven=false) then explanation.reasonNotGiven SHALL be absent. If immunization was not administred (wasNotGiven=true) then there SHALL be no reaction nor explanation.reason present |
reported | 1..1 | boolean | Is this a self-reported record? | |
performer | 0..1 | Practitioner | Who administered vaccine? | |
requester | 0..1 | Practitioner | Who ordered vaccination? | |
encounter | 0..1 | Encounter | Encounter administered as part of | |
manufacturer | 0..1 | Organization | Vaccine manufacturer | |
location | 0..1 | Location | Where did vaccination occur? | |
lotNumber | 0..1 | string | Vaccine lot number | |
expirationDate | 0..1 | date | Vaccine expiration date | |
site | 0..1 | CodeableConcept | Body site vaccine was administered ImmunizationSite (Example) | |
route | 0..1 | CodeableConcept | How vaccine entered body ImmunizationRoute (Example) | |
doseQuantity | 0..1 | Quantity | Amount of vaccine administered | |
explanation | 0..1 | Element | Administration / non-administration reasons | |
reason | 0..* | CodeableConcept | Why immunization occurred ImmunizationReason (Example) | |
reasonNotGiven | 0..* | CodeableConcept | Why immunization did not occur NoImmunizationReason (Example) | |
reaction | 0..* | Element | Details of a reaction that follows immunization | |
date | 0..1 | dateTime | When did reaction start? | |
detail | 0..1 | Observation | Additional information on reaction | |
reported | 0..1 | boolean | Was reaction self-reported? | |
vaccinationProtocol | 0..* | Element | What protocol was followed | |
doseSequence | 1..1 | positiveInt | What dose number within series? | |
description | 0..1 | string | Details of vaccine protocol | |
authority | 0..1 | Organization | Who is responsible for protocol | |
series | 0..1 | string | Name of vaccine series | |
seriesDoses | 0..1 | positiveInt | Recommended number of doses for immunity | |
doseTarget | 1..1 | CodeableConcept | Disease immunized against VaccinationProtocolDoseTarget (Example) | |
doseStatus | 1..1 | CodeableConcept | Does dose count towards immunity? VaccinationProtocolDoseStatus (Example) | |
doseStatusReason | 0..1 | CodeableConcept | Why does does count/not count? VaccinationProtocolDoseStatusReason (Example) |
UML Diagram
XML Template
<Immunization xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Business identifier --></identifier> <date value="[dateTime]"/><!-- 1..1 Vaccination administration date --> <vaccineType><!-- 1..1 CodeableConcept Vaccine product administered --></vaccineType> <patient><!-- 1..1 Reference(Patient) Who was immunized? --></patient> <wasNotGiven value="[boolean]"/><!-- 1..1 Was immunization given? --> <reported value="[boolean]"/><!-- 1..1 Is this a self-reported record? --> <performer><!-- 0..1 Reference(Practitioner) Who administered vaccine? --></performer> <requester><!-- 0..1 Reference(Practitioner) Who ordered vaccination? --></requester> <encounter><!-- 0..1 Reference(Encounter) Encounter administered as part of --></encounter> <manufacturer><!-- 0..1 Reference(Organization) Vaccine manufacturer --></manufacturer> <location><!-- 0..1 Reference(Location) Where did vaccination occur? --></location> <lotNumber value="[string]"/><!-- 0..1 Vaccine lot number --> <expirationDate value="[date]"/><!-- 0..1 Vaccine expiration date --> <site><!-- 0..1 CodeableConcept Body site vaccine was administered --></site> <route><!-- 0..1 CodeableConcept How vaccine entered body --></route> <doseQuantity><!-- 0..1 Quantity Amount of vaccine administered --></doseQuantity> <explanation> <!-- 0..1 Administration / non-administration reasons --> <reason><!-- 0..* CodeableConcept Why immunization occurred --></reason> <reasonNotGiven><!-- 0..* CodeableConcept Why immunization did not occur --></reasonNotGiven> </explanation> <reaction> <!-- 0..* Details of a reaction that follows immunization --> <date value="[dateTime]"/><!-- 0..1 When did reaction start? --> <detail><!-- 0..1 Reference(Observation) Additional information on reaction --></detail> <reported value="[boolean]"/><!-- 0..1 Was reaction self-reported? --> </reaction> <vaccinationProtocol> <!-- 0..* What protocol was followed --> <doseSequence value="[positiveInt]"/><!-- 1..1 What dose number within series? --> <description value="[string]"/><!-- 0..1 Details of vaccine protocol --> <authority><!-- 0..1 Reference(Organization) Who is responsible for protocol --></authority> <series value="[string]"/><!-- 0..1 Name of vaccine series --> <seriesDoses value="[positiveInt]"/><!-- 0..1 Recommended number of doses for immunity --> <doseTarget><!-- 1..1 CodeableConcept Disease immunized against --></doseTarget> <doseStatus><!-- 1..1 CodeableConcept Does dose count towards immunity? --></doseStatus> <doseStatusReason><!-- 0..1 CodeableConcept Why does does count/not count? --></doseStatusReason> </vaccinationProtocol> </Immunization>
JSON Template
{ "resourceType" : "Immunization", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Business identifier "date" : "<dateTime>", // R! Vaccination administration date "vaccineType" : { CodeableConcept }, // R! Vaccine product administered "patient" : { Reference(Patient) }, // R! Who was immunized? "wasNotGiven" : <boolean>, // R! Was immunization given? "reported" : <boolean>, // R! Is this a self-reported record? "performer" : { Reference(Practitioner) }, // Who administered vaccine? "requester" : { Reference(Practitioner) }, // Who ordered vaccination? "encounter" : { Reference(Encounter) }, // Encounter administered as part of "manufacturer" : { Reference(Organization) }, // Vaccine manufacturer "location" : { Reference(Location) }, // Where did vaccination occur? "lotNumber" : "<string>", // Vaccine lot number "expirationDate" : "<date>", // Vaccine expiration date "site" : { CodeableConcept }, // Body site vaccine was administered "route" : { CodeableConcept }, // How vaccine entered body "doseQuantity" : { Quantity }, // Amount of vaccine administered "explanation" : { // Administration / non-administration reasons "reason" : [{ CodeableConcept }], // Why immunization occurred "reasonNotGiven" : [{ CodeableConcept }] // Why immunization did not occur }, "reaction" : [{ // Details of a reaction that follows immunization "date" : "<dateTime>", // When did reaction start? "detail" : { Reference(Observation) }, // Additional information on reaction "reported" : <boolean> // Was reaction self-reported? }], "vaccinationProtocol" : [{ // What protocol was followed "doseSequence" : "<positiveInt>", // R! What dose number within series? "description" : "<string>", // Details of vaccine protocol "authority" : { Reference(Organization) }, // Who is responsible for protocol "series" : "<string>", // Name of vaccine series "seriesDoses" : "<positiveInt>", // Recommended number of doses for immunity "doseTarget" : { CodeableConcept }, // R! Disease immunized against "doseStatus" : { CodeableConcept }, // R! Does dose count towards immunity? "doseStatusReason" : { CodeableConcept } // Why does does count/not count? }] }
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | DomainResource | Immunization event information | ||
identifier | 0..* | Identifier | Business identifier | |
date | 1..1 | dateTime | Vaccination administration date | |
vaccineType | 1..1 | CodeableConcept | Vaccine product administered VaccineType (Example) | |
patient | 1..1 | Patient | Who was immunized? | |
wasNotGiven | ?! I | 1..1 | boolean | Was immunization given? If immunization was administered (wasNotGiven=false) then explanation.reasonNotGiven SHALL be absent. If immunization was not administred (wasNotGiven=true) then there SHALL be no reaction nor explanation.reason present |
reported | 1..1 | boolean | Is this a self-reported record? | |
performer | 0..1 | Practitioner | Who administered vaccine? | |
requester | 0..1 | Practitioner | Who ordered vaccination? | |
encounter | 0..1 | Encounter | Encounter administered as part of | |
manufacturer | 0..1 | Organization | Vaccine manufacturer | |
location | 0..1 | Location | Where did vaccination occur? | |
lotNumber | 0..1 | string | Vaccine lot number | |
expirationDate | 0..1 | date | Vaccine expiration date | |
site | 0..1 | CodeableConcept | Body site vaccine was administered ImmunizationSite (Example) | |
route | 0..1 | CodeableConcept | How vaccine entered body ImmunizationRoute (Example) | |
doseQuantity | 0..1 | Quantity | Amount of vaccine administered | |
explanation | 0..1 | Element | Administration / non-administration reasons | |
reason | 0..* | CodeableConcept | Why immunization occurred ImmunizationReason (Example) | |
reasonNotGiven | 0..* | CodeableConcept | Why immunization did not occur NoImmunizationReason (Example) | |
reaction | 0..* | Element | Details of a reaction that follows immunization | |
date | 0..1 | dateTime | When did reaction start? | |
detail | 0..1 | Observation | Additional information on reaction | |
reported | 0..1 | boolean | Was reaction self-reported? | |
vaccinationProtocol | 0..* | Element | What protocol was followed | |
doseSequence | 1..1 | positiveInt | What dose number within series? | |
description | 0..1 | string | Details of vaccine protocol | |
authority | 0..1 | Organization | Who is responsible for protocol | |
series | 0..1 | string | Name of vaccine series | |
seriesDoses | 0..1 | positiveInt | Recommended number of doses for immunity | |
doseTarget | 1..1 | CodeableConcept | Disease immunized against VaccinationProtocolDoseTarget (Example) | |
doseStatus | 1..1 | CodeableConcept | Does dose count towards immunity? VaccinationProtocolDoseStatus (Example) | |
doseStatusReason | 0..1 | CodeableConcept | Why does does count/not count? VaccinationProtocolDoseStatusReason (Example) |
XML Template
<Immunization xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Business identifier --></identifier> <date value="[dateTime]"/><!-- 1..1 Vaccination administration date --> <vaccineType><!-- 1..1 CodeableConcept Vaccine product administered --></vaccineType> <patient><!-- 1..1 Reference(Patient) Who was immunized? --></patient> <wasNotGiven value="[boolean]"/><!-- 1..1 Was immunization given? --> <reported value="[boolean]"/><!-- 1..1 Is this a self-reported record? --> <performer><!-- 0..1 Reference(Practitioner) Who administered vaccine? --></performer> <requester><!-- 0..1 Reference(Practitioner) Who ordered vaccination? --></requester> <encounter><!-- 0..1 Reference(Encounter) Encounter administered as part of --></encounter> <manufacturer><!-- 0..1 Reference(Organization) Vaccine manufacturer --></manufacturer> <location><!-- 0..1 Reference(Location) Where did vaccination occur? --></location> <lotNumber value="[string]"/><!-- 0..1 Vaccine lot number --> <expirationDate value="[date]"/><!-- 0..1 Vaccine expiration date --> <site><!-- 0..1 CodeableConcept Body site vaccine was administered --></site> <route><!-- 0..1 CodeableConcept How vaccine entered body --></route> <doseQuantity><!-- 0..1 Quantity Amount of vaccine administered --></doseQuantity> <explanation> <!-- 0..1 Administration / non-administration reasons --> <reason><!-- 0..* CodeableConcept Why immunization occurred --></reason> <reasonNotGiven><!-- 0..* CodeableConcept Why immunization did not occur --></reasonNotGiven> </explanation> <reaction> <!-- 0..* Details of a reaction that follows immunization --> <date value="[dateTime]"/><!-- 0..1 When did reaction start? --> <detail><!-- 0..1 Reference(Observation) Additional information on reaction --></detail> <reported value="[boolean]"/><!-- 0..1 Was reaction self-reported? --> </reaction> <vaccinationProtocol> <!-- 0..* What protocol was followed --> <doseSequence value="[positiveInt]"/><!-- 1..1 What dose number within series? --> <description value="[string]"/><!-- 0..1 Details of vaccine protocol --> <authority><!-- 0..1 Reference(Organization) Who is responsible for protocol --></authority> <series value="[string]"/><!-- 0..1 Name of vaccine series --> <seriesDoses value="[positiveInt]"/><!-- 0..1 Recommended number of doses for immunity --> <doseTarget><!-- 1..1 CodeableConcept Disease immunized against --></doseTarget> <doseStatus><!-- 1..1 CodeableConcept Does dose count towards immunity? --></doseStatus> <doseStatusReason><!-- 0..1 CodeableConcept Why does does count/not count? --></doseStatusReason> </vaccinationProtocol> </Immunization>
JSON Template
{ "resourceType" : "Immunization", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Business identifier "date" : "<dateTime>", // R! Vaccination administration date "vaccineType" : { CodeableConcept }, // R! Vaccine product administered "patient" : { Reference(Patient) }, // R! Who was immunized? "wasNotGiven" : <boolean>, // R! Was immunization given? "reported" : <boolean>, // R! Is this a self-reported record? "performer" : { Reference(Practitioner) }, // Who administered vaccine? "requester" : { Reference(Practitioner) }, // Who ordered vaccination? "encounter" : { Reference(Encounter) }, // Encounter administered as part of "manufacturer" : { Reference(Organization) }, // Vaccine manufacturer "location" : { Reference(Location) }, // Where did vaccination occur? "lotNumber" : "<string>", // Vaccine lot number "expirationDate" : "<date>", // Vaccine expiration date "site" : { CodeableConcept }, // Body site vaccine was administered "route" : { CodeableConcept }, // How vaccine entered body "doseQuantity" : { Quantity }, // Amount of vaccine administered "explanation" : { // Administration / non-administration reasons "reason" : [{ CodeableConcept }], // Why immunization occurred "reasonNotGiven" : [{ CodeableConcept }] // Why immunization did not occur }, "reaction" : [{ // Details of a reaction that follows immunization "date" : "<dateTime>", // When did reaction start? "detail" : { Reference(Observation) }, // Additional information on reaction "reported" : <boolean> // Was reaction self-reported? }], "vaccinationProtocol" : [{ // What protocol was followed "doseSequence" : "<positiveInt>", // R! What dose number within series? "description" : "<string>", // Details of vaccine protocol "authority" : { Reference(Organization) }, // Who is responsible for protocol "series" : "<string>", // Name of vaccine series "seriesDoses" : "<positiveInt>", // Recommended number of doses for immunity "doseTarget" : { CodeableConcept }, // R! Disease immunized against "doseStatus" : { CodeableConcept }, // R! Does dose count towards immunity? "doseStatusReason" : { CodeableConcept } // Why does does count/not count? }] }
Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON)
Path | Definition | Type | Reference |
---|---|---|---|
Immunization.vaccineType | The type of vaccine administered | Example | http://hl7.org/fhir/vs/vaccinetype |
Immunization.site | The site at which the vaccine was administered | Example | http://hl7.org/fhir/vs/immunization-site |
Immunization.route | The route by which the vaccine was administered | Example | http://hl7.org/fhir/vs/immunization-route |
Immunization.explanation.reason | The reason why a vaccine was administered | Example | http://hl7.org/fhir/vs/immunization-reason |
Immunization.explanation.reasonNotGiven | The reason why a vaccine was not administered | Example | http://hl7.org/fhir/vs/no-immunization-reason |
Immunization.vaccinationProtocol.doseTarget | The disease target of the vaccination protocol | Example | http://hl7.org/fhir/vs/vaccination-protocol-dose-target |
Immunization.vaccinationProtocol.doseStatus | The status of the vaccination protocol (i.e. should this count) | Example | http://hl7.org/fhir/vs/vaccination-protocol-dose-status |
Immunization.vaccinationProtocol.doseStatusReason | The reason for the determining if a vaccination should count or why vaccination should not count. | Example | http://hl7.org/fhir/vs/vaccination-protocol-dose-status-reason |
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Paths |
date | date | Vaccination (non)-Administration Date | Immunization.date |
dose-sequence | number | What dose number within series? | Immunization.vaccinationProtocol.doseSequence |
identifier | token | Business identifier | Immunization.identifier |
location | reference | The service delivery location or facility in which the vaccine was / was to be administered | Immunization.location (Location) |
lot-number | string | Vaccine Lot Number | Immunization.lotNumber |
manufacturer | reference | Vaccine Manufacturer | Immunization.manufacturer (Organization) |
notgiven | token | Administrations which were not given | Immunization.wasNotGiven |
patient | reference | The patient for the vaccination record | Immunization.patient (Patient) |
performer | reference | The practitioner who administered the vaccination | Immunization.performer (Practitioner) |
reaction | reference | Additional information on reaction | Immunization.reaction.detail (Observation) |
reaction-date | date | When did reaction start? | Immunization.reaction.date |
reason | token | Why immunization occurred | Immunization.explanation.reason |
reason-not-given | token | Explanation of reason vaccination was not administered | Immunization.explanation.reasonNotGiven |
requester | reference | The practitioner who ordered the vaccination | Immunization.requester (Practitioner) |
subject | reference | The patient for the vaccination record | Immunization.patient (Patient) |
vaccine-type | token | Vaccine Product Type Administered | Immunization.vaccineType |