Release 4B Ballot #1

This page is part of the FHIR Specification v4.1.0: R4B Ballot. About the R4B version of FHIR. 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 not done
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
... reportOrigin 0..1CodeableConceptIndicates the source of a secondarily reported record
Immunization Origin Codes (Example)
... 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
... reasonCode 0..*CodeableConceptWhy immunization occurred
Immunization Reason Codes (Example)
... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport)Why immunization occurred
... 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[x] 1..1Dose number within series
..... doseNumberPositiveIntpositiveInt
..... doseNumberStringstring
.... seriesDoses[x] 0..1Recommended number of doses for immunity
..... seriesDosesPositiveIntpositiveInt
..... seriesDosesStringstring

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] : Element [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]An indication that the content of the record is based on information from the person who administered the vaccine. This reflects the context under which the data was originally recordedprimarySource : boolean [0..1]The source of the data when the report of the immunization event is not based on information from the person who administered the vaccinereportOrigin : CodeableConcept [0..1] « 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..*]Reasons why the vaccine was administeredreasonCode : CodeableConcept [0..*] « The reason why a vaccine was administered. (Strength=Example)ImmunizationReasonCodes?? »Condition, Observation or DiagnosticReport that supports why the immunization was administeredreasonReference : Reference [0..*] « Condition|Observation| DiagnosticReport »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 seriesdoseNumber[x] : Element [1..1] « positiveInt|string »The recommended number of doses to achieve immunityseriesDoses[x] : Element [0..1] « positiveInt|string »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 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>
 <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 -->
 <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(Organization|Practitioner|PractitionerRole) 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|DiagnosticReport|Observation) Why immunization occurred --></reasonReference>
 <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[x]><!-- 1..1 positiveInt|string Dose number within series --></doseNumber[x]>
  <seriesDoses[x]><!-- 0..1 positiveInt|string Recommended number of doses for immunity --></seriesDoses[x]>
 </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 not done
  "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
  "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(Organization|Practitioner|PractitionerRole) } // R!  Individual or organization who was performing
  }],
  "note" : [{ Annotation }], // Additional immunization notes
  "reasonCode" : [{ CodeableConcept }], // Why immunization occurred
  "reasonReference" : [{ Reference(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[x]: Dose number within series. One of these 2:
    "doseNumberPositiveInt" : "<positiveInt>",
    "doseNumberString" : "<string>",
    // seriesDoses[x]: Recommended number of doses for immunity. One of these 2:
    "seriesDosesPositiveInt" : "<positiveInt>"
    "seriesDosesString" : "<string>"
  }]
}

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 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
  # 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
  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(Organization|Practitioner|PractitionerRole) ]; # 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|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
    # Immunization.protocolApplied.doseNumber[x] : 1..1 Dose number within series. One of these 2
      fhir:Immunization.protocolApplied.doseNumberPositiveInt [ positiveInt ]
      fhir:Immunization.protocolApplied.doseNumberString [ string ]
    # Immunization.protocolApplied.seriesDoses[x] : 0..1 Recommended number of doses for immunity. One of these 2
      fhir:Immunization.protocolApplied.seriesDosesPositiveInt [ positiveInt ]
      fhir:Immunization.protocolApplied.seriesDosesString [ string ]
  ], ...;
]

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

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 not done
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
... reportOrigin 0..1CodeableConceptIndicates the source of a secondarily reported record
Immunization Origin Codes (Example)
... 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
... reasonCode 0..*CodeableConceptWhy immunization occurred
Immunization Reason Codes (Example)
... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport)Why immunization occurred
... 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[x] 1..1Dose number within series
..... doseNumberPositiveIntpositiveInt
..... doseNumberStringstring
.... seriesDoses[x] 0..1Recommended number of doses for immunity
..... seriesDosesPositiveIntpositiveInt
..... seriesDosesStringstring

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] : Element [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]An indication that the content of the record is based on information from the person who administered the vaccine. This reflects the context under which the data was originally recordedprimarySource : boolean [0..1]The source of the data when the report of the immunization event is not based on information from the person who administered the vaccinereportOrigin : CodeableConcept [0..1] « 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..*]Reasons why the vaccine was administeredreasonCode : CodeableConcept [0..*] « The reason why a vaccine was administered. (Strength=Example)ImmunizationReasonCodes?? »Condition, Observation or DiagnosticReport that supports why the immunization was administeredreasonReference : Reference [0..*] « Condition|Observation| DiagnosticReport »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 seriesdoseNumber[x] : Element [1..1] « positiveInt|string »The recommended number of doses to achieve immunityseriesDoses[x] : Element [0..1] « positiveInt|string »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 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>
 <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 -->
 <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(Organization|Practitioner|PractitionerRole) 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|DiagnosticReport|Observation) Why immunization occurred --></reasonReference>
 <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[x]><!-- 1..1 positiveInt|string Dose number within series --></doseNumber[x]>
  <seriesDoses[x]><!-- 0..1 positiveInt|string Recommended number of doses for immunity --></seriesDoses[x]>
 </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 not done
  "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
  "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(Organization|Practitioner|PractitionerRole) } // R!  Individual or organization who was performing
  }],
  "note" : [{ Annotation }], // Additional immunization notes
  "reasonCode" : [{ CodeableConcept }], // Why immunization occurred
  "reasonReference" : [{ Reference(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[x]: Dose number within series. One of these 2:
    "doseNumberPositiveInt" : "<positiveInt>",
    "doseNumberString" : "<string>",
    // seriesDoses[x]: Recommended number of doses for immunity. One of these 2:
    "seriesDosesPositiveInt" : "<positiveInt>"
    "seriesDosesString" : "<string>"
  }]
}

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 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
  # 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
  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(Organization|Practitioner|PractitionerRole) ]; # 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|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
    # Immunization.protocolApplied.doseNumber[x] : 1..1 Dose number within series. One of these 2
      fhir:Immunization.protocolApplied.doseNumberPositiveInt [ positiveInt ]
      fhir:Immunization.protocolApplied.doseNumberString [ string ]
    # Immunization.protocolApplied.seriesDoses[x] : 0..1 Recommended number of doses for immunity. One of these 2
      fhir:Immunization.protocolApplied.seriesDosesPositiveInt [ positiveInt ]
      fhir:Immunization.protocolApplied.seriesDosesString [ string ]
  ], ...;
]

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

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 dependency analysis

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.reportOrigin 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.reasonCode 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 DateImmunization.occurrence
identifiertokenBusiness identifierImmunization.identifier
locationreferenceThe service delivery location or facility in which the vaccine was / was to be administeredImmunization.location
(Location)
lot-numberstringVaccine Lot NumberImmunization.lotNumber
manufacturerreferenceVaccine ManufacturerImmunization.manufacturer
(Organization)
patientreferenceThe patient for the vaccination recordImmunization.patient
(Patient)
performerreferenceThe practitioner or organization who played a role in the vaccinationImmunization.performer.actor
(Practitioner, Organization, PractitionerRole)
reactionreferenceAdditional information on reactionImmunization.reaction.detail
(Observation)
reaction-datedateWhen reaction startedImmunization.reaction.date
reason-codetokenReason why the vaccine was administeredImmunization.reasonCode
reason-referencereferenceWhy immunization occurredImmunization.reasonReference
(Condition, Observation, DiagnosticReport)
seriesstringThe series being followed by the providerImmunization.protocolApplied.series
statustokenImmunization 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