DSTU2 QA Preview

This page is part of the FHIR Specification (v1.0.0: DSTU 2 Ballot 3). 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

4.18 Resource Immunization - Content

Public Health and Emergency Response Work GroupMaturity Level: 1Compartments: Patient, Practitioner

Describes the event of a patient being administered a vaccination or a record of a vaccination as reported by a patient, a clinician or another party and may include vaccine reaction information and what vaccination protocol was followed.

4.18.1 Scope and Usage

The immunization resource is intended to cover the recording of current and historical administration of vaccines to patients across all healthcare disciplines in all care settings and all regions. This includes immunization of both humans and animals but does not include the administration of non-vaccine agents, even those that may have or claim 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 work group - is believed to meet key use cases and information requirements as defined in the existing HL7 v2.x immunization implementation guide, HL7 v3 POIZ domain and Immunization Domain Analysis Model.

4.18.2 Boundaries and Relationships

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 record should be created to indicate it, as most systems will not query against past Immunization.reaction.

This resource is referenced by immunizationrecommendation

4.18.3 Resource Content

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization DomainResourceImmunization event information
... identifier 0..*IdentifierBusiness identifier
... status ?! Σ1..1codein-progress | on-hold | completed | entered-in-error | stopped
MedicationAdministrationStatus (Required)
... date 0..1dateTimeVaccination administration date
... vaccineCode 1..1CodeableConceptVaccine product administered
Vaccine Administered Value Set (Example)
... patient 1..1Reference(Patient)Who was immunized?
... wasNotGiven ?! I1..1booleanFlag for whether immunization was given
If immunization was administered (wasNotGiven=false) then explanation.reasonNotGiven SHALL be absent.
If immunization was not administred (wasNotGiven=true) then there SHALL be no reaction nor explanation.reason present
... reported 1..1booleanIs this a self-reported record?
... performer 0..1Reference(Practitioner)Who administered vaccine?
... requester 0..1Reference(Practitioner)Who ordered vaccination?
... encounter 0..1Reference(Encounter)Encounter administered as part of
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... location 0..1Reference(Location)Where did vaccination occur?
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... site 0..1CodeableConceptBody site vaccine was administered
Codes for Immunization Site of Administration (Example)
... route 0..1CodeableConceptHow vaccine entered body
Immunization Route Codes (Example)
... doseQuantity 0..1SimpleQuantityAmount of vaccine administered
... note Σ0..*AnnotationVaccination notes
... explanation 0..1BackboneElementAdministration / non-administration reasons
.... reason 0..*CodeableConceptWhy immunization occurred
Immunization Reason Codes (Example)
.... reasonNotGiven 0..*CodeableConceptWhy immunization did not occur
Immunization Reasons for Not Immunizing Codes (Example)
... reaction 0..*BackboneElementDetails of a reaction that follows immunization
.... date 0..1dateTimeWhen did reaction start?
.... detail 0..1Reference(Observation)Additional information on reaction
.... reported 0..1booleanWas reaction self-reported?
... vaccinationProtocol 0..*BackboneElementWhat protocol was followed
.... doseSequence 1..1positiveIntWhat dose number within series?
.... description 0..1stringDetails of vaccine protocol
.... authority 0..1Reference(Organization)Who is responsible for protocol
.... series 0..1stringName of vaccine series
.... seriesDoses 0..1positiveIntRecommended number of doses for immunity
.... targetDisease 1..*CodeableConceptDisease immunized against
Vaccination Protocol Dose TargetCodes (Example)
.... doseStatus 1..1CodeableConceptDoes dose count towards immunity?
Vaccination Protocol Dose Status codes (Example)
.... doseStatusReason 0..1CodeableConceptWhy does does count/not count?
Vaccination Protocol Dose Status Reason codes (Example)

doco Documentation for this format

UML Diagram

