View raw Markdown
type: resource-definitionsresource: QuestionnaireResponse

QuestionnaireResponse Definitions

<a id="QuestionnaireResponse"></a>

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

<a id="QuestionnaireResponse.identifier"></a>

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

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

Summary: true

Mappings: workflow=Event.identifier; w5=FiveWs.identifier; rim=.id

<a id="QuestionnaireResponse.basedOn"></a>

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, ServiceRequest)

Summary: true

Mappings: workflow=Event.basedOn; rim=.outboundRelationship[typeCode=FLFS].target

<a id="QuestionnaireResponse.partOf"></a>

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, Procedure)

Summary: true

Mappings: workflow=Event.partOf; rim=.inboundRelationship[typeCode=COMP].source[moodCode=EVN]

<a id="QuestionnaireResponse.questionnaire"></a>

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

Summary: true

Mappings: rim=./outboundRelationship[typeCode=INST]/target[classCode=OBS, moodCode=DEFN]

<a id="QuestionnaireResponse.status"></a>

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

Binding: required: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)

<a id="QuestionnaireResponse.subject"></a>

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)

Summary: true

Mappings: workflow=Event.subject; w5=FiveWs.subject; rim=.participation[typeCode=SBJ].role

<a id="QuestionnaireResponse.encounter"></a>

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)

Summary: true

Mappings: workflow=Event.encounter; w5=FiveWs.context; rim=.inboundRelationship(typeCode=COMP].source[classCode<=PCPR, moodCode=EVN]

<a id="QuestionnaireResponse.authored"></a>

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

Summary: true

Mappings: workflow=Event.recorded; w5=FiveWs.recorded; rim=.participation[typeCode=AUT].time

<a id="QuestionnaireResponse.author"></a>

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, Practitioner, PractitionerRole, Patient, RelatedPerson, Organization, Group)

Summary: true

Mappings: workflow=Event.performer.actor; w5=FiveWs.author; rim=.participation[typeCode=AUT].role

<a id="QuestionnaireResponse.source"></a>

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, Organization, Patient, Practitioner, PractitionerRole, RelatedPerson)

Summary: true

Mappings: w5=FiveWs.source; rim=.participation[typeCode=INF].role

<a id="QuestionnaireResponse.item"></a>

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

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]

<a id="QuestionnaireResponse.item.linkId"></a>

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

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

<a id="QuestionnaireResponse.item.definition"></a>

QuestionnaireResponse.item.definition

ElementDefinition - details for the item

Definition: A reference to an ElementDefinition that provides the details for the item.

Comments: The ElementDefinition must be in a StructureDefinition, 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

Mappings: rim=.outboundRelationship[typeCode=DEFN].target[classCode=OBS, moodCode=DEFN].code

<a id="QuestionnaireResponse.item.text"></a>

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

Mappings: rim=.text

<a id="QuestionnaireResponse.item.answer"></a>

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

Mappings: rim=.value[type=LIST_ANY]

<a id="QuestionnaireResponse.item.answer.value[x]"></a>

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, decimal, integer, date, dateTime, time, string, uri, Attachment, Coding, SimpleQuantity, Reference(Resource)

Binding: example:questionnaire-answers

Mappings: rim=.item

<a id="QuestionnaireResponse.item.answer.item"></a>

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]

<a id="QuestionnaireResponse.item.item"></a>

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]