This page is part of the FHIR Specification (v3.3.0: R4 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
Public Health and Emergency Response Work Group | Maturity Level: 3 | Trial Use | Compartments: Patient, Practitioner |
Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party.
STU Note: The Public Health work group wants to draw the attention of reviewers and implementers to the following issues for feedback:
- The R3 Immunization resource contained a protocol backbone element which contained, among other elements, the doseSequence which indicates the dose number within the series. In R4, the protocol backbone element has been moved to the ImmunizationEvalation resource to allow independent evaluations of the immunization event. The removal of doseSequence is likely to be problematic for providers in Australian and New Zealand where they are required to report the dose sequence as part of the immunization event. We seek feedback on whether other jurisdictions also require the dose sequence. Options include adding doseSequence as part of the core resource or as an extension.
- The isPotent, subpotentReason, education, programEligibility and fundingSource are new elements and we would like feedback on the definition of these elements.
The Immunization resource is intended to cover the recording of current and historical 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 to have 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 Public Health work group - is believed to meet key use cases and information requirements as defined in the existing HL7 v2 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 AdverseEvent, ChargeItem, ImmunizationEvaluation, ImmunizationRecommendation and Observation
Structure
UML Diagram (Legend)
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> <status value="[code]"/><!-- 1..1 completed | entered-in-error | not-done --> <statusReason><!-- 0..1 CodeableConcept Reason not done --></statusReason> <vaccineCode><!-- 1..1 CodeableConcept Vaccine product administered --></vaccineCode> <patient><!-- 1..1 Reference(Patient) Who was immunized --></patient> <encounter><!-- 0..1 Reference(Encounter) Encounter immunization was part of --></encounter> <date value="[dateTime]"/><!-- 0..1 Vaccine administration date --> <primarySource value="[boolean]"/><!-- 1..1 Indicates context the data was recorded in --> <reportOrigin><!-- 0..1 CodeableConcept Indicates the source of a secondarily reported record --></reportOrigin> <location><!-- 0..1 Reference(Location) Where immunization occurred --></location> <manufacturer><!-- 0..1 Reference(Organization) Vaccine manufacturer --></manufacturer> <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(SimpleQuantity) Amount of vaccine administered --></doseQuantity> <performer> <!-- 0..* Who performed event --> <function><!-- 0..1 CodeableConcept What type of performance was done --></function> <actor><!-- 1..1 Reference(Practitioner|Organization) Individual or organization who was performing --></actor> </performer> <note><!-- 0..* Annotation Additional immunization notes --></note> <reasonCode><!-- 0..* CodeableConcept Why immunization occurred --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|Observation|DiagnosticReport) Why immunization occurred --></reasonReference> <isPotent value="[boolean]"/><!-- 0..1 Dose potency --> <subpotentReason><!-- 0..* CodeableConcept Reason for being subpotent --></subpotentReason> <education> <!-- 0..* Educational material presented to patient --> <documentType value="[string]"/><!-- 0..1 Educational material document identifier --> <reference value="[uri]"/><!-- 0..1 Educational material reference pointer --> <publicationDate value="[dateTime]"/><!-- 0..1 Educational material publication date --> <presentationDate value="[dateTime]"/><!-- 0..1 Educational material presentation date --> </education> <programEligibility><!-- 0..* CodeableConcept Patient eligibility for a vaccination program --></programEligibility> <fundingSource><!-- 0..1 CodeableConcept Funding source for the vaccine --></fundingSource> </Immunization>
JSON Template
{ "resourceType" : "Immunization", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Business identifier "status" : "<code>", // R! completed | entered-in-error | not-done "statusReason" : { CodeableConcept }, // Reason not done "vaccineCode" : { CodeableConcept }, // R! Vaccine product administered "patient" : { Reference(Patient) }, // R! Who was immunized "encounter" : { Reference(Encounter) }, // Encounter immunization was part of "date" : "<dateTime>", // Vaccine administration date "primarySource" : <boolean>, // R! Indicates context the data was recorded in "reportOrigin" : { CodeableConcept }, // Indicates the source of a secondarily reported record "location" : { Reference(Location) }, // Where immunization occurred "manufacturer" : { Reference(Organization) }, // Vaccine manufacturer "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(SimpleQuantity) }, // Amount of vaccine administered "performer" : [{ // Who performed event "function" : { CodeableConcept }, // What type of performance was done "actor" : { Reference(Practitioner|Organization) } // R! Individual or organization who was performing }], "note" : [{ Annotation }], // Additional immunization notes "reasonCode" : [{ CodeableConcept }], // Why immunization occurred "reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport) }], // Why immunization occurred "isPotent" : <boolean>, // Dose potency "subpotentReason" : [{ CodeableConcept }], // Reason for being subpotent "education" : [{ // Educational material presented to patient "documentType" : "<string>", // Educational material document identifier "reference" : "<uri>", // Educational material reference pointer "publicationDate" : "<dateTime>", // Educational material publication date "presentationDate" : "<dateTime>" // Educational material presentation date }], "programEligibility" : [{ CodeableConcept }], // Patient eligibility for a vaccination program "fundingSource" : { CodeableConcept } // Funding source for the vaccine }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:Immunization; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:Immunization.identifier [ Identifier ], ... ; # 0..* Business identifier fhir:Immunization.status [ code ]; # 1..1 completed | entered-in-error | not-done fhir:Immunization.statusReason [ CodeableConcept ]; # 0..1 Reason not done fhir:Immunization.vaccineCode [ CodeableConcept ]; # 1..1 Vaccine product administered fhir:Immunization.patient [ Reference(Patient) ]; # 1..1 Who was immunized fhir:Immunization.encounter [ Reference(Encounter) ]; # 0..1 Encounter immunization was part of fhir:Immunization.date [ dateTime ]; # 0..1 Vaccine administration date fhir:Immunization.primarySource [ boolean ]; # 1..1 Indicates context the data was recorded in fhir:Immunization.reportOrigin [ CodeableConcept ]; # 0..1 Indicates the source of a secondarily reported record fhir:Immunization.location [ Reference(Location) ]; # 0..1 Where immunization occurred fhir:Immunization.manufacturer [ Reference(Organization) ]; # 0..1 Vaccine manufacturer fhir:Immunization.lotNumber [ string ]; # 0..1 Vaccine lot number fhir:Immunization.expirationDate [ date ]; # 0..1 Vaccine expiration date fhir:Immunization.site [ CodeableConcept ]; # 0..1 Body site vaccine was administered fhir:Immunization.route [ CodeableConcept ]; # 0..1 How vaccine entered body fhir:Immunization.doseQuantity [ Quantity(SimpleQuantity) ]; # 0..1 Amount of vaccine administered fhir:Immunization.performer [ # 0..* Who performed event fhir:Immunization.performer.function [ CodeableConcept ]; # 0..1 What type of performance was done fhir:Immunization.performer.actor [ Reference(Practitioner|Organization) ]; # 1..1 Individual or organization who was performing ], ...; fhir:Immunization.note [ Annotation ], ... ; # 0..* Additional immunization notes fhir:Immunization.reasonCode [ CodeableConcept ], ... ; # 0..* Why immunization occurred fhir:Immunization.reasonReference [ Reference(Condition|Observation|DiagnosticReport) ], ... ; # 0..* Why immunization occurred fhir:Immunization.isPotent [ boolean ]; # 0..1 Dose potency fhir:Immunization.subpotentReason [ CodeableConcept ], ... ; # 0..* Reason for being subpotent fhir:Immunization.education [ # 0..* Educational material presented to patient fhir:Immunization.education.documentType [ string ]; # 0..1 Educational material document identifier fhir:Immunization.education.reference [ uri ]; # 0..1 Educational material reference pointer fhir:Immunization.education.publicationDate [ dateTime ]; # 0..1 Educational material publication date fhir:Immunization.education.presentationDate [ dateTime ]; # 0..1 Educational material presentation date ], ...; fhir:Immunization.programEligibility [ CodeableConcept ], ... ; # 0..* Patient eligibility for a vaccination program fhir:Immunization.fundingSource [ CodeableConcept ]; # 0..1 Funding source for the vaccine ]
Changes since R3
Immunization | |
Immunization.statusReason |
|
Immunization.performer |
|
Immunization.performer.function |
|
Immunization.performer.actor |
|
Immunization.reasonCode |
|
Immunization.reasonReference |
|
Immunization.isPotent |
|
Immunization.subpotentReason |
|
Immunization.education |
|
Immunization.education.documentType |
|
Immunization.education.reference |
|
Immunization.education.publicationDate |
|
Immunization.education.presentationDate |
|
Immunization.programEligibility |
|
Immunization.fundingSource |
|
Immunization.notGiven |
|
Immunization.practitioner |
|
Immunization.explanation |
|
Immunization.reaction |
|
Immunization.vaccinationProtocol |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R2 <--> R3 Conversion Maps (status = 2 tests that all execute ok. 2 fail round-trip testing and 2 r3 resources are invalid (2 errors).). Note: these have note yet been updated to be R3 to R4
Structure
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> <status value="[code]"/><!-- 1..1 completed | entered-in-error | not-done --> <statusReason><!-- 0..1 CodeableConcept Reason not done --></statusReason> <vaccineCode><!-- 1..1 CodeableConcept Vaccine product administered --></vaccineCode> <patient><!-- 1..1 Reference(Patient) Who was immunized --></patient> <encounter><!-- 0..1 Reference(Encounter) Encounter immunization was part of --></encounter> <date value="[dateTime]"/><!-- 0..1 Vaccine administration date --> <primarySource value="[boolean]"/><!-- 1..1 Indicates context the data was recorded in --> <reportOrigin><!-- 0..1 CodeableConcept Indicates the source of a secondarily reported record --></reportOrigin> <location><!-- 0..1 Reference(Location) Where immunization occurred --></location> <manufacturer><!-- 0..1 Reference(Organization) Vaccine manufacturer --></manufacturer> <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(SimpleQuantity) Amount of vaccine administered --></doseQuantity> <performer> <!-- 0..* Who performed event --> <function><!-- 0..1 CodeableConcept What type of performance was done --></function> <actor><!-- 1..1 Reference(Practitioner|Organization) Individual or organization who was performing --></actor> </performer> <note><!-- 0..* Annotation Additional immunization notes --></note> <reasonCode><!-- 0..* CodeableConcept Why immunization occurred --></reasonCode> <reasonReference><!-- 0..* Reference(Condition|Observation|DiagnosticReport) Why immunization occurred --></reasonReference> <isPotent value="[boolean]"/><!-- 0..1 Dose potency --> <subpotentReason><!-- 0..* CodeableConcept Reason for being subpotent --></subpotentReason> <education> <!-- 0..* Educational material presented to patient --> <documentType value="[string]"/><!-- 0..1 Educational material document identifier --> <reference value="[uri]"/><!-- 0..1 Educational material reference pointer --> <publicationDate value="[dateTime]"/><!-- 0..1 Educational material publication date --> <presentationDate value="[dateTime]"/><!-- 0..1 Educational material presentation date --> </education> <programEligibility><!-- 0..* CodeableConcept Patient eligibility for a vaccination program --></programEligibility> <fundingSource><!-- 0..1 CodeableConcept Funding source for the vaccine --></fundingSource> </Immunization>
JSON Template
{ "resourceType" : "Immunization", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Business identifier "status" : "<code>", // R! completed | entered-in-error | not-done "statusReason" : { CodeableConcept }, // Reason not done "vaccineCode" : { CodeableConcept }, // R! Vaccine product administered "patient" : { Reference(Patient) }, // R! Who was immunized "encounter" : { Reference(Encounter) }, // Encounter immunization was part of "date" : "<dateTime>", // Vaccine administration date "primarySource" : <boolean>, // R! Indicates context the data was recorded in "reportOrigin" : { CodeableConcept }, // Indicates the source of a secondarily reported record "location" : { Reference(Location) }, // Where immunization occurred "manufacturer" : { Reference(Organization) }, // Vaccine manufacturer "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(SimpleQuantity) }, // Amount of vaccine administered "performer" : [{ // Who performed event "function" : { CodeableConcept }, // What type of performance was done "actor" : { Reference(Practitioner|Organization) } // R! Individual or organization who was performing }], "note" : [{ Annotation }], // Additional immunization notes "reasonCode" : [{ CodeableConcept }], // Why immunization occurred "reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport) }], // Why immunization occurred "isPotent" : <boolean>, // Dose potency "subpotentReason" : [{ CodeableConcept }], // Reason for being subpotent "education" : [{ // Educational material presented to patient "documentType" : "<string>", // Educational material document identifier "reference" : "<uri>", // Educational material reference pointer "publicationDate" : "<dateTime>", // Educational material publication date "presentationDate" : "<dateTime>" // Educational material presentation date }], "programEligibility" : [{ CodeableConcept }], // Patient eligibility for a vaccination program "fundingSource" : { CodeableConcept } // Funding source for the vaccine }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:Immunization; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:Immunization.identifier [ Identifier ], ... ; # 0..* Business identifier fhir:Immunization.status [ code ]; # 1..1 completed | entered-in-error | not-done fhir:Immunization.statusReason [ CodeableConcept ]; # 0..1 Reason not done fhir:Immunization.vaccineCode [ CodeableConcept ]; # 1..1 Vaccine product administered fhir:Immunization.patient [ Reference(Patient) ]; # 1..1 Who was immunized fhir:Immunization.encounter [ Reference(Encounter) ]; # 0..1 Encounter immunization was part of fhir:Immunization.date [ dateTime ]; # 0..1 Vaccine administration date fhir:Immunization.primarySource [ boolean ]; # 1..1 Indicates context the data was recorded in fhir:Immunization.reportOrigin [ CodeableConcept ]; # 0..1 Indicates the source of a secondarily reported record fhir:Immunization.location [ Reference(Location) ]; # 0..1 Where immunization occurred fhir:Immunization.manufacturer [ Reference(Organization) ]; # 0..1 Vaccine manufacturer fhir:Immunization.lotNumber [ string ]; # 0..1 Vaccine lot number fhir:Immunization.expirationDate [ date ]; # 0..1 Vaccine expiration date fhir:Immunization.site [ CodeableConcept ]; # 0..1 Body site vaccine was administered fhir:Immunization.route [ CodeableConcept ]; # 0..1 How vaccine entered body fhir:Immunization.doseQuantity [ Quantity(SimpleQuantity) ]; # 0..1 Amount of vaccine administered fhir:Immunization.performer [ # 0..* Who performed event fhir:Immunization.performer.function [ CodeableConcept ]; # 0..1 What type of performance was done fhir:Immunization.performer.actor [ Reference(Practitioner|Organization) ]; # 1..1 Individual or organization who was performing ], ...; fhir:Immunization.note [ Annotation ], ... ; # 0..* Additional immunization notes fhir:Immunization.reasonCode [ CodeableConcept ], ... ; # 0..* Why immunization occurred fhir:Immunization.reasonReference [ Reference(Condition|Observation|DiagnosticReport) ], ... ; # 0..* Why immunization occurred fhir:Immunization.isPotent [ boolean ]; # 0..1 Dose potency fhir:Immunization.subpotentReason [ CodeableConcept ], ... ; # 0..* Reason for being subpotent fhir:Immunization.education [ # 0..* Educational material presented to patient fhir:Immunization.education.documentType [ string ]; # 0..1 Educational material document identifier fhir:Immunization.education.reference [ uri ]; # 0..1 Educational material reference pointer fhir:Immunization.education.publicationDate [ dateTime ]; # 0..1 Educational material publication date fhir:Immunization.education.presentationDate [ dateTime ]; # 0..1 Educational material presentation date ], ...; fhir:Immunization.programEligibility [ CodeableConcept ], ... ; # 0..* Patient eligibility for a vaccination program fhir:Immunization.fundingSource [ CodeableConcept ]; # 0..1 Funding source for the vaccine ]
Changes since DSTU2
Immunization | |
Immunization.statusReason |
|
Immunization.performer |
|
Immunization.performer.function |
|
Immunization.performer.actor |
|
Immunization.reasonCode |
|
Immunization.reasonReference |
|
Immunization.isPotent |
|
Immunization.subpotentReason |
|
Immunization.education |
|
Immunization.education.documentType |
|
Immunization.education.reference |
|
Immunization.education.publicationDate |
|
Immunization.education.presentationDate |
|
Immunization.programEligibility |
|
Immunization.fundingSource |
|
Immunization.notGiven |
|
Immunization.practitioner |
|
Immunization.explanation |
|
Immunization.reaction |
|
Immunization.vaccinationProtocol |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R2 <--> R3 Conversion Maps (status = 2 tests that all execute ok. 2 fail round-trip testing and 2 r3 resources are invalid (2 errors).). Note: these have note yet been updated to be R3 to R4
Alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
Immunization.status | A set of codes indicating the current status of an Immunization | Required | Immunization Status Codes |
Immunization.statusReason | The reason why a vaccine was not administered | Example | Immunization Status Reason Codes |
Immunization.vaccineCode | The code for vaccine product administered | Example | Vaccine Administered Value Set |
Immunization.reportOrigin | The source of the data for a record which is not from a primary source. | Example | Immunization Origin Codes |
Immunization.site | The site at which the vaccine was administered | Example | Codes for Immunization Site of Administration |
Immunization.route | The route by which the vaccine was administered | Example | Immunization Route Codes |
Immunization.performer.function | The role a practitioner or organization plays in the immunization event | Extensible | Immunization Function Codes |
Immunization.reasonCode | The reason why a vaccine was administered | Example | Immunization Reason Codes |
Immunization.subpotentReason | The reason why a dose is considered to be subpotent | Example | Immunization Subpotent Reason |
Immunization.programEligibility | The patient's eligibility for a vaccation program | Example | Immunization Program Eligibility |
Immunization.fundingSource | The source of funding used to purchase the vaccine administered | Example | Immunization Funding Source |
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 | Expression | In Common |
date | date | Vaccination (non)-Administration Date | Immunization.date | 17 Resources |
identifier | token | Business identifier | Immunization.identifier | 26 Resources |
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) | |
patient | reference | The patient for the vaccination record | Immunization.patient (Patient) | 29 Resources |
performer | reference | The practitioner or organization who played a role in the vaccination | Immunization.performer.actor (Practitioner, Organization) | |
reason-code | token | Reason why the vaccine was administered | Immunization.reasonCode | |
reason-reference | reference | Why immunization occurred | Immunization.reasonReference (Condition, Observation, DiagnosticReport) | |
status | token | Immunization event status | Immunization.status | |
status-reason | token | Reason why the vaccine was not administered | Immunization.statusReason | |
vaccine-code | token | Vaccine Product Administered | Immunization.vaccineCode |