QI-Core Implementation Guide
7.0.2 - STU 7

QI-Core Implementation Guide - Downloaded Version 7.0.2 See the Directory of published versions

## Resource Profile: QICore QuestionnaireResponse

Official URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-questionnaireresponse | Version: 7.0.2
Standards status: Trial-use | Maturity Level: 4 | Computable Name: QICoreQuestionnaireResponse
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License

The QI-Core QuestionnaireResponse Profile is based upon the US Core QuestionnaireResponse Profile and sets minimum expectations for the QuestionnaireResponse resource to record, search, and fetch retrieve captures the responses to form/survey and defines the core set of elements and extensions for quality rule and measure authors.

"Must Have", "QI Elements" and "primary code path" are defined in the QI-Core Must Support section.
Must Have:

- questionnaire: (QI) Form being answered
- status: in-progress | completed | amended | entered-in-error | stopped
- subject: (QI) The subject of the questions
- authored: Date the answers were gathered

QI Elements:

- item: (QI) Groups and questions
- author: (QI) Person who received and recorded the answers

Primary code path: questionnaire
(PCPath) This element is the primary code path for this resource CQL Retrieve

### Guidance

Reference Guidance for use of the QuestionnaireResponse profile can be found here.

- See the Social Determinants of Health (SDOH) Guidance Page for how this profile along with other Observation Profiles or alternatively QuestionnaireResponse to is used represent SDOH assessments.

Usage

See the patterns page for implementation and usage patterns.

### Examples

PHQ-9 QuestionnaireResponse Example

Usages:

- Refer to this Profile: QICore NonPatient Observation, QICore Observation Screening Assessment and QICore Simple Observation
- Examples for this Profile: QuestionnaireResponse/PHQ-9-example

You can also check for usages in the FHIR IG Statistics

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
QuestionnaireResponse | C | 0..* | USCoreQuestionnaireResponseProfile | US Core Profile based on SDC QuestionnaireResponse Constraints: sdcqr-1, sdcqr-2
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:signature |  | 0..* | Signature | A signature attesting to the content URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature
extension:completionMode |  | 0..1 | CodeableConcept | E.g. Verbal, written, electronic URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-completionMode Binding: QuestionnaireResponseMode (required): Codes indicating how the questionnaire was completed.
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..1 | Identifier | Unique id for this set of answers
questionnaire | S Σ | 1..1 | canonical(SDCBaseQuestionnaire) | (QI) Form being answered
Slices for extension |  |  |  | Content/Rules for all slices
extension:questionnaireDisplay | S | 0..1 | string | Display name for canonical reference URL: http://hl7.org/fhir/StructureDefinition/display
extension:url | S | 0..1 | uri | The location where a non-FHIR questionnaire/survey form can be found. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-extension-questionnaire-uri
status | ?!S Σ | 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(QICore Patient) | (QI) The subject of the questions
authored | S Σ | 1..1 | dateTime | Date the answers were gathered
author | S Σ | 0..1 | Reference(QICore Practitioner | QICore Organization | QICore Patient | QICore PractitionerRole | QICore Device | QICore RelatedPerson | US Core Implantable Device Profile) | (QI) Person who received and recorded the answers
item | S C | 0..* | BackboneElement | (QI) Groups and questions Constraints: qrs-1
Slices for extension |  |  |  | Content/Rules for all slices
extension:itemMedia |  | 0..1 | Attachment | Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemMedia
extension:ItemSignature |  | 0..* | Signature | A signature attesting to the content URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
linkId | S | 1..1 | string | (QI) Pointer to specific item from Questionnaire
text | S | 0..1 | string | Name for group or question text
answer | S | 0..* | BackboneElement | The response(s) to the question
Slices for extension |  |  |  | Content/Rules for all slices
extension:itemAnswerMedia |  | 0..1 | Attachment | Answer Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemAnswerMedia
extension:ordinalValue |  | 0..1 | decimal | Assigned Ordinal Value URL: http://hl7.org/fhir/StructureDefinition/ordinalValue
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
value[x] | S | 0..1 |  | (QI) Single-valued answer to the question Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.
valueCoding |  |  | Coding S |
valueString |  |  | string S |
valueDecimal |  |  | decimal S |
valueDate |  |  | date |
valueDateTime |  |  | dateTime |
valueInteger |  |  | integer |
valueQuantity |  |  | Quantity |
item | S | 0..* | See item (QuestionnaireResponse) | Nested groups and questions
item | S | 0..* | See item (QuestionnaireResponse) | Nested questionnaire response items
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
QuestionnaireResponse.​status | Base | required | QuestionnaireResponseStatus | 📍4.0.1 | FHIR Std.
QuestionnaireResponse.​item.answer.value[x] | Base | example | Questionnaire Answer Codes | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | QuestionnaireResponse | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | QuestionnaireResponse | If 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-4 | error | QuestionnaireResponse | If 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-5 | error | QuestionnaireResponse | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | QuestionnaireResponse | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
qrs-1 | error | QuestionnaireResponse.item | Nested item can't be beneath both item and answer | `(answer.exists() and item.exists()).not()`
sdcqr-1 | best practice | QuestionnaireResponse | Subject SHOULD be present (searching is difficult without subject). Almost all QuestionnaireResponses should be with respect to some sort of subject. | `subject.exists()`
sdcqr-2 | best practice | QuestionnaireResponse | When repeats=true for a group, it'll be represented with multiple items with the same linkId in the QuestionnaireResponse. For a question, it'll be represented by a single item with that linkId with multiple answers. | `(QuestionnaireResponse|repeat(answer|item)).select(item.where(answer.value.exists()).linkId.isDistinct()).allTrue()`

