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
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
If several answers are provided for a same identifier, the request will be rejected.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from QuestionnaireResponse
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
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 | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
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 |
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 |
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
QuestionnaireResponse.status | required | Pattern: completedhttp://hl7.org/fhir/ValueSet/questionnaire-answers-status|5.0.0 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | QuestionnaireResponse | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | QuestionnaireResponse | 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 | QuestionnaireResponse | 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 | QuestionnaireResponse | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | QuestionnaireResponse | 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() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
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 | ||||
language | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
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 | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
QuestionnaireResponse.language | required | AllLanguageshttp://hl7.org/fhir/ValueSet/all-languages|5.0.0 from the FHIR Standard | |
QuestionnaireResponse.status | required | Pattern: completedhttp://hl7.org/fhir/ValueSet/questionnaire-answers-status|5.0.0 from the FHIR Standard | |
QuestionnaireResponse.item.answer.value[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT)http://hl7.org/fhir/ValueSet/questionnaire-answers from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | QuestionnaireResponse | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | QuestionnaireResponse | 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 | QuestionnaireResponse | 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 | QuestionnaireResponse | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | QuestionnaireResponse | 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() | |
qrs-1 | error | QuestionnaireResponse.item | Item cannot contain both item and answer : (answer.exists() and item.exists()).not() | |
qrs-2 | error | QuestionnaireResponse.item | Repeated 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
Differential View
This structure is derived from QuestionnaireResponse
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
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 | |
Documentation for this format |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
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 |
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 |
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
QuestionnaireResponse.status | required | Pattern: completedhttp://hl7.org/fhir/ValueSet/questionnaire-answers-status|5.0.0 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | QuestionnaireResponse | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | QuestionnaireResponse | 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 | QuestionnaireResponse | 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 | QuestionnaireResponse | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | QuestionnaireResponse | 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() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
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 | ||||
language | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
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 | |||||
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
QuestionnaireResponse.language | required | AllLanguageshttp://hl7.org/fhir/ValueSet/all-languages|5.0.0 from the FHIR Standard | |
QuestionnaireResponse.status | required | Pattern: completedhttp://hl7.org/fhir/ValueSet/questionnaire-answers-status|5.0.0 from the FHIR Standard | |
QuestionnaireResponse.item.answer.value[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT)http://hl7.org/fhir/ValueSet/questionnaire-answers from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
dom-2 | error | QuestionnaireResponse | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | QuestionnaireResponse | 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 | QuestionnaireResponse | 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 | QuestionnaireResponse | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | best practice | QuestionnaireResponse | 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() | |
qrs-1 | error | QuestionnaireResponse.item | Item cannot contain both item and answer : (answer.exists() and item.exists()).not() | |
qrs-2 | error | QuestionnaireResponse.item | Repeated 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
Other representations of profile: CSV, Excel, Schematron