Implementation Guide for fælles faglige instrumenter (FFInst)
1.0.0 - release Denmark flag

This page is part of the KLFFinst (v1.0.0: Release) based on FHIR R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: Questionnaire response

Official URL: http://fhir.kl.dk/ffinst/StructureDefinition/KLToolsQuestionnaireResponse Version: 1.0.0
Active as of 2023-08-27 Computable Name: KLToolsQuestionnaireResponse

Questionnaire response profile, for all Questionaires in KLTools

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. QuestionnaireResponse 0..*QuestionnaireResponseA structured set of questions and their answers
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... findingInformer Σ1..1CodeableConceptFindingInformer
URL: http://fhir.kl.dk/ffinst/StructureDefinition/FindingInformer
Binding: FindingInformerCodes (required)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1codein-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus

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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(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..*QuestionnaireResponseA structured set of questions and their answers
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... findingInformer Σ1..1CodeableConceptFindingInformer
URL: http://fhir.kl.dk/ffinst/StructureDefinition/FindingInformer
Binding: FindingInformerCodes (required)
... techniqe Σ0..1CodeableConceptTechnique
URL: http://fhir.kl.dk/ffinst/StructureDefinition/Technique
Binding: KLtechniquesCodes (required)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..1IdentifierUnique id for this set of answers
... basedOn Σ0..*Reference(CarePlan | ServiceRequest)Request fulfilled by this QuestionnaireResponse
... partOf Σ0..*Reference(Observation | Procedure)Part of this action
... questionnaire Σ0..1canonical(Questionnaire)Form being answered
... status ?!Σ1..1codein-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.

... subject Σ0..1Reference(Resource)The subject of the questions
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... authored Σ0..1dateTimeDate the answers were gathered
... author Σ0..1Reference(Device | Practitioner | PractitionerRole | Patient | RelatedPerson | Organization)Person who received and recorded the answers
... source Σ0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)The person who answered the questions
... item C0..*BackboneElementGroups and questions
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... linkId 1..1stringPointer to specific item from Questionnaire
.... definition 0..1uriElementDefinition - details for the item
.... text 0..1stringName for group or question text
.... answer 0..*BackboneElementThe response(s) to the question
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... value[x] 0..1Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.

...... valueBooleanboolean
...... valueDecimaldecimal
...... valueIntegerinteger
...... valueDatedate
...... valueDateTimedateTime
...... valueTimetime
...... valueStringstring
...... valueUriuri
...... valueAttachmentAttachment
...... valueCodingCoding
...... valueQuantityQuantity
...... valueReferenceReference(Resource)
..... item 0..*See item (QuestionnaireResponse)Nested groups and questions
.... item 0..*See item (QuestionnaireResponse)Nested questionnaire response items

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
QuestionnaireResponse.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus
QuestionnaireResponse.item.answer.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)

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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(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.itemNested item can't be beneath both item and answer
: (answer.exists() and item.exists()).not()

This structure is derived from QuestionnaireResponse

Summary

Mandatory: 2 elements

Extensions

This structure refers to these extensions:

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. QuestionnaireResponse 0..*QuestionnaireResponseA structured set of questions and their answers
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... findingInformer Σ1..1CodeableConceptFindingInformer
URL: http://fhir.kl.dk/ffinst/StructureDefinition/FindingInformer
Binding: FindingInformerCodes (required)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... status ?!Σ1..1codein-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.


doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus

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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(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..*QuestionnaireResponseA structured set of questions and their answers
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... Slices for extension 1..*ExtensionExtension
Slice: Unordered, Open by value:url
... findingInformer Σ1..1CodeableConceptFindingInformer
URL: http://fhir.kl.dk/ffinst/StructureDefinition/FindingInformer
Binding: FindingInformerCodes (required)
... techniqe Σ0..1CodeableConceptTechnique
URL: http://fhir.kl.dk/ffinst/StructureDefinition/Technique
Binding: KLtechniquesCodes (required)
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier Σ0..1IdentifierUnique id for this set of answers
... basedOn Σ0..*Reference(CarePlan | ServiceRequest)Request fulfilled by this QuestionnaireResponse
... partOf Σ0..*Reference(Observation | Procedure)Part of this action
... questionnaire Σ0..1canonical(Questionnaire)Form being answered
... status ?!Σ1..1codein-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.

... subject Σ0..1Reference(Resource)The subject of the questions
... encounter Σ0..1Reference(Encounter)Encounter created as part of
... authored Σ0..1dateTimeDate the answers were gathered
... author Σ0..1Reference(Device | Practitioner | PractitionerRole | Patient | RelatedPerson | Organization)Person who received and recorded the answers
... source Σ0..1Reference(Patient | Practitioner | PractitionerRole | RelatedPerson)The person who answered the questions
... item C0..*BackboneElementGroups and questions
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... linkId 1..1stringPointer to specific item from Questionnaire
.... definition 0..1uriElementDefinition - details for the item
.... text 0..1stringName for group or question text
.... answer 0..*BackboneElementThe response(s) to the question
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... value[x] 0..1Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.

...... valueBooleanboolean
...... valueDecimaldecimal
...... valueIntegerinteger
...... valueDatedate
...... valueDateTimedateTime
...... valueTimetime
...... valueStringstring
...... valueUriuri
...... valueAttachmentAttachment
...... valueCodingCoding
...... valueQuantityQuantity
...... valueReferenceReference(Resource)
..... item 0..*See item (QuestionnaireResponse)Nested groups and questions
.... item 0..*See item (QuestionnaireResponse)Nested questionnaire response items

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
QuestionnaireResponse.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus
QuestionnaireResponse.item.answer.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)

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().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(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.itemNested item can't be beneath both item and answer
: (answer.exists() and item.exists()).not()

This structure is derived from QuestionnaireResponse

Summary

Mandatory: 2 elements

Extensions

This structure refers to these extensions:

 

Other representations of profile: CSV, Excel, Schematron