FHIR Release 3 (STU) R4 Ballot #1 (Mixed Normative/Trial use)

This page is part of the FHIR Specification (v3.0.2: STU 3). (v3.3.0: R4 Ballot 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.6 11.13 Resource Immunization - Content

Public Health and Emergency Response Work Group Maturity Level : 3   Trial Use Compartments : Patient , Practitioner

Describes the event of a patient being administered a vaccination vaccine or a record of a vaccination an immunization as reported by a patient, a clinician or another party party.

STU Note: The Public Health work group wants to draw the attention of reviewers and may implementers to the following issues for feedback:

  1. The R3 Immunization resource contained a protocol backbone element which contained, among other elements, the doseSequence which indicates the dose number within the series. In R4, the protocol backbone element has been moved to the ImmunizationEvalation resource to allow independent evaluations of the immunization event. The removal of doseSequence is likely to be problematic for providers in Australian and New Zealand where they are required to report the dose sequence as part of the immunization event. We seek feedback on whether other jurisdictions also require the dose sequence. Options include vaccine reaction information adding doseSequence as part of the core resource or as an extension.
  2. The isPotent, subpotentReason, education, programEligibility and what vaccination protocol was followed. fundingSource are new elements and we would like feedback on the definition of these elements.

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, animals but does not include the administration of non-vaccine agents, even those that may have or claim to have immunological effects.

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

This resource references the following resources:

  • Patient
  • Practitioner
  • Organization
  • Location
  • Observation Encounter

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.

AllergyIntolerance and Immunization.reaction 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 and , ImmunizationEvaluation , ImmunizationRecommendation and Observation

Structure

0..1 reported 0..1 Indicates self-reported reaction 0..1
Name Flags Card. Type Description & Constraints doco
. . Immunization I TU DomainResource Immunization event information
+ If immunization was administered (notGiven=false) then explanation.reasonNotGiven SHALL be absent. + If immunization was not administered (notGiven=true) then there SHALL be no reaction nor explanation.reason present Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier 0..* Identifier Business identifier
. . . status ?! Σ 1..1 code completed | entered-in-error | not-done
Immunization Status Codes ( Required )
. . notGiven . statusReason ?! Σ 1..1 0..1 boolean CodeableConcept Flag for whether immunization was given Reason not done
Immunization Status Reason Codes ( Example )
. . . vaccineCode Σ 1..1 CodeableConcept Vaccine product administered
Vaccine Administered Value Set ( Example )
. . . patient Σ 1..1 Reference ( Patient ) Who was immunized
. . . encounter 0..1 Reference ( Encounter ) Encounter administered as immunization was part of
. . . date 0..1 dateTime Vaccination Vaccine administration date
. . . primarySource Σ 1..1 boolean Indicates context the data was recorded in
. . . reportOrigin 0..1 CodeableConcept Indicates the source of a secondarily reported record
Immunization Origin Codes ( Example )
. . . location 0..1 Reference ( Location ) Where vaccination immunization occurred
. . . manufacturer 0..1 Reference ( Organization ) Vaccine manufacturer
. . . lotNumber 0..1 string Vaccine lot number
. . . expirationDate 0..1 date Vaccine expiration date
. . . site 0..1 CodeableConcept Body site vaccine was administered
Codes for Immunization Site of Administration ( Example )
. . . route 0..1 CodeableConcept How vaccine entered body
Immunization Route Codes ( Example )
. . . doseQuantity 0..1 SimpleQuantity Amount of vaccine administered
. . . practitioner performer Σ 0..* BackboneElement Who performed event
. . . . role function Σ 0..1 CodeableConcept What type of performance was done
Immunization Role Function Codes ( Extensible )
. . . . actor Σ 1..1 Reference ( Practitioner | Organization ) Individual or organization who was performing
. . . note Σ 0..* Annotation Vaccination Additional immunization notes
. . explanation . reasonCode 0..1 BackboneElement Administration/non-administration reasons reason 0..* CodeableConcept Why immunization occurred
Immunization Reason Codes ( Example )
. . reasonNotGiven . reasonReference 0..* CodeableConcept Reference ( Condition | Observation | DiagnosticReport ) Why immunization did not occur Immunization Reasons for Not Immunizing Codes ( Example ) occurred
. . reaction . isPotent 0..* BackboneElement Details of a reaction that follows immunization date ?! Σ 0..1 dateTime boolean When reaction started Dose potency
. . detail . subpotentReason Reference ( Observation ) Additional information on reaction 0..* CodeableConcept Reason for being subpotent
boolean Immunization Subpotent Reason ( Example )
. . . vaccinationProtocol education I 0..* BackboneElement What protocol was followed Educational material presented to patient
+ One of documentType or reference SHALL be present
. . . . doseSequence documentType positiveInt Dose number within series description 0..1 string Details of vaccine protocol Educational material document identifier
. . . authority . reference 0..1 Reference ( Organization uri ) Who is responsible for protocol Educational material reference pointer
. . . . series publicationDate 0..1 string dateTime Name of vaccine series Educational material publication date
. . . . seriesDoses presentationDate 0..1 positiveInt dateTime Recommended number of doses for immunity Educational material presentation date
. . . targetDisease programEligibility 1..* 0..* CodeableConcept Disease immunized against Patient eligibility for a vaccination program
Vaccination Protocol Dose Target Codes Immunization Program Eligibility ( Example )
. . . doseStatus fundingSource 1..1 CodeableConcept Indicates if dose counts towards immunity Vaccination Protocol Dose Status codes ( Example ) doseStatusReason 0..1 CodeableConcept Why dose does (not) count Funding source for the vaccine
Vaccination Protocol Dose Status Reason codes Immunization Funding Source ( Example )

doco Documentation for this format

UML Diagram ( Legend )

Immunization ( DomainResource ) A unique identifier assigned to this immunization record identifier : Identifier [0..*] Indicates the current status of the vaccination 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) Immunization Status ! » Indicates if the vaccination was or reason the immunization event was not given (this element modifies the meaning of other elements) performed notGiven statusReason : boolean CodeableConcept [1..1] [0..1] « The reason why a vaccine was not administered (Strength=Example) Immunization Status Reason ?? » Vaccine that was administered or was to be administered vaccineCode : CodeableConcept [1..1] « The code for vaccine product administered (Strength=Example) Vaccine Administered Value Set ?? » The patient who either received or did not receive the immunization patient : Reference [1..1] « Patient » The visit or admission or other contact between patient and health care provider the immunization was performed as part of encounter : Reference [0..1] « Encounter » Date vaccine administered or was to be administered date : 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 recorded primarySource : boolean [1..1] The source of the data when the report of the immunization event is not based on information from the person who administered the vaccine reportOrigin : CodeableConcept [0..1] « The source of the data for a record which is not from a primary source. (Strength=Example) Immunization Origin ?? » The service delivery location where the vaccine administration occurred location : Reference [0..1] « Location » Name of vaccine manufacturer manufacturer : Reference [0..1] « Organization » Lot number of the vaccine product lotNumber : string [0..1] Date vaccine batch expires expirationDate : date [0..1] Body site where vaccine was administered site : CodeableConcept [0..1] « The site at which the vaccine was administered (Strength=Example) Codes for Immunization Site o... ?? » The path by which the vaccine product is taken into the body route : CodeableConcept [0..1] « The route by which the vaccine was administered (Strength=Example) Immunization Route ?? » The quantity of vaccine product that was administered doseQuantity : Quantity ( SimpleQuantity ) [0..1] Extra information about the immunization that is not conveyed by the other attributes note : Annotation [0..*] Practitioner Describes Reasons why the type of performance (e.g. ordering provider, administering provider, etc.) vaccine was administered role reasonCode : CodeableConcept [0..1] [0..*] « The role reason why a practitioner plays in the immunization event (Strength=Extensible) vaccine was administered (Strength=Example) Immunization Role Reason + ?? » The device, practitioner, etc. who performed Condition, Observation or DiagnosticReport that supports why the action immunization was administered actor reasonReference : Reference [1..1] Practitioner [0..*] « Condition | Observation | DiagnosticReport » Explanation 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) isPotent : boolean [0..1] Reasons Reason why a vaccine was administered dose is considered to be subpotent reason subpotentReason : CodeableConcept [0..*] « The reason why a vaccine was administered dose is considered to be subpotent (Strength=Example) Immunization Subpotent Reason ?? » Reason why Indicates a vaccine was not administered patient's eligibility for a funding program reasonNotGiven programEligibility : CodeableConcept [0..*] « The reason why patient's eligibility for a vaccine was not administered vaccation program (Strength=Example) Immunization Reasons for Program Not ... Eligibil... ?? » Reaction Date Indicates the source of reaction to the immunization 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) date fundingSource : dateTime CodeableConcept [0..1] « Details The source of funding used to purchase the reaction vaccine administered (Strength=Example) detail : Reference [0..1] Observation Immunization Funding Source ?? » Self-reported indicator reported : boolean [0..1] VaccinationProtocol Performer Nominal position in a series Describes the type of performance (e.g. ordering provider, administering provider, etc.) doseSequence function : positiveInt CodeableConcept [0..1] « Contains the description about the protocol under which The role a practitioner or organization plays in the vaccine was administered immunization event (Strength=Extensible) description : string Immunization Function [0..1] + » Indicates the authority The practitioner or organization who published performed the protocol. E.g. ACIP action authority actor : Reference [0..1] [1..1] « Practitioner | Organization » One possible path to achieve presumed immunity against a disease - within the context of an authority series : string [0..1] Education The recommended number Identifier of doses the material presented to achieve immunity the patient seriesDoses documentType : positiveInt string [0..1] The targeted disease targetDisease : CodeableConcept [1..*] The disease target of Reference pointer to the vaccination protocol (Strength=Example) educational material given to the patient if the information was on line Vaccination Protocol Dose reference Tar... : uri ?? [0..1] Indicates if the immunization event should "count" against Date the protocol educational material was published doseStatus publicationDate : CodeableConcept [1..1] The status of the vaccination protocol (i.e. should this count) (Strength=Example) Vaccination Protocol Dose Sta... dateTime ?? [0..1] Provides an explanation as Date the educational material was given to why an immunization event should or should not count against the protocol patient doseStatusReason presentationDate : CodeableConcept dateTime [0..1] The reason for the determining if a vaccination should count or why vaccination should not count. (Strength=Example) Vaccination Protocol Dose Sta... ?? Indicates who or what performed the event practitioner [0..*] Reasons why a vaccine was or was not administered explanation [0..1] Categorical data indicating that an adverse event is associated in time Educational material presented to an immunization reaction [0..*] Contains information about the protocol(s) under which patient (or guardian) at the time of vaccine was administered administration vaccinationProtocol education [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>
 <
 <

 <encounter><!-- 0..1 Reference(Encounter) Encounter immunization was part of --></encounter>
 <date value="[dateTime]"/><!-- 0..1 Vaccine administration date -->
 <primarySource value="[boolean]"/><!-- 1..1 Indicates context the data was recorded in -->

 <reportOrigin><!-- 0..1 CodeableConcept Indicates the source of a secondarily reported record --></reportOrigin>
 <</location>

 <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>
 <
  <</role>
  <</actor>
 </practitioner>
 <</note>
 <
  <</reason>
  <</reasonNotGiven>
 </explanation>
 <
  <
  <</detail>
  <
 </reaction>
 <
  <
  <
  <</authority>
  <
  <
  <</targetDisease>
  <</doseStatus>
  <</doseStatusReason>
 </vaccinationProtocol>

 <performer>  <!-- 0..* Who performed event -->
  <function><!-- 0..1 CodeableConcept What type of performance was done --></function>
  <actor><!-- 1..1 Reference(Practitioner|Organization) 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|Observation|DiagnosticReport) Why immunization occurred --></reasonReference>
 <isPotent 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>

</Immunization>

JSON Template

{doco
  "resourceType" : "",

  "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
  "date" : "<dateTime>", // Vaccine administration date
  "primarySource" : <boolean>, // R!  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(Practitioner|Organization) } // R!  Individual or organization who was performing

  }],
  "
  "
    "
    "
  },
  "
    "
    "
    "

  "note" : [{ Annotation }], // Additional immunization notes
  "reasonCode" : [{ CodeableConcept }], // Why immunization occurred
  "reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport) }], // Why immunization occurred
  "isPotent" : <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

}

Turtle Template

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


[ a fhir:;

[ 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:
  fhir:

  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:
  fhir:

  fhir:Immunization.encounter [ Reference(Encounter) ]; # 0..1 Encounter immunization was part of
  fhir:Immunization.date [ dateTime ]; # 0..1 Vaccine administration date

  fhir:Immunization.primarySource [ boolean ]; # 1..1 Indicates context the data was recorded in
  fhir:Immunization.reportOrigin [ CodeableConcept ]; # 0..1 Indicates the source of a secondarily reported record
  fhir:

  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:
    fhir:
    fhir:
  ], ...;
  fhir:
  fhir:
    fhir:
    fhir:
  ];
  fhir:
    fhir:
    fhir:
    fhir:

  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(Practitioner|Organization) ]; # 1..1 Individual or organization who was performing

  ], ...;
  fhir:
    fhir:
    fhir:
    fhir:
    fhir:
    fhir:
    fhir:
    fhir:
    fhir:

  fhir:Immunization.note [ Annotation ], ... ; # 0..* Additional immunization notes
  fhir:Immunization.reasonCode [ CodeableConcept ], ... ; # 0..* Why immunization occurred
  fhir:Immunization.reasonReference [ Reference(Condition|Observation|DiagnosticReport) ], ... ; # 0..* Why immunization occurred
  fhir:Immunization.isPotent [ 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

]

Changes since DSTU2 R3

Immunization
Immunization.status Immunization.statusReason
  • Change value set from http://hl7.org/fhir/ValueSet/medication-admin-status to http://hl7.org/fhir/ValueSet/immunization-status Added Element
Immunization.notGiven Immunization.performer
  • Renamed from wasNotGiven to notGiven Added Element
Immunization.primarySource Immunization.performer.function
  • Added Element
Immunization.reportOrigin Immunization.performer.actor
  • Added Element
Immunization.practitioner Immunization.reasonCode
  • Added Element
Immunization.practitioner.role Immunization.reasonReference
  • Added Element
Immunization.practitioner.actor Immunization.isPotent
  • Added Element
Immunization.vaccinationProtocol.doseSequence Immunization.subpotentReason
  • Min Cardinality changed from 1 to 0 Added Element
Immunization.education
  • Added Element
Immunization.education.documentType
  • Added Element
Immunization.education.reference
  • Added Element
Immunization.education.publicationDate
  • Added Element
Immunization.education.presentationDate
  • Added Element
Immunization.programEligibility
  • Added Element
Immunization.fundingSource
  • Added Element
Immunization.reported Immunization.notGiven
  • deleted
Immunization.performer Immunization.practitioner
  • deleted
Immunization.requester Immunization.explanation
  • deleted
