Release 5 Preview #2

This page is part of the FHIR Specification (v4.4.0: R5 Preview #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

11.7 Resource Immunization - Content

Public Health and Emergency Response Work GroupMaturity Level: 3 Trial UseSecurity Category: Patient 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.

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. While the terms "immunization" and "vaccination" are not clinically identical, for the purposes of the FHIR resources, the terms are used synonymously.

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.

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.

Immunization.reaction may be an indication of an allergy or intolerance. If this is deemed to be the case, a separate AllergyIntolerance resource instance should be created to indicate it, as most systems will not query against past Immunization.reaction.

This resource is referenced by AdverseEvent, ChargeItem, ImmunizationEvaluation, ImmunizationRecommendation and Observation.

This resource implements the Event pattern.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization TUDomainResourceImmunization event information
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier 0..*IdentifierBusiness identifier
... status ?!Σ1..1codecompleted | entered-in-error | not-done
Immunization Status Codes (Required)
... statusReason 0..1CodeableConceptReason for current status
Immunization Status Reason Codes (Example)
... vaccineCode Σ1..1CodeableConceptVaccine product administered
Vaccine Administered Value Set (Example)
... patient Σ1..1Reference(Patient)Who was immunized
... encounter 0..1Reference(Encounter)Encounter immunization was part of
... occurrence[x] Σ1..1Vaccine administration date
.... occurrenceDateTimedateTime
.... occurrenceStringstring
... recorded 0..1dateTimeWhen the immunization was first captured in the subject's record
... primarySource Σ0..1booleanIndicates context the data was recorded in
... informationSource[x] 0..1Indicates the source of a reported record
Immunization Origin Codes (Example)
.... informationSourceCodeableConceptCodeableConcept
.... informationSourceReferenceReference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
... location 0..1Reference(Location)Where immunization occurred
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... site 0..1CodeableConceptBody site vaccine was administered
Codes for Immunization Site of Administration (Example)
... route 0..1CodeableConceptHow vaccine entered body
Immunization Route Codes (Example)
... doseQuantity 0..1SimpleQuantityAmount of vaccine administered
... performer Σ0..*BackboneElementWho performed event
.... function Σ0..1CodeableConceptWhat type of performance was done
Immunization Function Codes (Extensible)
.... actor Σ1..1Reference(Practitioner | PractitionerRole | Organization)Individual or organization who was performing
... note Σ0..*AnnotationAdditional immunization notes
... reason 0..*CodeableReference(Condition | Observation | DiagnosticReport)Why immunization occurred
Immunization Reason Codes (Example)
... isSubpotent ?!Σ0..1booleanDose potency
... subpotentReason 0..*CodeableConceptReason for being subpotent
Immunization Subpotent Reason (Example)
... education I0..*BackboneElementEducational material presented to patient
+ Rule: One of documentType or reference SHALL be present
.... documentType 0..1stringEducational material document identifier
.... reference 0..1uriEducational material reference pointer
.... publicationDate 0..1dateTimeEducational material publication date
.... presentationDate 0..1dateTimeEducational material presentation date
... programEligibility 0..*CodeableConceptPatient eligibility for a vaccination program
Immunization Program Eligibility (Example)
... fundingSource 0..1CodeableConceptFunding source for the vaccine
Immunization Funding Source (Example)
... reaction 0..*BackboneElementDetails of a reaction that follows immunization
.... date 0..1dateTimeWhen reaction started
.... detail 0..1Reference(Observation)Additional information on reaction
.... reported 0..1booleanIndicates self-reported reaction
... protocolApplied 0..*BackboneElementProtocol followed by the provider
.... series 0..1stringName of vaccine series
.... authority 0..1Reference(Organization)Who is responsible for publishing the recommendations
.... targetDisease 0..*CodeableConceptVaccine preventatable disease being targetted
Immunization Target Disease Codes (Example)
.... doseNumber 1..1stringDose number within series
.... seriesDoses 0..1stringRecommended number of doses for immunity

doco Documentation for this format

UML Diagram (Legend)

Immunization (DomainResource)A unique identifier assigned to this immunization recordidentifier : Identifier [0..*]Indicates the current status of the immunization event (this element modifies the meaning of other elements)status : code [1..1] « A set of codes indicating the current status of an Immunization. (Strength=Required)ImmunizationStatusCodes! »Indicates the reason the immunization event was not performedstatusReason : CodeableConcept [0..1] « The reason why a vaccine was not administered. (Strength=Example) ImmunizationStatusReasonCodes?? »Vaccine that was administered or was to be administeredvaccineCode : CodeableConcept [1..1] « The code for vaccine product administered. (Strength=Example)VaccineAdministeredValueSet?? »The patient who either received or did not receive the immunizationpatient : Reference [1..1] « Patient »The visit or admission or other contact between patient and health care provider the immunization was performed as part ofencounter : Reference [0..1] « Encounter »Date vaccine administered or was to be administeredoccurrence[x] : PrimitiveType [1..1] « dateTime|string »The date the occurrence of the immunization was first captured in the record - potentially significantly after the occurrence of the eventrecorded : dateTime [0..1]Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth recordprimarySource : boolean [0..1]Typically the source of the data when the report of the immunization event is not based on information from the person who administered the vaccineinformationSource[x] : DataType [0..1] « CodeableConcept|Reference( Patient|Practitioner|PractitionerRole|RelatedPerson| Organization); The source of the data for a record which is not from a primary source. (Strength=Example)ImmunizationOriginCodes?? »The service delivery location where the vaccine administration occurredlocation : Reference [0..1] « Location »Name of vaccine manufacturermanufacturer : Reference [0..1] « Organization »Lot number of the vaccine productlotNumber : string [0..1]Date vaccine batch expiresexpirationDate : date [0..1]Body site where vaccine was administeredsite : CodeableConcept [0..1] « The site at which the vaccine was administered. (Strength=Example)CodesForImmunizationSiteOfAdm...?? »The path by which the vaccine product is taken into the bodyroute : CodeableConcept [0..1] « The route by which the vaccine was administered. (Strength=Example)ImmunizationRouteCodes?? »The quantity of vaccine product that was administereddoseQuantity : Quantity(SimpleQuantity) [0..1]Extra information about the immunization that is not conveyed by the other attributesnote : Annotation [0..*]Describes why the immunization occurred in coded or textual form, or Indicates another resource (Condition, Observation or DiagnosticReport) whose existence justifies this immunizationreason : DataType [0..*] « Condition|Observation|DiagnosticReport; The reason why a vaccine was administered. (Strength=Example) ImmunizationReasonCodes?? »Indication if a dose is considered to be subpotent. By default, a dose should be considered to be potent (this element modifies the meaning of other elements)isSubpotent : boolean [0..1]Reason why a dose is considered to be subpotentsubpotentReason : CodeableConcept [0..*] « The reason why a dose is considered to be subpotent. (Strength=Example) ImmunizationSubpotentReason?? »Indicates a patient's eligibility for a funding programprogramEligibility : CodeableConcept [0..*] « The patient's eligibility for a vaccation program. (Strength=Example) ImmunizationProgramEligibility?? »Indicates the source of the vaccine actually administered. This may be different than the patient eligibility (e.g. the patient may be eligible for a publically purchased vaccine but due to inventory issues, vaccine purchased with private funds was actually administered)fundingSource : CodeableConcept [0..1] « The source of funding used to purchase the vaccine administered. (Strength=Example)ImmunizationFundingSource?? »PerformerDescribes the type of performance (e.g. ordering provider, administering provider, etc.)function : CodeableConcept [0..1] « The role a practitioner or organization plays in the immunization event. (Strength=Extensible)ImmunizationFunctionCodes+ »The practitioner or organization who performed the actionactor : Reference [1..1] « Practitioner|PractitionerRole| Organization »EducationIdentifier of the material presented to the patientdocumentType : string [0..1]Reference pointer to the educational material given to the patient if the information was on linereference : uri [0..1]Date the educational material was publishedpublicationDate : dateTime [0..1]Date the educational material was given to the patientpresentationDate : dateTime [0..1]ReactionDate of reaction to the immunizationdate : dateTime [0..1]Details of the reactiondetail : Reference [0..1] « Observation »Self-reported indicatorreported : boolean [0..1]ProtocolAppliedOne possible path to achieve presumed immunity against a disease - within the context of an authorityseries : string [0..1]Indicates the authority who published the protocol (e.g. ACIP) that is being followedauthority : Reference [0..1] « Organization »The vaccine preventable disease the dose is being administered againsttargetDisease : CodeableConcept [0..*] « The vaccine preventable disease the dose is being administered for. (Strength=Example) ImmunizationTargetDiseaseCodes?? »Nominal position in a series as intended by the practitioner administering the dosedoseNumber : string [1..1]The recommended number of doses to achieve immunity as intended by the practitioner administering the doseseriesDoses : string [0..1]Indicates who performed the immunization eventperformer[0..*]Educational material presented to the patient (or guardian) at the time of vaccine administrationeducation[0..*]Categorical data indicating that an adverse event is associated in time to an immunizationreaction[0..*]The protocol (set of recommendations) being followed by the provider who administered the doseprotocolApplied[0..*]

XML Template

<Immunization xmlns="http://hl7.org/fhir"> doco
 <!-- 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 for current status --></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>
 <occurrence[x]><!-- 1..1 dateTime|string Vaccine administration date --></occurrence[x]>
 <recorded value="[dateTime]"/><!-- 0..1 When the immunization was first captured in the subject's record -->
 <primarySource value="[boolean]"/><!-- 0..1 Indicates context the data was recorded in -->
 <informationSource[x]><!-- 0..1 CodeableConcept|Reference(Organization|Patient|
   Practitioner|PractitionerRole|RelatedPerson) Indicates the source of a  reported record --></informationSource[x]>
 <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(Organization|Practitioner|PractitionerRole) Individual or organization who was performing --></actor>
 </performer>
 <note><!-- 0..* Annotation Additional immunization notes --></note>
 <reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|Observation) Why immunization occurred --></reason>
 <isSubpotent 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>
 <reaction>  <!-- 0..* Details of a reaction that follows immunization -->
  <date value="[dateTime]"/><!-- 0..1 When reaction started -->
  <detail><!-- 0..1 Reference(Observation) Additional information on reaction --></detail>
  <reported value="[boolean]"/><!-- 0..1 Indicates self-reported reaction -->
 </reaction>
 <protocolApplied>  <!-- 0..* Protocol followed by the provider -->
  <series value="[string]"/><!-- 0..1 Name of vaccine series -->
  <authority><!-- 0..1 Reference(Organization) Who is responsible for publishing the recommendations --></authority>
  <targetDisease><!-- 0..* CodeableConcept Vaccine preventatable disease being targetted --></targetDisease>
  <doseNumber value="[string]"/><!-- 1..1 Dose number within series -->
  <seriesDoses value="[string]"/><!-- 0..1 Recommended number of doses for immunity -->
 </protocolApplied>
