FHIR Immunization Resource (R4)
Immunization describes a vaccination event: which vaccine (vaccineCode), when (occurrence[x]), to whom, and whether it was actually given or not. Element table, search parameters, example JSON and FHIRPath for FHIR R4.
- FHIR Immunization Resource (R4) — part of the free FHIR Toolbox library.
- Runs entirely in your browser: your FHIR data is never uploaded to a server.
Overview
Immunization describes a vaccination event: which vaccine (vaccineCode), when (occurrence[x]), to whom, and whether it was actually given or not. Use ImmunizationRecommendation for what is due, and ImmunizationEvaluation for the assessment of a dose.
Elements
| Element | Type | Cardinality | Description |
|---|---|---|---|
| Immunization.identifier | Identifier | 0..* | Business identifier |
| Immunization.status | code | 1..1 | completed | entered-in-error | not-done |
| Immunization.statusReason | CodeableConcept | 0..1 | Reason not done |
| Immunization.vaccineCode | CodeableConcept | 1..1 | Vaccine product administered |
| Immunization.patient | Reference | 1..1 | Who was immunized |
| Immunization.encounter | Reference | 0..1 | Encounter immunization was part of |
| Immunization.occurrence[x] | dateTime | string | 1..1 | Vaccine administration date |
| Immunization.recorded | dateTime | 0..1 | When the immunization was first captured in the subject's record |
| Immunization.primarySource | boolean | 0..1 | Indicates context the data was recorded in |
| Immunization.reportOrigin | CodeableConcept | 0..1 | Indicates the source of a secondarily reported record |
| Immunization.location | Reference | 0..1 | Where immunization occurred |
| Immunization.manufacturer | Reference | 0..1 | Vaccine manufacturer |
| Immunization.lotNumber | string | 0..1 | Vaccine lot number |
| Immunization.expirationDate | date | 0..1 | Vaccine expiration date |
| Immunization.site | CodeableConcept | 0..1 | Body site vaccine was administered |
| Immunization.route | CodeableConcept | 0..1 | How vaccine entered body |
| Immunization.doseQuantity | Quantity | 0..1 | Amount of vaccine administered |
| Immunization.performer | BackboneElement | 0..* | Who performed event |
| Immunization.performer.id | String | 0..1 | Unique id for inter-element referencing |
| Immunization.performer.extension | Extension | 0..* | Additional content defined by implementations |
| Immunization.performer.modifierExtension | Extension | 0..* | Extensions that cannot be ignored even if unrecognized |
| Immunization.performer.function | CodeableConcept | 0..1 | What type of performance was done |
| Immunization.performer.actor | Reference | 1..1 | Individual or organization who was performing |
| Immunization.note | Annotation | 0..* | Additional immunization notes |
| Immunization.reasonCode | CodeableConcept | 0..* | Why immunization occurred |
| Immunization.reasonReference | Reference | 0..* | Why immunization occurred |
| Immunization.isSubpotent | boolean | 0..1 | Dose potency |
| Immunization.subpotentReason | CodeableConcept | 0..* | Reason for being subpotent |
| Immunization.education | BackboneElement | 0..* | Educational material presented to patient |
| Immunization.education.id | String | 0..1 | Unique id for inter-element referencing |
| Immunization.education.extension | Extension | 0..* | Additional content defined by implementations |
| Immunization.education.modifierExtension | Extension | 0..* | Extensions that cannot be ignored even if unrecognized |
| Immunization.education.documentType | string | 0..1 | Educational material document identifier |
| Immunization.education.reference | uri | 0..1 | Educational material reference pointer |
| Immunization.education.publicationDate | dateTime | 0..1 | Educational material publication date |
| Immunization.education.presentationDate | dateTime | 0..1 | Educational material presentation date |
| Immunization.programEligibility | CodeableConcept | 0..* | Patient eligibility for a vaccination program |
| Immunization.fundingSource | CodeableConcept | 0..1 | Funding source for the vaccine |
| Immunization.reaction | BackboneElement | 0..* | Details of a reaction that follows immunization |
| Immunization.reaction.id | String | 0..1 | Unique id for inter-element referencing |
| Immunization.reaction.extension | Extension | 0..* | Additional content defined by implementations |
| Immunization.reaction.modifierExtension | Extension | 0..* | Extensions that cannot be ignored even if unrecognized |
| Immunization.reaction.date | dateTime | 0..1 | When reaction started |
| Immunization.reaction.detail | Reference | 0..1 | Additional information on reaction |
| Immunization.reaction.reported | boolean | 0..1 | Indicates self-reported reaction |
| Immunization.protocolApplied | BackboneElement | 0..* | Protocol followed by the provider |
| Immunization.protocolApplied.id | String | 0..1 | Unique id for inter-element referencing |
| Immunization.protocolApplied.extension | Extension | 0..* | Additional content defined by implementations |
| Immunization.protocolApplied.modifierExtension | Extension | 0..* | Extensions that cannot be ignored even if unrecognized |
| Immunization.protocolApplied.series | string | 0..1 | Name of vaccine series |
| Immunization.protocolApplied.authority | Reference | 0..1 | Who is responsible for publishing the recommendations |
| Immunization.protocolApplied.targetDisease | CodeableConcept | 0..* | Vaccine preventatable disease being targetted |
| Immunization.protocolApplied.doseNumber[x] | positiveInt | string | 1..1 | Dose number within series |
| Immunization.protocolApplied.seriesDoses[x] | positiveInt | string | 0..1 | Recommended number of doses for immunity |
Example JSON (R4)
{
"resourceType": "Immunization",
"id": "example",
"status": "completed",
"vaccineCode": {
"coding": [
{
"system": "http://hl7.org/fhir/sid/cvx",
"code": "140",
"display": "Influenza, seasonal, injectable, preservative free"
}
]
},
"patient": {
"reference": "Patient/example"
},
"occurrenceDateTime": "2024-10-01",
"primarySource": true,
"lotNumber": "AAJN11K"
}
FHIRPath
Immunization.vaccineCode.coding.code— CVX codeImmunization.occurrence.ofType(dateTime)— When the dose was givenImmunization.status— completed | entered-in-error | not-done
Common validation errors
- Omitting occurrence[x] (occurrenceDateTime or occurrenceString). It is required.
- Using status not-done without statusReason.
- Putting the CVX code in the wrong system. CVX uses http://hl7.org/fhir/sid/cvx.
FHIR Toolbox is a free, privacy-first collection of HL7 FHIR utilities by Omindra Labs. Every tool performs zero-server processing — your health data never leaves your device.