QI-Core Implementation Guide
6.0.0-ballot - ballot United States of America flag

This page is part of the Quality Improvement Core Framework (v6.0.0-ballot: STU6 (v6.0.0) Ballot 1) based on FHIR R4. The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

Resource Profile: QICore Immunization

Official URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-immunization Version: 6.0.0-ballot
Active as of 2018-08-22 Computable Name: QICoreImmunization

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

Usage

The following example illustrates the use of the Immunization profile:

define "Polio Immunizations":
  ["Immunization": "Inactivated Polio Vaccine (IPV)"] PolioVaccination
    where PolioVaccination.status = 'completed'

See the patterns page for implementation and usage patterns.

Examples

Example of Influenza immunization shot

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from USCoreImmunizationProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..*USCoreImmunizationProfileImmunization event information
... id 0..1idLogical id of this artifact
... status S1..1codecompleted | entered-in-error
Binding: Non-Negative Immunization Status (required)
... statusReason S0..1CodeableConcept(USCDI) Reason not done
Binding: ImmunizationStatusReasonCodes (preferred)
... recorded S1..1dateTimeWhen the immunization was first captured in the subject's record

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Immunization.statusrequiredNonNegativeImmunizationStatus
Immunization.statusReasonpreferredImmunizationStatusReasonCodes
NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization C0..*USCoreImmunizationProfileImmunization event information
... id Σ0..1idLogical id of this artifact
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... statusReason S0..1CodeableConcept(USCDI) Reason not done
Binding: ImmunizationStatusReasonCodes (preferred)
... vaccineCode SΣC1..1CodeableConcept(USCDI) Vaccine Product Type (bind to CVX)
Binding: CVX Vaccines Administered Vaccine Set (extensible)
... patient SΣ1..1Reference(QICore Patient)(USCDI) Who was immunized
... occurrence[x] SΣ1..1(USCDI) Vaccine administration date
.... occurrenceDateTimedateTime
... recorded S1..1dateTimeWhen the immunization was first captured in the subject's record
... primarySource SΣ0..1boolean(USCDI) Indicates context the data was recorded in
... isSubpotent ?!Σ0..1booleanDose potency

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Immunization.statusrequiredNonNegativeImmunizationStatus
Immunization.statusReasonpreferredImmunizationStatusReasonCodes
Immunization.vaccineCodeextensibleCVX Vaccines Administered Vaccine Set

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorImmunizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorImmunizationIf 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-4errorImmunizationIf 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-5errorImmunizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceImmunizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
us-core-5best practiceImmunizationSHOULD have a translation to the NDC value set
: vaccineCode.coding.where(system='http://hl7.org/fhir/sid/ndc').empty()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization C0..*USCoreImmunizationProfileImmunization event information
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierBusiness identifier
... status ?!SΣ1..1codecompleted | entered-in-error
Binding: Non-Negative Immunization Status (required)
... statusReason S0..1CodeableConcept(USCDI) Reason not done
Binding: ImmunizationStatusReasonCodes (preferred)
... vaccineCode SΣC1..1CodeableConcept(USCDI) Vaccine Product Type (bind to CVX)
Binding: CVX Vaccines Administered Vaccine Set (extensible)
... patient SΣ1..1Reference(QICore Patient)(USCDI) Who was immunized
... encounter 0..1Reference(Encounter)Encounter immunization was part of
... occurrence[x] SΣ1..1(USCDI) Vaccine administration date
.... occurrenceDateTimedateTime S
.... occurrenceStringstring
... recorded S1..1dateTimeWhen the immunization was first captured in the subject's record
... primarySource SΣ0..1boolean(USCDI) Indicates context the data was recorded in
... reportOrigin 0..1CodeableConceptIndicates 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..1Reference(Location)Where immunization occurred
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... site 0..1CodeableConceptBody site vaccine was administered
Binding: CodesForImmunizationSiteOfAdministration (example): The site at which the vaccine was administered.

... route 0..1CodeableConceptHow vaccine entered body
Binding: ImmunizationRouteCodes (example): The route by which the vaccine was administered.

... doseQuantity 0..1SimpleQuantityAmount of vaccine administered
... performer Σ0..*BackboneElementWho performed event
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function Σ0..1CodeableConceptWhat type of performance was done
Binding: ImmunizationFunctionCodes (extensible): The role a practitioner or organization plays in the immunization event.

.... actor Σ1..1Reference(Practitioner | PractitionerRole | Organization)Individual or organization who was performing
... note Σ0..*AnnotationAdditional immunization notes
... reasonCode 0..*CodeableConceptWhy immunization occurred
Binding: ImmunizationReasonCodes (example): The reason why a vaccine was administered.


... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport)Why immunization occurred
... isSubpotent ?!Σ0..1booleanDose potency
... subpotentReason 0..*CodeableConceptReason for being subpotent
Binding: ImmunizationSubpotentReason (example): The reason why a dose is considered to be subpotent.


