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 2025-10-17 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.

Usages:

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.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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
.... extension: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
Constraints: imr-1
.... 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 for a recommendation (required)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ImmunizationRecommendation.​recommendation.vaccineCode Base required NUVA codes 📦0.1.0 This IG
ImmunizationRecommendation.​recommendation.forecastStatus Base required Forecast Statuses 📦0.1.0 This IG
ImmunizationRecommendation.​recommendation.forecastReason Base required Forecast reasons for a recommendation 📦0.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error ImmunizationRecommendation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error ImmunizationRecommendation 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().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-4 error ImmunizationRecommendation 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 ImmunizationRecommendation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice ImmunizationRecommendation 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()
imr-1 error ImmunizationRecommendation.recommendation One of vaccineCode or targetDisease SHALL be present vaccineCode.exists() or targetDisease.exists()

This structure is derived from ImmunizationRecommendation

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ImmunizationRecommendation 0..* ImmunizationRecommendation Guidance or advice relating to an immunization
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension: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 for a recommendation (required)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
ImmunizationRecommendation.​recommendation.vaccineCode Base required NUVA codes 📦0.1.0 This IG
ImmunizationRecommendation.​recommendation.forecastStatus Base required Forecast Statuses 📦0.1.0 This IG
ImmunizationRecommendation.​recommendation.forecastReason Base required Forecast reasons for a recommendation 📦0.1.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension: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
Constraints: imr-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
.... 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 for a recommendation (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

Path Status Usage ValueSet Version Source
ImmunizationRecommendation.​language Base required All Languages 📍5.0.0 FHIR Std.
ImmunizationRecommendation.​recommendation.vaccineCode Base required NUVA codes 📦0.1.0 This IG
ImmunizationRecommendation.​recommendation.targetDisease Base example Immunization Target Disease Codes 📍5.0.0 FHIR Std.
ImmunizationRecommendation.​recommendation.contraindicatedVaccineCode Base example Vaccine Administered Value Set 📍5.0.0 FHIR Std.
ImmunizationRecommendation.​recommendation.forecastStatus Base required Forecast Statuses 📦0.1.0 This IG
ImmunizationRecommendation.​recommendation.forecastReason Base required Forecast reasons for a recommendation 📦0.1.0 This IG
ImmunizationRecommendation.​recommendation.dateCriterion.​code Base example Immunization Recommendation Date Criterion Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error ImmunizationRecommendation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error ImmunizationRecommendation 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().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-4 error ImmunizationRecommendation 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 ImmunizationRecommendation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice ImmunizationRecommendation 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()
imr-1 error ImmunizationRecommendation.recommendation One 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:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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
.... extension: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
Constraints: imr-1
.... 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 for a recommendation (required)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ImmunizationRecommendation.​recommendation.vaccineCode Base required NUVA codes 📦0.1.0 This IG
ImmunizationRecommendation.​recommendation.forecastStatus Base required Forecast Statuses 📦0.1.0 This IG
ImmunizationRecommendation.​recommendation.forecastReason Base required Forecast reasons for a recommendation 📦0.1.0 This IG

Constraints

Id Grade Path(s) Description Expression
dom-2 error ImmunizationRecommendation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error ImmunizationRecommendation 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().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-4 error ImmunizationRecommendation 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 ImmunizationRecommendation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice ImmunizationRecommendation 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()
imr-1 error ImmunizationRecommendation.recommendation One of vaccineCode or targetDisease SHALL be present vaccineCode.exists() or targetDisease.exists()

Differential View

This structure is derived from ImmunizationRecommendation

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ImmunizationRecommendation 0..* ImmunizationRecommendation Guidance or advice relating to an immunization
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension: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 for a recommendation (required)

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
ImmunizationRecommendation.​recommendation.vaccineCode Base required NUVA codes 📦0.1.0 This IG
ImmunizationRecommendation.​recommendation.forecastStatus Base required Forecast Statuses 📦0.1.0 This IG
ImmunizationRecommendation.​recommendation.forecastReason Base required Forecast reasons for a recommendation 📦0.1.0 This IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
.... extension: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
Constraints: imr-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
.... 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 for a recommendation (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

Path Status Usage ValueSet Version Source
ImmunizationRecommendation.​language Base required All Languages 📍5.0.0 FHIR Std.
ImmunizationRecommendation.​recommendation.vaccineCode Base required NUVA codes 📦0.1.0 This IG
ImmunizationRecommendation.​recommendation.targetDisease Base example Immunization Target Disease Codes 📍5.0.0 FHIR Std.
ImmunizationRecommendation.​recommendation.contraindicatedVaccineCode Base example Vaccine Administered Value Set 📍5.0.0 FHIR Std.
ImmunizationRecommendation.​recommendation.forecastStatus Base required Forecast Statuses 📦0.1.0 This IG
ImmunizationRecommendation.​recommendation.forecastReason Base required Forecast reasons for a recommendation 📦0.1.0 This IG
ImmunizationRecommendation.​recommendation.dateCriterion.​code Base example Immunization Recommendation Date Criterion Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error ImmunizationRecommendation If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error ImmunizationRecommendation 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().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-4 error ImmunizationRecommendation 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 ImmunizationRecommendation If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice ImmunizationRecommendation 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()
imr-1 error ImmunizationRecommendation.recommendation One 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