FHIR Immunization Resource (R5)

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 R5.

  • FHIR Immunization Resource (R5) — 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.basedOnReference0..*Authority that the immunization event is based on
Immunization.statuscode1..1completed | entered-in-error | not-done
Immunization.statusReasonCodeableConcept0..1Reason for current status
Immunization.vaccineCodeCodeableConcept1..1Vaccine administered
Immunization.administeredProductCodeableReference0..1Product that was administered
Immunization.manufacturerCodeableReference0..1Vaccine manufacturer
Immunization.lotNumberstring0..1Vaccine lot number
Immunization.expirationDatedate0..1Vaccine expiration date
Immunization.patientReference1..1Who was immunized
Immunization.encounterReference0..1Encounter immunization was part of
Immunization.supportingInformationReference0..*Additional information in support of the immunization
Immunization.occurrence[x]dateTime | string1..1Vaccine administration date
Immunization.primarySourceboolean0..1Indicates context the data was captured in
Immunization.informationSourceCodeableReference0..1Indicates the source of a reported record
Immunization.locationReference0..1Where immunization occurred
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.reasonCodeableReference0..*Why immunization occurred
Immunization.isSubpotentboolean0..1Dose potency
Immunization.subpotentReasonCodeableConcept0..*Reason for being subpotent
Immunization.programEligibilityBackboneElement0..*Patient eligibility for a specific vaccination program
Immunization.programEligibility.idString0..1Unique id for inter-element referencing
Immunization.programEligibility.extensionExtension0..*Additional content defined by implementations
Immunization.programEligibility.modifierExtensionExtension0..*Extensions that cannot be ignored even if unrecognized
Immunization.programEligibility.programCodeableConcept1..1The program that eligibility is declared for
Immunization.programEligibility.programStatusCodeableConcept1..1The patient's eligibility status for the 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.manifestationCodeableReference0..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 targeted
Immunization.protocolApplied.doseNumberstring1..1Dose number within series
Immunization.protocolApplied.seriesDosesstring0..1Recommended number of doses for immunity

Example JSON (R5)

{
  "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.