This page is part of the US Core (v3.1.1: 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 or update 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 Mon Aug 26 00:00:00 AEST 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 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..* | Immunization | Immunization event information | |
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 | SI | 1..1 | CodeableConcept | Vaccine Product Type (bind to CVX) Binding: US Core Vaccine Administered Value Set (CVX) (extensible) us-core-1: SHOULD have a translation to the NDC value set |
patient | S | 1..1 | Reference(US Core Patient Profile) | Who was immunized |
occurrence[x] | S | 1..1 | Vaccine administration date | |
occurrenceDateTime | dateTime | |||
occurrenceString | string | |||
primarySource | S | 1..1 | boolean | Indicates context the data was recorded in |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | I | 0..* | Immunization | Immunization event information |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | I | 0..* | Identifier | Business identifier |
status | ?!SΣI | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required) |
statusReason | SI | 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) us-core-1: SHOULD have a translation to the NDC value set |
patient | SΣI | 1..1 | Reference(US Core Patient Profile) | Who was immunized |
encounter | I | 0..1 | Reference(Encounter) | Encounter immunization was part of |
occurrence[x] | SΣI | 1..1 | Vaccine administration date | |
occurrenceDateTime | dateTime | |||
occurrenceString | string | |||
recorded | I | 0..1 | dateTime | When the immunization was first captured in the subject's record |
primarySource | SΣI | 1..1 | boolean | Indicates context the data was recorded in |
reportOrigin | I | 0..1 | CodeableConcept | Indicates the source of a secondarily reported record Binding: ImmunizationOriginCodes (example) |
location | I | 0..1 | Reference(Location) | Where immunization occurred |
manufacturer | I | 0..1 | Reference(Organization) | Vaccine manufacturer |
lotNumber | I | 0..1 | string | Vaccine lot number |
expirationDate | I | 0..1 | date | Vaccine expiration date |
site | I | 0..1 | CodeableConcept | Body site vaccine was administered Binding: CodesForImmunizationSiteOfAdministration (example) |
route | I | 0..1 | CodeableConcept | How vaccine entered body Binding: ImmunizationRouteCodes (example) |
doseQuantity | I | 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 | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
function | ΣI | 0..1 | CodeableConcept | What type of performance was done Binding: ImmunizationFunctionCodes (extensible) |
actor | ΣI | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Individual or organization who was performing |
note | ΣI | 0..* | Annotation | Additional immunization notes |
reasonCode | I | 0..* | CodeableConcept | Why immunization occurred Binding: ImmunizationReasonCodes (example) |
reasonReference | I | 0..* | Reference(Condition | Observation | DiagnosticReport) | Why immunization occurred |
isSubpotent | ?!ΣI | 0..1 | boolean | Dose potency |
subpotentReason | I | 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 | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
documentType | I | 0..1 | string | Educational material document identifier |
reference | I | 0..1 | uri | Educational material reference pointer |
publicationDate | I | 0..1 | dateTime | Educational material publication date |
presentationDate | I | 0..1 | dateTime | Educational material presentation date |
programEligibility | I | 0..* | CodeableConcept | Patient eligibility for a vaccination program Binding: ImmunizationProgramEligibility (example) |
fundingSource | I | 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 | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
date | I | 0..1 | dateTime | When reaction started |
detail | I | 0..1 | Reference(Observation) | Additional information on reaction |
reported | I | 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 | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
series | I | 0..1 | string | Name of vaccine series |
authority | I | 0..1 | Reference(Organization) | Who is responsible for publishing the recommendations |
targetDisease | I | 0..* | CodeableConcept | Vaccine preventatable disease being targetted Binding: ImmunizationTargetDiseaseCodes (example) |
doseNumber[x] | I | 1..1 | Dose number within series | |
doseNumberPositiveInt | positiveInt | |||
doseNumberString | string | |||
seriesDoses[x] | I | 0..1 | Recommended number of doses for immunity | |
seriesDosesPositiveInt | positiveInt | |||
seriesDosesString | string | |||
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 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..* | Immunization | Immunization event information | |
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 | SI | 1..1 | CodeableConcept | Vaccine Product Type (bind to CVX) Binding: US Core Vaccine Administered Value Set (CVX) (extensible) us-core-1: SHOULD have a translation to the NDC value set |
patient | S | 1..1 | Reference(US Core Patient Profile) | Who was immunized |
occurrence[x] | S | 1..1 | Vaccine administration date | |
occurrenceDateTime | dateTime | |||
occurrenceString | string | |||
primarySource | S | 1..1 | boolean | Indicates context the data was recorded in |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | I | 0..* | Immunization | Immunization event information |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | I | 0..* | Identifier | Business identifier |
status | ?!SΣI | 1..1 | code | completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required) |
statusReason | SI | 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) us-core-1: SHOULD have a translation to the NDC value set |
patient | SΣI | 1..1 | Reference(US Core Patient Profile) | Who was immunized |
encounter | I | 0..1 | Reference(Encounter) | Encounter immunization was part of |
occurrence[x] | SΣI | 1..1 | Vaccine administration date | |
occurrenceDateTime | dateTime | |||
occurrenceString | string | |||
recorded | I | 0..1 | dateTime | When the immunization was first captured in the subject's record |
primarySource | SΣI | 1..1 | boolean | Indicates context the data was recorded in |
reportOrigin | I | 0..1 | CodeableConcept | Indicates the source of a secondarily reported record Binding: ImmunizationOriginCodes (example) |
location | I | 0..1 | Reference(Location) | Where immunization occurred |
manufacturer | I | 0..1 | Reference(Organization) | Vaccine manufacturer |
lotNumber | I | 0..1 | string | Vaccine lot number |
expirationDate | I | 0..1 | date | Vaccine expiration date |
site | I | 0..1 | CodeableConcept | Body site vaccine was administered Binding: CodesForImmunizationSiteOfAdministration (example) |
route | I | 0..1 | CodeableConcept | How vaccine entered body Binding: ImmunizationRouteCodes (example) |
doseQuantity | I | 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 | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
function | ΣI | 0..1 | CodeableConcept | What type of performance was done Binding: ImmunizationFunctionCodes (extensible) |
actor | ΣI | 1..1 | Reference(Practitioner | PractitionerRole | Organization) | Individual or organization who was performing |
note | ΣI | 0..* | Annotation | Additional immunization notes |
reasonCode | I | 0..* | CodeableConcept | Why immunization occurred Binding: ImmunizationReasonCodes (example) |
reasonReference | I | 0..* | Reference(Condition | Observation | DiagnosticReport) | Why immunization occurred |
isSubpotent | ?!ΣI | 0..1 | boolean | Dose potency |
subpotentReason | I | 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 | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
documentType | I | 0..1 | string | Educational material document identifier |
reference | I | 0..1 | uri | Educational material reference pointer |
publicationDate | I | 0..1 | dateTime | Educational material publication date |
presentationDate | I | 0..1 | dateTime | Educational material presentation date |
programEligibility | I | 0..* | CodeableConcept | Patient eligibility for a vaccination program Binding: ImmunizationProgramEligibility (example) |
fundingSource | I | 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 | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
date | I | 0..1 | dateTime | When reaction started |
detail | I | 0..1 | Reference(Observation) | Additional information on reaction |
reported | I | 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 | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
series | I | 0..1 | string | Name of vaccine series |
authority | I | 0..1 | Reference(Organization) | Who is responsible for publishing the recommendations |
targetDisease | I | 0..* | CodeableConcept | Vaccine preventatable disease being targetted Binding: ImmunizationTargetDiseaseCodes (example) |
doseNumber[x] | I | 1..1 | Dose number within series | |
doseNumberPositiveInt | positiveInt | |||
doseNumberString | string | |||
seriesDoses[x] | I | 0..1 | Recommended number of doses for immunity | |
seriesDosesPositiveInt | positiveInt | |||
seriesDosesString | string | |||
Documentation for this format |
Downloads: StructureDefinition: (XML, JSON), Schema: XML Schematron
Quick Start
Below is an overview of the required set of Server 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.
- The syntax used to describe the interactions is described here.
- See the General Guidance section for additional rules and expectations when a server requires status parameters.
- See the General Guidance section for additional guidance on searching for multiple patients.
Mandatory Search Parameters:
The following search parameters and search parameter combinations SHALL 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 parameter combinations 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)