Vaccination CDS Implementation Guide
0.1.0 - ci-build

Vaccination CDS Implementation Guide, published by Euvabeco. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/EUVABECO/VCDS/ and changes regularly. See the Directory of published versions

Resource Profile: Immunization

Official URL: https://euvabeco.net/vcds-ig/StructureDefinition/Immunization Version: 0.1.0
Draft as of 2024-11-26 Computable Name: Immunization

Immunization records should be submitted to the CDS using the NUVA codification.

Usage:

Formal Views of Profile Content

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

This structure is derived from Immunization

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..* Immunization Immunization event information
... vaccineCode 1..1 CodeableConcept Vaccine administered
Binding: NUVA codes (required)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Immunization.vaccineCoderequiredNUVA (a valid code from NUVA codes)
https://euvabeco.net/vcds-ig/ValueSet/NUVA
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..* Immunization Immunization event information
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... vaccineCode Σ 1..1 CodeableConcept Vaccine administered
Binding: NUVA codes (required)
... patient Σ 1..1 Reference(Patient) Who was immunized
... occurrence[x] Σ 1..1 Vaccine administration date
.... occurrenceDateTime dateTime
.... occurrenceString string
... isSubpotent ?!Σ 0..1 boolean Dose potency

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Immunization.statusrequiredImmunizationStatusCodes
http://hl7.org/fhir/ValueSet/immunization-status|5.0.0
from the FHIR Standard
Immunization.vaccineCoderequiredNUVA (a valid code from NUVA codes)
https://euvabeco.net/vcds-ig/ValueSet/NUVA
from this IG

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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..* Immunization Immunization event information
... 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: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguages Starter Set
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier Business identifier
... basedOn Σ 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) Authority that the immunization event is based on
... status ?!Σ 1..1 code completed | entered-in-error | not-done
Binding: ImmunizationStatusCodes (required)
... statusReason 0..1 CodeableConcept Reason for current status
Binding: ImmunizationStatusReasonCodes (example)
... vaccineCode Σ 1..1 CodeableConcept Vaccine administered
Binding: NUVA codes (required)
... administeredProduct 0..1 CodeableReference(Medication) Product that was administered
... manufacturer 0..1 CodeableReference(Organization) Vaccine manufacturer
... lotNumber 0..1 string Vaccine lot number
... expirationDate 0..1 date Vaccine expiration date
... patient Σ 1..1 Reference(Patient) Who was immunized
... encounter 0..1 Reference(Encounter) Encounter immunization was part of
... supportingInformation 0..* Reference(Resource) Additional information in support of the immunization
... occurrence[x] Σ 1..1 Vaccine administration date
.... occurrenceDateTime dateTime
.... occurrenceString string
... primarySource Σ 0..1 boolean Indicates context the data was captured in
... informationSource 0..1 CodeableReference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) Indicates the source of a reported record
Binding: ImmunizationOriginCodes (example)
... location 0..1 Reference(Location) Where immunization occurred
... site 0..1 CodeableConcept Body site vaccine was administered
Binding: CodesForImmunizationSiteOfAdministration (example)
... route 0..1 CodeableConcept How vaccine entered body
Binding: ImmunizationRouteCodes (example)
... 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)
.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson) Individual or organization who was performing
... note Σ 0..* Annotation Additional immunization notes
... reason 0..* CodeableReference(Condition | Observation | DiagnosticReport) Why immunization occurred
Binding: ImmunizationReasonCodes (example)
... 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.


... programEligibility 0..* BackboneElement Patient eligibility for a specific vaccination program
.... 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
.... program 1..1 CodeableConcept The program that eligibility is declared for
Binding: CodesForVaccineFundingPrograms (example)
.... programStatus 1..1 CodeableConcept The patient's eligibility status for the program
Binding: ImmunizationProgramEligibility (example)
... fundingSource 0..1 CodeableConcept Funding source for the vaccine
Binding: ImmunizationFundingSource (example)
... 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
.... manifestation 0..1 CodeableReference(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 targeted
Binding: ImmunizationTargetDiseaseCodes (example)
.... doseNumber 1..1 string Dose number within series
.... seriesDoses 0..1 string Recommended number of doses for immunity

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Immunization.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Immunization.statusrequiredImmunizationStatusCodes
http://hl7.org/fhir/ValueSet/immunization-status|5.0.0
from the FHIR Standard
Immunization.statusReasonexampleImmunizationStatusReasonCodes
http://hl7.org/fhir/ValueSet/immunization-status-reason
from the FHIR Standard
Immunization.vaccineCoderequiredNUVA (a valid code from NUVA codes)
https://euvabeco.net/vcds-ig/ValueSet/NUVA
from this IG
Immunization.informationSourceexampleImmunizationOriginCodes
http://hl7.org/fhir/ValueSet/immunization-origin
from the FHIR Standard
Immunization.siteexampleCodesForImmunizationSiteOfAdministration
http://hl7.org/fhir/ValueSet/immunization-site
from the FHIR Standard
Immunization.routeexampleImmunizationRouteCodes
http://hl7.org/fhir/ValueSet/immunization-route
from the FHIR Standard
Immunization.performer.functionextensibleImmunizationFunctionCodes
http://hl7.org/fhir/ValueSet/immunization-function
from the FHIR Standard
Immunization.reasonexampleImmunizationReasonCodes
http://hl7.org/fhir/ValueSet/immunization-reason
from the FHIR Standard
Immunization.subpotentReasonexampleImmunizationSubpotentReason
http://hl7.org/fhir/ValueSet/immunization-subpotent-reason
from the FHIR Standard
Immunization.programEligibility.programexampleCodesForVaccineFundingPrograms
http://hl7.org/fhir/ValueSet/immunization-vaccine-funding-program
from the FHIR Standard
Immunization.programEligibility.programStatusexampleImmunizationProgramEligibility
http://hl7.org/fhir/ValueSet/immunization-program-eligibility
from the FHIR Standard
Immunization.fundingSourceexampleImmunizationFundingSource
http://hl7.org/fhir/ValueSet/immunization-funding-source
from the FHIR Standard
Immunization.protocolApplied.targetDiseaseexampleImmunizationTargetDiseaseCodes
http://hl7.org/fhir/ValueSet/immunization-target-disease
from the FHIR Standard

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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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()

This structure is derived from Immunization

Summary

Differential View

This structure is derived from Immunization

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..* Immunization Immunization event information
... vaccineCode 1..1 CodeableConcept Vaccine administered
Binding: NUVA codes (required)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Immunization.vaccineCoderequiredNUVA (a valid code from NUVA codes)
https://euvabeco.net/vcds-ig/ValueSet/NUVA
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..* Immunization Immunization event information
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... vaccineCode Σ 1..1 CodeableConcept Vaccine administered
Binding: NUVA codes (required)
... patient Σ 1..1 Reference(Patient) Who was immunized
... occurrence[x] Σ 1..1 Vaccine administration date
.... occurrenceDateTime dateTime
.... occurrenceString string
... isSubpotent ?!Σ 0..1 boolean Dose potency

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Immunization.statusrequiredImmunizationStatusCodes
http://hl7.org/fhir/ValueSet/immunization-status|5.0.0
from the FHIR Standard
Immunization.vaccineCoderequiredNUVA (a valid code from NUVA codes)
https://euvabeco.net/vcds-ig/ValueSet/NUVA
from this IG

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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Immunization 0..* Immunization Immunization event information
... 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: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguages Starter Set
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier 0..* Identifier Business identifier
... basedOn Σ 0..* Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) Authority that the immunization event is based on
... status ?!Σ 1..1 code completed | entered-in-error | not-done
Binding: ImmunizationStatusCodes (required)
... statusReason 0..1 CodeableConcept Reason for current status
Binding: ImmunizationStatusReasonCodes (example)
... vaccineCode Σ 1..1 CodeableConcept Vaccine administered
Binding: NUVA codes (required)
... administeredProduct 0..1 CodeableReference(Medication) Product that was administered
... manufacturer 0..1 CodeableReference(Organization) Vaccine manufacturer
... lotNumber 0..1 string Vaccine lot number
... expirationDate 0..1 date Vaccine expiration date
... patient Σ 1..1 Reference(Patient) Who was immunized
... encounter 0..1 Reference(Encounter) Encounter immunization was part of
... supportingInformation 0..* Reference(Resource) Additional information in support of the immunization
... occurrence[x] Σ 1..1 Vaccine administration date
.... occurrenceDateTime dateTime
.... occurrenceString string
... primarySource Σ 0..1 boolean Indicates context the data was captured in
... informationSource 0..1 CodeableReference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) Indicates the source of a reported record
Binding: ImmunizationOriginCodes (example)
... location 0..1 Reference(Location) Where immunization occurred
... site 0..1 CodeableConcept Body site vaccine was administered
Binding: CodesForImmunizationSiteOfAdministration (example)
... route 0..1 CodeableConcept How vaccine entered body
Binding: ImmunizationRouteCodes (example)
... 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)
.... actor Σ 1..1 Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson) Individual or organization who was performing
... note Σ 0..* Annotation Additional immunization notes
... reason 0..* CodeableReference(Condition | Observation | DiagnosticReport) Why immunization occurred
Binding: ImmunizationReasonCodes (example)
... 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.