Immunization.reaction
  • deleted
Immunization.vaccinationProtocol
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON .

See R2 <--> R3 Conversion Maps (status = 2 tests that all execute ok. 2 fail round-trip testing and 2 r3 resources are invalid (2 errors). ). Note: these have note yet been updated to be R3 to R4

Structure

0..1 reported 0..1 Indicates self-reported reaction 0..1
Name Flags Card. Type Description & Constraints doco
. . Immunization I TU DomainResource Immunization event information
+ If immunization was administered (notGiven=false) then explanation.reasonNotGiven SHALL be absent. + If immunization was not administered (notGiven=true) then there SHALL be no reaction nor explanation.reason present Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension
. . . identifier 0..* Identifier Business identifier
. . . status ?! Σ 1..1 code completed | entered-in-error | not-done
Immunization Status Codes ( Required )
. . notGiven . statusReason ?! Σ 1..1 0..1 boolean CodeableConcept Flag for whether immunization was given Reason not done
Immunization Status Reason Codes ( Example )
. . . vaccineCode Σ 1..1 CodeableConcept Vaccine product administered
Vaccine Administered Value Set ( Example )
. . . patient Σ 1..1 Reference ( Patient ) Who was immunized
. . . encounter 0..1 Reference ( Encounter ) Encounter administered as immunization was part of
. . . date 0..1 dateTime Vaccination Vaccine administration date
. . . primarySource Σ 1..1 boolean Indicates context the data was recorded in
. . . reportOrigin 0..1 CodeableConcept Indicates the source of a secondarily reported record
Immunization Origin Codes ( Example )
. . . location 0..1 Reference ( Location ) Where vaccination immunization occurred
. . . manufacturer 0..1 Reference ( Organization ) Vaccine manufacturer
. . . lotNumber 0..1 string Vaccine lot number
. . . expirationDate 0..1 date Vaccine expiration date
. . . site 0..1 CodeableConcept Body site vaccine was administered
Codes for Immunization Site of Administration ( Example )
. . . route 0..1 CodeableConcept How vaccine entered body
Immunization Route Codes ( Example )
. . . doseQuantity 0..1 SimpleQuantity Amount of vaccine administered
. . . practitioner performer Σ 0..* BackboneElement Who performed event
. . . . role function Σ 0..1 CodeableConcept What type of performance was done
Immunization Role Function Codes ( Extensible )
. . . . actor Σ 1..1 Reference ( Practitioner | Organization ) Individual or organization who was performing
. . . note Σ 0..* Annotation Vaccination Additional immunization notes
. . explanation . reasonCode 0..1 BackboneElement Administration/non-administration reasons reason 0..* CodeableConcept Why immunization occurred
Immunization Reason Codes ( Example )
. . reasonNotGiven . reasonReference 0..* CodeableConcept Reference ( Condition | Observation | DiagnosticReport ) Why immunization did not occur Immunization Reasons for Not Immunizing Codes ( Example ) occurred
. . reaction . isPotent 0..* BackboneElement Details of a reaction that follows immunization date ?! Σ 0..1 dateTime boolean When reaction started Dose potency
. . detail . subpotentReason Reference ( Observation ) Additional information on reaction 0..* CodeableConcept Reason for being subpotent
boolean Immunization Subpotent Reason ( Example )
. . . vaccinationProtocol education I 0..* BackboneElement What protocol was followed Educational material presented to patient
+ One of documentType or reference SHALL be present
. . . . doseSequence documentType positiveInt Dose number within series description 0..1 string Details of vaccine protocol Educational material document identifier
. . . authority . reference 0..1 Reference ( Organization uri ) Who is responsible for protocol Educational material reference pointer
. . . . series publicationDate 0..1 string dateTime Name of vaccine series Educational material publication date
. . . . seriesDoses presentationDate 0..1 positiveInt dateTime Recommended number of doses for immunity Educational material presentation date
. . . targetDisease programEligibility 1..* 0..* CodeableConcept Disease immunized against Patient eligibility for a vaccination program
Vaccination Protocol Dose Target Codes Immunization Program Eligibility ( Example )
. . . doseStatus fundingSource 1..1 CodeableConcept Indicates if dose counts towards immunity Vaccination Protocol Dose Status codes ( Example ) doseStatusReason 0..1 CodeableConcept Why dose does (not) count Funding source for the vaccine
Vaccination Protocol Dose Status Reason codes Immunization Funding Source ( Example )

doco Documentation for this format

UML Diagram ( Legend )

Immunization ( DomainResource ) A unique identifier assigned to this immunization record identifier : Identifier [0..*] Indicates the current status of the vaccination 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) Immunization Status ! » Indicates if the vaccination was or reason the immunization event was not given (this element modifies the meaning of other elements) performed notGiven statusReason : boolean CodeableConcept [1..1] [0..1] « The reason why a vaccine was not administered (Strength=Example) Immunization Status Reason ?? » Vaccine that was administered or was to be administered vaccineCode : CodeableConcept [1..1] « The code for vaccine product administered (Strength=Example) Vaccine Administered Value Set ?? » The patient who either received or did not receive the immunization patient : Reference [1..1] « Patient » The visit or admission or other contact between patient and health care provider the immunization was performed as part of encounter : Reference [0..1] « Encounter » Date vaccine administered or was to be administered date : 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 recorded primarySource : boolean [1..1] The source of the data when the report of the immunization event is not based on information from the person who administered the vaccine reportOrigin : CodeableConcept [0..1] « The source of the data for a record which is not from a primary source. (Strength=Example) Immunization Origin ?? » The service delivery location where the vaccine administration occurred location : Reference [0..1] « Location » Name of vaccine manufacturer manufacturer : Reference [0..1] « Organization » Lot number of the vaccine product lotNumber : string [0..1] Date vaccine batch expires expirationDate : date [0..1] Body site where vaccine was administered site : CodeableConcept [0..1] « The site at which the vaccine was administered (Strength=Example) Codes for Immunization Site o... ?? » The path by which the vaccine product is taken into the body route : CodeableConcept [0..1] « The route by which the vaccine was administered (Strength=Example) Immunization Route ?? » The quantity of vaccine product that was administered doseQuantity : Quantity ( SimpleQuantity ) [0..1] Extra information about the immunization that is not conveyed by the other attributes note : Annotation [0..*] Practitioner Describes Reasons why the type of performance (e.g. ordering provider, administering provider, etc.) vaccine was administered role reasonCode : CodeableConcept [0..1] [0..*] « The role reason why a practitioner plays in the immunization event (Strength=Extensible) vaccine was administered (Strength=Example) Immunization Role Reason + ?? » The device, practitioner, etc. who performed Condition, Observation or DiagnosticReport that supports why the action immunization was administered actor reasonReference : Reference [1..1] Practitioner [0..*] « Condition | Observation | DiagnosticReport » Explanation 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) isPotent : boolean [0..1] Reasons Reason why a vaccine was administered dose is considered to be subpotent reason subpotentReason : CodeableConcept [0..*] « The reason why a vaccine was administered dose is considered to be subpotent (Strength=Example) Immunization Subpotent Reason ?? » Reason why Indicates a vaccine was not administered patient's eligibility for a funding program reasonNotGiven programEligibility : CodeableConcept [0..*] « The reason why patient's eligibility for a vaccine was not administered vaccation program (Strength=Example) Immunization Reasons for Program Not ... Eligibil... ?? » Reaction Date Indicates the source of reaction to the immunization 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) date fundingSource : dateTime CodeableConcept [0..1] « Details The source of funding used to purchase the reaction vaccine administered (Strength=Example) detail : Reference [0..1] Observation Immunization Funding Source ?? » Self-reported indicator reported : boolean [0..1] VaccinationProtocol Performer Nominal position in a series Describes the type of performance (e.g. ordering provider, administering provider, etc.) doseSequence function : positiveInt CodeableConcept [0..1] « Contains the description about the protocol under which The role a practitioner or organization plays in the vaccine was administered immunization event (Strength=Extensible) description : string Immunization Function [0..1] + » Indicates the authority The practitioner or organization who published performed the protocol. E.g. ACIP action authority actor : Reference [0..1] [1..1] « Practitioner | Organization » One possible path to achieve presumed immunity against a disease - within the context of an authority series : string [0..1] Education The recommended number Identifier of doses the material presented to achieve immunity the patient seriesDoses documentType : positiveInt string [0..1] The targeted disease targetDisease : CodeableConcept [1..*] The disease target of Reference pointer to the vaccination protocol (Strength=Example) educational material given to the patient if the information was on line Vaccination Protocol Dose reference Tar... : uri ?? [0..1] Indicates if the immunization event should "count" against Date the protocol educational material was published doseStatus publicationDate : CodeableConcept [1..1] The status of the vaccination protocol (i.e. should this count) (Strength=Example) Vaccination Protocol Dose Sta... dateTime ?? [0..1] Provides an explanation as Date the educational material was given to why an immunization event should or should not count against the protocol patient doseStatusReason presentationDate : CodeableConcept dateTime [0..1] The reason for the determining if a vaccination should count or why vaccination should not count. (Strength=Example) Vaccination Protocol Dose Sta... ?? Indicates who or what performed the event practitioner [0..*] Reasons why a vaccine was or was not administered explanation [0..1] Categorical data indicating that an adverse event is associated in time Educational material presented to an immunization reaction [0..*] Contains information about the protocol(s) under which patient (or guardian) at the time of vaccine was administered administration vaccinationProtocol education [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>
 <
 <

 <encounter><!-- 0..1 Reference(Encounter) Encounter immunization was part of --></encounter>
 <date value="[dateTime]"/><!-- 0..1 Vaccine administration date -->
 <primarySource value="[boolean]"/><!-- 1..1 Indicates context the data was recorded in -->

 <reportOrigin><!-- 0..1 CodeableConcept Indicates the source of a secondarily reported record --></reportOrigin>
 <</location>

 <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>
 <
  <</role>
  <</actor>
 </practitioner>
 <</note>
 <
  <</reason>
  <</reasonNotGiven>
 </explanation>
 <
  <
  <</detail>
  <
 </reaction>
 <
  <
  <
  <</authority>
  <
  <
  <</targetDisease>
  <</doseStatus>
  <</doseStatusReason>
 </vaccinationProtocol>

 <performer>  <!-- 0..* Who performed event -->
  <function><!-- 0..1 CodeableConcept What type of performance was done --></function>
  <actor><!-- 1..1 Reference(Practitioner|Organization) 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|Observation|DiagnosticReport) Why immunization occurred --></reasonReference>
 <isPotent 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>

</Immunization>

JSON Template

{doco
  "resourceType" : "",

  "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
  "date" : "<dateTime>", // Vaccine administration date
  "primarySource" : <boolean>, // R!  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(Practitioner|Organization) } // R!  Individual or organization who was performing

  }],
  "
  "
    "
    "
  },
  "
    "
    "
    "

  "note" : [{ Annotation }], // Additional immunization notes
  "reasonCode" : [{ CodeableConcept }], // Why immunization occurred
  "reasonReference" : [{ Reference(Condition|Observation|DiagnosticReport) }], // Why immunization occurred
  "isPotent" : <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

}

Turtle Template

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


[ a fhir:;

[ 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:
  fhir:

  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:
  fhir:

  fhir:Immunization.encounter [ Reference(Encounter) ]; # 0..1 Encounter immunization was part of
  fhir:Immunization.date [ dateTime ]; # 0..1 Vaccine administration date

  fhir:Immunization.primarySource [ boolean ]; # 1..1 Indicates context the data was recorded in
  fhir:Immunization.reportOrigin [ CodeableConcept ]; # 0..1 Indicates the source of a secondarily reported record
  fhir:

  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:
    fhir:
    fhir:
  ], ...;
  fhir:
  fhir:
    fhir:
    fhir:
  ];
  fhir:
    fhir:
    fhir:
    fhir:

  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(Practitioner|Organization) ]; # 1..1 Individual or organization who was performing

  ], ...;
  fhir:
    fhir:
    fhir:
    fhir:
    fhir:
    fhir:
    fhir:
    fhir:
    fhir:

  fhir:Immunization.note [ Annotation ], ... ; # 0..* Additional immunization notes
  fhir:Immunization.reasonCode [ CodeableConcept ], ... ; # 0..* Why immunization occurred
  fhir:Immunization.reasonReference [ Reference(Condition|Observation|DiagnosticReport) ], ... ; # 0..* Why immunization occurred
  fhir:Immunization.isPotent [ 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

]