This structure is derived from USCoreQuestionnaireResponseProfile

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
QuestionnaireResponse |  | 0..* | USCoreQuestionnaireResponseProfile | US Core Profile based on SDC QuestionnaireResponse
questionnaire |  | 1..1 | canonical(SDCBaseQuestionnaire) | (QI) Form being answered
subject |  | 1..1 | Reference(QICore Patient) | (QI) The subject of the questions
author |  | 0..1 | Reference(QICore Practitioner | QICore Organization | QICore Patient | QICore PractitionerRole | QICore Device | QICore RelatedPerson | US Core Implantable Device Profile) | (QI) Person who received and recorded the answers
item |  | 0..* | BackboneElement | (QI) Groups and questions
linkId |  | 1..1 | string | (QI) Pointer to specific item from Questionnaire
answer |  |  |  |
value[x] |  | 0..1 |  | (QI) Single-valued answer to the question
valueCoding |  |  | Coding |
valueString |  |  | string |
valueDecimal |  |  | decimal |
valueDate |  |  | date |
valueDateTime |  |  | dateTime |
valueInteger |  |  | integer |
valueQuantity |  |  | Quantity |
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
QuestionnaireResponse | C | 0..* | USCoreQuestionnaireResponseProfile | US Core Profile based on SDC QuestionnaireResponse Constraints: sdcqr-1, sdcqr-2
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 Bindings | Purpose
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
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:signature |  | 0..* | Signature | A signature attesting to the content URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature
extension:completionMode |  | 0..1 | CodeableConcept | E.g. Verbal, written, electronic URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-completionMode Binding: QuestionnaireResponseMode (required): Codes indicating how the questionnaire was completed.
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 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(SDCBaseQuestionnaire) | (QI) Form being answered
id |  | 0..1 | string | xml:id (or equivalent in JSON)
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:questionnaireDisplay | S | 0..1 | string | Display name for canonical reference URL: http://hl7.org/fhir/StructureDefinition/display
extension:url | S | 0..1 | uri | The location where a non-FHIR questionnaire/survey form can be found. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-extension-questionnaire-uri
value |  | 0..1 | string | Primitive value for canonical
status | ?!S Σ | 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(QICore Patient) | (QI) The subject of the questions
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of
authored | S Σ | 1..1 | dateTime | Date the answers were gathered
author | S Σ | 0..1 | Reference(QICore Practitioner | QICore Organization | QICore Patient | QICore PractitionerRole | QICore Device | QICore RelatedPerson | US Core Implantable Device Profile) | (QI) Person who received and recorded the answers
source | Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) | The person who answered the questions
item | S C | 0..* | BackboneElement | (QI) Groups and questions Constraints: qrs-1
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:itemMedia |  | 0..1 | Attachment | Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemMedia
extension:ItemSignature |  | 0..* | Signature | A signature attesting to the content URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
linkId | S | 1..1 | string | (QI) Pointer to specific item from Questionnaire
definition |  | 0..1 | uri | ElementDefinition - details for the item
text | S | 0..1 | string | Name for group or question text
answer | S | 0..* | BackboneElement | The response(s) to the question
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:itemAnswerMedia |  | 0..1 | Attachment | Answer Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemAnswerMedia
extension:ordinalValue |  | 0..1 | decimal | Assigned Ordinal Value URL: http://hl7.org/fhir/StructureDefinition/ordinalValue
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
value[x] | S | 0..1 |  | (QI) Single-valued answer to the question Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.
valueCoding |  |  | Coding S |
valueString |  |  | string S |
valueDecimal |  |  | decimal S |
valueDate |  |  | date |
valueDateTime |  |  | dateTime |
valueInteger |  |  | integer |
valueQuantity |  |  | Quantity |
item | S | 0..* | See item (QuestionnaireResponse) | Nested groups and questions
item | S | 0..* | See item (QuestionnaireResponse) | Nested questionnaire response items
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
QuestionnaireResponse.​language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
QuestionnaireResponse.​status | Base | required | QuestionnaireResponseStatus | 📍4.0.1 | FHIR Std.
QuestionnaireResponse.​item.answer.value[x] | Base | example | Questionnaire Answer Codes | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | QuestionnaireResponse | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | QuestionnaireResponse | If 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-4 | error | QuestionnaireResponse | If 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-5 | error | QuestionnaireResponse | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | QuestionnaireResponse | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
qrs-1 | error | QuestionnaireResponse.item | Nested item can't be beneath both item and answer | `(answer.exists() and item.exists()).not()`
sdcqr-1 | best practice | QuestionnaireResponse | Subject SHOULD be present (searching is difficult without subject). Almost all QuestionnaireResponses should be with respect to some sort of subject. | `subject.exists()`
sdcqr-2 | best practice | QuestionnaireResponse | When repeats=true for a group, it'll be represented with multiple items with the same linkId in the QuestionnaireResponse. For a question, it'll be represented by a single item with that linkId with multiple answers. | `(QuestionnaireResponse|repeat(answer|item)).select(item.where(answer.value.exists()).linkId.isDistinct()).allTrue()`