Immunization (DomainResource)A unique identifier assigned to this immunization recordidentifier : Identifier [0..*]Indicates the current status of the vaccination 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)MedicationAdministrationStatus! »Date vaccine administered or was to be administereddate : dateTime [0..1]Vaccine that was administered or was to be administeredvaccineCode : 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 immunizationpatient : Reference [1..1] « Patient »Indicates if the vaccination was or was not given (this element modifies the meaning of other elements)wasNotGiven : boolean [1..1]True if this administration was reported rather than directly administeredreported : boolean [1..1]Clinician who administered the vaccineperformer : Reference [0..1] « Practitioner »Clinician who ordered the vaccinationrequester : Reference [0..1] « Practitioner »The visit or admission or other contact between patient and health care provider the immunization was performed as part ofencounter : Reference [0..1] « Encounter »Name of vaccine manufacturermanufacturer : Reference [0..1] « Organization »The service delivery location where the vaccine administration occurredlocation : Reference [0..1] « Location »Lot number of the vaccine productlotNumber : string [0..1]Date vaccine batch expiresexpirationDate : date [0..1]Body site where vaccine was administeredsite : CodeableConcept [0..1] « The site at which the vaccine was administered (Strength=Example)Codes for Immunization Site o...?? »The path by which the vaccine product is taken into the bodyroute : CodeableConcept [0..1] « The route by which the vaccine was administered (Strength=Example)Immunization Route ?? »The quantity of vaccine product that was administereddoseQuantity : Quantity(SimpleQuantity) [0..1]Extra information about the immunization that is not conveyed by the other attributesnote : Annotation [0..*]ExplanationReasons why a vaccine was administeredreason : CodeableConcept [0..*] « The reason why a vaccine was administered (Strength=Example)Immunization Reason ?? »Reason why a vaccine was not administeredreasonNotGiven : CodeableConcept [0..*] « The reason why a vaccine was not administered (Strength=Example)Immunization Reasons for Not ...?? »ReactionDate of reaction to the immunizationdate : dateTime [0..1]Details of the reactiondetail : Reference [0..1] « Observation »Self-reported indicatorreported : boolean [0..1]VaccinationProtocolNominal position in a seriesdoseSequence : positiveInt [1..1]Contains the description about the protocol under which the vaccine was administereddescription : string [0..1]Indicates the authority who published the protocol? E.g. ACIPauthority : Reference [0..1] « Organization »One possible path to achieve presumed immunity against a disease - within the context of an authorityseries : string [0..1]The recommended number of doses to achieve immunityseriesDoses : positiveInt [0..1]The targeted diseasetargetDisease : CodeableConcept [1..*] « The disease target of the vaccination protocol (Strength=Example)Vaccination Protocol Dose Tar...?? »Indicates if the immunization event should "count" against the protocoldoseStatus : CodeableConcept [1..1] « The status of the vaccination protocol (i.e. should this count) (Strength=Example)Vaccination Protocol Dose Sta...?? »Provides an explanation as to why a immunization event should or should not count against the protocoldoseStatusReason : CodeableConcept [0..1] « The reason for the determining if a vaccination should count or why vaccination should not count. (Strength=Example)Vaccination Protocol Dose Sta...?? »Reasons why a vaccine was or was not administeredexplanation[0..1]Categorical data indicating that an adverse event is associated in time to an immunizationreaction[0..*]Contains information about the protocol(s) under which the vaccine was administeredvaccinationProtocol[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 in-progress | on-hold | completed | entered-in-error | stopped -->
 <date value="[dateTime]"/><!-- 0..1 Vaccination administration date -->
 <vaccineCode><!-- 1..1 CodeableConcept Vaccine product administered --></vaccineCode>
 <patient><!-- 1..1 Reference(Patient) Who was immunized? --></patient>
 <wasNotGiven value="[boolean]"/><!-- 1..1 Flag for whether immunization was given -->
 <reported value="[boolean]"/><!-- 1..1 Is this a self-reported record? -->
 <performer><!-- 0..1 Reference(Practitioner) Who administered vaccine? --></performer>
 <requester><!-- 0..1 Reference(Practitioner) Who ordered vaccination? --></requester>
 <encounter><!-- 0..1 Reference(Encounter) Encounter administered as part of --></encounter>
 <manufacturer><!-- 0..1 Reference(Organization) Vaccine manufacturer --></manufacturer>
 <location><!-- 0..1 Reference(Location) Where did vaccination occur? --></location>
 <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>
 <note><!-- 0..* Annotation Vaccination notes --></note>
 <explanation>  <!-- 0..1 Administration / non-administration reasons -->
  <reason><!-- 0..* CodeableConcept Why immunization occurred --></reason>
  <reasonNotGiven><!-- 0..* CodeableConcept Why immunization did not occur --></reasonNotGiven>
 </explanation>
 <reaction>  <!-- 0..* Details of a reaction that follows immunization -->
  <date value="[dateTime]"/><!-- 0..1 When did reaction start? -->
  <detail><!-- 0..1 Reference(Observation) Additional information on reaction --></detail>
  <reported value="[boolean]"/><!-- 0..1 Was reaction self-reported? -->
 </reaction>
 <vaccinationProtocol>  <!-- 0..* What protocol was followed -->
  <doseSequence value="[positiveInt]"/><!-- 1..1 What dose number within series? -->
  <description value="[string]"/><!-- 0..1 Details of vaccine protocol -->
  <authority><!-- 0..1 Reference(Organization) Who is responsible for protocol --></authority>
  <series value="[string]"/><!-- 0..1 Name of vaccine series -->
  <seriesDoses value="[positiveInt]"/><!-- 0..1 Recommended number of doses for immunity -->
  <targetDisease><!-- 1..* CodeableConcept Disease immunized against --></targetDisease>
  <doseStatus><!-- 1..1 CodeableConcept Does dose count towards immunity? --></doseStatus>
  <doseStatusReason><!-- 0..1 CodeableConcept Why does does count/not count? --></doseStatusReason>
 </vaccinationProtocol>
</Immunization>

JSON Template

{doco
  "resourceType" : "Immunization",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Business identifier
  "status" : "<code>", // R!  in-progress | on-hold | completed | entered-in-error | stopped
  "date" : "<dateTime>", // Vaccination administration date
  "vaccineCode" : { CodeableConcept }, // R!  Vaccine product administered
  "patient" : { Reference(Patient) }, // R!  Who was immunized?
  "wasNotGiven" : <boolean>, // R!  Flag for whether immunization was given
  "reported" : <boolean>, // R!  Is this a self-reported record?
  "performer" : { Reference(Practitioner) }, // Who administered vaccine?
  "requester" : { Reference(Practitioner) }, // Who ordered vaccination?
  "encounter" : { Reference(Encounter) }, // Encounter administered as part of
  "manufacturer" : { Reference(Organization) }, // Vaccine manufacturer
  "location" : { Reference(Location) }, // Where did vaccination occur?
  "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
  "note" : [{ Annotation }], // Vaccination notes
  "explanation" : { // Administration / non-administration reasons
    "reason" : [{ CodeableConcept }], // Why immunization occurred
    "reasonNotGiven" : [{ CodeableConcept }] // Why immunization did not occur
  },
  "reaction" : [{ // Details of a reaction that follows immunization
    "date" : "<dateTime>", // When did reaction start?
    "detail" : { Reference(Observation) }, // Additional information on reaction
    "reported" : <boolean> // Was reaction self-reported?
  }],
  "vaccinationProtocol" : [{ // What protocol was followed
    "doseSequence" : "<positiveInt>", // R!  What dose number within series?
    "description" : "<string>", // Details of vaccine protocol
    "authority" : { Reference(Organization) }, // Who is responsible for protocol
    "series" : "<string>", // Name of vaccine series
    "seriesDoses" : "<positiveInt>", // Recommended number of doses for immunity
    "targetDisease" : [{ CodeableConcept }], // R!  Disease immunized against
    "doseStatus" : { CodeableConcept }, // R!  Does dose count towards immunity?
    "doseStatusReason" : { CodeableConcept } // Why does does count/not count?
  }]
}

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization DomainResourceImmunization event information
... identifier 0..*IdentifierBusiness identifier
... status ?! Σ1..1codein-progress | on-hold | completed | entered-in-error | stopped
MedicationAdministrationStatus (Required)
... date 0..1dateTimeVaccination administration date
... vaccineCode 1..1CodeableConceptVaccine product administered
Vaccine Administered Value Set (Example)
... patient 1..1Reference(Patient)Who was immunized?
... wasNotGiven ?! I1..1booleanFlag for whether immunization was given
If immunization was administered (wasNotGiven=false) then explanation.reasonNotGiven SHALL be absent.
If immunization was not administred (wasNotGiven=true) then there SHALL be no reaction nor explanation.reason present
... reported 1..1booleanIs this a self-reported record?
... performer 0..1Reference(Practitioner)Who administered vaccine?
... requester 0..1Reference(Practitioner)Who ordered vaccination?
... encounter 0..1Reference(Encounter)Encounter administered as part of
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... location 0..1Reference(Location)Where did vaccination occur?
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... site 0..1CodeableConceptBody site vaccine was administered
Codes for Immunization Site of Administration (Example)
... route 0..1CodeableConceptHow vaccine entered body
Immunization Route Codes (Example)
... doseQuantity 0..1SimpleQuantityAmount of vaccine administered
... note Σ0..*AnnotationVaccination notes
... explanation 0..1BackboneElementAdministration / non-administration reasons
.... reason 0..*CodeableConceptWhy immunization occurred
Immunization Reason Codes (Example)
.... reasonNotGiven 0..*CodeableConceptWhy immunization did not occur
Immunization Reasons for Not Immunizing Codes (Example)
... reaction 0..*BackboneElementDetails of a reaction that follows immunization
.... date 0..1dateTimeWhen did reaction start?
.... detail 0..1Reference(Observation)Additional information on reaction
.... reported 0..1booleanWas reaction self-reported?
... vaccinationProtocol 0..*BackboneElementWhat protocol was followed
.... doseSequence 1..1positiveIntWhat dose number within series?
.... description 0..1stringDetails of vaccine protocol
.... authority 0..1Reference(Organization)Who is responsible for protocol
.... series 0..1stringName of vaccine series
.... seriesDoses 0..1positiveIntRecommended number of doses for immunity
.... targetDisease 1..*CodeableConceptDisease immunized against
Vaccination Protocol Dose TargetCodes (Example)
.... doseStatus 1..1CodeableConceptDoes dose count towards immunity?
Vaccination Protocol Dose Status codes (Example)
.... doseStatusReason 0..1CodeableConceptWhy does does count/not count?
Vaccination Protocol Dose Status Reason codes (Example)

doco Documentation for this format

UML Diagram

Immunization (DomainResource)A unique identifier assigned to this immunization recordidentifier : Identifier [0..*]Indicates the current status of the vaccination 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)MedicationAdministrationStatus! »Date vaccine administered or was to be administereddate : dateTime [0..1]Vaccine that was administered or was to be administeredvaccineCode : 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 immunizationpatient : Reference [1..1] « Patient »Indicates if the vaccination was or was not given (this element modifies the meaning of other elements)wasNotGiven : boolean [1..1]True if this administration was reported rather than directly administeredreported : boolean [1..1]Clinician who administered the vaccineperformer : Reference [0..1] « Practitioner »Clinician who ordered the vaccinationrequester : Reference [0..1] « Practitioner »The visit or admission or other contact between patient and health care provider the immunization was performed as part ofencounter : Reference [0..1] « Encounter »Name of vaccine manufacturermanufacturer : Reference [0..1] « Organization »The service delivery location where the vaccine administration occurredlocation : Reference [0..1] « Location »Lot number of the vaccine productlotNumber : string [0..1]Date vaccine batch expiresexpirationDate : date [0..1]Body site where vaccine was administeredsite : CodeableConcept [0..1] « The site at which the vaccine was administered (Strength=Example)Codes for Immunization Site o...?? »The path by which the vaccine product is taken into the bodyroute : CodeableConcept [0..1] « The route by which the vaccine was administered (Strength=Example)Immunization Route ?? »The quantity of vaccine product that was administereddoseQuantity : Quantity(SimpleQuantity) [0..1]Extra information about the immunization that is not conveyed by the other attributesnote : Annotation [0..*]ExplanationReasons why a vaccine was administeredreason : CodeableConcept [0..*] « The reason why a vaccine was administered (Strength=Example)Immunization Reason ?? »Reason why a vaccine was not administeredreasonNotGiven : CodeableConcept [0..*] « The reason why a vaccine was not administered (Strength=Example)Immunization Reasons for Not ...?? »ReactionDate of reaction to the immunizationdate : dateTime [0..1]Details of the reactiondetail : Reference [0..1] « Observation »Self-reported indicatorreported : boolean [0..1]VaccinationProtocolNominal position in a seriesdoseSequence : positiveInt [1..1]Contains the description about the protocol under which the vaccine was administereddescription : string [0..1]Indicates the authority who published the protocol? E.g. ACIPauthority : Reference [0..1] « Organization »One possible path to achieve presumed immunity against a disease - within the context of an authorityseries : string [0..1]The recommended number of doses to achieve immunityseriesDoses : positiveInt [0..1]The targeted diseasetargetDisease : CodeableConcept [1..*] « The disease target of the vaccination protocol (Strength=Example)Vaccination Protocol Dose Tar...?? »Indicates if the immunization event should "count" against the protocoldoseStatus : CodeableConcept [1..1] « The status of the vaccination protocol (i.e. should this count) (Strength=Example)Vaccination Protocol Dose Sta...?? »Provides an explanation as to why a immunization event should or should not count against the protocoldoseStatusReason : CodeableConcept [0..1] « The reason for the determining if a vaccination should count or why vaccination should not count. (Strength=Example)Vaccination Protocol Dose Sta...?? »Reasons why a vaccine was or was not administeredexplanation[0..1]Categorical data indicating that an adverse event is associated in time to an immunizationreaction[0..*]Contains information about the protocol(s) under which the vaccine was administeredvaccinationProtocol[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 in-progress | on-hold | completed | entered-in-error | stopped -->
 <date value="[dateTime]"/><!-- 0..1 Vaccination administration date -->
 <vaccineCode><!-- 1..1 CodeableConcept Vaccine product administered --></vaccineCode>
 <patient><!-- 1..1 Reference(Patient) Who was immunized? --></patient>
 <wasNotGiven value="[boolean]"/><!-- 1..1 Flag for whether immunization was given -->
 <reported value="[boolean]"/><!-- 1..1 Is this a self-reported record? -->
 <performer><!-- 0..1 Reference(Practitioner) Who administered vaccine? --></performer>
 <requester><!-- 0..1 Reference(Practitioner) Who ordered vaccination? --></requester>
 <encounter><!-- 0..1 Reference(Encounter) Encounter administered as part of --></encounter>
 <manufacturer><!-- 0..1 Reference(Organization) Vaccine manufacturer --></manufacturer>
 <location><!-- 0..1 Reference(Location) Where did vaccination occur? --></location>
 <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>
 <note><!-- 0..* Annotation Vaccination notes --></note>
 <explanation>  <!-- 0..1 Administration / non-administration reasons -->
  <reason><!-- 0..* CodeableConcept Why immunization occurred --></reason>
  <reasonNotGiven><!-- 0..* CodeableConcept Why immunization did not occur --></reasonNotGiven>
 </explanation>
 <reaction>  <!-- 0..* Details of a reaction that follows immunization -->
  <date value="[dateTime]"/><!-- 0..1 When did reaction start? -->
  <detail><!-- 0..1 Reference(Observation) Additional information on reaction --></detail>
  <reported value="[boolean]"/><!-- 0..1 Was reaction self-reported? -->
 </reaction>
 <vaccinationProtocol>  <!-- 0..* What protocol was followed -->
  <doseSequence value="[positiveInt]"/><!-- 1..1 What dose number within series? -->
  <description value="[string]"/><!-- 0..1 Details of vaccine protocol -->
  <authority><!-- 0..1 Reference(Organization) Who is responsible for protocol --></authority>
  <series value="[string]"/><!-- 0..1 Name of vaccine series -->
  <seriesDoses value="[positiveInt]"/><!-- 0..1 Recommended number of doses for immunity -->
  <targetDisease><!-- 1..* CodeableConcept Disease immunized against --></targetDisease>
  <doseStatus><!-- 1..1 CodeableConcept Does dose count towards immunity? --></doseStatus>
  <doseStatusReason><!-- 0..1 CodeableConcept Why does does count/not count? --></doseStatusReason>
 </vaccinationProtocol>
</Immunization>

JSON Template

{doco
  "resourceType" : "Immunization",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Business identifier
  "status" : "<code>", // R!  in-progress | on-hold | completed | entered-in-error | stopped
  "date" : "<dateTime>", // Vaccination administration date
  "vaccineCode" : { CodeableConcept }, // R!  Vaccine product administered
  "patient" : { Reference(Patient) }, // R!  Who was immunized?
  "wasNotGiven" : <boolean>, // R!  Flag for whether immunization was given
  "reported" : <boolean>, // R!  Is this a self-reported record?
  "performer" : { Reference(Practitioner) }, // Who administered vaccine?
  "requester" : { Reference(Practitioner) }, // Who ordered vaccination?
  "encounter" : { Reference(Encounter) }, // Encounter administered as part of
  "manufacturer" : { Reference(Organization) }, // Vaccine manufacturer
  "location" : { Reference(Location) }, // Where did vaccination occur?
  "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
  "note" : [{ Annotation }], // Vaccination notes
  "explanation" : { // Administration / non-administration reasons
    "reason" : [{ CodeableConcept }], // Why immunization occurred
    "reasonNotGiven" : [{ CodeableConcept }] // Why immunization did not occur
  },
  "reaction" : [{ // Details of a reaction that follows immunization
    "date" : "<dateTime>", // When did reaction start?
    "detail" : { Reference(Observation) }, // Additional information on reaction
    "reported" : <boolean> // Was reaction self-reported?
  }],
  "vaccinationProtocol" : [{ // What protocol was followed
    "doseSequence" : "<positiveInt>", // R!  What dose number within series?
    "description" : "<string>", // Details of vaccine protocol
    "authority" : { Reference(Organization) }, // Who is responsible for protocol
    "series" : "<string>", // Name of vaccine series
    "seriesDoses" : "<positiveInt>", // Recommended number of doses for immunity
    "targetDisease" : [{ CodeableConcept }], // R!  Disease immunized against
    "doseStatus" : { CodeableConcept }, // R!  Does dose count towards immunity?
    "doseStatusReason" : { CodeableConcept } // Why does does count/not count?
  }]
}

 

Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire

4.18.3.1 Terminology Bindings

PathDefinitionTypeReference
Immunization.status A set of codes indicating the current status of an ImmunizationRequiredMedicationAdministrationStatus
Immunization.vaccineCode The code for vaccine product administeredExampleVaccine Administered Value Set
Immunization.site The site at which the vaccine was administeredExampleCodes for Immunization Site of Administration
Immunization.route The route by which the vaccine was administeredExampleImmunization Route Codes
Immunization.explanation.reason The reason why a vaccine was administeredExampleImmunization Reason Codes
Immunization.explanation.reasonNotGiven The reason why a vaccine was not administeredExampleImmunization Reasons for Not Immunizing Codes
Immunization.vaccinationProtocol.targetDisease The disease target of the vaccination protocolExampleVaccination Protocol Dose TargetCodes
Immunization.vaccinationProtocol.doseStatus The status of the vaccination protocol (i.e. should this count)ExampleVaccination Protocol Dose Status codes
Immunization.vaccinationProtocol.doseStatusReason The reason for the determining if a vaccination should count or why vaccination should not count.ExampleVaccination Protocol Dose Status Reason codes

4.18.3.2 Constraints

  • imm-1: On Immunization.wasNotGiven: If immunization was not administred (wasNotGiven=true) then there SHALL be no reaction nor explanation.reason present (xpath on f:Immunization/f:wasNotGiven: not(f:wasNotGiven/@value='true' and (count(f:reaction) > 0 or exists(f:explanation/reason))))
  • imm-2: On Immunization.wasNotGiven: If immunization was administered (wasNotGiven=false) then explanation.reasonNotGiven SHALL be absent. (xpath on f:Immunization/f:wasNotGiven: not(f:wasNotGiven/@value='false' and exists(f:explanation/f:reasonNotGiven)))

4.18.4 Search Parameters

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

NameTypeDescriptionPaths
datedateVaccination (non)-Administration DateImmunization.date
dose-sequencenumberWhat dose number within series?Immunization.vaccinationProtocol.doseSequence
identifiertokenBusiness identifierImmunization.identifier
locationreferenceThe service delivery location or facility in which the vaccine was / was to be administeredImmunization.location
(Location)
lot-numberstringVaccine Lot NumberImmunization.lotNumber
manufacturerreferenceVaccine ManufacturerImmunization.manufacturer
(Organization)
notgiventokenAdministrations which were not givenImmunization.wasNotGiven
patientreferenceThe patient for the vaccination recordImmunization.patient
(Patient)
performerreferenceThe practitioner who administered the vaccinationImmunization.performer
(Practitioner)
reactionreferenceAdditional information on reactionImmunization.reaction.detail
(Observation)
reaction-datedateWhen did reaction start?Immunization.reaction.date
reasontokenWhy immunization occurredImmunization.explanation.reason
reason-not-giventokenExplanation of reason vaccination was not administeredImmunization.explanation.reasonNotGiven
requesterreferenceThe practitioner who ordered the vaccinationImmunization.requester
(Practitioner)
statustokenImmunization event statusImmunization.status
vaccine-codetokenVaccine Product AdministeredImmunization.vaccineCode