FHIR Release 3 (STU) CI-Build

This page is part of the FHIR Specification (v3.0.2: STU 3). The current version which supercedes this version is 5.0.0 . For a full list Continuous Integration Build of available versions, see FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon . Page versions: R5 R4B R4 R3 R2

11.6 11.7 Resource Immunization - Content

Responsible Owner: Public Health and Emergency Response icon Work Group Maturity Level : 3   Trial Use Security Category : Patient 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 and may include vaccine reaction information and what vaccination protocol was followed. 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, 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 PHER Public Health work group - is believed to meet key use cases and information requirements as defined in the existing HL7 v2 V2 icon immunization implementation guide, HL7 v3 icon 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.

While the AllergyIntolerance Immunization and Immunization.reaction MedicationAdministration resources are distinct, they are both able to capture specific details of the administered product. The Immunization resource uses Immunization.vaccineCode to indicate the nature of the vaccine administered to the patient. The Immunization.administeredProduct may additionally be used to identify the specific product used (either as a coded value or as a reference to a Medication resource). The Immunization resource also contains data about the administered vaccine including the manufacturer, lot number and expiration date. However, the data elements contained within Immunization are expected to only be used when Immunization.administeredProduct does not reference a Medication resource which contains the same information about the product.

Immunization.reaction Similarly, MedicationAdministration.medication references a Medication resource which is used to identify the administered product. Medication.marketingAuthorizationHolder, Medication.batch.lotNumber and Medication.batch.expirationDate are all analogous to the Immunization resource elements and are similarly used to capture details of the administered product.

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.

Some workflows may require documenting that specific educational materials were presented to the patient (or other responsible party) at the time of or before the immunization event. Conveyance of this information should be accomplished using the Communication resource. This resource is referenced by can be linked to an Immunization resource and indicate the timing and nature of the educational material provided. The Communication resource may be a standalone resource or may be contained within the Immunization resource as appropriate.

Structure

?! Σ 1..1 Flag Who What type Vaccination Why immunization did not occur Details of What protocol was Recommended number of doses Disease immunized against Indicates if dose counts towards immunity Vaccination Protocol Why dose does (not) count
Name Flags Card. Type Description & Constraints      Filter: Filters 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 . basedOn Σ 0..* Reference ( CarePlan | MedicationRequest | ServiceRequest ) Authority that the immunization event is based on

... status ?! Σ 1..1 code completed | entered-in-error | not-done
Binding: Immunization Status Codes ( Required )
. . notGiven . statusReason 0..1 boolean CodeableConcept Reason for whether immunization was given current status
Binding: Immunization Status Reason Codes ( Example )
. . . vaccineCode Σ 1..1 CodeableConcept Vaccine product administered
Binding: Vaccine Administered Value Set ( Example )
. . . patient administeredProduct 1..1 0..1 Reference CodeableReference ( Patient Medication ) Product that was immunized administered
. . encounter . manufacturer 0..1 Reference CodeableReference ( Encounter Organization ) Vaccine manufacturer
Encounter administered as part of
. . . date lotNumber 0..1 dateTime string Vaccine lot number
Vaccination administration date
. . primarySource . expirationDate 1..1 0..1 boolean date Vaccine expiration date
Indicates context the data was recorded in
. . reportOrigin . patient 0..1 CodeableConcept Σ 1..1 Indicates the source of a secondarily reported record Immunization Origin Codes Reference ( Example Patient ) Who was immunized
. . location . encounter 0..1 Reference ( Location Encounter ) Encounter immunization was part of
Where vaccination occurred
. . . manufacturer supportingInformation 0..1 0..* Reference ( Organization Any ) Additional information in support of the immunization

. . . occurrence[x] Σ 1..1 Vaccine manufacturer administration date
. . . . lotNumber occurrenceDateTime dateTime
. . . . occurrenceString 0..1 string Vaccine lot number
. . . expirationDate primarySource Σ 0..1 date boolean Indicates context the data was captured in
Vaccine expiration date
. . site . informationSource 0..1 CodeableReference ( Patient | Practitioner | PractitionerRole | RelatedPerson | Organization ) Indicates the source of a reported record
Binding: Immunization Origin Codes ( Example )
... location 0..1 Reference ( Location ) The service delivery location
... site 0..1 CodeableConcept Body site vaccine was administered
Binding: Codes for Immunization Site of Administration ( Example )
. . . route 0..1 CodeableConcept How vaccine entered body
Binding: Immunization Route Codes ( Example )
. . . doseQuantity 0..1 SimpleQuantity Amount of vaccine administered
. . . practitioner performer Σ 0..* BackboneElement Who performed event

. . . role . function Σ 0..1 CodeableConcept Type of performance was done
Binding: Immunization Role Function Codes ( Extensible )
. . . . actor Σ 1..1 Reference ( Practitioner | PractitionerRole | Organization | Patient | RelatedPerson ) Individual or organization who was performing performed the event
. . . note Σ 0..* Annotation Additional immunization notes

. . explanation . reason 0..1 0..* BackboneElement CodeableReference ( Condition | Observation | DiagnosticReport ) Why immunization occurred
Binding: Immunization Reason Codes ( Example )

Administration/non-administration reasons
. . reason . isSubpotent 0..* ?! CodeableConcept Σ 0..1 Why immunization occurred Immunization Reason Codes ( Example boolean ) Dose potency
. . . reasonNotGiven subpotentReason 0..* CodeableConcept Reason for being subpotent
Binding: Immunization Reasons for Not Immunizing Codes Subpotent Reason icon ( Example )

. . reaction . programEligibility 0..* BackboneElement Patient eligibility for a reaction that follows immunization specific vaccination program

. . . date . program 0..1 1..1 dateTime CodeableConcept The program that eligibility is declared for
Binding: Vaccine Funding Programs ( Example )
When reaction started
. . . detail . programStatus 0..1 1..1 CodeableConcept The patient's eligibility status for the program
Binding: Immunization Program Eligibility icon Reference ( Observation Example )
Additional information on reaction
. . reported . fundingSource 0..1 boolean CodeableConcept Funding source for the vaccine
Binding: Immunization Funding Source icon ( Example )
Indicates self-reported reaction
. . vaccinationProtocol . reaction 0..* BackboneElement Details of a reaction that followed the immunization

. . . . doseSequence date 0..1 positiveInt dateTime When reaction started
Dose number within series
. . . description . manifestation 0..1 string CodeableReference ( Observation ) Additional information on reaction
Details of vaccine protocol
. . . authority . reported 0..1 boolean Reference Indicates self-reported reaction
... protocolApplied ( Organization ) 0..* BackboneElement Protocol followed by the provider

Who is responsible for protocol
. . . . series 0..1 string Name of vaccine series
. . . seriesDoses . authority 0..1 positiveInt Reference ( Organization ) Who is responsible for immunity publishing the recommendations
. . . . targetDisease 1..* 0..* CodeableConcept Vaccine preventable disease being targeted
Vaccination Protocol Dose Binding: Immunization Target Disease Codes ( Example )

. . . doseStatus . doseNumber 1..1 0..1 CodeableConcept Dose Status codes number within series
Binding: DoseNumber ( Example )
. . . . doseStatusReason seriesDoses 0..1 CodeableConcept Recommended number of doses for immunity
Vaccination Protocol Dose Status Reason codes Binding: SeriesDoses ( Example )

doco Documentation for this format icon

See the Extensions for this resource

UML Diagram ( Legend )

Immunization ( DomainResource ) A unique identifier assigned to this immunization record identifier : Identifier [0..*] A plan, order or recommendation fulfilled in whole or in part by this immunization basedOn : Reference [0..*] « CarePlan | MedicationRequest | ServiceRequest » 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 Immunization. (Strength=Required) Immunization Status ImmunizationStatusCodes ! » 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) ImmunizationStatusReasonCodes ?? » Vaccine that was administered or was to be administered vaccineCode : CodeableConcept [1..1] « The code for vaccine product administered administered. (Strength=Example) Vaccine Administered Value VaccineAdministeredValueSet ?? » An indication of which product was administered to the patient. This is typically a more detailed representation of the concept conveyed by the vaccineCode data element. If a Medication resource is referenced, it may be to a stand-alone resource or a contained resource within the Immunization resource administeredProduct : CodeableReference [0..1] « Medication » Set Name of vaccine manufacturer manufacturer ?? : CodeableReference [0..1] « Organization » Lot number of the vaccine product lotNumber : string [0..1] Date vaccine batch expires expirationDate : date [0..1] 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 » Additional information that is relevant to the immunization (e.g. for a vaccine recipient who is pregnant, the gestational age of the fetus). The reason why a vaccine was given (e.g. occupation, underlying medical condition) should be conveyed in Immunization.reason, not as supporting information. The reason why a vaccine was not given (e.g. contraindication) should be conveyed in Immunization.statusReason, not as supporting information supportingInformation : Reference [0..*] « Any » Date vaccine administered or was to be administered date occurrence[x] : PrimitiveType [1..1] « dateTime [0..1] | string » An indication that the content of the record is based on information from Indicates whether the person who administered data contained in the vaccine. This reflects resource was captured by the context under individual/organization which was responsible for the administration of the vaccine rather than as 'secondary reported' data documented by a third party. A value of 'true' means this data originated with the individual/organization which was originally recorded responsible for the administration of the vaccine primarySource : boolean [1..1] [0..1] The Typically 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 informationSource : CodeableConcept CodeableReference [0..1] « Patient | Practitioner | PractitionerRole | RelatedPerson | Organization ; The source of the data for a record which is not from a primary source. (Strength=Example) Immunization Origin ImmunizationOriginCodes ?? » 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 administered. (Strength=Example) Codes for Immunization Site o... CodesForImmunizationSiteOfAdm... ?? » The path by which the vaccine product is taken into the body route : CodeableConcept [0..1] « The route by which the vaccine was administered administered. (Strength=Example) Immunization Route ImmunizationRouteCodes ?? » 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..*] Describes why the immunization occurred in coded or textual form, or indicates another resource (Condition, Observation or DiagnosticReport) whose existence justifies this immunization reason : CodeableReference [0..*] « Condition | Observation | Practitioner DiagnosticReport ; The reason why a vaccine was administered. (Strength=Example) ImmunizationReasonCodes ?? » Describes Indication if a dose is considered to be subpotent. By default, a dose should be considered to be potent (this element modifies the type meaning of performance other elements) isSubpotent : boolean [0..1] Reason why a dose is considered to be subpotent subpotentReason : CodeableConcept [0..*] « null (Strength=Example) ImmunizationSubpotentReason ?? » 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 publicly 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 ?? » Performer Describes the function played by the performer in the immunization event (e.g. ordering provider, administering provider, etc.) role function : CodeableConcept [0..1] « The role a practitioner or organization plays in the immunization event event. (Strength=Extensible) Immunization Role ImmunizationFunctionCodes + » The device, practitioner, etc. practitioner or organization who performed the action actor : Reference [1..1] « Practitioner | PractitionerRole | Organization | Patient | RelatedPerson » Explanation ProgramEligibility Reasons why a vaccine was administered Indicates which program the patient had their eligibility evaluated for reason program : CodeableConcept [0..*] [1..1] « The reason why vaccation funding program a vaccine was administered patient may be eligible for. (Strength=Example) Immunization Reason CodesForVaccineFundingPrograms ?? » Reason why Indicates the patient's eligibility status for a vaccine was not administered specific payment program reasonNotGiven programStatus : CodeableConcept [0..*] [1..1] « The reason why patient's eligibility for a vaccine was not administered vaccation program. (Strength=Example) Immunization Reasons for Not ... ImmunizationProgramEligibility ?? » Reaction Date of reaction to the immunization date : dateTime [0..1] Details of the reaction detail manifestation : Reference CodeableReference [0..1] « Observation » Self-reported indicator reported : boolean [0..1] VaccinationProtocol Nominal position in a series doseSequence : positiveInt [0..1] Contains the description about the protocol under which the vaccine was administered description : string [0..1] Indicates the authority who published the protocol. E.g. ACIP authority : Reference [0..1] Organization ProtocolApplied One possible path to achieve presumed immunity against a disease - within the context of an authority series : string [0..1] The recommended number of doses to achieve immunity Indicates the authority who published the protocol (e.g. ACIP) that is being followed seriesDoses authority : positiveInt Reference [0..1] « Organization » The targeted vaccine preventable disease the dose is being administered against targetDisease : CodeableConcept [1..*] [0..*] « The vaccine preventable disease target of the vaccination protocol dose is being administered for. (Strength=Example) Vaccination Protocol Dose Tar... ImmunizationTargetDiseaseCodes ?? » Indicates if Nominal position in a series as intended by the immunization event should "count" against practitioner administering the protocol dose doseStatus doseNumber : CodeableConcept [1..1] [0..1] « The status of the vaccination protocol (i.e. should this count) null (Strength=Example) Vaccination Protocol Dose Sta... ?? DoseNumber?? » Provides an explanation as The recommended number of doses to why an immunization event should or should not count against achieve immunity as intended by the protocol practitioner administering the dose doseStatusReason seriesDoses : CodeableConcept [0..1] « The reason for the determining if a vaccination should count or why vaccination should not count. null (Strength=Example) Vaccination Protocol Dose Sta... ?? SeriesDoses?? » Indicates who or what performed the immunization event practitioner performer [0..*] Reasons why Indicates a vaccine was or was not administered patient's eligibility for a funding program explanation programEligibility [0..1] [0..*] Categorical data indicating that an adverse event is associated in time to an immunization reaction [0..*] Contains information about the protocol(s) under which The protocol (set of recommendations) being followed by the vaccine was provider who administered the dose vaccinationProtocol protocolApplied [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>
 <
 <
 <</vaccineCode>

 <basedOn><!-- 0..* Reference(CarePlan|MedicationRequest|ServiceRequest) Authority that the immunization event is based on --></basedOn>
 <status value="[code]"/><!-- 1..1 completed | entered-in-error | not-done -->
 <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason>
 <vaccineCode><!-- 1..1 CodeableConcept Vaccine administered --></vaccineCode>
 <administeredProduct><!-- 0..1 CodeableReference(Medication) Product that was administered --></administeredProduct>
 <manufacturer><!-- 0..1 CodeableReference(Organization) Vaccine manufacturer --></manufacturer>
 <lotNumber value="[string]"/><!-- 0..1 Vaccine lot number -->
 <expirationDate value="[date]"/><!-- 0..1 Vaccine expiration date -->

 <patient><!-- 1..1 Reference(Patient) Who was immunized --></patient>
 <</encounter>
 <
 <
 <</reportOrigin>
 <</location>
 <</manufacturer>
 <
 <

 <encounter><!-- 0..1 Reference(Encounter) Encounter immunization was part of --></encounter>
 <supportingInformation><!-- 0..* Reference(Any) Additional information in support of the immunization --></supportingInformation>
 <occurrence[x]><!-- 1..1 dateTime|string Vaccine administration date --></occurrence[x]>
 <primarySource value="[boolean]"/><!-- 0..1 Indicates context the data was captured in -->
 <informationSource><!-- 0..1 CodeableReference(Organization|Patient|Practitioner|
   PractitionerRole|RelatedPerson) Indicates the source of a  reported record --></informationSource>

 <location><!-- 0..1 Reference(Location) The service delivery location --></location>

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

 <performer>  <!-- 0..* Who performed event -->
  <function><!-- 0..1 CodeableConcept Type of performance --></function>
  <actor><!-- 1..1 Reference(Organization|Patient|Practitioner|PractitionerRole|
    RelatedPerson) Individual or organization who performed the event --></actor>

 </performer>
 <note><!-- 0..* Annotation Additional immunization notes --></note>
 <reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|Observation) Why immunization occurred --></reason>
 <isSubpotent value="[boolean]"/><!-- 0..1 Dose potency -->
 <subpotentReason><!-- 0..* CodeableConcept Reason for being subpotent icon --></subpotentReason>
 <programEligibility>  <!-- 0..* Patient eligibility for a specific vaccination program -->
  <program><!-- 1..1 CodeableConcept The program that eligibility is declared for --></program>
  <programStatus><!-- 1..1 CodeableConcept The patient's eligibility status for the program icon --></programStatus>
 </programEligibility>
 <fundingSource><!-- 0..1 CodeableConcept Funding source for the vaccine icon --></fundingSource>
 <reaction>  <!-- 0..* Details of a reaction that followed the immunization -->
  <date value="[dateTime]"/><!-- 0..1 When reaction started -->
  <manifestation><!-- 0..1 CodeableReference(Observation) Additional information on reaction --></manifestation>
  <reported value="[boolean]"/><!-- 0..1 Indicates self-reported reaction -->

 </reaction>
 <
  <
  <
  <</authority>
  <
  <
  <</targetDisease>
  <</doseStatus>
  <</doseStatusReason>
 </vaccinationProtocol>

 <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 preventable disease being targeted --></targetDisease>
  <doseNumber><!-- 0..1 CodeableConcept Dose number within series --></doseNumber>
  <seriesDoses><!-- 0..1 CodeableConcept Recommended number of doses for immunity --></seriesDoses>
 </protocolApplied>

</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
  "basedOn" : [{ Reference(CarePlan|MedicationRequest|ServiceRequest) }], // Authority that the immunization event is based on
  "status" : "<code>", // R!  completed | entered-in-error | not-done
  "statusReason" : { CodeableConcept }, // Reason for current status
  "vaccineCode" : { CodeableConcept }, // R!  Vaccine administered
  "administeredProduct" : { CodeableReference(Medication) }, // Product that was administered
  "manufacturer" : { CodeableReference(Organization) }, // Vaccine manufacturer
  "lotNumber" : "<string>", // Vaccine lot number
  "expirationDate" : "<date>", // Vaccine expiration date
  "patient" : { Reference(Patient) }, // R!  Who was immunized
  "encounter" : { Reference(Encounter) }, // Encounter immunization was part of
  "supportingInformation" : [{ Reference(Any) }], // Additional information in support of the immunization
  // occurrence[x]: Vaccine administration date. One of these 2:

  "occurrenceDateTime" : "<dateTime>",
  "occurrenceString" : "<string>",
  "primarySource" : <boolean>, // Indicates context the data was captured in
  "informationSource" : { CodeableReference(Organization|Patient|Practitioner|
   PractitionerRole|RelatedPerson) }, // Indicates the source of a  reported record

  "location" : { Reference(Location) }, // The service delivery location
  "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 }, // Type of performance
    "actor" : { Reference(Organization|Patient|Practitioner|PractitionerRole|
    RelatedPerson) } // R!  Individual or organization who performed the event
  }],
  "
  "
    "
    "
  },
  "
    "
    "
    "

  "note" : [{ Annotation }], // Additional immunization notes
  "reason" : [{ CodeableReference(Condition|DiagnosticReport|Observation) }], // Why immunization occurred
  "isSubpotent" : <boolean>, // Dose potency
  "subpotentReason" : [{ CodeableConcept }], // Reason for being subpotent icon
  "programEligibility" : [{ // Patient eligibility for a specific vaccination program
    "program" : { CodeableConcept }, // R!  The program that eligibility is declared for
    "programStatus" : { CodeableConcept } // R!  The patient's eligibility status for the program icon

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

  "fundingSource" : { CodeableConcept }, // Funding source for the vaccine icon
  "reaction" : [{ // Details of a reaction that followed the immunization
    "date" : "<dateTime>", // When reaction started
    "manifestation" : { CodeableReference(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 preventable disease being targeted
    "doseNumber" : { CodeableConcept }, // Dose number within series
    "seriesDoses" : { CodeableConcept } // Recommended number of doses for immunity

  }]
}

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

  # from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language
  # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Business identifier
  fhir:basedOn  ( [ Reference(CarePlan|MedicationRequest|ServiceRequest) ] ... ) ; # 0..* Authority that the immunization event is based on
  fhir:status [ code ] ; # 1..1 completed | entered-in-error | not-done
  fhir:statusReason [ CodeableConcept ] ; # 0..1 Reason for current status
  fhir:vaccineCode [ CodeableConcept ] ; # 1..1 Vaccine administered
  fhir:administeredProduct [ CodeableReference(Medication) ] ; # 0..1 Product that was administered
  fhir:manufacturer [ CodeableReference(Organization) ] ; # 0..1 Vaccine manufacturer
  fhir:lotNumber [ string ] ; # 0..1 Vaccine lot number
  fhir:expirationDate [ date ] ; # 0..1 Vaccine expiration date
  fhir:patient [ Reference(Patient) ] ; # 1..1 Who was immunized
  fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter immunization was part of
  fhir:supportingInformation  ( [ Reference(Any) ] ... ) ; # 0..* Additional information in support of the immunization
  # occurrence[x] : 1..1 Vaccine administration date. One of these 2
    fhir:occurrence [  a fhir:DateTime ; dateTime ]
    fhir:occurrence [  a fhir:String ; string ]
  fhir:primarySource [ boolean ] ; # 0..1 Indicates context the data was captured in
  fhir:informationSource [ CodeableReference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Indicates the source of a  reported record
  fhir:location [ Reference(Location) ] ; # 0..1 The service delivery location
  fhir:site [ CodeableConcept ] ; # 0..1 Body site vaccine  was administered
  fhir:route [ CodeableConcept ] ; # 0..1 How vaccine entered body
  fhir:doseQuantity [ Quantity(SimpleQuantity) ] ; # 0..1 Amount of vaccine administered
  fhir:performer ( [ # 0..* Who performed event
    fhir:function [ CodeableConcept ] ; # 0..1 Type of performance
    fhir:actor [ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 1..1 Individual or organization who performed the event
  ] ... ) ;
  fhir:note  ( [ Annotation ] ... ) ; # 0..* Additional immunization notes
  fhir:reason  ( [ CodeableReference(Condition|DiagnosticReport|Observation) ] ... ) ; # 0..* Why immunization occurred
  fhir:isSubpotent [ boolean ] ; # 0..1 Dose potency
  fhir:subpotentReason  ( [ CodeableConcept ] ... ) ; # 0..* Reason for being subpotent
  fhir:programEligibility ( [ # 0..* Patient eligibility for a specific vaccination program
    fhir:program [ CodeableConcept ] ; # 1..1 The program that eligibility is declared for
    fhir:programStatus [ CodeableConcept ] ; # 1..1 The patient's eligibility status for the program
  ] ... ) ;
  fhir:fundingSource [ CodeableConcept ] ; # 0..1 Funding source for the vaccine
  fhir:reaction ( [ # 0..* Details of a reaction that followed the immunization
    fhir:date [ dateTime ] ; # 0..1 When reaction started
    fhir:manifestation [ CodeableReference(Observation) ] ; # 0..1 Additional information on reaction
    fhir:reported [ boolean ] ; # 0..1 Indicates self-reported reaction
  ] ... ) ;
  fhir:protocolApplied ( [ # 0..* Protocol followed by the provider
    fhir:series [ string ] ; # 0..1 Name of vaccine series
    fhir:authority [ Reference(Organization) ] ; # 0..1 Who is responsible for publishing the recommendations
    fhir:targetDisease  ( [ CodeableConcept ] ... ) ; # 0..* Vaccine preventable disease being targeted
    fhir:doseNumber [ CodeableConcept ] ; # 0..1 Dose number within series
    fhir:seriesDoses [ CodeableConcept ] ; # 0..1 Recommended number of doses for immunity
  ] ... ) ;

]

Changes since DSTU2 from both R4 and R4B

Immunization
Immunization.status Immunization.basedOn
  • Change value set from http://hl7.org/fhir/ValueSet/medication-admin-status to http://hl7.org/fhir/ValueSet/immunization-status Added Element
Immunization.administeredProduct
  • Added Element
Immunization.notGiven Immunization.manufacturer
  • Renamed Type changed from wasNotGiven Reference(Organization) to notGiven CodeableReference
Immunization.primarySource Immunization.supportingInformation
  • Added Element
Immunization.reportOrigin Immunization.informationSource
  • Added Element
Immunization.performer.actor
  • Type Reference: Added Target Types Patient, RelatedPerson
Immunization.practitioner Immunization.reason
  • Added Element
Immunization.programEligibility
  • Type changed from CodeableConcept to BackboneElement
Immunization.practitioner.role Immunization.programEligibility.program
  • Added Mandatory Element
Immunization.programEligibility.programStatus
  • Added Mandatory Element
Immunization.practitioner.actor Immunization.reaction.manifestation
  • Added Element
Immunization.vaccinationProtocol.doseSequence Immunization.protocolApplied.doseNumber
  • Renamed from doseNumber[x] to doseNumber
  • Min Cardinality changed from 1 to 0
  • Add Type CodeableConcept
  • Remove Types positiveInt, string
Immunization.protocolApplied.seriesDoses
  • Renamed from seriesDoses[x] to seriesDoses
  • Add Type CodeableConcept
  • Remove Types positiveInt, string
Immunization.reported Immunization.recorded
  • deleted Deleted
Immunization.performer Immunization.reportOrigin
  • deleted Deleted
Immunization.requester Immunization.reasonCode
  • Deleted (-> reason)
Immunization.reasonReference
  • deleted Deleted (-> reason)
Immunization.education
  • Deleted
Immunization.reaction.detail
  • Deleted

See the Full Difference for further information

This analysis is available for R4 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). ). for R4B as XML or JSON .

Structure

?! Σ 1..1 Flag Who What type Vaccination Why immunization did not occur Details of What protocol was Recommended number of doses Disease immunized against Indicates if dose counts towards immunity Vaccination Protocol Why dose does (not) count
Name Flags Card. Type Description & Constraints      Filter: Filters 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 . basedOn Σ 0..* Reference ( CarePlan | MedicationRequest | ServiceRequest ) Authority that the immunization event is based on

... status ?! Σ 1..1 code completed | entered-in-error | not-done
Binding: Immunization Status Codes ( Required )
. . notGiven . statusReason 0..1 boolean CodeableConcept Reason for whether immunization was given current status
Binding: Immunization Status Reason Codes ( Example )
. . . vaccineCode Σ 1..1 CodeableConcept Vaccine product administered
Binding: Vaccine Administered Value Set ( Example )
. . . patient administeredProduct 1..1 0..1 Reference CodeableReference ( Patient Medication ) Product that was immunized administered
. . encounter . manufacturer 0..1 Reference CodeableReference ( Encounter Organization ) Vaccine manufacturer
Encounter administered as part of
. . . date lotNumber 0..1 dateTime string Vaccine lot number
Vaccination administration date
. . primarySource . expirationDate 1..1 0..1 boolean date Vaccine expiration date
Indicates context the data was recorded in
. . reportOrigin . patient 0..1 CodeableConcept Σ 1..1 Indicates the source of a secondarily reported record Immunization Origin Codes Reference ( Example Patient ) Who was immunized
. . location . encounter 0..1 Reference ( Location Encounter ) Encounter immunization was part of
Where vaccination occurred
. . . manufacturer supportingInformation 0..1 0..* Reference ( Organization Any ) Additional information in support of the immunization

. . . occurrence[x] Σ 1..1 Vaccine manufacturer administration date
. . . . lotNumber occurrenceDateTime dateTime
. . . . occurrenceString 0..1 string Vaccine lot number
. . . expirationDate primarySource Σ 0..1 date boolean Indicates context the data was captured in
Vaccine expiration date
. . site . informationSource 0..1 CodeableReference ( Patient | Practitioner | PractitionerRole | RelatedPerson | Organization ) Indicates the source of a reported record
Binding: Immunization Origin Codes ( Example )
... location 0..1 Reference ( Location ) The service delivery location
... site 0..1 CodeableConcept Body site vaccine was administered
Binding: Codes for Immunization Site of Administration ( Example )
. . . route 0..1 CodeableConcept How vaccine entered body
Binding: Immunization Route Codes ( Example )
. . . doseQuantity 0..1 SimpleQuantity Amount of vaccine administered
. . . practitioner performer Σ 0..* BackboneElement Who performed event

. . . role . function Σ 0..1 CodeableConcept Type of performance was done
Binding: Immunization Role Function Codes ( Extensible )
. . . . actor Σ 1..1 Reference ( Practitioner | PractitionerRole | Organization | Patient | RelatedPerson ) Individual or organization who was performing performed the event
. . . note Σ 0..* Annotation Additional immunization notes

. . explanation . reason 0..1 0..* BackboneElement CodeableReference ( Condition | Observation | DiagnosticReport ) Why immunization occurred
Binding: Immunization Reason Codes ( Example )

Administration/non-administration reasons
. . reason . isSubpotent 0..* ?! CodeableConcept Σ 0..1 Why immunization occurred Immunization Reason Codes ( Example boolean ) Dose potency
. . . reasonNotGiven subpotentReason 0..* CodeableConcept Reason for being subpotent
Binding: Immunization Reasons for Not Immunizing Codes Subpotent Reason icon ( Example )

. . reaction . programEligibility 0..* BackboneElement Patient eligibility for a reaction that follows immunization specific vaccination program

. . . date . program 0..1 1..1 dateTime CodeableConcept The program that eligibility is declared for
Binding: Vaccine Funding Programs ( Example )
When reaction started
. . . detail . programStatus 0..1 1..1 CodeableConcept The patient's eligibility status for the program
Binding: Immunization Program Eligibility icon Reference ( Observation Example )
Additional information on reaction
. . reported . fundingSource 0..1 boolean CodeableConcept Funding source for the vaccine
Binding: Immunization Funding Source icon ( Example )
Indicates self-reported reaction
. . vaccinationProtocol . reaction 0..* BackboneElement Details of a reaction that followed the immunization

. . . . doseSequence date 0..1 positiveInt dateTime When reaction started
Dose number within series
. . . description . manifestation 0..1 string CodeableReference ( Observation ) Additional information on reaction
Details of vaccine protocol
. . . authority . reported 0..1 boolean Reference Indicates self-reported reaction
... protocolApplied ( Organization ) 0..* BackboneElement Protocol followed by the provider

Who is responsible for protocol
. . . . series 0..1 string Name of vaccine series
. . . seriesDoses . authority 0..1 positiveInt Reference ( Organization ) Who is responsible for immunity publishing the recommendations
. . . . targetDisease 1..* 0..* CodeableConcept Vaccine preventable disease being targeted
Vaccination Protocol Dose Binding: Immunization Target Disease Codes ( Example )

. . . doseStatus . doseNumber 1..1 0..1 CodeableConcept Dose Status codes number within series
Binding: DoseNumber ( Example )
. . . . doseStatusReason seriesDoses 0..1 CodeableConcept Recommended number of doses for immunity
Vaccination Protocol Dose Status Reason codes Binding: SeriesDoses ( Example )

doco Documentation for this format icon

See the Extensions for this resource

UML Diagram ( Legend )

Immunization ( DomainResource ) A unique identifier assigned to this immunization record identifier : Identifier [0..*] A plan, order or recommendation fulfilled in whole or in part by this immunization basedOn : Reference [0..*] « CarePlan | MedicationRequest | ServiceRequest » 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 Immunization. (Strength=Required) Immunization Status ImmunizationStatusCodes ! » 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) ImmunizationStatusReasonCodes ?? » Vaccine that was administered or was to be administered vaccineCode : CodeableConcept [1..1] « The code for vaccine product administered administered. (Strength=Example) Vaccine Administered Value VaccineAdministeredValueSet ?? » An indication of which product was administered to the patient. This is typically a more detailed representation of the concept conveyed by the vaccineCode data element. If a Medication resource is referenced, it may be to a stand-alone resource or a contained resource within the Immunization resource administeredProduct : CodeableReference [0..1] « Medication » Set Name of vaccine manufacturer manufacturer ?? : CodeableReference [0..1] « Organization » Lot number of the vaccine product lotNumber : string [0..1] Date vaccine batch expires expirationDate : date [0..1] 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 » Additional information that is relevant to the immunization (e.g. for a vaccine recipient who is pregnant, the gestational age of the fetus). The reason why a vaccine was given (e.g. occupation, underlying medical condition) should be conveyed in Immunization.reason, not as supporting information. The reason why a vaccine was not given (e.g. contraindication) should be conveyed in Immunization.statusReason, not as supporting information supportingInformation : Reference [0..*] « Any » Date vaccine administered or was to be administered date occurrence[x] : PrimitiveType [1..1] « dateTime [0..1] | string » An indication that the content of the record is based on information from Indicates whether the person who administered data contained in the vaccine. This reflects resource was captured by the context under individual/organization which was responsible for the administration of the vaccine rather than as 'secondary reported' data documented by a third party. A value of 'true' means this data originated with the individual/organization which was originally recorded responsible for the administration of the vaccine primarySource : boolean [1..1] [0..1] The Typically 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 informationSource : CodeableConcept CodeableReference [0..1] « Patient | Practitioner | PractitionerRole | RelatedPerson | Organization ; The source of the data for a record which is not from a primary source. (Strength=Example) Immunization Origin ImmunizationOriginCodes ?? » 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 administered. (Strength=Example) Codes for Immunization Site o... CodesForImmunizationSiteOfAdm... ?? » The path by which the vaccine product is taken into the body route : CodeableConcept [0..1] « The route by which the vaccine was administered administered. (Strength=Example) Immunization Route ImmunizationRouteCodes ?? » 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..*] Describes why the immunization occurred in coded or textual form, or indicates another resource (Condition, Observation or DiagnosticReport) whose existence justifies this immunization reason : CodeableReference [0..*] « Condition | Observation | Practitioner DiagnosticReport ; The reason why a vaccine was administered. (Strength=Example) ImmunizationReasonCodes ?? » Describes Indication if a dose is considered to be subpotent. By default, a dose should be considered to be potent (this element modifies the type meaning of performance other elements) isSubpotent : boolean [0..1] Reason why a dose is considered to be subpotent subpotentReason : CodeableConcept [0..*] « null (Strength=Example) ImmunizationSubpotentReason ?? » 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 publicly 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 ?? » Performer Describes the function played by the performer in the immunization event (e.g. ordering provider, administering provider, etc.) role function : CodeableConcept [0..1] « The role a practitioner or organization plays in the immunization event event. (Strength=Extensible) Immunization Role ImmunizationFunctionCodes + » The device, practitioner, etc. practitioner or organization who performed the action actor : Reference [1..1] « Practitioner | PractitionerRole | Organization | Patient | RelatedPerson » Explanation ProgramEligibility Reasons why a vaccine was administered Indicates which program the patient had their eligibility evaluated for reason program : CodeableConcept [0..*] [1..1] « The reason why vaccation funding program a vaccine was administered patient may be eligible for. (Strength=Example) Immunization Reason CodesForVaccineFundingPrograms ?? » Reason why Indicates the patient's eligibility status for a vaccine was not administered specific payment program reasonNotGiven programStatus : CodeableConcept [0..*] [1..1] « The reason why patient's eligibility for a vaccine was not administered vaccation program. (Strength=Example) Immunization Reasons for Not ... ImmunizationProgramEligibility ?? » Reaction Date of reaction to the immunization date : dateTime [0..1] Details of the reaction detail manifestation : Reference CodeableReference [0..1] « Observation » Self-reported indicator reported : boolean [0..1] VaccinationProtocol Nominal position in a series doseSequence : positiveInt [0..1] Contains the description about the protocol under which the vaccine was administered description : string [0..1] Indicates the authority who published the protocol. E.g. ACIP authority : Reference [0..1] Organization ProtocolApplied One possible path to achieve presumed immunity against a disease - within the context of an authority series : string [0..1] The recommended number of doses to achieve immunity Indicates the authority who published the protocol (e.g. ACIP) that is being followed seriesDoses authority : positiveInt Reference [0..1] « Organization » The targeted vaccine preventable disease the dose is being administered against targetDisease : CodeableConcept [1..*] [0..*] « The vaccine preventable disease target of the vaccination protocol dose is being administered for. (Strength=Example) Vaccination Protocol Dose Tar... ImmunizationTargetDiseaseCodes ?? » Indicates if Nominal position in a series as intended by the immunization event should "count" against practitioner administering the protocol dose doseStatus doseNumber : CodeableConcept [1..1] [0..1] « The status of the vaccination protocol (i.e. should this count) null (Strength=Example) Vaccination Protocol Dose Sta... ?? DoseNumber?? » Provides an explanation as The recommended number of doses to why an immunization event should or should not count against achieve immunity as intended by the protocol practitioner administering the dose doseStatusReason seriesDoses : CodeableConcept [0..1] « The reason for the determining if a vaccination should count or why vaccination should not count. null (Strength=Example) Vaccination Protocol Dose Sta... ?? SeriesDoses?? » Indicates who or what performed the immunization event practitioner performer [0..*] Reasons why Indicates a vaccine was or was not administered patient's eligibility for a funding program explanation programEligibility [0..1] [0..*] Categorical data indicating that an adverse event is associated in time to an immunization reaction [0..*] Contains information about the protocol(s) under which The protocol (set of recommendations) being followed by the vaccine was provider who administered the dose vaccinationProtocol protocolApplied [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>
 <
 <
 <</vaccineCode>

 <basedOn><!-- 0..* Reference(CarePlan|MedicationRequest|ServiceRequest) Authority that the immunization event is based on --></basedOn>
 <status value="[code]"/><!-- 1..1 completed | entered-in-error | not-done -->
 <statusReason><!-- 0..1 CodeableConcept Reason for current status --></statusReason>
 <vaccineCode><!-- 1..1 CodeableConcept Vaccine administered --></vaccineCode>
 <administeredProduct><!-- 0..1 CodeableReference(Medication) Product that was administered --></administeredProduct>
 <manufacturer><!-- 0..1 CodeableReference(Organization) Vaccine manufacturer --></manufacturer>
 <lotNumber value="[string]"/><!-- 0..1 Vaccine lot number -->
 <expirationDate value="[date]"/><!-- 0..1 Vaccine expiration date -->

 <patient><!-- 1..1 Reference(Patient) Who was immunized --></patient>
 <</encounter>
 <
 <
 <</reportOrigin>
 <</location>
 <</manufacturer>
 <
 <

 <encounter><!-- 0..1 Reference(Encounter) Encounter immunization was part of --></encounter>
 <supportingInformation><!-- 0..* Reference(Any) Additional information in support of the immunization --></supportingInformation>
 <occurrence[x]><!-- 1..1 dateTime|string Vaccine administration date --></occurrence[x]>
 <primarySource value="[boolean]"/><!-- 0..1 Indicates context the data was captured in -->
 <informationSource><!-- 0..1 CodeableReference(Organization|Patient|Practitioner|
   PractitionerRole|RelatedPerson) Indicates the source of a  reported record --></informationSource>

 <location><!-- 0..1 Reference(Location) The service delivery location --></location>

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

 <performer>  <!-- 0..* Who performed event -->
  <function><!-- 0..1 CodeableConcept Type of performance --></function>
  <actor><!-- 1..1 Reference(Organization|Patient|Practitioner|PractitionerRole|
    RelatedPerson) Individual or organization who performed the event --></actor>

 </performer>
 <note><!-- 0..* Annotation Additional immunization notes --></note>
 <reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|Observation) Why immunization occurred --></reason>
 <isSubpotent value="[boolean]"/><!-- 0..1 Dose potency -->
 <subpotentReason><!-- 0..* CodeableConcept Reason for being subpotent icon --></subpotentReason>
 <programEligibility>  <!-- 0..* Patient eligibility for a specific vaccination program -->
  <program><!-- 1..1 CodeableConcept The program that eligibility is declared for --></program>
  <programStatus><!-- 1..1 CodeableConcept The patient's eligibility status for the program icon --></programStatus>
 </programEligibility>
 <fundingSource><!-- 0..1 CodeableConcept Funding source for the vaccine icon --></fundingSource>
 <reaction>  <!-- 0..* Details of a reaction that followed the immunization -->
  <date value="[dateTime]"/><!-- 0..1 When reaction started -->
  <manifestation><!-- 0..1 CodeableReference(Observation) Additional information on reaction --></manifestation>
  <reported value="[boolean]"/><!-- 0..1 Indicates self-reported reaction -->

 </reaction>
 <
  <
  <
  <</authority>
  <
  <
  <</targetDisease>
  <</doseStatus>
  <</doseStatusReason>
 </vaccinationProtocol>

 <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 preventable disease being targeted --></targetDisease>
  <doseNumber><!-- 0..1 CodeableConcept Dose number within series --></doseNumber>
  <seriesDoses><!-- 0..1 CodeableConcept Recommended number of doses for immunity --></seriesDoses>
 </protocolApplied>

