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: ImmunizationRecommendation

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

The ImmunizationRecommendation resource returns a recommendation based upon the individual patient situation exposed by the questionnaire response and the immunization history.

The VCDS provides detailed and contextualized justification texts for each recommendation. They will be exposed as properties of the forecastReason attribute. Several justifications can be presented for a same recommendation, it belongs to the initiating system to present them according to their presentation classes and its own screen layout rules.

Usage:

Formal Views of Profile Content

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

This structure is derived from ImmunizationRecommendation

NameFlagsCard.TypeDescription & Constraintsdoco
.. ImmunizationRecommendation 0..* ImmunizationRecommendation Guidance or advice relating to an immunization
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... rulesetVersion 1..1 string Version of the VCDS ruleset
URL: https://euvabeco.net/vcds-ig/StructureDefinition/RulesetVersion
... recommendation
.... vaccineCode 0..* CodeableConcept Vaccine or vaccine group recommendation applies to
Binding: NUVA codes (required)
.... forecastStatus 1..1 CodeableConcept Vaccine recommendation status
Binding: Forecast Statuses (required)
.... forecastReason 0..* CodeableConcept Vaccine administration status reason
Binding: Forecast reasons (required)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
ImmunizationRecommendation.recommendation.vaccineCoderequiredNUVA (a valid code from NUVA codes)
https://euvabeco.net/vcds-ig/ValueSet/NUVA
from this IG
ImmunizationRecommendation.recommendation.forecastStatusrequiredForecastStatus
https://euvabeco.net/vcds-ig/ValueSet/ForecastStatus
from this IG
ImmunizationRecommendation.recommendation.forecastReasonrequiredForecastReasons (a valid code from Justification messages for recommendations)
https://euvabeco.net/vcds-ig/ValueSet/ForecastReasons
from this IG
NameFlagsCard.TypeDescription & Constraintsdoco
.. ImmunizationRecommendation 0..* ImmunizationRecommendation Guidance or advice relating to an immunization
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... rulesetVersion 1..1 string Version of the VCDS ruleset
URL: https://euvabeco.net/vcds-ig/StructureDefinition/RulesetVersion
... patient Σ 1..1 Reference(Patient) Who this profile is for
... date Σ 1..1 dateTime Date recommendation(s) created
... recommendation ΣC 1..* BackboneElement Vaccine administration recommendations
imr-1: One of vaccineCode or targetDisease SHALL be present
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... vaccineCode ΣC 0..* CodeableConcept Vaccine or vaccine group recommendation applies to
Binding: NUVA codes (required)
.... forecastStatus ?!Σ 1..1 CodeableConcept Vaccine recommendation status
Binding: Forecast Statuses (required)
.... forecastReason Σ 0..* CodeableConcept Vaccine administration status reason
Binding: Forecast reasons (required)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ImmunizationRecommendation.recommendation.vaccineCoderequiredNUVA (a valid code from NUVA codes)
https://euvabeco.net/vcds-ig/ValueSet/NUVA
from this IG
ImmunizationRecommendation.recommendation.forecastStatusrequiredForecastStatus
https://euvabeco.net/vcds-ig/ValueSet/ForecastStatus
from this IG
ImmunizationRecommendation.recommendation.forecastReasonrequiredForecastReasons (a valid code from Justification messages for recommendations)
https://euvabeco.net/vcds-ig/ValueSet/ForecastReasons
from this IG

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorImmunizationRecommendationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorImmunizationRecommendationIf 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-4errorImmunizationRecommendationIf 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-5errorImmunizationRecommendationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceImmunizationRecommendationA 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()
imr-1errorImmunizationRecommendation.recommendationOne of vaccineCode or targetDisease SHALL be present
: vaccineCode.exists() or targetDisease.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. ImmunizationRecommendation 0..* ImmunizationRecommendation Guidance or advice relating to an immunization
... 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... rulesetVersion 1..1 string Version of the VCDS ruleset
URL: https://euvabeco.net/vcds-ig/StructureDefinition/RulesetVersion
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business identifier
... patient Σ 1..1 Reference(Patient) Who this profile is for
... date Σ 1..1 dateTime Date recommendation(s) created
... authority 0..1 Reference(Organization) Who is responsible for protocol
... recommendation ΣC 1..* BackboneElement Vaccine administration recommendations
imr-1: One of vaccineCode or targetDisease SHALL be present
.... 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
.... vaccineCode ΣC 0..* CodeableConcept Vaccine or vaccine group recommendation applies to
Binding: NUVA codes (required)
.... targetDisease ΣC 0..* CodeableConcept Disease to be immunized against
Binding: ImmunizationTargetDiseaseCodes (example): The disease that the recommended vaccination targets.


.... contraindicatedVaccineCode Σ 0..* CodeableConcept Vaccine which is contraindicated to fulfill the recommendation
Binding: VaccineAdministeredValueSet (example): The type of vaccine administered.