Changes since DSTU2

Immunization
Immunization.status Immunization.statusReason
  • Change value set from http://hl7.org/fhir/ValueSet/medication-admin-status to http://hl7.org/fhir/ValueSet/immunization-status Added Element
Immunization.notGiven Immunization.performer
  • Renamed from wasNotGiven to notGiven Added Element
Immunization.primarySource Immunization.performer.function
  • Added Element
Immunization.reportOrigin Immunization.performer.actor
  • Added Element
Immunization.practitioner Immunization.reasonCode
  • Added Element
Immunization.practitioner.role Immunization.reasonReference
  • Added Element
Immunization.practitioner.actor Immunization.isPotent
  • Added Element
Immunization.vaccinationProtocol.doseSequence Immunization.subpotentReason
  • Min Cardinality changed from 1 to 0 Added Element
Immunization.education
  • Added Element
Immunization.education.documentType
  • Added Element
Immunization.education.reference
  • Added Element
Immunization.education.publicationDate
  • Added Element
Immunization.education.presentationDate
  • Added Element
Immunization.programEligibility
  • Added Element
Immunization.fundingSource
  • Added Element
Immunization.reported Immunization.notGiven
  • deleted
Immunization.performer Immunization.practitioner
  • deleted
Immunization.requester Immunization.explanation
  • deleted
Immunization.reaction
  • deleted
Immunization.vaccinationProtocol
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON .

See R2 <--> R3 Conversion Maps (status = 2 tests that all execute ok. 2 fail round-trip testing and 2 r3 resources are invalid (2 errors). ). Note: these have note yet been updated to be R3 to R4

 

Alternate definitions: Master Definition ( XML , + JSON ), , XML Schema / Schematron (for ) + JSON Schema , ShEx (for Turtle ) + see the extensions & the dependency analysis

Immunization.practitioner.role Immunization.explanation.reasonNotGiven Immunization.vaccinationProtocol.targetDisease Immunization.vaccinationProtocol.doseStatus
Path Definition Type Reference
Immunization.status A set of codes indicating the current status of an Immunization Required Immunization Status Codes
Immunization.statusReason The reason why a vaccine was not administered Example Immunization Status Reason Codes
Immunization.vaccineCode The code for vaccine product administered Example Vaccine Administered Value Set
Immunization.reportOrigin The source of the data for a record which is not from a primary source. Example Immunization Origin Codes
Immunization.site The site at which the vaccine was administered Example Codes for Immunization Site of Administration
Immunization.route The route by which the vaccine was administered Example Immunization Route Codes
Immunization.performer.function The role a practitioner or organization plays in the immunization event Extensible Immunization Role Function Codes
Immunization.explanation.reason Immunization.reasonCode The reason why a vaccine was administered Example Immunization Reason Codes
Immunization.subpotentReason The reason why a vaccine was not administered dose is considered to be subpotent Example Immunization Reasons for Not Immunizing Codes Subpotent Reason
Immunization.programEligibility The disease target of the vaccination protocol patient's eligibility for a vaccation program Example Vaccination Protocol Dose Target Codes Immunization Program Eligibility
Immunization.fundingSource The status source of funding used to purchase the vaccination protocol (i.e. should this count) Example Vaccination Protocol Dose Status codes Immunization.vaccinationProtocol.doseStatusReason The reason for the determining if a vaccination should count or why vaccination should not count. vaccine administered Example Vaccination Protocol Dose Status Reason codes Immunization Funding Source

  • imm-1 : If immunization was not administered (notGiven=true) then there SHALL be no reaction nor explanation.reason present ( expression : (notGiven = true).not() On Immunization.education: One of documentType or (reaction.empty() and explanation.reason.empty()) ) imm-2 : If immunization was administered (notGiven=false) then explanation.reasonNotGiven reference SHALL be absent. present ( expression : on Immunization.education: (notGiven = true) documentType.exists() or explanation.reasonNotGiven.empty() reference.exists() )

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

notgiven token reaction Additional information on reaction Immunization.reaction.detail ( Observation )
Name Type Description Expression In Common
date date Vaccination (non)-Administration Date Immunization.date 18 17 Resources
dose-sequence number Dose number within series Immunization.vaccinationProtocol.doseSequence identifier token Business identifier Immunization.identifier 26 Resources
location reference The service delivery location or facility in which the vaccine was / was to be administered Immunization.location
( Location )
lot-number string Vaccine Lot Number Immunization.lotNumber
manufacturer reference Vaccine Manufacturer Immunization.manufacturer
( Organization )
Administrations which were not given Immunization.notGiven
patient reference The patient for the vaccination record Immunization.patient
( Patient )
31 29 Resources
practitioner performer reference The practitioner or organization who played a role in the vaccination Immunization.practitioner.actor Immunization.performer.actor
( Practitioner , Organization )
reference
reaction-date reason-code date token When reaction started Reason why the vaccine was administered Immunization.reaction.date Immunization.reasonCode
reason reason-reference token reference Why immunization occurred Immunization.explanation.reason Immunization.reasonReference
( Condition , Observation , DiagnosticReport )
reason-not-given status token Explanation of reason vaccination was not administered Immunization event status Immunization.explanation.reasonNotGiven Immunization.status
status status-reason token Immunization event status Reason why the vaccine was not administered Immunization.status Immunization.statusReason
vaccine-code token Vaccine Product Administered Immunization.vaccineCode