2026 US Quality Core Implementation Guide
0.5.0 - release

2026 US Quality Core Implementation Guide - Downloaded Version 0.5.0 See the Directory of published versions

## Resource Profile: US Quality Core Immunization Not Done

Official URL: http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-immunizationnotdone | Version: 0.5.0 | Highlight text changes?
Active as of 2026-06-05 | Computable Name: USQualityCoreImmunizationNotDone

Negation profile of Immunization for decision support/quality metrics. Defines the core set of elements and extensions for quality rule and measure authors.

### USCDI+ Quality Element Support Expectations

Systems are expected to support this profile as part of implementing USCDI+ Quality V1 in FHIR and meeting the conformance requirements of this guide.

The following elements are specifically relevant to USCDI+ Quality V1 data classes and elements. Systems are expected to support these elements as applicable to their role in US Quality Core data exchange. See the Must Support section of this guide for more information. These elements are tagged as (USCDI+ Quality) in the formal profile views.

USCDI+ Quality Elements:

- status: (USCDI+ Quality) (USCDI) completed | entered-in-error | not-done
- occurrence[x]: (USCDI+ Quality) (USCDI) Vaccine administration date

Because this profile is derived from US Core, systems are also expected to support Must Support requirements and (USCDI) tagged elements inherited from US Core. The Formal Views section also provides the formal summary, definitions, terminology requirements, and mandatory element requirements.

### Profile Specific Implementation Guidance

This profile represents an immunization event that intentionally did not occur for a medical, patient, or system reason. To represent immunization events that did occur, use the US Quality Core Immunization profile.

Additional informational guidance for authoring CQL using this profile is provided in the CQL Authoring Usage (Informational) section of this page.

Usages:

- Examples for this Profile: Immunization/negation-example-code and Immunization/negation-example
- CapabilityStatements using this Profile: US Quality Core Client CapabilityStatement and US Quality Core Server CapabilityStatement

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

