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

Official URL: https://euvabeco.net/vcds-ig/StructureDefinition/QuestionnaireResponse Version: 0.1.0
Draft as of 2024-10-25 Computable Name: QuestionnaireResponse

Questionnaire for the VCDS.

The absence of an answer will be interpreted as

  • FALSE for a Boolean condition,
  • 0 for a numeric value,
  • a business decided value for choices. In this last case the selected value will be set in the QuestionnaireResponse resource included with the recommendations.

If several answers are provided for a same identifier, the request will be rejected.

Usage:

Formal Views of Profile Content

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

This structure is derived from QuestionnaireResponse

NameFlagsCard.TypeDescription & Constraintsdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... status 1..1 code in-progress | completed | amended | entered-in-error | stopped
Required Pattern: completed

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... 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
... status ?!Σ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.


Required Pattern: completed

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
QuestionnaireResponse.statusrequiredPattern: completed
http://hl7.org/fhir/ValueSet/questionnaire-answers-status|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireResponseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireResponseIf 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-4errorQuestionnaireResponseIf 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-5errorQuestionnaireResponseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireResponseA 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
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business identifier for this set of answers
... basedOn Σ 0..* Reference(CarePlan | ServiceRequest) Request fulfilled by this QuestionnaireResponse
... partOf Σ 0..* Reference(Observation | Procedure) Part of referenced event
... questionnaire Σ 1..1 canonical(Questionnaire) Canonical URL of Questionnaire being answered
... status ?!Σ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.


Required Pattern: completed
... subject Σ 0..1 Reference(Resource) The subject of the questions
... encounter Σ 0..1 Reference(Encounter) Encounter the questionnaire response is part of
... authored Σ 0..1 dateTime Date the answers were gathered
... author Σ 0..1 Reference(Device | Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) The individual or device that received and recorded the answers
... source Σ 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) The individual or device that answered the questions
... item C 0..* BackboneElement Groups and questions
qrs-1: Item cannot contain both item and answer
qrs-2: Repeated answers are combined in the answers array of a single item
.... 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
.... linkId C 1..1 string Pointer to specific item from Questionnaire
.... definition 0..1 uri ElementDefinition - details for the item
.... text 0..1 string Name for group or question text
.... answer C 0..* BackboneElement The response(s) to the question
..... 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
..... value[x] C 1..1 Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Binding this is problematic because one value set can't apply to both codes and quantities.

...... valueBoolean boolean
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
...... valueUri uri
...... valueAttachment Attachment
...... valueCoding Coding
...... valueQuantity Quantity(SimpleQuantity)
...... valueReference Reference(Resource)
..... item 0..* See item (QuestionnaireResponse) Child items of question
.... item 0..* See item (QuestionnaireResponse) Child items of group item

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
QuestionnaireResponse.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
QuestionnaireResponse.statusrequiredPattern: completed
http://hl7.org/fhir/ValueSet/questionnaire-answers-status|5.0.0
from the FHIR Standard
QuestionnaireResponse.item.answer.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireResponseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireResponseIf 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-4errorQuestionnaireResponseIf 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-5errorQuestionnaireResponseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireResponseA 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()
qrs-1errorQuestionnaireResponse.itemItem cannot contain both item and answer
: (answer.exists() and item.exists()).not()
qrs-2errorQuestionnaireResponse.itemRepeated answers are combined in the answers array of a single item
: repeat(answer|item).select(item.where(answer.value.exists()).linkId.isDistinct()).allTrue()

This structure is derived from QuestionnaireResponse

Summary

Differential View

This structure is derived from QuestionnaireResponse

NameFlagsCard.TypeDescription & Constraintsdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... status 1..1 code in-progress | completed | amended | entered-in-error | stopped
Required Pattern: completed

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... 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
... status ?!Σ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.


Required Pattern: completed

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
QuestionnaireResponse.statusrequiredPattern: completed
http://hl7.org/fhir/ValueSet/questionnaire-answers-status|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireResponseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireResponseIf 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-4errorQuestionnaireResponseIf 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-5errorQuestionnaireResponseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireResponseA 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
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier Business identifier for this set of answers
... basedOn Σ 0..* Reference(CarePlan | ServiceRequest) Request fulfilled by this QuestionnaireResponse
... partOf Σ 0..* Reference(Observation | Procedure) Part of referenced event
... questionnaire Σ 1..1 canonical(Questionnaire) Canonical URL of Questionnaire being answered
... status ?!Σ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.


Required Pattern: completed
... subject Σ 0..1 Reference(Resource) The subject of the questions
... encounter Σ 0..1 Reference(Encounter) Encounter the questionnaire response is part of
... authored Σ 0..1 dateTime Date the answers were gathered
... author Σ 0..1 Reference(Device | Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) The individual or device that received and recorded the answers
... source Σ 0..1 Reference(Device | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) The individual or device that answered the questions
... item C 0..* BackboneElement Groups and questions
qrs-1: Item cannot contain both item and answer
qrs-2: Repeated answers are combined in the answers array of a single item
.... 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
.... linkId C 1..1 string Pointer to specific item from Questionnaire
.... definition 0..1 uri ElementDefinition - details for the item
.... text 0..1 string Name for group or question text
.... answer C 0..* BackboneElement The response(s) to the question
..... 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
..... value[x] C 1..1 Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Binding this is problematic because one value set can't apply to both codes and quantities.

...... valueBoolean boolean
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
...... valueUri uri
...... valueAttachment Attachment
...... valueCoding Coding
...... valueQuantity Quantity(SimpleQuantity)
...... valueReference Reference(Resource)
..... item 0..* See item (QuestionnaireResponse) Child items of question
.... item 0..* See item (QuestionnaireResponse) Child items of group item

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / CodeURI
QuestionnaireResponse.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
QuestionnaireResponse.statusrequiredPattern: completed
http://hl7.org/fhir/ValueSet/questionnaire-answers-status|5.0.0
from the FHIR Standard
QuestionnaireResponse.item.answer.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireResponseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireResponseIf 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-4errorQuestionnaireResponseIf 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-5errorQuestionnaireResponseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireResponseA 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()
qrs-1errorQuestionnaireResponse.itemItem cannot contain both item and answer
: (answer.exists() and item.exists()).not()
qrs-2errorQuestionnaireResponse.itemRepeated answers are combined in the answers array of a single item
: repeat(answer|item).select(item.where(answer.value.exists()).linkId.isDistinct()).allTrue()

This structure is derived from QuestionnaireResponse

Summary

 

Other representations of profile: CSV, Excel, Schematron