QI-Core Implementation Guide
7.0.2 - STU 7

QI-Core Implementation Guide - Downloaded Version 7.0.2 See the Directory of published versions

## Resource Profile: QICore Immunization Not Done

Official URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-immunizationnotdone | Version: 7.0.2
Standards status: Trial-use | Maturity Level: 4 | Computable Name: QICoreImmunizationNotDone

Negation profile of Communication for decision support/quality metrics. Indicates that the communication was not performed for a reason.

"Must Have", "QI Elements" and "primary code path" are defined in the QI-Core Must Support section.
Must Have:

- statusReason: (QI) Reason not done
- occurrence[x]: (QI) Vaccine administration date
- patient: (QI) Who was immunized
- status: (QI) not-done
- vaccineCode: (QI) Vaccine Product Type (bind to CVX)

QI Elements:

- recorded: (QI) Documented date Immunization did not occur.
- vaccineCode.extension(codeOptions): (QI) Url of a value set of candidate vaccines

Primary code path: vaccineCode
(PCPath) This element is the primary code path for this resource CQL Retrieve
Usage

The Immunization profile defines the conformance expectations for an Immunization event, regardless of whether it is a positive or negative statement. The ImmunizationDone and ImmunizationNotDone profiles represent the positive and negative statements for an immunization event.

The following example illustrates retrieving instances that meet measure intent for exclusion:

    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 QI-Core and quality improvement artifacts, see the Negation in QI-Core topic.

See the patterns page for implementation and usage patterns.

### Examples

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

Usages:

- Examples for this Profile: Immunization/negation-example-code and Immunization/negation-example

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..* | QICoreImmunization | Immunization event information Constraints: us-core-5, qim-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 | (QI) not-done Binding: ImmunizationStatusCodes (required) Fixed Value: not-done
statusReason | S | 1..1 | CodeableConcept | (QI) Reason not done Binding: QICore Negation Reason Codes (extensible): The reason the service was not requested
vaccineCode | S Σ C | 1..1 | CodeableConcept | (QI) Vaccine Product Type (bind to CVX) Binding: CVX Vaccines Administered Vaccine Set (extensible)
Slices for extension |  |  |  | Content/Rules for all slices
extension:codeOptions | C | 0..1 | canonical(ValueSet) | (QI) Url of a value set of candidate vaccines URL: http://hl7.org/fhir/StructureDefinition/codeOptions
patient | S Σ | 1..1 | Reference(QICore Patient) | (QI) Who was immunized
encounter | S | 0..1 | Reference(QICore Encounter) | Encounter the immunization was part of
occurrence[x] | S Σ | 1..1 |  | (QI) Vaccine administration date
occurrenceDateTime |  |  | dateTime S |
occurrenceString |  |  | string |
recorded |  | 0..1 | dateTime | (QI) Documented date Immunization did not occur.
primarySource | S Σ | 0..1 | boolean | Indicates context the data was recorded in
location | S | 0..1 | Reference(QICore Location) | Where the vaccine was administered
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 | QICore Negation Reason Codes | 📦7.0.2 | 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()`
qim-1 | error | Immunization | To indicate what vaccine, either at least one coding in the vaccineCode element or a codeOptions extension shall be provided | `vaccineCode.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').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/cvx').exists() implies vaccineCode.coding.where(system='http://hl7.org/fhir/sid/ndc').exists()`

This structure is derived from QICoreImmunization

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | QICoreImmunization | Immunization event information
status |  | 1..1 | code | (QI) not-done Fixed Value: not-done
statusReason |  | 1..1 | CodeableConcept | (QI) Reason not done Binding: QICore Negation Reason Codes (extensible): The reason the service was not requested
encounter |  | 0..1 | Reference(QICore Encounter) | Encounter the immunization was part of
recorded |  | 0..1 | dateTime | (QI) Documented date Immunization did not occur.
location |  | 0..1 | Reference(QICore Location) | Where the vaccine was administered
Documentation for this format

#### Terminology Bindings (Differential)

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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization | C | 0..* | QICoreImmunization | Immunization event information Constraints: us-core-5, qim-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 | (QI) not-done Binding: ImmunizationStatusCodes (required) Fixed Value: not-done
statusReason | S | 1..1 | CodeableConcept | (QI) Reason not done Binding: QICore Negation Reason Codes (extensible): The reason the service was not requested
vaccineCode | S Σ C | 1..1 | CodeableConcept | (QI) 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:codeOptions | C | 0..1 | canonical(ValueSet) | (QI) Url of a value set of candidate vaccines URL: http://hl7.org/fhir/StructureDefinition/codeOptions
coding | Σ | 0..* | Coding | Code defined by a terminology system
text | Σ | 0..1 | string | Plain text representation of the concept
patient | S Σ | 1..1 | Reference(QICore Patient) | (QI) Who was immunized
encounter | S | 0..1 | Reference(QICore Encounter) | Encounter the immunization was part of
occurrence[x] | S Σ | 1..1 |  | (QI) Vaccine administration date
occurrenceDateTime |  |  | dateTime S |
occurrenceString |  |  | string |
recorded |  | 0..1 | dateTime | (QI) Documented date Immunization did not occur.
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 | S | 0..1 | Reference(QICore Location) | Where the vaccine was administered
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 | QICore Negation Reason Codes | 📦7.0.2 | 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()`
qim-1 | error | Immunization | To indicate what vaccine, either at least one coding in the vaccineCode element or a codeOptions extension shall be provided | `vaccineCode.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').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/cvx').exists() implies vaccineCode.coding.where(system='http://hl7.org/fhir/sid/ndc').exists()`

This structure is derived from QICoreImmunization

Summary

Mandatory: 1 element
Fixed: 1 element

Structures

This structure refers to these other structures:

- QICore Encounter (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter)
- QICore Location (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-location)

Maturity: 4

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization | C | 0..* | QICoreImmunization | Immunization event information Constraints: us-core-5, qim-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 | (QI) not-done Binding: ImmunizationStatusCodes (required) Fixed Value: not-done
statusReason | S | 1..1 | CodeableConcept | (QI) Reason not done Binding: QICore Negation Reason Codes (extensible): The reason the service was not requested
vaccineCode | S Σ C | 1..1 | CodeableConcept | (QI) Vaccine Product Type (bind to CVX) Binding: CVX Vaccines Administered Vaccine Set (extensible)
Slices for extension |  |  |  | Content/Rules for all slices
extension:codeOptions | C | 0..1 | canonical(ValueSet) | (QI) Url of a value set of candidate vaccines URL: http://hl7.org/fhir/StructureDefinition/codeOptions
patient | S Σ | 1..1 | Reference(QICore Patient) | (QI) Who was immunized
encounter | S | 0..1 | Reference(QICore Encounter) | Encounter the immunization was part of
occurrence[x] | S Σ | 1..1 |  | (QI) Vaccine administration date
occurrenceDateTime |  |  | dateTime S |
occurrenceString |  |  | string |
recorded |  | 0..1 | dateTime | (QI) Documented date Immunization did not occur.
primarySource | S Σ | 0..1 | boolean | Indicates context the data was recorded in
location | S | 0..1 | Reference(QICore Location) | Where the vaccine was administered
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 | QICore Negation Reason Codes | 📦7.0.2 | 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()`
qim-1 | error | Immunization | To indicate what vaccine, either at least one coding in the vaccineCode element or a codeOptions extension shall be provided | `vaccineCode.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').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/cvx').exists() implies vaccineCode.coding.where(system='http://hl7.org/fhir/sid/ndc').exists()`

Differential View

This structure is derived from QICoreImmunization

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization |  | 0..* | QICoreImmunization | Immunization event information
status |  | 1..1 | code | (QI) not-done Fixed Value: not-done
statusReason |  | 1..1 | CodeableConcept | (QI) Reason not done Binding: QICore Negation Reason Codes (extensible): The reason the service was not requested
encounter |  | 0..1 | Reference(QICore Encounter) | Encounter the immunization was part of
recorded |  | 0..1 | dateTime | (QI) Documented date Immunization did not occur.
location |  | 0..1 | Reference(QICore Location) | Where the vaccine was administered
Documentation for this format

#### Terminology Bindings (Differential)

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

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Immunization | C | 0..* | QICoreImmunization | Immunization event information Constraints: us-core-5, qim-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 | (QI) not-done Binding: ImmunizationStatusCodes (required) Fixed Value: not-done
statusReason | S | 1..1 | CodeableConcept | (QI) Reason not done Binding: QICore Negation Reason Codes (extensible): The reason the service was not requested
vaccineCode | S Σ C | 1..1 | CodeableConcept | (QI) 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:codeOptions | C | 0..1 | canonical(ValueSet) | (QI) Url of a value set of candidate vaccines URL: http://hl7.org/fhir/StructureDefinition/codeOptions
coding | Σ | 0..* | Coding | Code defined by a terminology system
text | Σ | 0..1 | string | Plain text representation of the concept
patient | S Σ | 1..1 | Reference(QICore Patient) | (QI) Who was immunized
encounter | S | 0..1 | Reference(QICore Encounter) | Encounter the immunization was part of
occurrence[x] | S Σ | 1..1 |  | (QI) Vaccine administration date
occurrenceDateTime |  |  | dateTime S |
occurrenceString |  |  | string |
recorded |  | 0..1 | dateTime | (QI) Documented date Immunization did not occur.
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 | S | 0..1 | Reference(QICore Location) | Where the vaccine was administered
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 | QICore Negation Reason Codes | 📦7.0.2 | 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()`
qim-1 | error | Immunization | To indicate what vaccine, either at least one coding in the vaccineCode element or a codeOptions extension shall be provided | `vaccineCode.extension('http://hl7.org/fhir/StructureDefinition/codeOptions').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/cvx').exists() implies vaccineCode.coding.where(system='http://hl7.org/fhir/sid/ndc').exists()`

This structure is derived from QICoreImmunization

Summary

Mandatory: 1 element
Fixed: 1 element

Structures

This structure refers to these other structures:

- QICore Encounter (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-encounter)
- QICore Location (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-location)

Maturity: 4

Other representations of profile: CSV, Excel, Schematron