</Immunization>

JSON Template

{doco
  "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 for current status
  "vaccineCode" : { CodeableConcept }, // R!  Vaccine product administered
  "patient" : { Reference(Patient) }, // R!  Who was immunized
  "encounter" : { Reference(Encounter) }, // Encounter immunization was part of
  // occurrence[x]: Vaccine administration date. One of these 2:
  "occurrenceDateTime" : "<dateTime>",
  "occurrenceString" : "<string>",
  "recorded" : "<dateTime>", // When the immunization was first captured in the subject's record
  "primarySource" : <boolean>, // Indicates context the data was recorded in
  // informationSource[x]: Indicates the source of a  reported record. One of these 2:
  "informationSourceCodeableConcept" : { CodeableConcept },
  "informationSourceReference" : { Reference(Organization|Patient|Practitioner|
   PractitionerRole|RelatedPerson) },
  "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(Organization|Practitioner|PractitionerRole) } // R!  Individual or organization who was performing
  }],
  "note" : [{ Annotation }], // Additional immunization notes
  "reason" : [{ CodeableReference(Condition|DiagnosticReport|Observation) }], // Why immunization occurred
  "isSubpotent" : <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
  "reaction" : [{ // Details of a reaction that follows immunization
    "date" : "<dateTime>", // When reaction started
    "detail" : { Reference(Observation) }, // Additional information on reaction
    "reported" : <boolean> // Indicates self-reported reaction
  }],
  "protocolApplied" : [{ // Protocol followed by the provider
    "series" : "<string>", // Name of vaccine series
    "authority" : { Reference(Organization) }, // Who is responsible for publishing the recommendations
    "targetDisease" : [{ CodeableConcept }], // Vaccine preventatable disease being targetted
    "doseNumber" : "<string>", // R!  Dose number within series
    "seriesDoses" : "<string>" // Recommended number of doses for immunity
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ 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 for current status
  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
  # Immunization.occurrence[x] : 1..1 Vaccine administration date. One of these 2
    fhir:Immunization.occurrenceDateTime [ dateTime ]
    fhir:Immunization.occurrenceString [ string ]
  fhir:Immunization.recorded [ dateTime ]; # 0..1 When the immunization was first captured in the subject's record
  fhir:Immunization.primarySource [ boolean ]; # 0..1 Indicates context the data was recorded in
  # Immunization.informationSource[x] : 0..1 Indicates the source of a  reported record. One of these 2
    fhir:Immunization.informationSourceCodeableConcept [ CodeableConcept ]
    fhir:Immunization.informationSourceReference [ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]
  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(Organization|Practitioner|PractitionerRole) ]; # 1..1 Individual or organization who was performing
  ], ...;
  fhir:Immunization.note [ Annotation ], ... ; # 0..* Additional immunization notes
  fhir:Immunization.reason [ CodeableReference(Condition|DiagnosticReport|Observation) ], ... ; # 0..* Why immunization occurred
  fhir:Immunization.isSubpotent [ 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
  fhir:Immunization.reaction [ # 0..* Details of a reaction that follows immunization
    fhir:Immunization.reaction.date [ dateTime ]; # 0..1 When reaction started
    fhir:Immunization.reaction.detail [ Reference(Observation) ]; # 0..1 Additional information on reaction
    fhir:Immunization.reaction.reported [ boolean ]; # 0..1 Indicates self-reported reaction
  ], ...;
  fhir:Immunization.protocolApplied [ # 0..* Protocol followed by the provider
    fhir:Immunization.protocolApplied.series [ string ]; # 0..1 Name of vaccine series
    fhir:Immunization.protocolApplied.authority [ Reference(Organization) ]; # 0..1 Who is responsible for publishing the recommendations
    fhir:Immunization.protocolApplied.targetDisease [ CodeableConcept ], ... ; # 0..* Vaccine preventatable disease being targetted
    fhir:Immunization.protocolApplied.doseNumber [ string ]; # 1..1 Dose number within series
    fhir:Immunization.protocolApplied.seriesDoses [ string ]; # 0..1 Recommended number of doses for immunity
  ], ...;
]

Changes since R3

Immunization
Immunization.status
  • Change value set from http://hl7.org/fhir/ValueSet/immunization-status|4.0.0 to http://hl7.org/fhir/ValueSet/immunization-status|4.4.0
Immunization.informationSource[x]
  • Added Element
Immunization.reason
  • Added Element
Immunization.protocolApplied.doseNumber
  • Added Mandatory Element
Immunization.protocolApplied.seriesDoses
  • Added Element
Immunization.reportOrigin
  • deleted
Immunization.reasonCode
  • deleted
Immunization.reasonReference
  • deleted
Immunization.protocolApplied.doseNumber[x]
  • deleted
Immunization.protocolApplied.seriesDoses[x]
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 3 tests that all execute ok. All tests pass round-trip testing and 3 r3 resources are invalid (0 errors).)

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization TUDomainResourceImmunization event information
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier 0..*IdentifierBusiness identifier
... status ?!Σ1..1codecompleted | entered-in-error | not-done
Immunization Status Codes (Required)
... statusReason 0..1CodeableConceptReason for current status
Immunization Status Reason Codes (Example)
... vaccineCode Σ1..1CodeableConceptVaccine product administered
Vaccine Administered Value Set (Example)
... patient Σ1..1Reference(Patient)Who was immunized
... encounter 0..1Reference(Encounter)Encounter immunization was part of
... occurrence[x] Σ1..1Vaccine administration date
.... occurrenceDateTimedateTime
.... occurrenceStringstring
... recorded 0..1dateTimeWhen the immunization was first captured in the subject's record
... primarySource Σ0..1booleanIndicates context the data was recorded in
... informationSource[x] 0..1Indicates the source of a reported record
Immunization Origin Codes (Example)
.... informationSourceCodeableConceptCodeableConcept
.... informationSourceReferenceReference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
... location 0..1Reference(Location)Where immunization occurred
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... site 0..1CodeableConceptBody site vaccine was administered
Codes for Immunization Site of Administration (Example)
... route 0..1CodeableConceptHow vaccine entered body
Immunization Route Codes (Example)
... doseQuantity 0..1SimpleQuantityAmount of vaccine administered
... performer Σ0..*BackboneElementWho performed event
.... function Σ0..1CodeableConceptWhat type of performance was done
Immunization Function Codes (Extensible)
.... actor Σ1..1Reference(Practitioner | PractitionerRole | Organization)Individual or organization who was performing
... note Σ0..*AnnotationAdditional immunization notes
... reason 0..*CodeableReference(Condition | Observation | DiagnosticReport)Why immunization occurred
Immunization Reason Codes (Example)
... isSubpotent ?!Σ0..1booleanDose potency
... subpotentReason 0..*CodeableConceptReason for being subpotent
Immunization Subpotent Reason (Example)
... education I0..*BackboneElementEducational material presented to patient
+ Rule: One of documentType or reference SHALL be present
.... documentType 0..1stringEducational material document identifier
.... reference 0..1uriEducational material reference pointer
.... publicationDate 0..1dateTimeEducational material publication date
.... presentationDate 0..1dateTimeEducational material presentation date
... programEligibility 0..*CodeableConceptPatient eligibility for a vaccination program
Immunization Program Eligibility (Example)
... fundingSource 0..1CodeableConceptFunding source for the vaccine
Immunization Funding Source (Example)
... reaction 0..*BackboneElementDetails of a reaction that follows immunization
.... date 0..1dateTimeWhen reaction started
.... detail 0..1Reference(Observation)Additional information on reaction
.... reported 0..1booleanIndicates self-reported reaction
... protocolApplied 0..*BackboneElementProtocol followed by the provider
.... series 0..1stringName of vaccine series
.... authority 0..1Reference(Organization)Who is responsible for publishing the recommendations
.... targetDisease 0..*CodeableConceptVaccine preventatable disease being targetted
Immunization Target Disease Codes (Example)
.... doseNumber 1..1stringDose number within series
.... seriesDoses 0..1stringRecommended number of doses for immunity

doco Documentation for this format

UML Diagram (Legend)

Immunization (DomainResource)A unique identifier assigned to this immunization recordidentifier : Identifier [0..*]Indicates the current status of the immunization event (this element modifies the meaning of other elements)status : code [1..1] « A set of codes indicating the current status of an Immunization. (Strength=Required)ImmunizationStatusCodes! »Indicates the reason the immunization event was not performedstatusReason : CodeableConcept [0..1] « The reason why a vaccine was not administered. (Strength=Example) ImmunizationStatusReasonCodes?? »Vaccine that was administered or was to be administeredvaccineCode : CodeableConcept [1..1] « The code for vaccine product administered. (Strength=Example)VaccineAdministeredValueSet?? »The patient who either received or did not receive the immunizationpatient : Reference [1..1] « Patient »The visit or admission or other contact between patient and health care provider the immunization was performed as part ofencounter : Reference [0..1] « Encounter »Date vaccine administered or was to be administeredoccurrence[x] : PrimitiveType [1..1] « dateTime|string »The date the occurrence of the immunization was first captured in the record - potentially significantly after the occurrence of the eventrecorded : dateTime [0..1]Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth recordprimarySource : boolean [0..1]Typically the source of the data when the report of the immunization event is not based on information from the person who administered the vaccineinformationSource[x] : DataType [0..1] « CodeableConcept|Reference( Patient|Practitioner|PractitionerRole|RelatedPerson| Organization); The source of the data for a record which is not from a primary source. (Strength=Example)ImmunizationOriginCodes?? »The service delivery location where the vaccine administration occurredlocation : Reference [0..1] « Location »Name of vaccine manufacturermanufacturer : Reference [0..1] « Organization »Lot number of the vaccine productlotNumber : string [0..1]Date vaccine batch expiresexpirationDate : date [0..1]Body site where vaccine was administeredsite : CodeableConcept [0..1] « The site at which the vaccine was administered. (Strength=Example)CodesForImmunizationSiteOfAdm...?? »The path by which the vaccine product is taken into the bodyroute : CodeableConcept [0..1] « The route by which the vaccine was administered. (Strength=Example)ImmunizationRouteCodes?? »The quantity of vaccine product that was administereddoseQuantity : Quantity(SimpleQuantity) [0..1]Extra information about the immunization that is not conveyed by the other attributesnote : Annotation [0..*]Describes why the immunization occurred in coded or textual form, or Indicates another resource (Condition, Observation or DiagnosticReport) whose existence justifies this immunizationreason : DataType [0..*] « Condition|Observation|DiagnosticReport; The reason why a vaccine was administered. (Strength=Example) ImmunizationReasonCodes?? »Indication if a dose is considered to be subpotent. By default, a dose should be considered to be potent (this element modifies the meaning of other elements)isSubpotent : boolean [0..1]Reason why a dose is considered to be subpotentsubpotentReason : CodeableConcept [0..*] « The reason why a dose is considered to be subpotent. (Strength=Example) ImmunizationSubpotentReason?? »Indicates a patient's eligibility for a funding programprogramEligibility : CodeableConcept [0..*] « The patient's eligibility for a vaccation program. (Strength=Example) ImmunizationProgramEligibility?? »Indicates the source of the vaccine actually administered. This may be different than the patient eligibility (e.g. the patient may be eligible for a publically purchased vaccine but due to inventory issues, vaccine purchased with private funds was actually administered)fundingSource : CodeableConcept [0..1] « The source of funding used to purchase the vaccine administered. (Strength=Example)ImmunizationFundingSource?? »PerformerDescribes the type of performance (e.g. ordering provider, administering provider, etc.)function : CodeableConcept [0..1] « The role a practitioner or organization plays in the immunization event. (Strength=Extensible)ImmunizationFunctionCodes+ »The practitioner or organization who performed the actionactor : Reference [1..1] « Practitioner|PractitionerRole| Organization »EducationIdentifier of the material presented to the patientdocumentType : string [0..1]Reference pointer to the educational material given to the patient if the information was on linereference : uri [0..1]Date the educational material was publishedpublicationDate : dateTime [0..1]Date the educational material was given to the patientpresentationDate : dateTime [0..1]ReactionDate of reaction to the immunizationdate : dateTime [0..1]Details of the reactiondetail : Reference [0..1] « Observation »Self-reported indicatorreported : boolean [0..1]ProtocolAppliedOne possible path to achieve presumed immunity against a disease - within the context of an authorityseries : string [0..1]Indicates the authority who published the protocol (e.g. ACIP) that is being followedauthority : Reference [0..1] « Organization »The vaccine preventable disease the dose is being administered againsttargetDisease : CodeableConcept [0..*] « The vaccine preventable disease the dose is being administered for. (Strength=Example) ImmunizationTargetDiseaseCodes?? »Nominal position in a series as intended by the practitioner administering the dosedoseNumber : string [1..1]The recommended number of doses to achieve immunity as intended by the practitioner administering the doseseriesDoses : string [0..1]Indicates who performed the immunization eventperformer[0..*]Educational material presented to the patient (or guardian) at the time of vaccine administrationeducation[0..*]Categorical data indicating that an adverse event is associated in time to an immunizationreaction[0..*]The protocol (set of recommendations) being followed by the provider who administered the doseprotocolApplied[0..*]

XML Template

<Immunization xmlns="http://hl7.org/fhir"> doco
 <!-- 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 for current status --></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>
 <occurrence[x]><!-- 1..1 dateTime|string Vaccine administration date --></occurrence[x]>
 <recorded value="[dateTime]"/><!-- 0..1 When the immunization was first captured in the subject's record -->
 <primarySource value="[boolean]"/><!-- 0..1 Indicates context the data was recorded in -->
 <informationSource[x]><!-- 0..1 CodeableConcept|Reference(Organization|Patient|
   Practitioner|PractitionerRole|RelatedPerson) Indicates the source of a  reported record --></informationSource[x]>
 <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(Organization|Practitioner|PractitionerRole) Individual or organization who was performing --></actor>
 </performer>
 <note><!-- 0..* Annotation Additional immunization notes --></note>
 <reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|Observation) Why immunization occurred --></reason>
 <isSubpotent 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>
 <reaction>  <!-- 0..* Details of a reaction that follows immunization -->
  <date value="[dateTime]"/><!-- 0..1 When reaction started -->
  <detail><!-- 0..1 Reference(Observation) Additional information on reaction --></detail>
  <reported value="[boolean]"/><!-- 0..1 Indicates self-reported reaction -->
 </reaction>
 <protocolApplied>  <!-- 0..* Protocol followed by the provider -->
  <series value="[string]"/><!-- 0..1 Name of vaccine series -->
  <authority><!-- 0..1 Reference(Organization) Who is responsible for publishing the recommendations --></authority>
  <targetDisease><!-- 0..* CodeableConcept Vaccine preventatable disease being targetted --></targetDisease>
  <doseNumber value="[string]"/><!-- 1..1 Dose number within series -->
  <seriesDoses value="[string]"/><!-- 0..1 Recommended number of doses for immunity -->
 </protocolApplied>
</Immunization>

JSON Template

{doco
  "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 for current status
  "vaccineCode" : { CodeableConcept }, // R!  Vaccine product administered
  "patient" : { Reference(Patient) }, // R!  Who was immunized
  "encounter" : { Reference(Encounter) }, // Encounter immunization was part of
  // occurrence[x]: Vaccine administration date. One of these 2:
  "occurrenceDateTime" : "<dateTime>",
  "occurrenceString" : "<string>",
  "recorded" : "<dateTime>", // When the immunization was first captured in the subject's record
  "primarySource" : <boolean>, // Indicates context the data was recorded in
  // informationSource[x]: Indicates the source of a  reported record. One of these 2:
  "informationSourceCodeableConcept" : { CodeableConcept },
  "informationSourceReference" : { Reference(Organization|Patient|Practitioner|
   PractitionerRole|RelatedPerson) },
  "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(Organization|Practitioner|PractitionerRole) } // R!  Individual or organization who was performing
  }],
  "note" : [{ Annotation }], // Additional immunization notes
  "reason" : [{ CodeableReference(Condition|DiagnosticReport|Observation) }], // Why immunization occurred
  "isSubpotent" : <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
  "reaction" : [{ // Details of a reaction that follows immunization
    "date" : "<dateTime>", // When reaction started
    "detail" : { Reference(Observation) }, // Additional information on reaction
    "reported" : <boolean> // Indicates self-reported reaction
  }],
  "protocolApplied" : [{ // Protocol followed by the provider
    "series" : "<string>", // Name of vaccine series
    "authority" : { Reference(Organization) }, // Who is responsible for publishing the recommendations
    "targetDisease" : [{ CodeableConcept }], // Vaccine preventatable disease being targetted
    "doseNumber" : "<string>", // R!  Dose number within series
    "seriesDoses" : "<string>" // Recommended number of doses for immunity
  }]
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ 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 for current status
  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
  # Immunization.occurrence[x] : 1..1 Vaccine administration date. One of these 2
    fhir:Immunization.occurrenceDateTime [ dateTime ]
    fhir:Immunization.occurrenceString [ string ]
  fhir:Immunization.recorded [ dateTime ]; # 0..1 When the immunization was first captured in the subject's record
  fhir:Immunization.primarySource [ boolean ]; # 0..1 Indicates context the data was recorded in
  # Immunization.informationSource[x] : 0..1 Indicates the source of a  reported record. One of these 2
    fhir:Immunization.informationSourceCodeableConcept [ CodeableConcept ]
    fhir:Immunization.informationSourceReference [ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ]
  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(Organization|Practitioner|PractitionerRole) ]; # 1..1 Individual or organization who was performing
  ], ...;
  fhir:Immunization.note [ Annotation ], ... ; # 0..* Additional immunization notes
  fhir:Immunization.reason [ CodeableReference(Condition|DiagnosticReport|Observation) ], ... ; # 0..* Why immunization occurred
  fhir:Immunization.isSubpotent [ 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
  fhir:Immunization.reaction [ # 0..* Details of a reaction that follows immunization
    fhir:Immunization.reaction.date [ dateTime ]; # 0..1 When reaction started
    fhir:Immunization.reaction.detail [ Reference(Observation) ]; # 0..1 Additional information on reaction
    fhir:Immunization.reaction.reported [ boolean ]; # 0..1 Indicates self-reported reaction
  ], ...;
  fhir:Immunization.protocolApplied [ # 0..* Protocol followed by the provider
    fhir:Immunization.protocolApplied.series [ string ]; # 0..1 Name of vaccine series
    fhir:Immunization.protocolApplied.authority [ Reference(Organization) ]; # 0..1 Who is responsible for publishing the recommendations
    fhir:Immunization.protocolApplied.targetDisease [ CodeableConcept ], ... ; # 0..* Vaccine preventatable disease being targetted
    fhir:Immunization.protocolApplied.doseNumber [ string ]; # 1..1 Dose number within series
    fhir:Immunization.protocolApplied.seriesDoses [ string ]; # 0..1 Recommended number of doses for immunity
  ], ...;
]