... education C0..*BackboneElementEducational material presented to patient
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... documentType 0..1stringEducational material document identifier
.... reference 0..1uriEducational material reference pointer
.... publicationDate 0..1dateTimeEducational material publication date
.... presentationDate 0..1dateTimeEducational material presentation date
... programEligibility 0..*CodeableConceptPatient eligibility for a vaccination program
Binding: ImmunizationProgramEligibility (example): The patient's eligibility for a vaccation program.


... fundingSource 0..1CodeableConceptFunding source for the vaccine
Binding: ImmunizationFundingSource (example): The source of funding used to purchase the vaccine administered.

... reaction 0..*BackboneElementDetails of a reaction that follows immunization
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... date 0..1dateTimeWhen reaction started
.... detail 0..1Reference(Observation)Additional information on reaction
.... reported 0..1booleanIndicates self-reported reaction
... protocolApplied 0..*BackboneElementProtocol followed by the provider
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... series 0..1stringName of vaccine series
.... authority 0..1Reference(Organization)Who is responsible for publishing the recommendations
.... targetDisease 0..*CodeableConceptVaccine preventatable disease being targetted
Binding: ImmunizationTargetDiseaseCodes (example): The vaccine preventable disease the dose is being administered for.


.... doseNumber[x] 1..1Dose number within series
..... doseNumberPositiveIntpositiveInt
..... doseNumberStringstring
.... seriesDoses[x] 0..1Recommended number of doses for immunity
..... seriesDosesPositiveIntpositiveInt
..... seriesDosesStringstring

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Immunization.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Immunization.statusrequiredNonNegativeImmunizationStatus
Immunization.statusReasonpreferredImmunizationStatusReasonCodes
Immunization.vaccineCodeextensibleCVX Vaccines Administered Vaccine Set
Immunization.reportOriginexampleImmunizationOriginCodes
Immunization.siteexampleCodesForImmunizationSiteOfAdministration
Immunization.routeexampleImmunizationRouteCodes
Immunization.performer.functionextensibleImmunizationFunctionCodes
Immunization.reasonCodeexampleImmunizationReasonCodes
Immunization.subpotentReasonexampleImmunizationSubpotentReason
Immunization.programEligibilityexampleImmunizationProgramEligibility
Immunization.fundingSourceexampleImmunizationFundingSource
Immunization.protocolApplied.targetDiseaseexampleImmunizationTargetDiseaseCodes

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
imm-1errorImmunization.educationOne of documentType or reference SHALL be present
: documentType.exists() or reference.exists()

This structure is derived from USCoreImmunizationProfile

Summary

Mandatory: 1 element
Must-Support: 4 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from USCoreImmunizationProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..*USCoreImmunizationProfileImmunization event information
... id 0..1idLogical id of this artifact
... status S1..1codecompleted | entered-in-error
Binding: Non-Negative Immunization Status (required)
... statusReason S0..1CodeableConcept(USCDI) Reason not done
Binding: ImmunizationStatusReasonCodes (preferred)
... recorded S1..1dateTimeWhen the immunization was first captured in the subject's record

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Immunization.statusrequiredNonNegativeImmunizationStatus
Immunization.statusReasonpreferredImmunizationStatusReasonCodes

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization C0..*USCoreImmunizationProfileImmunization event information
... id Σ0..1idLogical id of this artifact
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... statusReason S0..1CodeableConcept(USCDI) Reason not done
Binding: ImmunizationStatusReasonCodes (preferred)
... vaccineCode SΣC1..1CodeableConcept(USCDI) Vaccine Product Type (bind to CVX)
Binding: CVX Vaccines Administered Vaccine Set (extensible)
... patient SΣ1..1Reference(QICore Patient)(USCDI) Who was immunized
... occurrence[x] SΣ1..1(USCDI) Vaccine administration date
.... occurrenceDateTimedateTime
... recorded S1..1dateTimeWhen the immunization was first captured in the subject's record
... primarySource SΣ0..1boolean(USCDI) Indicates context the data was recorded in
... isSubpotent ?!Σ0..1booleanDose potency

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Immunization.statusrequiredNonNegativeImmunizationStatus
Immunization.statusReasonpreferredImmunizationStatusReasonCodes
Immunization.vaccineCodeextensibleCVX Vaccines Administered Vaccine Set

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorImmunizationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorImmunizationIf 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-4errorImmunizationIf 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-5errorImmunizationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceImmunizationA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
us-core-5best practiceImmunizationSHOULD have a translation to the NDC value set
: vaccineCode.coding.where(system='http://hl7.org/fhir/sid/ndc').empty()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization C0..*USCoreImmunizationProfileImmunization event information
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguagesMax Binding
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierBusiness identifier
... status ?!SΣ1..1codecompleted | entered-in-error
Binding: Non-Negative Immunization Status (required)
... statusReason S0..1CodeableConcept(USCDI) Reason not done
Binding: ImmunizationStatusReasonCodes (preferred)
... vaccineCode SΣC1..1CodeableConcept(USCDI) Vaccine Product Type (bind to CVX)
Binding: CVX Vaccines Administered Vaccine Set (extensible)
... patient SΣ1..1Reference(QICore Patient)(USCDI) Who was immunized
... encounter 0..1Reference(Encounter)Encounter immunization was part of
... occurrence[x] SΣ1..1(USCDI) Vaccine administration date
.... occurrenceDateTimedateTime S
.... occurrenceStringstring
... recorded S1..1dateTimeWhen the immunization was first captured in the subject's record
... primarySource SΣ0..1boolean(USCDI) Indicates context the data was recorded in
... reportOrigin 0..1CodeableConceptIndicates 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..1Reference(Location)Where immunization occurred
... manufacturer 0..1Reference(Organization)Vaccine manufacturer
... lotNumber 0..1stringVaccine lot number
... expirationDate 0..1dateVaccine expiration date
... site 0..1CodeableConceptBody site vaccine was administered
Binding: CodesForImmunizationSiteOfAdministration (example): The site at which the vaccine was administered.

... route 0..1CodeableConceptHow vaccine entered body
Binding: ImmunizationRouteCodes (example): The route by which the vaccine was administered.

... doseQuantity 0..1SimpleQuantityAmount of vaccine administered
... performer Σ0..*BackboneElementWho performed event
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... function Σ0..1CodeableConceptWhat type of performance was done
Binding: ImmunizationFunctionCodes (extensible): The role a practitioner or organization plays in the immunization event.

.... actor Σ1..1Reference(Practitioner | PractitionerRole | Organization)Individual or organization who was performing
... note Σ0..*AnnotationAdditional immunization notes
... reasonCode 0..*CodeableConceptWhy immunization occurred
Binding: ImmunizationReasonCodes (example): The reason why a vaccine was administered.


... reasonReference 0..*Reference(Condition | Observation | DiagnosticReport)Why immunization occurred
... isSubpotent ?!Σ0..1booleanDose potency
... subpotentReason 0..*CodeableConceptReason for being subpotent
Binding: ImmunizationSubpotentReason (example): The reason why a dose is considered to be subpotent.


... education C0..*BackboneElementEducational material presented to patient
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... documentType 0..1stringEducational material document identifier
.... reference 0..1uriEducational material reference pointer
.... publicationDate 0..1dateTimeEducational material publication date
.... presentationDate 0..1dateTimeEducational material presentation date
... programEligibility 0..*CodeableConceptPatient eligibility for a vaccination program
Binding: ImmunizationProgramEligibility (example): The patient's eligibility for a vaccation program.


... fundingSource 0..1CodeableConceptFunding source for the vaccine
Binding: ImmunizationFundingSource (example): The source of funding used to purchase the vaccine administered.

... reaction 0..*BackboneElementDetails of a reaction that follows immunization
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... date 0..1dateTimeWhen reaction started
.... detail 0..1Reference(Observation)Additional information on reaction
.... reported 0..1booleanIndicates self-reported reaction
... protocolApplied 0..*BackboneElementProtocol followed by the provider
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... series 0..1stringName of vaccine series
.... authority 0..1Reference(Organization)Who is responsible for publishing the recommendations
.... targetDisease 0..*CodeableConceptVaccine preventatable disease being targetted
Binding: ImmunizationTargetDiseaseCodes (example): The vaccine preventable disease the dose is being administered for.


.... doseNumber[x] 1..1Dose number within series
..... doseNumberPositiveIntpositiveInt
..... doseNumberStringstring
.... seriesDoses[x] 0..1Recommended number of doses for immunity
..... seriesDosesPositiveIntpositiveInt
..... seriesDosesStringstring

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Immunization.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Immunization.statusrequiredNonNegativeImmunizationStatus
Immunization.statusReasonpreferredImmunizationStatusReasonCodes
Immunization.vaccineCodeextensibleCVX Vaccines Administered Vaccine Set
Immunization.reportOriginexampleImmunizationOriginCodes
Immunization.siteexampleCodesForImmunizationSiteOfAdministration
Immunization.routeexampleImmunizationRouteCodes
Immunization.performer.functionextensibleImmunizationFunctionCodes
Immunization.reasonCodeexampleImmunizationReasonCodes
Immunization.subpotentReasonexampleImmunizationSubpotentReason
Immunization.programEligibilityexampleImmunizationProgramEligibility
Immunization.fundingSourceexampleImmunizationFundingSource
Immunization.protocolApplied.targetDiseaseexampleImmunizationTargetDiseaseCodes

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
imm-1errorImmunization.educationOne of documentType or reference SHALL be present
: documentType.exists() or reference.exists()

This structure is derived from USCoreImmunizationProfile

Summary

Mandatory: 1 element
Must-Support: 4 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron