Regulatory Correspondence
0.1.0 - ci-build

Regulatory Correspondence, published by Gravitate Health and HL7 Vulcan. 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/cander2/rfi-ig/ and changes regularly. See the Directory of published versions

Resource Profile: RFIQuestionnaireResponse

Official URL: http://hl7.org/fhir/StructureDefinition/RFIQuestionnaireResponse Version: 0.1.0
Draft as of 2025-06-19 Computable Name: RFIQuestionnaireResponse

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.

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
... 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.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus
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()

This structure is derived from QuestionnaireResponse

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... item
.... answer
..... value[x] 1..1 Single-valued answer to the question
...... valueString string
...... valueAttachment Attachment

doco Documentation for this format
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
... 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..* 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.
... 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
Constraints: qrs-1, qrs-2
.... 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.
...... valueString string
...... valueAttachment Attachment
..... 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

PathConformanceValueSetURI
QuestionnaireResponse.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
From the FHIR Standard
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus
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

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
... 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.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus
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()

Differential View

This structure is derived from QuestionnaireResponse

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse 0..* QuestionnaireResponse A structured set of questions and their answers
... item
.... answer
..... value[x] 1..1 Single-valued answer to the question
...... valueString string
...... valueAttachment Attachment

doco Documentation for this format

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
... 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..* 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.
... 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
Constraints: qrs-1, qrs-2
.... 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.
...... valueString string
...... valueAttachment Attachment
..... 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

PathConformanceValueSetURI
QuestionnaireResponse.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
From the FHIR Standard
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus
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