</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
  "basedOn" : [{ Reference(CarePlan|MedicationRequest|ServiceRequest) }], // Authority that the immunization event is based on
  "status" : "<code>", // R!  completed | entered-in-error | not-done
  "statusReason" : { CodeableConcept }, // Reason for current status
  "vaccineCode" : { CodeableConcept }, // R!  Vaccine administered
  "administeredProduct" : { CodeableReference(Medication) }, // Product that was administered
  "manufacturer" : { CodeableReference(Organization) }, // Vaccine manufacturer
  "lotNumber" : "<string>", // Vaccine lot number
  "expirationDate" : "<date>", // Vaccine expiration date
  "patient" : { Reference(Patient) }, // R!  Who was immunized
  "encounter" : { Reference(Encounter) }, // Encounter immunization was part of
  "supportingInformation" : [{ Reference(Any) }], // Additional information in support of the immunization
  // occurrence[x]: Vaccine administration date. One of these 2:

  "occurrenceDateTime" : "<dateTime>",
  "occurrenceString" : "<string>",
  "primarySource" : <boolean>, // Indicates context the data was captured in
  "informationSource" : { CodeableReference(Organization|Patient|Practitioner|
   PractitionerRole|RelatedPerson) }, // Indicates the source of a  reported record

  "location" : { Reference(Location) }, // The service delivery location
  "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 }, // Type of performance
    "actor" : { Reference(Organization|Patient|Practitioner|PractitionerRole|
    RelatedPerson) } // R!  Individual or organization who performed the event
  }],
  "
  "
    "
    "
  },
  "
    "
    "
    "

  "note" : [{ Annotation }], // Additional immunization notes
  "reason" : [{ CodeableReference(Condition|DiagnosticReport|Observation) }], // Why immunization occurred
  "isSubpotent" : <boolean>, // Dose potency
  "subpotentReason" : [{ CodeableConcept }], // Reason for being subpotent icon
  "programEligibility" : [{ // Patient eligibility for a specific vaccination program
    "program" : { CodeableConcept }, // R!  The program that eligibility is declared for
    "programStatus" : { CodeableConcept } // R!  The patient's eligibility status for the program icon

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

  "fundingSource" : { CodeableConcept }, // Funding source for the vaccine icon
  "reaction" : [{ // Details of a reaction that followed the immunization
    "date" : "<dateTime>", // When reaction started
    "manifestation" : { CodeableReference(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 preventable disease being targeted
    "doseNumber" : { CodeableConcept }, // Dose number within series
    "seriesDoses" : { CodeableConcept } // Recommended number of doses for immunity

  }]
}

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

  # from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language
  # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Business identifier
  fhir:basedOn  ( [ Reference(CarePlan|MedicationRequest|ServiceRequest) ] ... ) ; # 0..* Authority that the immunization event is based on
  fhir:status [ code ] ; # 1..1 completed | entered-in-error | not-done
  fhir:statusReason [ CodeableConcept ] ; # 0..1 Reason for current status
  fhir:vaccineCode [ CodeableConcept ] ; # 1..1 Vaccine administered
  fhir:administeredProduct [ CodeableReference(Medication) ] ; # 0..1 Product that was administered
  fhir:manufacturer [ CodeableReference(Organization) ] ; # 0..1 Vaccine manufacturer
  fhir:lotNumber [ string ] ; # 0..1 Vaccine lot number
  fhir:expirationDate [ date ] ; # 0..1 Vaccine expiration date
  fhir:patient [ Reference(Patient) ] ; # 1..1 Who was immunized
  fhir:encounter [ Reference(Encounter) ] ; # 0..1 Encounter immunization was part of
  fhir:supportingInformation  ( [ Reference(Any) ] ... ) ; # 0..* Additional information in support of the immunization
  # occurrence[x] : 1..1 Vaccine administration date. One of these 2
    fhir:occurrence [  a fhir:DateTime ; dateTime ]
    fhir:occurrence [  a fhir:String ; string ]
  fhir:primarySource [ boolean ] ; # 0..1 Indicates context the data was captured in
  fhir:informationSource [ CodeableReference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Indicates the source of a  reported record
  fhir:location [ Reference(Location) ] ; # 0..1 The service delivery location
  fhir:site [ CodeableConcept ] ; # 0..1 Body site vaccine  was administered
  fhir:route [ CodeableConcept ] ; # 0..1 How vaccine entered body
  fhir:doseQuantity [ Quantity(SimpleQuantity) ] ; # 0..1 Amount of vaccine administered
  fhir:performer ( [ # 0..* Who performed event
    fhir:function [ CodeableConcept ] ; # 0..1 Type of performance
    fhir:actor [ Reference(Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 1..1 Individual or organization who performed the event
  ] ... ) ;
  fhir:note  ( [ Annotation ] ... ) ; # 0..* Additional immunization notes
  fhir:reason  ( [ CodeableReference(Condition|DiagnosticReport|Observation) ] ... ) ; # 0..* Why immunization occurred
  fhir:isSubpotent [ boolean ] ; # 0..1 Dose potency
  fhir:subpotentReason  ( [ CodeableConcept ] ... ) ; # 0..* Reason for being subpotent
  fhir:programEligibility ( [ # 0..* Patient eligibility for a specific vaccination program
    fhir:program [ CodeableConcept ] ; # 1..1 The program that eligibility is declared for
    fhir:programStatus [ CodeableConcept ] ; # 1..1 The patient's eligibility status for the program
  ] ... ) ;
  fhir:fundingSource [ CodeableConcept ] ; # 0..1 Funding source for the vaccine
  fhir:reaction ( [ # 0..* Details of a reaction that followed the immunization
    fhir:date [ dateTime ] ; # 0..1 When reaction started
    fhir:manifestation [ CodeableReference(Observation) ] ; # 0..1 Additional information on reaction
    fhir:reported [ boolean ] ; # 0..1 Indicates self-reported reaction
  ] ... ) ;
  fhir:protocolApplied ( [ # 0..* Protocol followed by the provider
    fhir:series [ string ] ; # 0..1 Name of vaccine series
    fhir:authority [ Reference(Organization) ] ; # 0..1 Who is responsible for publishing the recommendations
    fhir:targetDisease  ( [ CodeableConcept ] ... ) ; # 0..* Vaccine preventable disease being targeted
    fhir:doseNumber [ CodeableConcept ] ; # 0..1 Dose number within series
    fhir:seriesDoses [ CodeableConcept ] ; # 0..1 Recommended number of doses for immunity
  ] ... ) ;

]

Changes since DSTU2 from both R4 and R4B

Immunization
Immunization.status Immunization.basedOn
  • Change value set from http://hl7.org/fhir/ValueSet/medication-admin-status to http://hl7.org/fhir/ValueSet/immunization-status Added Element
Immunization.administeredProduct
  • Added Element
Immunization.notGiven Immunization.manufacturer
  • Renamed Type changed from wasNotGiven Reference(Organization) to notGiven CodeableReference
Immunization.primarySource Immunization.supportingInformation
  • Added Element
Immunization.reportOrigin Immunization.informationSource
  • Added Element
Immunization.performer.actor
  • Type Reference: Added Target Types Patient, RelatedPerson
Immunization.practitioner Immunization.reason
  • Added Element
Immunization.programEligibility
  • Type changed from CodeableConcept to BackboneElement
Immunization.practitioner.role Immunization.programEligibility.program
  • Added Mandatory Element
Immunization.practitioner.actor Immunization.programEligibility.programStatus
  • Added Mandatory Element
Immunization.vaccinationProtocol.doseSequence Immunization.reaction.manifestation
  • Added Element
Immunization.protocolApplied.doseNumber
  • Renamed from doseNumber[x] to doseNumber
  • Min Cardinality changed from 1 to 0
  • Add Type CodeableConcept
  • Remove Types positiveInt, string
Immunization.protocolApplied.seriesDoses
  • Renamed from seriesDoses[x] to seriesDoses
  • Add Type CodeableConcept
  • Remove Types positiveInt, string
Immunization.reported Immunization.recorded
  • deleted Deleted
Immunization.performer Immunization.reportOrigin
  • deleted Deleted
Immunization.requester Immunization.reasonCode
  • deleted Deleted (-> reason)
Immunization.reasonReference
  • Deleted (-> reason)
Immunization.education
  • Deleted
Immunization.reaction.detail
  • Deleted

See the Full Difference for further information

This analysis is available for R4 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). ). for R4B as XML or JSON .

 

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

Immunization.practitioner.role Immunization.explanation.reasonNotGiven Immunization.vaccinationProtocol.targetDisease Immunization.vaccinationProtocol.doseStatus Immunization.vaccinationProtocol.doseStatusReason
Path Definition ValueSet Type Reference Documentation
Immunization.status ImmunizationStatusCodes Required A

The value set to instantiate this attribute should be drawn from a terminologically robust code system that consists of codes indicating or contains concepts to support describing the current status of an Immunization the administered dose of vaccine.

Immunization.statusReason ImmunizationStatusReasonCodes Required Example Immunization Status Codes

The value set to instantiate this attribute should be drawn from a terminologically robust code system that consists of or contains concepts to support describing the reason why a dose of vaccine was not administered. This value set is provided as a suggestive example.

Immunization.vaccineCode The code for vaccine product administered VaccineAdministeredValueSet Example Vaccine Administered Value Set

This identifies the vaccine substance administered - CVX codes.

Immunization.reportOrigin Immunization.informationSource The source of the data for a record which is not from a primary source. ImmunizationOriginCodes Example Immunization Origin Codes

The value set to instantiate this attribute should be drawn from a terminologically robust code system that consists of or contains concepts to support describing the source of the data when the report of the immunization event is not based on information from the person, entity or organization who administered the vaccine. This value set is provided as a suggestive example.

Immunization.site The site at which the vaccine was administered CodesForImmunizationSiteOfAdministration Example Codes for Immunization Site

The value set to instantiate this attribute should be drawn from a terminologically robust code system that consists of Administration or contains concepts to support describing the body site where the vaccination occurred. This value set is provided as a suggestive example.

Immunization.route The route by which the vaccine was administered ImmunizationRouteCodes Example Immunization Route Codes

The value set to instantiate this attribute should be drawn from a terminologically robust code system that consists of or contains concepts to support describing the administrative routes used during vaccination. This value set is provided as a suggestive example.

Immunization.performer.function The role a practitioner plays in the immunization event ImmunizationFunctionCodes Extensible Immunization Role Codes

The value set to instantiate this attribute should be drawn from a terminologically robust code system that consists of or contains concepts to support describing the function a practitioner or organization may play in the immunization event. This value set is provided as a suggestive example.

Immunization.explanation.reason Immunization.reason ImmunizationReasonCodes Example

The value set to instantiate this attribute should be drawn from a terminologically robust code system that consists of or contains concepts to support describing the reason why a dose of vaccine was administered administered. This value set is provided as a suggestive example.

Immunization.subpotentReason ImmunizationSubpotentReason icon Example Immunization Reason Codes

The value set to instantiate this attribute should be drawn from a terminologically robust code system that consists of or contains concepts to support describing the reason why a dose is considered to be subpotent. This value set is provided as a suggestive example.

Immunization.programEligibility.program The reason why a vaccine was not administered CodesForVaccineFundingPrograms Example Immunization Reasons

The value set to instantiate this attribute should be drawn from a terminologically robust code system that consists of or contains concepts to support describing programs that a patient may be eligible for Not Immunizing Codes to cover vaccine administration costs. This value set is provided as a suggestive example.

Immunization.programEligibility.programStatus ImmunizationProgramEligibility icon Example

The disease target value set to instantiate this attribute should be drawn from a terminologically robust code system that consists of or contains concepts to support describing the patient's eligibility for a vaccination protocol program. This value set is provided as a suggestive example.

Immunization.fundingSource ImmunizationFundingSource icon Example Vaccination Protocol Dose Target Codes

The value set to instantiate this attribute should be drawn from a terminologically robust code system that consists of or contains concepts to support describing the source of the vaccine administered. This value set is provided as a suggestive example.

Immunization.protocolApplied.targetDisease ImmunizationTargetDiseaseCodes Example

The status value set to instantiate this attribute should be drawn from a terminologically robust code system that consists of or contains concepts to support describing the vaccination protocol (i.e. should this count) disease that the dose is being administered against. This value set is provided as a suggestive example and includes SNOMED CT concepts from the 64572001 (Disease) hierarchy.

Immunization.protocolApplied.doseNumber Example Vaccination Protocol Dose Status codes
Immunization.protocolApplied.seriesDoses The reason for the determining if a vaccination should count or why vaccination should not count. Example Vaccination Protocol Dose Status Reason codes

11.6.3.2 Constraints imm-1 : If immunization was not administered (notGiven=true) then there SHALL be no reaction nor explanation.reason present ( expression : (notGiven = true).not() or (reaction.empty() and explanation.reason.empty()) ) imm-2 : If immunization was administered (notGiven=false) then explanation.reasonNotGiven SHALL be absent. ( expression : (notGiven = true) or explanation.reasonNotGiven.empty() )

Search parameters for this resource. See also the full list of search parameters for this resource , and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Immunization.notGiven
Name Type Description Expression In Common
date date Vaccination (non)-Administration Date Immunization.date (Immunization.occurrence.ofType(dateTime)) 18 23 Resources
encounter dose-sequence number reference Dose number within series The Encounter this Immunization was part of Immunization.vaccinationProtocol.doseSequence Immunization.encounter
( Encounter )
identifier token Business identifier Immunization.identifier 26 59 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 ) notgiven Immunization.manufacturer.reference token Administrations which were not given
patient reference The patient for the vaccination record Immunization.patient
( Patient )
31 61 Resources
performer practitioner reference The practitioner practitioner, individual or organization who played a role in the vaccination Immunization.practitioner.actor Immunization.performer.actor
( Practitioner , Organization , Patient , PractitionerRole , RelatedPerson )
reaction reference Additional information on reaction Immunization.reaction.detail ( Observation ) Immunization.reaction.manifestation.reference
reaction-date date When reaction started Immunization.reaction.date
reason reason-code token Why immunization occurred Reason why the vaccine was administered Immunization.explanation.reason Immunization.reason.concept
reason-not-given reason-reference reference Reference to a resource (by instance) Immunization.reason.reference token
series string Explanation of reason vaccination was not administered The series being followed by the provider Immunization.explanation.reasonNotGiven Immunization.protocolApplied.series
status token Immunization event status Immunization.status
status-reason token vaccine-code Reason why the vaccine was not administered Immunization.statusReason
target-disease token The target disease the dose is being administered against Immunization.protocolApplied.targetDisease
vaccine-code token Vaccine Product Administered Immunization.vaccineCode