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

ElementTypeCardinalityDescription
Immunization.identifierIdentifier0..*Business identifier
Immunization.statuscode1..1completed | entered-in-error | not-done
Immunization.statusReasonCodeableConcept0..1Reason not done
Immunization.vaccineCodeCodeableConcept1..1Vaccine product administered
Immunization.patientReference1..1Who was immunized
Immunization.encounterReference0..1Encounter immunization was part of
Immunization.occurrence[x]dateTime | string1..1Vaccine administration date
Immunization.recordeddateTime0..1When the immunization was first captured in the subject's record
Immunization.primarySourceboolean0..1Indicates context the data was recorded in
Immunization.reportOriginCodeableConcept0..1Indicates the source of a secondarily reported record
Immunization.locationReference0..1Where immunization occurred
Immunization.manufacturerReference0..1Vaccine manufacturer
Immunization.lotNumberstring0..1Vaccine lot number
Immunization.expirationDatedate0..1Vaccine expiration date
Immunization.siteCodeableConcept0..1Body site vaccine was administered
Immunization.routeCodeableConcept0..1How vaccine entered body
Immunization.doseQuantityQuantity0..1Amount of vaccine administered
Immunization.performerBackboneElement0..*Who performed event
Immunization.performer.idString0..1Unique id for inter-element referencing
Immunization.performer.extensionExtension0..*Additional content defined by implementations
Immunization.performer.modifierExtensionExtension0..*Extensions that cannot be ignored even if unrecognized
Immunization.performer.functionCodeableConcept0..1What type of performance was done
Immunization.performer.actorReference1..1Individual or organization who was performing
Immunization.noteAnnotation0..*Additional immunization notes
Immunization.reasonCodeCodeableConcept0..*Why immunization occurred
Immunization.reasonReferenceReference0..*Why immunization occurred
Immunization.isSubpotentboolean0..1Dose potency
Immunization.subpotentReasonCodeableConcept0..*Reason for being subpotent
Immunization.educationBackboneElement0..*Educational material presented to patient
Immunization.education.idString0..1Unique id for inter-element referencing
Immunization.education.extensionExtension0..*Additional content defined by implementations
Immunization.education.modifierExtensionExtension0..*Extensions that cannot be ignored even if unrecognized
Immunization.education.documentTypestring0..1Educational material document identifier
Immunization.education.referenceuri0..1Educational material reference pointer
Immunization.education.publicationDatedateTime0..1Educational material publication date
Immunization.education.presentationDatedateTime0..1Educational material presentation date
Immunization.programEligibilityCodeableConcept0..*Patient eligibility for a vaccination program
Immunization.fundingSourceCodeableConcept0..1Funding source for the vaccine
Immunization.reactionBackboneElement0..*Details of a reaction that follows immunization
Immunization.reaction.idString0..1Unique id for inter-element referencing
Immunization.reaction.extensionExtension0..*Additional content defined by implementations
Immunization.reaction.modifierExtensionExtension0..*Extensions that cannot be ignored even if unrecognized
Immunization.reaction.datedateTime0..1When reaction started
Immunization.reaction.detailReference0..1Additional information on reaction
Immunization.reaction.reportedboolean0..1Indicates self-reported reaction
Immunization.protocolAppliedBackboneElement0..*Protocol followed by the provider
Immunization.protocolApplied.idString0..1Unique id for inter-element referencing
Immunization.protocolApplied.extensionExtension0..*Additional content defined by implementations
Immunization.protocolApplied.modifierExtensionExtension0..*Extensions that cannot be ignored even if unrecognized
Immunization.protocolApplied.seriesstring0..1Name of vaccine series
Immunization.protocolApplied.authorityReference0..1Who is responsible for publishing the recommendations
Immunization.protocolApplied.targetDiseaseCodeableConcept0..*Vaccine preventatable disease being targetted
Immunization.protocolApplied.doseNumber[x]positiveInt | string1..1Dose number within series
Immunization.protocolApplied.seriesDoses[x]positiveInt | string0..1Recommended 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 code
  • Immunization.occurrence.ofType(dateTime) — When the dose was given
  • Immunization.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.