North West Genomic Medicine Service Alliance
0.0.1 - ci-build United Kingdom flag

DRAFT Implementation Guide

This is for collaboration and discussion purposes and is subject to change.

North West Genomic Medicine Service Alliance - Local Development build (v0.0.1) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: QuestionnaireResponse

Official URL: https://nw-gmsa.github.io/StructureDefinition/QuestionnaireResponse Version: 0.0.1
Draft as of 2025-06-19 Computable Name: QuestionnaireResponse

DRAFT Initial elaboration

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

This structure is derived from QuestionnaireResponse

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... questionnaire S 1..1 canonical(Questionnaire) Form being answered
... subject S 1..1 Reference(Resource) The subject of the questions
.... identifier 0..1 NHSNumber Logical reference, when literal reference is not known
... encounter
.... identifier 0..1 EpisodeNumber Logical reference, when literal reference is not known

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... questionnaire SΣ 1..1 canonical(Questionnaire) Form being answered
... status ?!Σ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
... subject SΣ 1..1 Reference(Resource) The subject of the questions
.... identifier Σ 0..1 NHSNumber Logical reference, when literal reference is not known

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus
http://hl7.org/fhir/ValueSet/questionnaire-answers-status|4.0.1
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().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 & Constraints    Filter: Filtersdoco
.. 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: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..1 Identifier Unique 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 SΣ 1..1 canonical(Questionnaire) Form being answered
... status ?!Σ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
... subject SΣ 1..1 Reference(Resource) The subject of the questions
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 NHSNumber Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 EpisodeNumber Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... authored Σ 0..1 dateTime Date the answers were gathered
... author Σ 0..1 Reference(Device | Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) Person who received and recorded the answers
... source Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) The person who answered the questions
... item C 0..* BackboneElement Groups and questions
Constraints: qrs-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
.... linkId 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 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] 0..1 Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.
...... valueBoolean boolean
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
...... valueUri uri
...... valueAttachment Attachment
...... valueCoding Coding
...... valueQuantity Quantity
...... valueReference Reference(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

PathConformanceValueSetURI
QuestionnaireResponse.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus
http://hl7.org/fhir/ValueSet/questionnaire-answers-status|4.0.1
From the FHIR Standard
QuestionnaireResponse.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
From the FHIR Standard
QuestionnaireResponse.encounter.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
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().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
Must-Support: 2 elements

Structures

This structure refers to these other structures:

Differential View

This structure is derived from QuestionnaireResponse

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... questionnaire S 1..1 canonical(Questionnaire) Form being answered
... subject S 1..1 Reference(Resource) The subject of the questions
.... identifier 0..1 NHSNumber Logical reference, when literal reference is not known
... encounter
.... identifier 0..1 EpisodeNumber Logical reference, when literal reference is not known

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... questionnaire SΣ 1..1 canonical(Questionnaire) Form being answered
... status ?!Σ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
... subject SΣ 1..1 Reference(Resource) The subject of the questions
.... identifier Σ 0..1 NHSNumber Logical reference, when literal reference is not known

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus
http://hl7.org/fhir/ValueSet/questionnaire-answers-status|4.0.1
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().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 & Constraints    Filter: Filtersdoco
.. 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: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..1 Identifier Unique 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 SΣ 1..1 canonical(Questionnaire) Form being answered
... status ?!Σ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
... subject SΣ 1..1 Reference(Resource) The subject of the questions
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 NHSNumber Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... reference ΣC 0..1 string Literal reference, Relative, internal or absolute URL
.... type Σ 0..1 uri Type the reference refers to (e.g. "Patient")
Binding: ResourceType (extensible): Aa resource (or, for logical models, the URI of the logical model).
.... identifier Σ 0..1 EpisodeNumber Logical reference, when literal reference is not known
.... display Σ 0..1 string Text alternative for the resource
... authored Σ 0..1 dateTime Date the answers were gathered
... author Σ 0..1 Reference(Device | Practitioner | PractitionerRole | Patient | RelatedPerson | Organization) Person who received and recorded the answers
... source Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) The person who answered the questions
... item C 0..* BackboneElement Groups and questions
Constraints: qrs-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
.... linkId 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 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] 0..1 Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.
...... valueBoolean boolean
...... valueDecimal decimal
...... valueInteger integer
...... valueDate date
...... valueDateTime dateTime
...... valueTime time
...... valueString string
...... valueUri uri
...... valueAttachment Attachment
...... valueCoding Coding
...... valueQuantity Quantity
...... valueReference Reference(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

PathConformanceValueSetURI
QuestionnaireResponse.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
From the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus
http://hl7.org/fhir/ValueSet/questionnaire-answers-status|4.0.1
From the FHIR Standard
QuestionnaireResponse.subject.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
From the FHIR Standard
QuestionnaireResponse.encounter.typeextensibleResourceType
http://hl7.org/fhir/ValueSet/resource-types
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().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
Must-Support: 2 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron