2026 US Quality Core Implementation Guide
0.5.0 - cibuild US

2026 US Quality Core Implementation Guide, published by Office of the National Coordinator for Health Information Technology (ONC). This guide is not an authorized publication; it is the continuous build for version 0.5.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/FHIR/us-quality-core/ and changes regularly. 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
Active as of 2026-05-15 | 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.

Usage

See the patterns page for implementation and usage patterns.

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

### Examples

Negation Example using valueset reference | Immunization not performed due to patient declination for religious reasons; indicates that none of the vaccines in the given "not done value set" were administered.
Negation Example using coding | Immunization not performed due to patient declination for religious reasons; indicates that a specific vaccine, by code, was not administered.

Both of these example instances meet measure intent for exclusion as defined in the following illustrative CQL (informational; not part of conformance requirements):

    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.

USCDI+ Quality Elements:

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

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 of Profiles, Differentials, Snapshots and how the different presentations work.

- 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()`

This structure is derived from USCoreImmunizationProfile

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()`

This structure is derived from USCoreImmunizationProfile

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

This structure is derived from USCoreImmunizationProfile

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 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
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()`

This structure is derived from USCoreImmunizationProfile

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