Changes since Release 3

Immunization
Immunization.status
  • Change value set from http://hl7.org/fhir/ValueSet/immunization-status|4.0.0 to http://hl7.org/fhir/ValueSet/immunization-status|4.4.0
Immunization.informationSource[x]
  • Added Element
Immunization.reason
  • Added Element
Immunization.protocolApplied.doseNumber
  • Added Mandatory Element
Immunization.protocolApplied.seriesDoses
  • Added Element
Immunization.reportOrigin
  • deleted
Immunization.reasonCode
  • deleted
Immunization.reasonReference
  • deleted
Immunization.protocolApplied.doseNumber[x]
  • deleted
Immunization.protocolApplied.seriesDoses[x]
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 3 tests that all execute ok. All tests pass round-trip testing and 3 r3 resources are invalid (0 errors).)

 

See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis a

PathDefinitionTypeReference
Immunization.status A set of codes indicating the current status of an Immunization.RequiredImmunizationStatusCodes
Immunization.statusReason The reason why a vaccine was not administered.ExampleImmunizationStatusReasonCodes
Immunization.vaccineCode The code for vaccine product administered.ExampleVaccineAdministeredValueSet
Immunization.informationSource[x] The source of the data for a record which is not from a primary source.ExampleImmunizationOriginCodes
Immunization.site The site at which the vaccine was administered.ExampleCodesForImmunizationSiteOfAdministration
Immunization.route The route by which the vaccine was administered.ExampleImmunizationRouteCodes
Immunization.performer.function The role a practitioner or organization plays in the immunization event.ExtensibleImmunizationFunctionCodes
Immunization.reason The reason why a vaccine was administered.ExampleImmunizationReasonCodes
Immunization.subpotentReason The reason why a dose is considered to be subpotent.ExampleImmunizationSubpotentReason
Immunization.programEligibility The patient's eligibility for a vaccation program.ExampleImmunizationProgramEligibility
Immunization.fundingSource The source of funding used to purchase the vaccine administered.ExampleImmunizationFundingSource
Immunization.protocolApplied.targetDisease The vaccine preventable disease the dose is being administered for.ExampleImmunizationTargetDiseaseCodes

idLevelLocationDescriptionExpression
imm-1Rule Immunization.educationOne of documentType or reference SHALL be presentdocumentType.exists() or reference.exists()

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
datedateVaccination (non)-Administration Date(Immunization.occurrence as dateTime)17 Resources
identifiertokenBusiness identifierImmunization.identifier30 Resources
locationreferenceThe service delivery location or facility in which the vaccine was / was to be administeredImmunization.location
(Location)
lot-number NstringVaccine Lot NumberImmunization.lotNumber
manufacturerreferenceVaccine ManufacturerImmunization.manufacturer
(Organization)
patientreferenceThe patient for the vaccination recordImmunization.patient
(Patient)
33 Resources
performerreferenceThe practitioner or organization who played a role in the vaccinationImmunization.performer.actor
(Practitioner, Organization, PractitionerRole)
reactionreferenceAdditional information on reactionImmunization.reaction.detail
(Observation)
reaction-date NdateWhen reaction startedImmunization.reaction.date
reason-code DtokenReason why the vaccine was administeredImmunization.reason.concept
reason-reference DreferenceReference to a resource (by instance)Immunization.reason.reference
series NstringThe series being followed by the providerImmunization.protocolApplied.series
status NtokenImmunization event statusImmunization.status
status-reasontokenReason why the vaccine was not administeredImmunization.statusReason
target-diseasetokenThe target disease the dose is being administered againstImmunization.protocolApplied.targetDisease
vaccine-codetokenVaccine Product AdministeredImmunization.vaccineCode