This page is part of the US Core (v6.0.0-ballot: STU6 Ballot 1) 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
Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-immunization | Version: 6.0.0-ballot | |||
Active as of 2022-04-20 | Computable Name: USCoreImmunizationProfile | |||
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License |
This profile sets minimum expectations for the Immunization resource to record, search, and fetch immunization history associated with a patient to promote interoperability and adoption through common implementation. It identifies which core elements, extensions, vocabularies, and value sets SHALL be present in the resource when using this profile. It provides the floor for standards development for specific use cases.
Example Usage Scenarios:
The following are example usage scenarios for the US Core-Core Immunization profile:
The following data-elements must always be present (Mandatory definition) 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 Views below provides the formal summary, definitions, and terminology requirements.
Each Immunization must have:
Each Immunization must support:
Profile specific implementation guidance:
not-done
to represent that an immunization was not given.http://hl7.org/fhir/sid/cvx
for CVX and http://hl7.org/fhir/sid/ndc
for NDC vaccine codes. Note that the vaccineCode
binding link in the formal definition and the CDC links below use the associated OID as the code system identifiers.Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Immunization
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | C | 0..* | Immunization | Immunization event information us-core-5: SHOULD have a translation to the NDC value set |
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 | SC | 1..1 | CodeableConcept | Vaccine Product Type (bind to CVX) Binding: CVX Vaccines Administered Vaccine Set (extensible) |
patient | S | 1..1 | Reference(US Core Patient Profile) | Who was immunized |
occurrence[x] | S | 1..1 | Vaccine administration date | |
occurrenceDateTime | dateTime S | |||
occurrenceString | string | |||
primarySource | S | 0..1 | boolean | Indicates context the data was recorded in |
Documentation for this format |
Path | Conformance | ValueSet |
Immunization.status | required | ImmunizationStatusCodes |
Immunization.statusReason | example | ImmunizationStatusReasonCodes |
Immunization.vaccineCode | extensible | CVX Vaccines Administered Vaccine Set |
Id | Grade | Path(s) | Details | Requirements |
us-core-5 | best practice | Immunization | SHOULD have a translation to the NDC value set : vaccineCode.coding.where(system='http://hl7.org/fhir/sid/ndc').empty() |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | C | 0..* | Immunization | Immunization event information us-core-5: SHOULD have a translation to the NDC value set |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
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ΣC | 1..1 | CodeableConcept | Vaccine Product Type (bind to CVX) Binding: CVX Vaccines Administered Vaccine Set (extensible) |
patient | SΣ | 1..1 | Reference(US Core Patient Profile) | Who was immunized |
occurrence[x] | SΣ | 1..1 | Vaccine administration date | |
occurrenceDateTime | dateTime | |||
primarySource | SΣ | 0..1 | boolean | Indicates context the data was recorded in |
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency |
Documentation for this format |
Path | Conformance | ValueSet |
Immunization.status | required | ImmunizationStatusCodes |
Immunization.statusReason | example | ImmunizationStatusReasonCodes |
Immunization.vaccineCode | extensible | CVX Vaccines Administered Vaccine Set |
Id | Grade | Path(s) | Details | Requirements |
us-core-5 | best practice | Immunization | SHOULD have a translation to the NDC value set : vaccineCode.coding.where(system='http://hl7.org/fhir/sid/ndc').empty() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Immunization | C | 0..* | Immunization | Immunization event information us-core-5: SHOULD have a translation to the NDC value set | ||||
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): A human language.
| |||||
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ΣC | 1..1 | CodeableConcept | Vaccine Product Type (bind to CVX) Binding: CVX Vaccines Administered Vaccine Set (extensible) | ||||
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 | Vaccine administration date | |||||
occurrenceDateTime | dateTime S | |||||||
occurrenceString | string | |||||||
recorded | 0..1 | dateTime | When the immunization was first captured in the subject's record | |||||
primarySource | SΣ | 0..1 | boolean | Indicates context the data was recorded in | ||||
reportOrigin | 0..1 | CodeableConcept | Indicates the source of a secondarily reported record Binding: ImmunizationOriginCodes (example): The source of the data for a record which is not from a primary source. | |||||
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): The site at which the vaccine was administered. | |||||
route | 0..1 | CodeableConcept | How vaccine entered body Binding: ImmunizationRouteCodes (example): The route by which the vaccine was administered. | |||||
doseQuantity | 0..1 | SimpleQuantity | Amount of vaccine administered | |||||
performer | Σ | 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): The role a practitioner or organization plays in the immunization event. | ||||
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): The reason why a vaccine was administered. | |||||
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): The reason why a dose is considered to be subpotent. | |||||
education | C | 0..* | BackboneElement | Educational material presented to patient | ||||
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): The patient's eligibility for a vaccation program. | |||||
fundingSource | 0..1 | CodeableConcept | Funding source for the vaccine Binding: ImmunizationFundingSource (example): The source of funding used to purchase the vaccine administered. | |||||
reaction | 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 | 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): The vaccine preventable disease the dose is being administered for. | |||||
doseNumber[x] | 1..1 | Dose number within series | ||||||
doseNumberPositiveInt | positiveInt | |||||||
doseNumberString | string | |||||||
seriesDoses[x] | 0..1 | Recommended number of doses for immunity | ||||||
seriesDosesPositiveInt | positiveInt | |||||||
seriesDosesString | string | |||||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Immunization.language | preferred | CommonLanguages
| ||||
Immunization.status | required | ImmunizationStatusCodes | ||||
Immunization.statusReason | example | ImmunizationStatusReasonCodes | ||||
Immunization.vaccineCode | extensible | CVX Vaccines Administered Vaccine Set | ||||
Immunization.reportOrigin | example | ImmunizationOriginCodes | ||||
Immunization.site | example | CodesForImmunizationSiteOfAdministration | ||||
Immunization.route | example | ImmunizationRouteCodes | ||||
Immunization.performer.function | extensible | ImmunizationFunctionCodes | ||||
Immunization.reasonCode | example | ImmunizationReasonCodes | ||||
Immunization.subpotentReason | example | ImmunizationSubpotentReason | ||||
Immunization.programEligibility | example | ImmunizationProgramEligibility | ||||
Immunization.fundingSource | example | ImmunizationFundingSource | ||||
Immunization.protocolApplied.targetDisease | example | ImmunizationTargetDiseaseCodes |
This structure is derived from Immunization
Differential View
This structure is derived from Immunization
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | C | 0..* | Immunization | Immunization event information us-core-5: SHOULD have a translation to the NDC value set |
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 | SC | 1..1 | CodeableConcept | Vaccine Product Type (bind to CVX) Binding: CVX Vaccines Administered Vaccine Set (extensible) |
patient | S | 1..1 | Reference(US Core Patient Profile) | Who was immunized |
occurrence[x] | S | 1..1 | Vaccine administration date | |
occurrenceDateTime | dateTime S | |||
occurrenceString | string | |||
primarySource | S | 0..1 | boolean | Indicates context the data was recorded in |
Documentation for this format |
Path | Conformance | ValueSet |
Immunization.status | required | ImmunizationStatusCodes |
Immunization.statusReason | example | ImmunizationStatusReasonCodes |
Immunization.vaccineCode | extensible | CVX Vaccines Administered Vaccine Set |
Id | Grade | Path(s) | Details | Requirements |
us-core-5 | best practice | Immunization | SHOULD have a translation to the NDC value set : vaccineCode.coding.where(system='http://hl7.org/fhir/sid/ndc').empty() |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Immunization | C | 0..* | Immunization | Immunization event information us-core-5: SHOULD have a translation to the NDC value set |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
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ΣC | 1..1 | CodeableConcept | Vaccine Product Type (bind to CVX) Binding: CVX Vaccines Administered Vaccine Set (extensible) |
patient | SΣ | 1..1 | Reference(US Core Patient Profile) | Who was immunized |
occurrence[x] | SΣ | 1..1 | Vaccine administration date | |
occurrenceDateTime | dateTime | |||
primarySource | SΣ | 0..1 | boolean | Indicates context the data was recorded in |
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency |
Documentation for this format |
Path | Conformance | ValueSet |
Immunization.status | required | ImmunizationStatusCodes |
Immunization.statusReason | example | ImmunizationStatusReasonCodes |
Immunization.vaccineCode | extensible | CVX Vaccines Administered Vaccine Set |
Id | Grade | Path(s) | Details | Requirements |
us-core-5 | best practice | Immunization | SHOULD have a translation to the NDC value set : vaccineCode.coding.where(system='http://hl7.org/fhir/sid/ndc').empty() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Immunization | C | 0..* | Immunization | Immunization event information us-core-5: SHOULD have a translation to the NDC value set | ||||
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): A human language.
| |||||
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ΣC | 1..1 | CodeableConcept | Vaccine Product Type (bind to CVX) Binding: CVX Vaccines Administered Vaccine Set (extensible) | ||||
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 | Vaccine administration date | |||||
occurrenceDateTime | dateTime S | |||||||
occurrenceString | string | |||||||
recorded | 0..1 | dateTime | When the immunization was first captured in the subject's record | |||||
primarySource | SΣ | 0..1 | boolean | Indicates context the data was recorded in | ||||
reportOrigin | 0..1 | CodeableConcept | Indicates the source of a secondarily reported record Binding: ImmunizationOriginCodes (example): The source of the data for a record which is not from a primary source. | |||||
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): The site at which the vaccine was administered. | |||||
route | 0..1 | CodeableConcept | How vaccine entered body Binding: ImmunizationRouteCodes (example): The route by which the vaccine was administered. | |||||
doseQuantity | 0..1 | SimpleQuantity | Amount of vaccine administered | |||||
performer | Σ | 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): The role a practitioner or organization plays in the immunization event. | ||||
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): The reason why a vaccine was administered. | |||||
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): The reason why a dose is considered to be subpotent. | |||||
education | C | 0..* | BackboneElement | Educational material presented to patient | ||||
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): The patient's eligibility for a vaccation program. | |||||
fundingSource | 0..1 | CodeableConcept | Funding source for the vaccine Binding: ImmunizationFundingSource (example): The source of funding used to purchase the vaccine administered. | |||||
reaction | 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 | 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): The vaccine preventable disease the dose is being administered for. | |||||
doseNumber[x] | 1..1 | Dose number within series | ||||||
doseNumberPositiveInt | positiveInt | |||||||
doseNumberString | string | |||||||
seriesDoses[x] | 0..1 | Recommended number of doses for immunity | ||||||
seriesDosesPositiveInt | positiveInt | |||||||
seriesDosesString | string | |||||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
Immunization.language | preferred | CommonLanguages
| ||||
Immunization.status | required | ImmunizationStatusCodes | ||||
Immunization.statusReason | example | ImmunizationStatusReasonCodes | ||||
Immunization.vaccineCode | extensible | CVX Vaccines Administered Vaccine Set | ||||
Immunization.reportOrigin | example | ImmunizationOriginCodes | ||||
Immunization.site | example | CodesForImmunizationSiteOfAdministration | ||||
Immunization.route | example | ImmunizationRouteCodes | ||||
Immunization.performer.function | extensible | ImmunizationFunctionCodes | ||||
Immunization.reasonCode | example | ImmunizationReasonCodes | ||||
Immunization.subpotentReason | example | ImmunizationSubpotentReason | ||||
Immunization.programEligibility | example | ImmunizationProgramEligibility | ||||
Immunization.fundingSource | example | ImmunizationFundingSource | ||||
Immunization.protocolApplied.targetDisease | example | ImmunizationTargetDiseaseCodes |
This structure is derived from Immunization
Other representations of profile: CSV, Excel, Schematron
Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile’s information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.
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={Type/}[id]
Example:
Implementation Notes: Fetches a bundle of all Immunization resources for the specified patient (how to search by reference)
The following search parameter combinations SHOULD be supported:
patient
and date
search parameters:
date
comparators: gt,lt,ge,le
date
(e.g.date=[date]&date=[date]]&...
)GET [base]/Immunization?patient={Type/}[id]&date={gt|lt|ge|le}[date]{&date={gt|lt|ge|le}[date]&...}
Example:
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)
SHOULD support searching using the combination of the patient
and status
search parameters:
GET [base]/Immunization?patient={Type/}[id]&status={system|}[code]
Example:
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)
1 Although the CVX code system contains some concepts that are procedures, medications, or substances rather than immunizations, the value set defined in VSAC has removed those and retained only the vaccine codes (see the exclusion definition in VSAC for more detail)