... programEligibility 0..* BackboneElement Patient eligibility for a specific vaccination program
.... 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
.... program 1..1 CodeableConcept The program that eligibility is declared for
Binding: CodesForVaccineFundingPrograms (example)
.... programStatus 1..1 CodeableConcept The patient's eligibility status for the program
Binding: ImmunizationProgramEligibility (example)
... fundingSource 0..1 CodeableConcept Funding source for the vaccine
Binding: ImmunizationFundingSource (example)
... 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
.... manifestation 0..1 CodeableReference(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 targeted
Binding: ImmunizationTargetDiseaseCodes (example)
.... doseNumber 1..1 string Dose number within series
.... seriesDoses 0..1 string Recommended number of doses for immunity

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Immunization.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Immunization.statusrequiredImmunizationStatusCodes
http://hl7.org/fhir/ValueSet/immunization-status|5.0.0
from the FHIR Standard
Immunization.statusReasonexampleImmunizationStatusReasonCodes
http://hl7.org/fhir/ValueSet/immunization-status-reason
from the FHIR Standard
Immunization.vaccineCoderequiredNUVA (a valid code from NUVA codes)
https://euvabeco.net/vcds-ig/ValueSet/NUVA
from this IG
Immunization.informationSourceexampleImmunizationOriginCodes
http://hl7.org/fhir/ValueSet/immunization-origin
from the FHIR Standard
Immunization.siteexampleCodesForImmunizationSiteOfAdministration
http://hl7.org/fhir/ValueSet/immunization-site
from the FHIR Standard
Immunization.routeexampleImmunizationRouteCodes
http://hl7.org/fhir/ValueSet/immunization-route
from the FHIR Standard
Immunization.performer.functionextensibleImmunizationFunctionCodes
http://hl7.org/fhir/ValueSet/immunization-function
from the FHIR Standard
Immunization.reasonexampleImmunizationReasonCodes
http://hl7.org/fhir/ValueSet/immunization-reason
from the FHIR Standard
Immunization.subpotentReasonexampleImmunizationSubpotentReason
http://hl7.org/fhir/ValueSet/immunization-subpotent-reason
from the FHIR Standard
Immunization.programEligibility.programexampleCodesForVaccineFundingPrograms
http://hl7.org/fhir/ValueSet/immunization-vaccine-funding-program
from the FHIR Standard
Immunization.programEligibility.programStatusexampleImmunizationProgramEligibility
http://hl7.org/fhir/ValueSet/immunization-program-eligibility
from the FHIR Standard
Immunization.fundingSourceexampleImmunizationFundingSource
http://hl7.org/fhir/ValueSet/immunization-funding-source
from the FHIR Standard
Immunization.protocolApplied.targetDiseaseexampleImmunizationTargetDiseaseCodes
http://hl7.org/fhir/ValueSet/immunization-target-disease
from the FHIR Standard

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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(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()

This structure is derived from Immunization

Summary

 

Other representations of profile: CSV, Excel, Schematron