Immunization event information

Retrieving a patient’s immunizations

The logical ID of the patient to retrieve is passed as part of the URL. The logical ID is found as the result of a search.

Name Required? Type Description
id yes URL Patient’s logical ID. This is retrieved using the search function.
date no string A string representing a date to include in the search. See below for more information.

A DAF Immunization is returned.

Name Type Cardinality Description
identifier 0..* Immunization record unique identifier.
status code 1..1 Immunization current status. Valid entries include: In-Progress, On-Hold, Completed, Entered-In-Error, and Stopped. For more information on this value set, see medication-admin-status.
date dateTime 0..1 Date and time when the immunization was administered. When immunizations are patient reported, a specific date might not be known. Although partial dates are allowed, an adult patient might not be able to recall the year a childhood immunization was given.
vaccineCode CodeableConcept 1..1 Vaccine product administered. Values come from vaccine-code.
patient Reference(Patient) 1..1 Patient who received the immunization. Defines constraints and extensions on the patient resource for use in querying and retrieving patient demographic information.
wasNotGiven boolean 1..1 Flag for whether immunization was given.
reported boolean 1..1 Is this a self-reported record?
performer Reference(Practitioner) 0..1 Who administered vaccine.
requester Reference(Practitioner) 0..1 Who ordered vaccination.
encounter Reference(Encounter) 0..1 Encounter administered as part of.
manufacturer Reference(Organization) 0..1 Vaccine manufacturer.
location Reference(Location) 0..1 Where vaccination occurred.
lotNumber string 0..1 Vaccine lot number.
expirationDate date) 0..1 Vaccine expiration date.
site CodeableConcept 0..1 Body site where the vaccine was administered. For more information on this value set, see immunization-site.
route CodeableConcept 0..1 How the vaccine entered the body. For more information on this value set, see immunization-route.
doseQuantity Hl7.Fhir.Model.SimpleQuantity 0..1 Amount of vaccine administered.
note Annotation 0..* Vaccination notes.
explanation 0..1 Administration/non-administration reasons.
– explanation.reason CodeableConcept 0..* Reason why the immunization occurred. For more information on this value set, see immunization-reason.
– explanation.reasonNotGiven CodeableConcept 0..* Reason why the immunization did not occur. For more information on this value set, see no-immunization-reason.
reaction 0..* Details of a reaction that followed the immunization.
– dateTime 0..1 Date/time when the reaction started.
– reaction.detail Reference(Observation) 0..1 Additional information about the reaction.
– reaction.reported boolean 0..1 Was the reaction self-reported?
vaccinationProtocol 0..* Protocol that was followed during the administration of the immunization.
– vaccinationProtocol.doseSequence Hl7.Fhir.Model.PositiveInt 1..1 Dose number within the series.
– vaccinationProtocol.description string 0..1 Details of vaccine protocol.
– vaccinationProtocol.authority Reference(Organization) 0..1 Individual who is responsible for the immunization protocol.
– vaccinationProtocol.series string 0..1 Name of vaccine series.
– vaccinationProtocol.seriesDoses Hl7.Fhir.Model.PositiveInt 0..1 Recommended number of doses for immunity.
– vaccinationProtocol.targetDisease CodeableConcept 1..* Disease immunized against. For more information on this value set, see vaccination-protocol-dose-target.
– vaccinationProtocol.doseStatus CodeableConcept 1..1 Indicates if the dose counts towards immunity. For more information on this value set, see vaccination-protocol-dose-status.
– vaccinationProtocol.doseStatusReason CodeableConcept 0..1 Why dose does (not) count. For more information on this value set, see vaccination-protocol-dose-status-reason.

Searching by date

Dates are passed as query parameters on the URL. Since the URL parameters cannot handle comparators (for example, >, <=) these are passed as part of the date.


The following comparators are supported:

Comparator Description
eq equal
gt greater than
ge greater than or equal
lt less than
le less than or equal

To search for a date range, pass in the date twice.

e.g. date=ge2010-01-01&date=le2010-12-31

This search would include every day in the year 2010.