Description Differentials, Snapshots, and other representations.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization | C | 0..* | USCoreImmunizationProfile(6.1.0) | Immunization event information Constraints: us-core-5, ind-1
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 | (USCDI+ Quality) (USCDI) completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required) Fixed Value: not-done
statusReason | S | 1..1 | CodeableConcept | (USCDI) Reason not done Binding: USQualityCore Negation Reason Codes (extensible): The reason the service was not requested
vaccineCode | S Σ C | 1..1 | CodeableConcept | (USCDI) Vaccine Product Type (bind to CVX) Binding: CVX Vaccines Administered Vaccine Set (extensible)
Slices for extension |  |  |  | Content/Rules for all slices
extension:notDoneValueSet | C | 0..1 | canonical(ValueSet) | What wasn't administered URL: http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet
patient | S Σ | 1..1 | Reference(US Quality Core Patient) | (USCDI) Who was immunized
occurrence[x] | S Σ | 1..1 |  | (USCDI+ Quality) (USCDI) Vaccine administration date
occurrenceDateTime |  |  | dateTime S |
occurrenceString |  |  | string |
recorded |  | 1..1 | dateTime | When the immunization was first captured in the subject's record
primarySource | S Σ | 0..1 | boolean | (USCDI) Indicates context the data was recorded in
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Immunization.status | Base | required | Immunization Status Codes | 📦4.0.1 | FHIR Std.
Immunization.statusReason | Base | extensible | USQualityCore Negation Reason Codes | 📦0.5.0 | This IG
Immunization.vaccineCode | Base | extensible | CVX Vaccines Administered Vaccine Set | 📦20230715 | VSAC v0.18

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Immunization | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Immunization | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Immunization | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Immunization | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Immunization | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
ind-1 | error | Immunization | To indicate what immunization was not done, either at least one coding in the vaccineCode element or a notDoneValueSet extension shall be provided | `vaccineCode.extension('http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet').exists() xor vaccineCode.coding.exists()`
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 Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization | C | 0..* | USCoreImmunizationProfile(6.1.0) | Immunization event information Constraints: ind-1
status |  | 1..1 | code | (USCDI+ Quality) (USCDI) completed | entered-in-error | not-done Fixed Value: not-done
statusReason |  | 1..1 | CodeableConcept | (USCDI) Reason not done Binding: USQualityCore Negation Reason Codes (extensible): The reason the service was not requested
vaccineCode |  | 1..1 | CodeableConcept | (USCDI) Vaccine Product Type (bind to CVX)
Slices for extension |  |  |  | Content/Rules for all slices
extension:notDoneValueSet | C | 0..1 | canonical(ValueSet) | What wasn't administered URL: http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet
patient |  | 1..1 | Reference(US Quality Core Patient) | (USCDI) Who was immunized
occurrence[x] |  | 1..1 | dateTime, string | (USCDI+ Quality) (USCDI) Vaccine administration date
recorded |  | 1..1 | dateTime | When the immunization was first captured in the subject's record
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Immunization.statusReason | Base | extensible | USQualityCore Negation Reason Codes | 📦0.5.0 | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
ind-1 | error | Immunization | To indicate what immunization was not done, either at least one coding in the vaccineCode element or a notDoneValueSet extension shall be provided | `vaccineCode.extension('http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet').exists() xor vaccineCode.coding.exists()`

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization | C | 0..* | USCoreImmunizationProfile(6.1.0) | Immunization event information Constraints: us-core-5, ind-1
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.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
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 | (USCDI+ Quality) (USCDI) completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required) Fixed Value: not-done
statusReason | S | 1..1 | CodeableConcept | (USCDI) Reason not done Binding: USQualityCore Negation Reason Codes (extensible): The reason the service was not requested
vaccineCode | S Σ C | 1..1 | CodeableConcept | (USCDI) Vaccine Product Type (bind to CVX) Binding: CVX Vaccines Administered Vaccine Set (extensible)
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:notDoneValueSet | C | 0..1 | canonical(ValueSet) | What wasn't administered URL: http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet
coding | Σ | 0..* | Coding | Code defined by a terminology system
text | Σ | 0..1 | string | Plain text representation of the concept
patient | S Σ | 1..1 | Reference(US Quality Core Patient) | (USCDI) Who was immunized
encounter |  | 0..1 | Reference(Encounter) | Encounter immunization was part of
occurrence[x] | S Σ | 1..1 |  | (USCDI+ Quality) (USCDI) Vaccine administration date
occurrenceDateTime |  |  | dateTime S |
occurrenceString |  |  | string |
recorded |  | 1..1 | dateTime | When the immunization was first captured in the subject's record
primarySource | S Σ | 0..1 | boolean | (USCDI) 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 Constraints: imm-1
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

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Immunization.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
Immunization.status | Base | required | Immunization Status Codes | 📦4.0.1 | FHIR Std.
Immunization.statusReason | Base | extensible | USQualityCore Negation Reason Codes | 📦0.5.0 | This IG
Immunization.vaccineCode | Base | extensible | CVX Vaccines Administered Vaccine Set | 📦20230715 | VSAC v0.18
Immunization.reportOrigin | Base | example | Immunization Origin Codes | 📦4.0.1 | FHIR Std.
Immunization.site | Base | example | Codes for Immunization Site of Administration | 📦4.0.1 | FHIR Std.
Immunization.route | Base | example | Immunization Route Codes | 📦4.0.1 | FHIR Std.
Immunization.performer.​function | Base | extensible | Immunization Function Codes | 📦4.0.1 | FHIR Std.
Immunization.reasonCode | Base | example | Immunization Reason Codes | 📦4.0.1 | FHIR Std.
Immunization.subpotentReason | Base | example | Immunization Subpotent Reason | 📦4.0.1 | FHIR Std.
Immunization.programEligibility | Base | example | Immunization Program Eligibility | 📦4.0.1 | FHIR Std.
Immunization.fundingSource | Base | example | Immunization Funding Source | 📦4.0.1 | FHIR Std.
Immunization.protocolApplied.​targetDisease | Base | example | Immunization Target Disease Codes | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Immunization | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Immunization | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Immunization | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Immunization | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Immunization | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
imm-1 | error | Immunization.education | One of documentType or reference SHALL be present | `documentType.exists() or reference.exists()`
ind-1 | error | Immunization | To indicate what immunization was not done, either at least one coding in the vaccineCode element or a notDoneValueSet extension shall be provided | `vaccineCode.extension('http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet').exists() xor vaccineCode.coding.exists()`
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()`

Summary

Mandatory: 2 elements
Fixed: 1 element

Structures

This structure refers to these other structures:

- US Quality Core Patient (http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-patient)

Extensions

This structure refers to these extensions:

- http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization | C | 0..* | USCoreImmunizationProfile(6.1.0) | Immunization event information Constraints: us-core-5, ind-1
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 | (USCDI+ Quality) (USCDI) completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required) Fixed Value: not-done
statusReason | S | 1..1 | CodeableConcept | (USCDI) Reason not done Binding: USQualityCore Negation Reason Codes (extensible): The reason the service was not requested
vaccineCode | S Σ C | 1..1 | CodeableConcept | (USCDI) Vaccine Product Type (bind to CVX) Binding: CVX Vaccines Administered Vaccine Set (extensible)
Slices for extension |  |  |  | Content/Rules for all slices
extension:notDoneValueSet | C | 0..1 | canonical(ValueSet) | What wasn't administered URL: http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet
patient | S Σ | 1..1 | Reference(US Quality Core Patient) | (USCDI) Who was immunized
occurrence[x] | S Σ | 1..1 |  | (USCDI+ Quality) (USCDI) Vaccine administration date
occurrenceDateTime |  |  | dateTime S |
occurrenceString |  |  | string |
recorded |  | 1..1 | dateTime | When the immunization was first captured in the subject's record
primarySource | S Σ | 0..1 | boolean | (USCDI) Indicates context the data was recorded in
isSubpotent | ?!Σ | 0..1 | boolean | Dose potency
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Immunization.status | Base | required | Immunization Status Codes | 📦4.0.1 | FHIR Std.
Immunization.statusReason | Base | extensible | USQualityCore Negation Reason Codes | 📦0.5.0 | This IG
Immunization.vaccineCode | Base | extensible | CVX Vaccines Administered Vaccine Set | 📦20230715 | VSAC v0.18

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Immunization | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Immunization | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Immunization | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Immunization | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Immunization | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
ind-1 | error | Immunization | To indicate what immunization was not done, either at least one coding in the vaccineCode element or a notDoneValueSet extension shall be provided | `vaccineCode.extension('http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet').exists() xor vaccineCode.coding.exists()`
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()`

Differential View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization | C | 0..* | USCoreImmunizationProfile(6.1.0) | Immunization event information Constraints: ind-1
status |  | 1..1 | code | (USCDI+ Quality) (USCDI) completed | entered-in-error | not-done Fixed Value: not-done
statusReason |  | 1..1 | CodeableConcept | (USCDI) Reason not done Binding: USQualityCore Negation Reason Codes (extensible): The reason the service was not requested
vaccineCode |  | 1..1 | CodeableConcept | (USCDI) Vaccine Product Type (bind to CVX)
Slices for extension |  |  |  | Content/Rules for all slices
extension:notDoneValueSet | C | 0..1 | canonical(ValueSet) | What wasn't administered URL: http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet
patient |  | 1..1 | Reference(US Quality Core Patient) | (USCDI) Who was immunized
occurrence[x] |  | 1..1 | dateTime, string | (USCDI+ Quality) (USCDI) Vaccine administration date
recorded |  | 1..1 | dateTime | When the immunization was first captured in the subject's record
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
Immunization.statusReason | Base | extensible | USQualityCore Negation Reason Codes | 📦0.5.0 | This IG

#### Constraints

Id | Grade | Path(s) | Description | Expression
ind-1 | error | Immunization | To indicate what immunization was not done, either at least one coding in the vaccineCode element or a notDoneValueSet extension shall be provided | `vaccineCode.extension('http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet').exists() xor vaccineCode.coding.exists()`

Snapshot ViewView

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization | C | 0..* | USCoreImmunizationProfile(6.1.0) | Immunization event information Constraints: us-core-5, ind-1
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.
Additional Bindings | Purpose
AllLanguages | Max Binding
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
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 | (USCDI+ Quality) (USCDI) completed | entered-in-error | not-done Binding: ImmunizationStatusCodes (required) Fixed Value: not-done
statusReason | S | 1..1 | CodeableConcept | (USCDI) Reason not done Binding: USQualityCore Negation Reason Codes (extensible): The reason the service was not requested
vaccineCode | S Σ C | 1..1 | CodeableConcept | (USCDI) Vaccine Product Type (bind to CVX) Binding: CVX Vaccines Administered Vaccine Set (extensible)
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:notDoneValueSet | C | 0..1 | canonical(ValueSet) | What wasn't administered URL: http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet
coding | Σ | 0..* | Coding | Code defined by a terminology system
text | Σ | 0..1 | string | Plain text representation of the concept
patient | S Σ | 1..1 | Reference(US Quality Core Patient) | (USCDI) Who was immunized
encounter |  | 0..1 | Reference(Encounter) | Encounter immunization was part of
occurrence[x] | S Σ | 1..1 |  | (USCDI+ Quality) (USCDI) Vaccine administration date
occurrenceDateTime |  |  | dateTime S |
occurrenceString |  |  | string |
recorded |  | 1..1 | dateTime | When the immunization was first captured in the subject's record
primarySource | S Σ | 0..1 | boolean | (USCDI) 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 Constraints: imm-1
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

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Immunization.language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
Immunization.status | Base | required | Immunization Status Codes | 📦4.0.1 | FHIR Std.
Immunization.statusReason | Base | extensible | USQualityCore Negation Reason Codes | 📦0.5.0 | This IG
Immunization.vaccineCode | Base | extensible | CVX Vaccines Administered Vaccine Set | 📦20230715 | VSAC v0.18
Immunization.reportOrigin | Base | example | Immunization Origin Codes | 📦4.0.1 | FHIR Std.
Immunization.site | Base | example | Codes for Immunization Site of Administration | 📦4.0.1 | FHIR Std.
Immunization.route | Base | example | Immunization Route Codes | 📦4.0.1 | FHIR Std.
Immunization.performer.​function | Base | extensible | Immunization Function Codes | 📦4.0.1 | FHIR Std.
Immunization.reasonCode | Base | example | Immunization Reason Codes | 📦4.0.1 | FHIR Std.
Immunization.subpotentReason | Base | example | Immunization Subpotent Reason | 📦4.0.1 | FHIR Std.
Immunization.programEligibility | Base | example | Immunization Program Eligibility | 📦4.0.1 | FHIR Std.
Immunization.fundingSource | Base | example | Immunization Funding Source | 📦4.0.1 | FHIR Std.
Immunization.protocolApplied.​targetDisease | Base | example | Immunization Target Disease Codes | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Immunization | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Immunization | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Immunization | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Immunization | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Immunization | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
imm-1 | error | Immunization.education | One of documentType or reference SHALL be present | `documentType.exists() or reference.exists()`
ind-1 | error | Immunization | To indicate what immunization was not done, either at least one coding in the vaccineCode element or a notDoneValueSet extension shall be provided | `vaccineCode.extension('http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet').exists() xor vaccineCode.coding.exists()`
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()`

Summary

Mandatory: 2 elements
Fixed: 1 element

Structures

This structure refers to these other structures:

- US Quality Core Patient (http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-patient)

Extensions

This structure refers to these extensions:

- http://fhir.org/guides/onc/us-quality-core/StructureDefinition/us-quality-core-notDoneValueSet

Other representations of profile: CSV, Excel, Schematron

### Notes:

#### CQL Authoring Usage (Informational)

The Immunization and ImmunizationNotDone profiles represent the positive and negative statements for an immunization event.

The following illustrative CQL shows an exclusion pattern for immunizations not performed:

    define "Reason for No Polio Immunization":
      ["ImmunizationNotDone": "Inactivated Polio Vaccine (IPV)"] PolioVaccination
        where PolioVaccination.statusReason in "Medical Reason"
          or PolioVaccination.statusReason in "Patient Refusal"

For a more complete discussion of representation of negation within US Quality Core and quality improvement artifacts, see the Negation in US Quality Core topic.