This page is part of the US Core (v3.0.0: STU3) based on FHIR R4. The current version which supercedes this version is 5.0.1. For a full list of available versions, see the Directory of published versions
StructureDefinition-us-core-immunization
This profile sets minimum expectations for the Immunization resource to record, fetch and search immunization history associated with a patient. It identifies which core elements, extensions, vocabularies and value sets SHALL be present in the resource when using this profile.
Example Usage Scenarios:
The following are example usage scenarios for the US Core-Core Immunization profile:
- Query for immunizations belonging to a Patient
- Record immunizations belonging to a Patient
Mandatory and Must Support Data Elements
The following data-elements are mandatory (i.e data MUST be present) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.
Each Immunization must have:
- a status*
- a vaccine code that identifies the kind of vaccine administered
- a date the vaccine was administered
- a patient
Each Immunization must support:
- a statusReason if the vaccine wasn’t given
Profile specific implementation guidance:
- *Use the status code:
not-done
to represent that an immunization was not given. - NDC codes as a translational data element: Based upon the 2015 Edition Certification Requirements, CVX vaccine codes are required and the NDC vaccine codes SHOULD be supported as translations to them. A NDC to CVX ConceptMap is provided and is based upon the CDC’s CVX crosswalk table. A translation is illustrated in the example below.
Examples
Formal Views of Profile Content
Description of Profiles, Differentials, and Snapshots.
The official URL for this profile is:
http://hl7.org/fhir/us/core/StructureDefinition/us-core-immunization
Published on Tue May 21 00:00:00 EDT 2019 as active by the HL7 US Realm Steering Committee.
This profile builds on Immunization
Immunization
Summary of the Mandatory Requirements
- A code in
Immunization.status
with a required binding to Immunization Status Codes - A CodeableConcept in
Immunization.vaccineCode
with an extensible+ MaxValueSet binding to US Core Vaccine Administered Value Set (CVX) with the following constraints: SHOULD have a translation to the NDC value set - A Patient Reference in
Immunization.patient
- A dateTime in
Immunization.occurrence[x]
- A boolean in
Immunization.primarySource
Summary of the Must Support Requirements
- A CodeableConcept in
Immunization.statusReason
with an example binding to Immunization Status Reason Codes
Summary of Constraints
- SHOULD have a translation to the NDC value set
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | 0..* | |||
status | S | 1..1 | code | Binding: ImmunizationStatusCodes (required) |
statusReason | S | 0..1 | CodeableConcept | Binding: ImmunizationStatusReasonCodes (example) |
vaccineCode | SI | 1..1 | CodeableConcept | Vaccine Product Type (bind to CVX) Binding: US Core Vaccine Administered Value Set (CVX) (extensible) Max Binding: US Core Vaccine Administered Value Set (CVX) us-core-1: SHOULD have a translation to the NDC value set |
patient | S | 1..1 | Reference(US Core Patient Profile) | |
occurrence[x] | S | 1..1 | dateTime, string | |
primarySource | S | 1..1 | boolean | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | I | 0..* | Immunization event information | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | 0..* | Identifier | Business identifier | |
status | ?!SΣ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required) |
statusReason | S | 0..1 | CodeableConcept | Reason not done Binding: ImmunizationStatusReasonCodes (example) |
vaccineCode | SΣI | 1..1 | CodeableConcept | Vaccine Product Type (bind to CVX) Binding: US Core Vaccine Administered Value Set (CVX) (extensible) Max Binding: US Core Vaccine Administered Value Set (CVX) us-core-1: SHOULD have a translation to the NDC value set |
patient | SΣ | 1..1 | Reference(US Core Patient Profile) | Who was immunized |
encounter | 0..1 | Reference(Encounter) | Encounter immunization was part of | |
occurrence[x] | SΣ | 1..1 | dateTime, string | Vaccine administration date |
recorded | 0..1 | dateTime | When the immunization was first captured in the subject's record | |
primarySource | SΣ | 1..1 | boolean | Indicates context the data was recorded in |
reportOrigin | 0..1 | CodeableConcept | Indicates the source of a secondarily reported record Binding: ImmunizationOriginCodes (example) | |
location | 0..1 | Reference(Location) | Where immunization occurred | |
manufacturer | 0..1 | Reference(Organization) | Vaccine manufacturer | |
lotNumber | 0..1 | string | Vaccine lot number | |
expirationDate | 0..1 | date | Vaccine expiration date | |
site | 0..1 | CodeableConcept | Body site vaccine was administered Binding: CodesForImmunizationSiteOfAdministration (example) | |
route | 0..1 | CodeableConcept | How vaccine entered body Binding: ImmunizationRouteCodes (example) | |
doseQuantity | 0..1 | SimpleQuantity | Amount of vaccine administered | |
performer | ΣI | 0..* | BackboneElement | Who performed event |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
function | Σ | 0..1 | CodeableConcept | What type of performance was done Binding: ImmunizationFunctionCodes (extensible) |
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Individual or organization who was performing |
note | Σ | 0..* | Annotation | Additional immunization notes |
reasonCode | 0..* | CodeableConcept | Why immunization occurred Binding: ImmunizationReasonCodes (example) | |
reasonReference | 0..* | Reference(Condition | Observation | DiagnosticReport) | Why immunization occurred | |
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency |
subpotentReason | 0..* | CodeableConcept | Reason for being subpotent Binding: ImmunizationSubpotentReason (example) | |
education | I | 0..* | BackboneElement | Educational material presented to patient imm-1: One of documentType or reference SHALL be present |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
documentType | 0..1 | string | Educational material document identifier | |
reference | 0..1 | uri | Educational material reference pointer | |
publicationDate | 0..1 | dateTime | Educational material publication date | |
presentationDate | 0..1 | dateTime | Educational material presentation date | |
programEligibility | 0..* | CodeableConcept | Patient eligibility for a vaccination program Binding: ImmunizationProgramEligibility (example) | |
fundingSource | 0..1 | CodeableConcept | Funding source for the vaccine Binding: ImmunizationFundingSource (example) | |
reaction | I | 0..* | BackboneElement | Details of a reaction that follows immunization |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
date | 0..1 | dateTime | When reaction started | |
detail | 0..1 | Reference(Observation) | Additional information on reaction | |
reported | 0..1 | boolean | Indicates self-reported reaction | |
protocolApplied | I | 0..* | BackboneElement | Protocol followed by the provider |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
series | 0..1 | string | Name of vaccine series | |
authority | 0..1 | Reference(Organization) | Who is responsible for publishing the recommendations | |
targetDisease | 0..* | CodeableConcept | Vaccine preventatable disease being targetted Binding: ImmunizationTargetDiseaseCodes (example) | |
doseNumber[x] | 1..1 | positiveInt, string | Dose number within series | |
seriesDoses[x] | 0..1 | positiveInt, string | Recommended number of doses for immunity | |
Documentation for this format |
Immunization
Summary of the Mandatory Requirements
- A code in
Immunization.status
with a required binding to Immunization Status Codes - A CodeableConcept in
Immunization.vaccineCode
with an extensible+ MaxValueSet binding to US Core Vaccine Administered Value Set (CVX) with the following constraints: SHOULD have a translation to the NDC value set - A Patient Reference in
Immunization.patient
- A dateTime in
Immunization.occurrence[x]
- A boolean in
Immunization.primarySource
Summary of the Must Support Requirements
- A CodeableConcept in
Immunization.statusReason
with an example binding to Immunization Status Reason Codes
Summary of Constraints
- SHOULD have a translation to the NDC value set
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | 0..* | |||
status | S | 1..1 | code | Binding: ImmunizationStatusCodes (required) |
statusReason | S | 0..1 | CodeableConcept | Binding: ImmunizationStatusReasonCodes (example) |
vaccineCode | SI | 1..1 | CodeableConcept | Vaccine Product Type (bind to CVX) Binding: US Core Vaccine Administered Value Set (CVX) (extensible) Max Binding: US Core Vaccine Administered Value Set (CVX) us-core-1: SHOULD have a translation to the NDC value set |
patient | S | 1..1 | Reference(US Core Patient Profile) | |
occurrence[x] | S | 1..1 | dateTime, string | |
primarySource | S | 1..1 | boolean | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | I | 0..* | Immunization event information | |
id | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages | |
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | 0..* | Identifier | Business identifier | |
status | ?!SΣ | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required) |
statusReason | S | 0..1 | CodeableConcept | Reason not done Binding: ImmunizationStatusReasonCodes (example) |
vaccineCode | SΣI | 1..1 | CodeableConcept | Vaccine Product Type (bind to CVX) Binding: US Core Vaccine Administered Value Set (CVX) (extensible) Max Binding: US Core Vaccine Administered Value Set (CVX) us-core-1: SHOULD have a translation to the NDC value set |
patient | SΣ | 1..1 | Reference(US Core Patient Profile) | Who was immunized |
encounter | 0..1 | Reference(Encounter) | Encounter immunization was part of | |
occurrence[x] | SΣ | 1..1 | dateTime, string | Vaccine administration date |
recorded | 0..1 | dateTime | When the immunization was first captured in the subject's record | |
primarySource | SΣ | 1..1 | boolean | Indicates context the data was recorded in |
reportOrigin | 0..1 | CodeableConcept | Indicates the source of a secondarily reported record Binding: ImmunizationOriginCodes (example) | |
location | 0..1 | Reference(Location) | Where immunization occurred | |
manufacturer | 0..1 | Reference(Organization) | Vaccine manufacturer | |
lotNumber | 0..1 | string | Vaccine lot number | |
expirationDate | 0..1 | date | Vaccine expiration date | |
site | 0..1 | CodeableConcept | Body site vaccine was administered Binding: CodesForImmunizationSiteOfAdministration (example) | |
route | 0..1 | CodeableConcept | How vaccine entered body Binding: ImmunizationRouteCodes (example) | |
doseQuantity | 0..1 | SimpleQuantity | Amount of vaccine administered | |
performer | ΣI | 0..* | BackboneElement | Who performed event |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
function | Σ | 0..1 | CodeableConcept | What type of performance was done Binding: ImmunizationFunctionCodes (extensible) |
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Individual or organization who was performing |
note | Σ | 0..* | Annotation | Additional immunization notes |
reasonCode | 0..* | CodeableConcept | Why immunization occurred Binding: ImmunizationReasonCodes (example) | |
reasonReference | 0..* | Reference(Condition | Observation | DiagnosticReport) | Why immunization occurred | |
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency |
subpotentReason | 0..* | CodeableConcept | Reason for being subpotent Binding: ImmunizationSubpotentReason (example) | |
education | I | 0..* | BackboneElement | Educational material presented to patient imm-1: One of documentType or reference SHALL be present |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
documentType | 0..1 | string | Educational material document identifier | |
reference | 0..1 | uri | Educational material reference pointer | |
publicationDate | 0..1 | dateTime | Educational material publication date | |
presentationDate | 0..1 | dateTime | Educational material presentation date | |
programEligibility | 0..* | CodeableConcept | Patient eligibility for a vaccination program Binding: ImmunizationProgramEligibility (example) | |
fundingSource | 0..1 | CodeableConcept | Funding source for the vaccine Binding: ImmunizationFundingSource (example) | |
reaction | I | 0..* | BackboneElement | Details of a reaction that follows immunization |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
date | 0..1 | dateTime | When reaction started | |
detail | 0..1 | Reference(Observation) | Additional information on reaction | |
reported | 0..1 | boolean | Indicates self-reported reaction | |
protocolApplied | I | 0..* | BackboneElement | Protocol followed by the provider |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
series | 0..1 | string | Name of vaccine series | |
authority | 0..1 | Reference(Organization) | Who is responsible for publishing the recommendations | |
targetDisease | 0..* | CodeableConcept | Vaccine preventatable disease being targetted Binding: ImmunizationTargetDiseaseCodes (example) | |
doseNumber[x] | 1..1 | positiveInt, string | Dose number within series | |
seriesDoses[x] | 0..1 | positiveInt, string | Recommended number of doses for immunity | |
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
Quick Start
Below is an overview of the required set of RESTful FHIR interactions - for example, search and read operations - for this profile. See the Conformance requirements for a complete list of supported RESTful interactions for this IG.
Mandatory Search Parameters:
The following search parameters, search parameter combinations and search parameter modifiers, comparators, chains and composites SHALL be supported. the modifiers, comparators, chains and composites that are listed as optional SHOULD be supported.:
-
SHALL support searching for all immunizations for a patient using the
patient
search parameter:GET [base]/Immunization?patient=[reference]
Example:
- GET [base]/Immunization?patient=1137192
Implementation Notes: Fetches a bundle of all Immunization resources for the specified patient (how to search by reference)
Optional Search Parameters:
The following search parameters, search parameter combinations and search parameter modifiers, comparators, chains and composites SHOULD be supported.
- SHOULD support searching using the combination of the
patient
anddate
search parameters:- including support for these
date
comparators:gt,lt,ge,le
- including optional support for composite AND search on
date
(e.g.date=[date]&date=[date]]&...
)
GET [base]/Immunization?patient=[reference]&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}
Example:
- GET [base]/Immunization?patient=1137192&date=ge2019-01-14
Implementation Notes: Fetches a bundle of all Immunization resources for the specified patient and date (how to search by date and how to search by reference)
- including support for these
-
SHOULD support searching using the combination of the
patient
andstatus
search parameters:GET [base]/Immunization?patient=[reference]&status={[system]}|[code]
Example:
- GET [base]/Immunization?patient=1137192&status=completed
Implementation Notes: Fetches a bundle of all Immunization resources for the specified patient and status (how to search by reference and how to search by date)