This structure is derived from USCoreQuestionnaireResponseProfile

Summary

Mandatory: 2 elements

Structures

This structure refers to these other structures:

- QICore Patient (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient)
- QICore Practitioner (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-practitioner)
- QICore Organization (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-organization)
- QICore PractitionerRole (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-practitionerrole)
- QICore Device (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-device)
- QICore RelatedPerson (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-relatedperson)
- US Core Implantable Device Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-implantable-device)

Maturity: 4

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
QuestionnaireResponse | C | 0..* | USCoreQuestionnaireResponseProfile | US Core Profile based on SDC QuestionnaireResponse Constraints: sdcqr-1, sdcqr-2
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
Slices for extension |  |  |  | Content/Rules for all slices
extension:signature |  | 0..* | Signature | A signature attesting to the content URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature
extension:completionMode |  | 0..1 | CodeableConcept | E.g. Verbal, written, electronic URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-completionMode Binding: QuestionnaireResponseMode (required): Codes indicating how the questionnaire was completed.
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 0..1 | Identifier | Unique id for this set of answers
questionnaire | S Σ | 1..1 | canonical(SDCBaseQuestionnaire) | (QI) Form being answered
Slices for extension |  |  |  | Content/Rules for all slices
extension:questionnaireDisplay | S | 0..1 | string | Display name for canonical reference URL: http://hl7.org/fhir/StructureDefinition/display
extension:url | S | 0..1 | uri | The location where a non-FHIR questionnaire/survey form can be found. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-extension-questionnaire-uri
status | ?!S Σ | 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(QICore Patient) | (QI) The subject of the questions
authored | S Σ | 1..1 | dateTime | Date the answers were gathered
author | S Σ | 0..1 | Reference(QICore Practitioner | QICore Organization | QICore Patient | QICore PractitionerRole | QICore Device | QICore RelatedPerson | US Core Implantable Device Profile) | (QI) Person who received and recorded the answers
item | S C | 0..* | BackboneElement | (QI) Groups and questions Constraints: qrs-1
Slices for extension |  |  |  | Content/Rules for all slices
extension:itemMedia |  | 0..1 | Attachment | Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemMedia
extension:ItemSignature |  | 0..* | Signature | A signature attesting to the content URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
linkId | S | 1..1 | string | (QI) Pointer to specific item from Questionnaire
text | S | 0..1 | string | Name for group or question text
answer | S | 0..* | BackboneElement | The response(s) to the question
Slices for extension |  |  |  | Content/Rules for all slices
extension:itemAnswerMedia |  | 0..1 | Attachment | Answer Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemAnswerMedia
extension:ordinalValue |  | 0..1 | decimal | Assigned Ordinal Value URL: http://hl7.org/fhir/StructureDefinition/ordinalValue
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
value[x] | S | 0..1 |  | (QI) Single-valued answer to the question Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.
valueCoding |  |  | Coding S |
valueString |  |  | string S |
valueDecimal |  |  | decimal S |
valueDate |  |  | date |
valueDateTime |  |  | dateTime |
valueInteger |  |  | integer |
valueQuantity |  |  | Quantity |
item | S | 0..* | See item (QuestionnaireResponse) | Nested groups and questions
item | S | 0..* | See item (QuestionnaireResponse) | Nested questionnaire response items
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
QuestionnaireResponse.​status | Base | required | QuestionnaireResponseStatus | 📍4.0.1 | FHIR Std.
QuestionnaireResponse.​item.answer.value[x] | Base | example | Questionnaire Answer Codes | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | QuestionnaireResponse | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | QuestionnaireResponse | If 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-4 | error | QuestionnaireResponse | If 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-5 | error | QuestionnaireResponse | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | QuestionnaireResponse | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
qrs-1 | error | QuestionnaireResponse.item | Nested item can't be beneath both item and answer | `(answer.exists() and item.exists()).not()`
sdcqr-1 | best practice | QuestionnaireResponse | Subject SHOULD be present (searching is difficult without subject). Almost all QuestionnaireResponses should be with respect to some sort of subject. | `subject.exists()`
sdcqr-2 | best practice | QuestionnaireResponse | When repeats=true for a group, it'll be represented with multiple items with the same linkId in the QuestionnaireResponse. For a question, it'll be represented by a single item with that linkId with multiple answers. | `(QuestionnaireResponse|repeat(answer|item)).select(item.where(answer.value.exists()).linkId.isDistinct()).allTrue()`

Differential View

This structure is derived from USCoreQuestionnaireResponseProfile

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
QuestionnaireResponse |  | 0..* | USCoreQuestionnaireResponseProfile | US Core Profile based on SDC QuestionnaireResponse
questionnaire |  | 1..1 | canonical(SDCBaseQuestionnaire) | (QI) Form being answered
subject |  | 1..1 | Reference(QICore Patient) | (QI) The subject of the questions
author |  | 0..1 | Reference(QICore Practitioner | QICore Organization | QICore Patient | QICore PractitionerRole | QICore Device | QICore RelatedPerson | US Core Implantable Device Profile) | (QI) Person who received and recorded the answers
item |  | 0..* | BackboneElement | (QI) Groups and questions
linkId |  | 1..1 | string | (QI) Pointer to specific item from Questionnaire
answer |  |  |  |
value[x] |  | 0..1 |  | (QI) Single-valued answer to the question
valueCoding |  |  | Coding |
valueString |  |  | string |
valueDecimal |  |  | decimal |
valueDate |  |  | date |
valueDateTime |  |  | dateTime |
valueInteger |  |  | integer |
valueQuantity |  |  | Quantity |
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
QuestionnaireResponse | C | 0..* | USCoreQuestionnaireResponseProfile | US Core Profile based on SDC QuestionnaireResponse Constraints: sdcqr-1, sdcqr-2
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 Bindings | Purpose
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
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:signature |  | 0..* | Signature | A signature attesting to the content URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature
extension:completionMode |  | 0..1 | CodeableConcept | E.g. Verbal, written, electronic URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-completionMode Binding: QuestionnaireResponseMode (required): Codes indicating how the questionnaire was completed.
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored
identifier | S Σ | 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(SDCBaseQuestionnaire) | (QI) Form being answered
id |  | 0..1 | string | xml:id (or equivalent in JSON)
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:questionnaireDisplay | S | 0..1 | string | Display name for canonical reference URL: http://hl7.org/fhir/StructureDefinition/display
extension:url | S | 0..1 | uri | The location where a non-FHIR questionnaire/survey form can be found. URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-extension-questionnaire-uri
value |  | 0..1 | string | Primitive value for canonical
status | ?!S Σ | 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(QICore Patient) | (QI) The subject of the questions
encounter | Σ | 0..1 | Reference(Encounter) | Encounter created as part of
authored | S Σ | 1..1 | dateTime | Date the answers were gathered
author | S Σ | 0..1 | Reference(QICore Practitioner | QICore Organization | QICore Patient | QICore PractitionerRole | QICore Device | QICore RelatedPerson | US Core Implantable Device Profile) | (QI) Person who received and recorded the answers
source | Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) | The person who answered the questions
item | S C | 0..* | BackboneElement | (QI) Groups and questions Constraints: qrs-1
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:itemMedia |  | 0..1 | Attachment | Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemMedia
extension:ItemSignature |  | 0..* | Signature | A signature attesting to the content URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
linkId | S | 1..1 | string | (QI) Pointer to specific item from Questionnaire
definition |  | 0..1 | uri | ElementDefinition - details for the item
text | S | 0..1 | string | Name for group or question text
answer | S | 0..* | BackboneElement | The response(s) to the question
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:itemAnswerMedia |  | 0..1 | Attachment | Answer Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemAnswerMedia
extension:ordinalValue |  | 0..1 | decimal | Assigned Ordinal Value URL: http://hl7.org/fhir/StructureDefinition/ordinalValue
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
value[x] | S | 0..1 |  | (QI) Single-valued answer to the question Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.
valueCoding |  |  | Coding S |
valueString |  |  | string S |
valueDecimal |  |  | decimal S |
valueDate |  |  | date |
valueDateTime |  |  | dateTime |
valueInteger |  |  | integer |
valueQuantity |  |  | Quantity |
item | S | 0..* | See item (QuestionnaireResponse) | Nested groups and questions
item | S | 0..* | See item (QuestionnaireResponse) | Nested questionnaire response items
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
QuestionnaireResponse.​language | Base | preferred | Common Languages | 📦4.0.1 | FHIR Std.
QuestionnaireResponse.​status | Base | required | QuestionnaireResponseStatus | 📍4.0.1 | FHIR Std.
QuestionnaireResponse.​item.answer.value[x] | Base | example | Questionnaire Answer Codes | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | QuestionnaireResponse | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | QuestionnaireResponse | If 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-4 | error | QuestionnaireResponse | If 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-5 | error | QuestionnaireResponse | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | QuestionnaireResponse | A resource should have narrative for robust management | `text.`div`.exists()`
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`
qrs-1 | error | QuestionnaireResponse.item | Nested item can't be beneath both item and answer | `(answer.exists() and item.exists()).not()`
sdcqr-1 | best practice | QuestionnaireResponse | Subject SHOULD be present (searching is difficult without subject). Almost all QuestionnaireResponses should be with respect to some sort of subject. | `subject.exists()`
sdcqr-2 | best practice | QuestionnaireResponse | When repeats=true for a group, it'll be represented with multiple items with the same linkId in the QuestionnaireResponse. For a question, it'll be represented by a single item with that linkId with multiple answers. | `(QuestionnaireResponse|repeat(answer|item)).select(item.where(answer.value.exists()).linkId.isDistinct()).allTrue()`

This structure is derived from USCoreQuestionnaireResponseProfile

Summary

Mandatory: 2 elements

Structures

This structure refers to these other structures:

- QICore Patient (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-patient)
- QICore Practitioner (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-practitioner)
- QICore Organization (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-organization)
- QICore PractitionerRole (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-practitionerrole)
- QICore Device (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-device)
- QICore RelatedPerson (http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-relatedperson)
- US Core Implantable Device Profile (http://hl7.org/fhir/us/core/StructureDefinition/us-core-implantable-device)

Maturity: 4

Other representations of profile: CSV, Excel, Schematron