---
type: "resource-definitions"
title: "QuestionnaireResponse Definitions"
resource: "QuestionnaireResponse"
---
# QuestionnaireResponse Definitions
## QuestionnaireResponse
A structured set of questions and their answers
**Definition:** A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to.
**Comments:** The QuestionnaireResponse contains enough information about the questions asked and their organization that it can be interpreted somewhat independently from the Questionnaire it is based on. I.e. You don't need access to the Questionnaire in order to extract basic information from a QuestionnaireResponse.
**Aliases:** Form, QuestionnaireAnswers
**Cardinality:** 0..*
**Mappings:** workflow=Event; rim=Observation[moodCode=EVN]; w5=infrastructure.information
## QuestionnaireResponse.identifier
Business identifier for this set of answers
**Definition:** Business identifiers assigned to this questionnaire response by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to server.
**Comments:** Note: This is a business identifier, not a resource identifier (see [discussion](resource.html#identifiers)).
**Requirements:** Allows identification of the questionnaire response as it is known by various participating systems and in a way that remains consistent across servers.
**Cardinality:** 0..*
**Type:** [Identifier](/Identifier)
**Summary:** true
**Mappings:** workflow=Event.identifier; w5=FiveWs.identifier; rim=.id
## QuestionnaireResponse.basedOn
Request fulfilled by this QuestionnaireResponse
**Definition:** A plan, proposal or order that is fulfilled in whole or in part by this questionnaire response. For example, a ServiceRequest seeking an intake assessment or a decision support recommendation to assess for post-partum depression.
**Requirements:** Supports traceability of responsibility for the questionnaire response and allows linkage of the response to the proposals/recommendations acted upon.
**Aliases:** order
**Cardinality:** 0..*
**Type:** Reference([CarePlan](/CarePlan), [ServiceRequest](/ServiceRequest))
**Summary:** true
**Mappings:** workflow=Event.basedOn; rim=.outboundRelationship[typeCode=FLFS].target
## QuestionnaireResponse.partOf
Part of referenced event
**Definition:** A procedure or observation that this questionnaire was performed as part of the execution of. For example, the surgery a checklist was executed as part of.
**Comments:** Not to be used to link an questionnaire response to an Encounter - use 'context' for that.
Composition of questionnaire responses will be handled using the Assemble operation defined in the SDC IG. For relationships to referrals, and other types of requests, use basedOn.
**Cardinality:** 0..*
**Type:** Reference([Observation](/Observation), [Procedure](/Procedure))
**Summary:** true
**Mappings:** workflow=Event.partOf; rim=.inboundRelationship[typeCode=COMP].source[moodCode=EVN]
## QuestionnaireResponse.questionnaire
Canonical URL of Questionnaire being answered
**Definition:** The Questionnaire that defines and organizes the questions for which answers are being provided.
**Comments:** If a QuestionnaireResponse references a Questionnaire that can be resolved, then the QuestionnaireResponse structure must be consistent with the Questionnaire (i.e. questions must be organized into the same groups, nested questions must still be nested, etc.). It is possible to have a QuestionnaireResponse whose 'questionnaire' element does not resolve. It is also possible for the questionnaire element to not have a value but only extensions (e.g. conveying the title or identifier for the questionnaire). This may happen for legacy data. If there is no formally defined Questionnaire, it is undefined what the 'correct' values for the linkId elements should be and it is possible that linkIds might be inconsistent for QuestionnaireResponses for the same form if captured by distinct systems.
**Requirements:** Needed to allow editing of the questionnaire response in a manner that enforces the constraints of the original form.
**Aliases:** Form
**Cardinality:** 1..1
**Type:** [canonical](/canonical)
**Summary:** true
**Mappings:** rim=./outboundRelationship[typeCode=INST]/target[classCode=OBS, moodCode=DEFN]
## QuestionnaireResponse.status
in-progress | completed | amended | entered-in-error | stopped
**Definition:** The current state of the questionnaire response.
**Comments:** Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is.
**Requirements:** The information on Questionnaire resources may possibly be gathered during multiple sessions and altered after considered being finished.
**Cardinality:** 1..1
**Type:** [code](/code)
**Binding:** required:[questionnaire-answers-status](/valueset-questionnaire-answers-status)
**Summary:** true
**Is Modifier:** true (Reason: This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid)
**Mappings:** workflow=Event.status; w5=FiveWs.status; rim=.statusCode (also whether there's a revisionControlAct - and possibly mood to distinguish "in-progress" from "published)
## QuestionnaireResponse.subject
The subject of the questions
**Definition:** The subject of the questionnaire response. This could be a patient, organization, practitioner, device, etc. This is who/what the answers apply to, but is not necessarily the source of information.
**Comments:** If the Questionnaire declared a subjectType, the resource pointed to by this element must be an instance of one of the listed types.
**Requirements:** Links the questionnaire response to the Patient context. May also affect access control.
**Aliases:** Patient, Focus
**Cardinality:** 0..1
**Type:** Reference([Resource](/Resource))
**Summary:** true
**Mappings:** workflow=Event.subject; w5=FiveWs.subject; rim=.participation[typeCode=SBJ].role
## QuestionnaireResponse.encounter
Encounter the questionnaire response is part of
**Definition:** The Encounter during which this questionnaire response was created or to which the creation of this record is tightly associated.
**Comments:** This will typically be the encounter the questionnaire response was created during, but some questionnaire responses may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. pre-admission forms). A questionnaire that was initiated during an encounter but not fully completed during the encounter would still generally be associated with the encounter.
**Requirements:** Links the questionnaire response to the Encounter context. May also affect access control.
**Cardinality:** 0..1
**Type:** Reference([Encounter](/Encounter))
**Summary:** true
**Mappings:** workflow=Event.encounter; w5=FiveWs.context; rim=.inboundRelationship(typeCode=COMP].source[classCode<=PCPR, moodCode=EVN]
## QuestionnaireResponse.authored
Date the answers were gathered
**Definition:** The date and/or time that this questionnaire response was last modified by the user - e.g. changing answers or revising status.
**Comments:** May be different from the lastUpdateTime of the resource itself, because that reflects when the data was known to the server, not when the data was captured.
This element is optional to allow for systems that might not know the value, however it SHOULD be populated if possible.
**Requirements:** Clinicians need to be able to check the date that the information in the questionnaire was collected, to derive the context of the answers.
**Aliases:** Date Created, Date published, Date Issued, Date updated
**Cardinality:** 0..1
**Type:** [dateTime](/dateTime)
**Summary:** true
**Mappings:** workflow=Event.recorded; w5=FiveWs.recorded; rim=.participation[typeCode=AUT].time
## QuestionnaireResponse.author
The individual or device that received and recorded the answers
**Definition:** The individual or device that received the answers to the questions in the QuestionnaireResponse and recorded them in the system.
**Comments:** Mapping a subject's answers to multiple choice options and determining what to put in the textual answer is a matter of interpretation. Authoring by device would indicate that some portion of the questionnaire had been auto-populated. Device should only be used if it directly determined the answers, not if it was merely used as a capture tool to record answers provided by others. In the latter case, information about the physical device, software, etc. would be captured using Provenance.
NOTE: Group is allowed as an author only in situations where it represents a family, household, or similar unit and its contents are limited to Patient and/or RelatedPerson. QuestionnaireResponses authored by other collections of people must use Organization.
**Requirements:** Need to know who interpreted the subject's answers to the questions in the questionnaire, and selected the appropriate options for answers.
**Aliases:** Laboratory, Service, Practitioner, Department, Company, Performer
**Cardinality:** 0..1
**Type:** Reference([Device](/Device), [Practitioner](/Practitioner), [PractitionerRole](/PractitionerRole), [Patient](/Patient), [RelatedPerson](/RelatedPerson), [Organization](/Organization), [Group](/Group))
**Summary:** true
**Mappings:** workflow=Event.performer.actor; w5=FiveWs.author; rim=.participation[typeCode=AUT].role
## QuestionnaireResponse.source
The individual or device that answered the questions
**Definition:** The individual or device that answered the questions about the subject.
**Comments:** If not specified, no inference can be made about who provided the data. Device should only be used if it directly determined the answers, not if it was merely used as a capture tool to record answers provided by others. In the latter case, information about the physical device, software, etc. would be captured using Provenance.
**Requirements:** When answering questions about a subject that is minor, incapable of answering or an animal, another human source may answer the questions.
**Cardinality:** 0..1
**Type:** Reference([Device](/Device), [Organization](/Organization), [Patient](/Patient), [Practitioner](/Practitioner), [PractitionerRole](/PractitionerRole), [RelatedPerson](/RelatedPerson))
**Summary:** true
**Mappings:** w5=FiveWs.source; rim=.participation[typeCode=INF].role
## QuestionnaireResponse.item
Groups and questions
**Definition:** A group or question item from the original questionnaire for which answers are provided.
**Comments:** Groups cannot have answers and therefore must nest directly within item. When dealing with questions, nesting must occur within each answer because some questions may have multiple answers (and the nesting occurs for each answer).\nWhen dealing with repeating items, each group repetition will be handled by a separate item. However, repeating questions are handled with a single question item and potentially multiple answers.
**Cardinality:** 0..*
**Type:** [BackboneElement](/BackboneElement)
**Constraints:** qrs-1 | error | Item cannot contain both item and answer | (answer.exists() and item.exists()).not(); qrs-2 | error | Repeated answers are combined in the answers array of a single item | repeat(answer|item).select(item.where(answer.value.exists()).linkId.isDistinct()).allTrue()
**Mappings:** rim=.outboundRelationship[typeCode=COMP].target[classCode=OBS, moodCode=EVN]
## QuestionnaireResponse.item.linkId
Pointer to specific item from Questionnaire
**Definition:** The item from the Questionnaire that corresponds to this item in the QuestionnaireResponse resource.
**Requirements:** Items can repeat in the answers, so a direct 1..1 correspondence by position might not exist - requiring correspondence by identifier.
**Conditions:** qrs-2, qrs-3
**Cardinality:** 1..1
**Type:** [string](/string)
**Constraints:** qrs-3 | error | LinkId cannot have leading or trailing spaces or intevening whitespace other than single space characters | $this.matches('[^\\s]+( [^\\s]+)*')
**Mappings:** rim=.outboundRelationship[typeCode=DEFN].target[classCode=OBS, moodCode=DEFN].id
## QuestionnaireResponse.item.definition
ElementDefinition - details for the item
**Definition:** A reference to an [ElementDefinition](elementdefinition.html) that provides the details for the item.
**Comments:** The ElementDefinition must be in a [StructureDefinition](structuredefinition.html#), and must have a fragment identifier that identifies the specific data element by its id (Element.id). E.g. http://hl7.org/fhir/StructureDefinition/Observation#Observation.value[x].
There is no need for this element if the item pointed to by the linkId has a definition listed.
**Requirements:** A common pattern is to define a set of data elements, and then build multiple different questionnaires for different circumstances to gather the data. This element provides traceability to the common definition.
**Cardinality:** 0..*
**Type:** [uri](/uri)
**Mappings:** rim=.outboundRelationship[typeCode=DEFN].target[classCode=OBS, moodCode=DEFN].code
## QuestionnaireResponse.item.text
Name for group or question text
**Definition:** Text that is displayed above the contents of the group or as the text of the question being answered.
**Comments:** The text for an item SHOULD be identical to the text from the corresponding Questionnaire.item. This can't be strictly enforced because it's possible for the Questionnaire to be updated subsequent to the QuestionnaireResponse having been created, however the intention is that the text in the QuestionnaireResponse reflects what the user saw when completing the Questionnaire.
**Requirements:** Allows the questionnaire response to be read without access to the questionnaire.
**Cardinality:** 0..1
**Type:** [string](/string)
**Mappings:** rim=.text
## QuestionnaireResponse.item.answer
The response(s) to the question
**Definition:** The respondent's answer(s) to the question.
**Comments:** The value is nested because we cannot have a repeating structure that has variable type.
**Conditions:** qrs-1, qrs-2
**Cardinality:** 0..*
**Type:** [BackboneElement](/BackboneElement)
**Mappings:** rim=.value[type=LIST_ANY]
## QuestionnaireResponse.item.answer.value[x]
Single-valued answer to the question
**Definition:** The answer (or one of the answers) provided by the respondent to the question.
**Comments:** More complex structures (Attachment, Resource and Quantity) will typically be limited to electronic forms that can expose an appropriate user interface to capture the components and enforce the constraints of a complex data type. Additional complex types can be introduced through extensions. Must match the datatype specified by Questionnaire.item.type in the corresponding Questionnaire. Note that a question is answered using one of the possible choices defined with answerOption, answerValueSet or some other means and the answer has a complex data type, all elements within the answer in the QuestionnaireResponse **SHOULD** match the elements defined corresponding choice value in the Questionnaire. However, it is possible that not all elements will be propagated. Also, some systems might use language translations resulting in different displays. Comparison of value to the values defined in the Questionnaire (whether by answerOption, answerValueSet or answerExpression) **SHALL NOT** pay attention to Coding.display, Reference.display, Quantity.unit unless those are the only elements present. As well, systems are not required to check for a match on any extensions (e.g. ordinal values, translations, etc.). Systems **MAY** enforce that if extensions such as ordinal values are present in both Questionnaire and QuestionnaireResponse, they match.
**Requirements:** Ability to retain a single-valued answer to a question.
**Conditions:** qrs-2
**Cardinality:** 1..1
**Type:** [boolean](/boolean), [decimal](/decimal), [integer](/integer), [date](/date), [dateTime](/dateTime), [time](/time), [string](/string), [uri](/uri), [Attachment](/Attachment), [Coding](/Coding), [SimpleQuantity](/SimpleQuantity), Reference([Resource](/Resource))
**Binding:** example:[questionnaire-answers](/valueset-questionnaire-answers)
**Mappings:** rim=.item
## QuestionnaireResponse.item.answer.item
Child items of question
**Definition:** Nested groups and/or questions found within this particular answer.
**Comments:** Only used when nesting beneath a question - see item.item for nesting beneath groups
**Requirements:** It is useful to have "sub-questions", questions which normally appear when certain answers are given and which collect additional details.
**Cardinality:** 0..*
**Mappings:** rim=.outboundRelationship[typeCode=COMP].target[classCode=OBS, moodCode=EVN]
## QuestionnaireResponse.item.item
Child items of group item
**Definition:** Sub-questions, sub-groups or display items nested beneath a group.
**Comments:** Only used when nesting beneath a group - see item.answer.item for nesting beneath questions
**Requirements:** Reports can consist of complex nested groups.
**Cardinality:** 0..*
**Mappings:** rim=.outboundRelationship[typeCode=COMP].target[classCode=OBS, moodCode=EVN]