.... forecastStatus ?!Σ 1..1 CodeableConcept Vaccine recommendation status
Binding: Forecast Statuses (required)
.... forecastReason Σ 0..* CodeableConcept Vaccine administration status reason
Binding: Forecast reasons (required)
.... dateCriterion 0..* BackboneElement Dates governing proposed 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
..... code 1..1 CodeableConcept Type of date
Binding: ImmunizationRecommendationDateCriterionCodes (example): Classifies date criterion with respect to conveying information about a patient's vaccination status (e.g. due date, latest to give date, etc.).

..... value 1..1 dateTime Recommended date
.... description 0..1 markdown Protocol details
.... series 0..1 string Name of vaccination series
.... doseNumber Σ 0..1 string Recommended dose number within series
.... seriesDoses 0..1 string Recommended number of doses for immunity
.... supportingImmunization 0..* Reference(Immunization | ImmunizationEvaluation) Past immunizations supporting recommendation
.... supportingPatientInformation 0..* Reference(Resource) Patient observations supporting recommendation

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ImmunizationRecommendation.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
ImmunizationRecommendation.recommendation.vaccineCoderequiredNUVA (a valid code from NUVA codes)
https://euvabeco.net/vcds-ig/ValueSet/NUVA
from this IG
ImmunizationRecommendation.recommendation.targetDiseaseexampleImmunizationTargetDiseaseCodes
http://hl7.org/fhir/ValueSet/immunization-target-disease
from the FHIR Standard
ImmunizationRecommendation.recommendation.contraindicatedVaccineCodeexampleVaccineAdministeredValueSet
http://hl7.org/fhir/ValueSet/vaccine-code
from the FHIR Standard
ImmunizationRecommendation.recommendation.forecastStatusrequiredForecastStatus
https://euvabeco.net/vcds-ig/ValueSet/ForecastStatus
from this IG
ImmunizationRecommendation.recommendation.forecastReasonrequiredForecastReasons (a valid code from Justification messages for recommendations)
https://euvabeco.net/vcds-ig/ValueSet/ForecastReasons
from this IG
ImmunizationRecommendation.recommendation.dateCriterion.codeexampleImmunizationRecommendationDateCriterionCodes
http://hl7.org/fhir/ValueSet/immunization-recommendation-date-criterion
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorImmunizationRecommendationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorImmunizationRecommendationIf 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-4errorImmunizationRecommendationIf 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-5errorImmunizationRecommendationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceImmunizationRecommendationA 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()
imr-1errorImmunizationRecommendation.recommendationOne of vaccineCode or targetDisease SHALL be present
: vaccineCode.exists() or targetDisease.exists()

This structure is derived from ImmunizationRecommendation

Summary

Mandatory: 2 elements

Extensions

This structure refers to these extensions:

Differential View

This structure is derived from ImmunizationRecommendation

NameFlagsCard.TypeDescription & Constraintsdoco
.. ImmunizationRecommendation 0..* ImmunizationRecommendation Guidance or advice relating to an immunization
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... rulesetVersion 1..1 string Version of the VCDS ruleset
URL: https://euvabeco.net/vcds-ig/StructureDefinition/RulesetVersion
... recommendation
.... vaccineCode 0..* CodeableConcept Vaccine or vaccine group recommendation applies to
Binding: NUVA codes (required)
.... forecastStatus 1..1 CodeableConcept Vaccine recommendation status
Binding: Forecast Statuses (required)
.... forecastReason 0..* CodeableConcept Vaccine administration status reason
Binding: Forecast reasons (required)

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
ImmunizationRecommendation.recommendation.vaccineCoderequiredNUVA (a valid code from NUVA codes)
https://euvabeco.net/vcds-ig/ValueSet/NUVA
from this IG
ImmunizationRecommendation.recommendation.forecastStatusrequiredForecastStatus
https://euvabeco.net/vcds-ig/ValueSet/ForecastStatus
from this IG
ImmunizationRecommendation.recommendation.forecastReasonrequiredForecastReasons (a valid code from Justification messages for recommendations)
https://euvabeco.net/vcds-ig/ValueSet/ForecastReasons
from this IG

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ImmunizationRecommendation 0..* ImmunizationRecommendation Guidance or advice relating to an immunization
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... rulesetVersion 1..1 string Version of the VCDS ruleset
URL: https://euvabeco.net/vcds-ig/StructureDefinition/RulesetVersion
... patient Σ 1..1 Reference(Patient) Who this profile is for
... date Σ 1..1 dateTime Date recommendation(s) created
... recommendation ΣC 1..* BackboneElement Vaccine administration recommendations
imr-1: One of vaccineCode or targetDisease SHALL be present
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... vaccineCode ΣC 0..* CodeableConcept Vaccine or vaccine group recommendation applies to
Binding: NUVA codes (required)
.... forecastStatus ?!Σ 1..1 CodeableConcept Vaccine recommendation status
Binding: Forecast Statuses (required)
.... forecastReason Σ 0..* CodeableConcept Vaccine administration status reason
Binding: Forecast reasons (required)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ImmunizationRecommendation.recommendation.vaccineCoderequiredNUVA (a valid code from NUVA codes)
https://euvabeco.net/vcds-ig/ValueSet/NUVA
from this IG
ImmunizationRecommendation.recommendation.forecastStatusrequiredForecastStatus
https://euvabeco.net/vcds-ig/ValueSet/ForecastStatus
from this IG
ImmunizationRecommendation.recommendation.forecastReasonrequiredForecastReasons (a valid code from Justification messages for recommendations)
https://euvabeco.net/vcds-ig/ValueSet/ForecastReasons
from this IG

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorImmunizationRecommendationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorImmunizationRecommendationIf 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-4errorImmunizationRecommendationIf 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-5errorImmunizationRecommendationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceImmunizationRecommendationA 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()
imr-1errorImmunizationRecommendation.recommendationOne of vaccineCode or targetDisease SHALL be present
: vaccineCode.exists() or targetDisease.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ImmunizationRecommendation 0..* ImmunizationRecommendation Guidance or advice relating to an immunization
... 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
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... rulesetVersion 1..1 string Version of the VCDS ruleset
URL: https://euvabeco.net/vcds-ig/StructureDefinition/RulesetVersion
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business identifier
... patient Σ 1..1 Reference(Patient) Who this profile is for
... date Σ 1..1 dateTime Date recommendation(s) created
... authority 0..1 Reference(Organization) Who is responsible for protocol
... recommendation ΣC 1..* BackboneElement Vaccine administration recommendations
imr-1: One of vaccineCode or targetDisease SHALL be present
.... 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
.... vaccineCode ΣC 0..* CodeableConcept Vaccine or vaccine group recommendation applies to
Binding: NUVA codes (required)
.... targetDisease ΣC 0..* CodeableConcept Disease to be immunized against
Binding: ImmunizationTargetDiseaseCodes (example): The disease that the recommended vaccination targets.


.... contraindicatedVaccineCode Σ 0..* CodeableConcept Vaccine which is contraindicated to fulfill the recommendation
Binding: VaccineAdministeredValueSet (example): The type of vaccine administered.


.... forecastStatus ?!Σ 1..1 CodeableConcept Vaccine recommendation status
Binding: Forecast Statuses (required)
.... forecastReason Σ 0..* CodeableConcept Vaccine administration status reason
Binding: Forecast reasons (required)
.... dateCriterion 0..* BackboneElement Dates governing proposed 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
..... code 1..1 CodeableConcept Type of date
Binding: ImmunizationRecommendationDateCriterionCodes (example): Classifies date criterion with respect to conveying information about a patient's vaccination status (e.g. due date, latest to give date, etc.).

..... value 1..1 dateTime Recommended date
.... description 0..1 markdown Protocol details
.... series 0..1 string Name of vaccination series
.... doseNumber Σ 0..1 string Recommended dose number within series
.... seriesDoses 0..1 string Recommended number of doses for immunity
.... supportingImmunization 0..* Reference(Immunization | ImmunizationEvaluation) Past immunizations supporting recommendation
.... supportingPatientInformation 0..* Reference(Resource) Patient observations supporting recommendation

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
ImmunizationRecommendation.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
ImmunizationRecommendation.recommendation.vaccineCoderequiredNUVA (a valid code from NUVA codes)
https://euvabeco.net/vcds-ig/ValueSet/NUVA
from this IG
ImmunizationRecommendation.recommendation.targetDiseaseexampleImmunizationTargetDiseaseCodes
http://hl7.org/fhir/ValueSet/immunization-target-disease
from the FHIR Standard
ImmunizationRecommendation.recommendation.contraindicatedVaccineCodeexampleVaccineAdministeredValueSet
http://hl7.org/fhir/ValueSet/vaccine-code
from the FHIR Standard
ImmunizationRecommendation.recommendation.forecastStatusrequiredForecastStatus
https://euvabeco.net/vcds-ig/ValueSet/ForecastStatus
from this IG
ImmunizationRecommendation.recommendation.forecastReasonrequiredForecastReasons (a valid code from Justification messages for recommendations)
https://euvabeco.net/vcds-ig/ValueSet/ForecastReasons
from this IG
ImmunizationRecommendation.recommendation.dateCriterion.codeexampleImmunizationRecommendationDateCriterionCodes
http://hl7.org/fhir/ValueSet/immunization-recommendation-date-criterion
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorImmunizationRecommendationIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorImmunizationRecommendationIf 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-4errorImmunizationRecommendationIf 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-5errorImmunizationRecommendationIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceImmunizationRecommendationA 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()
imr-1errorImmunizationRecommendation.recommendationOne of vaccineCode or targetDisease SHALL be present
: vaccineCode.exists() or targetDisease.exists()

This structure is derived from ImmunizationRecommendation

Summary

Mandatory: 2 elements

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron