This page is part of the US Core (v7.0.0-ballot: STU7 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 6.1.0. For a full list of available versions, see the Directory of published versions
Official URL: http://hl7.org/fhir/us/core/StructureDefinition/us-core-questionnaireresponse | Version: 7.0.0-ballot | |||
Standards status: Trial-use | Maturity Level: 3 | Computable Name: USCoreQuestionnaireResponseProfile | ||
Copyright/Legal: Used by permission of HL7 International, all rights reserved Creative Commons License |
To promote interoperability and adoption through common implementation, this profile sets minimum expectations for the QuestionnaireResponse resource to record, search, and fetch retrieve captures the responses to form/survey and assessment tools such as the Protocol for Responding to and Assessing Patients’ Assets, Risks, and Experiences (PRAPARE) Survey. This profile is based on the Structured Data Capture (SDC) Questionnaire Response Profile and identifies the additional core elements, extensions, vocabularies and value sets SHALL be present in the resource and constrains the way the elements are used when using this profile. It provides the floor for standards development for specific uses cases.
Example Usage Scenarios:
The following are example usage scenarios for this profile:
In addition to the Mandatory and Must Support data elements in the SDC QuestionnaireResponse Profile, the following data-elements must always be present (Mandatory definition]) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Views below provides the formal summary, definitions, and terminology requirements. Note that the Key Elements Table view aggregates all the Must Support elements between this profile and its parent profiles.
Each QuestionnaireResponse Must Have:
Each QuestionnaireResponse Must Support:
Profile Specific Implementation Guidance:
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from SDCQuestionnaireResponse
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
QuestionnaireResponse | 0..* | SDCQuestionnaireResponse | US Core Profile based on SDC QuestionnaireResponse | |
questionnaire | S | 1..1 | canonical(SDCBaseQuestionnaire) | Form being answered |
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 |
subject | S | 1..1 | Reference(US Core Patient Profile S | Resource) | The subject of the questions |
authored | S | 1..1 | dateTime | Date the answers were gathered |
author | S | 0..1 | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | PractitionerRole | Device | US Core RelatedPerson Profile) | Person who received and recorded the answers |
item | S | 0..* | BackboneElement | Groups and questions |
linkId | S | 1..1 | string | Pointer to specific item from Questionnaire |
answer | ||||
value[x] | S | 0..1 | Single-valued answer to the question | |
valueBoolean | boolean | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueTime | time | |||
valueDecimal | decimal S | |||
valueInteger | integer | |||
valueString | string S | |||
valueCoding | Coding S | |||
valueUri | uri | |||
valueQuantity | Quantity | |||
valueAttachment | Attachment | |||
valueReference | Reference(Any) | |||
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
QuestionnaireResponse | C | 0..* | SDCQuestionnaireResponse | US Core Profile based on SDC QuestionnaireResponse |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
signature | 0..* | Signature | A signature attesting to the content URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature | |
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) | Form being answered |
questionnaireDisplay | S | 0..1 | string | Display name for canonical reference URL: http://hl7.org/fhir/StructureDefinition/display |
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(US Core Patient Profile) | The subject of the questions |
authored | SΣ | 1..1 | dateTime | Date the answers were gathered |
author | SΣ | 0..1 | Reference(US Core Practitioner Profile) | Person who received and recorded the answers |
item | SC | 0..* | BackboneElement | Groups and questions |
itemMedia | 0..1 | Attachment | Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemMedia | |
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 | 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 |
itemAnswerMedia | 0..1 | Attachment | Answer Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemAnswerMedia | |
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 | Single-valued answer to the question Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question. | |
valueDecimal | decimal | |||
valueString | string | |||
valueCoding | Coding | |||
item | S | 0..* | See item (QuestionnaireResponse) | Nested groups and questions |
item | S | 0..* | See item (QuestionnaireResponse) | Nested questionnaire response items |
Documentation for this format |
Path | Conformance | ValueSet |
QuestionnaireResponse.status | required | QuestionnaireResponseStatus |
QuestionnaireResponse.item.answer.value[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) |
Id | Grade | Path(s) | Details | Requirements |
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() |
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
QuestionnaireResponse | C | 0..* | SDCQuestionnaireResponse | US Core Profile based on SDC QuestionnaireResponse | ||||
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.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
signature | 0..* | Signature | A signature attesting to the content URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature | |||||
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) | 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 | |||||
questionnaireDisplay | S | 0..1 | string | Display name for canonical reference URL: http://hl7.org/fhir/StructureDefinition/display | ||||
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(US Core Patient Profile S | Resource) | 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(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | PractitionerRole | Device | US Core RelatedPerson Profile) | Person who received and recorded the answers | ||||
source | Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) | The person who answered the questions | ||||
item | SC | 0..* | BackboneElement | Groups and questions | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
itemMedia | 0..1 | Attachment | Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemMedia | |||||
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 | 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 | |||||
itemAnswerMedia | 0..1 | Attachment | Answer Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemAnswerMedia | |||||
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 | Single-valued answer to the question Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question. | |||||
valueBoolean | boolean | |||||||
valueDate | date | |||||||
valueDateTime | dateTime | |||||||
valueTime | time | |||||||
valueDecimal | decimal S | |||||||
valueInteger | integer | |||||||
valueString | string S | |||||||
valueCoding | Coding S | |||||||
valueUri | uri | |||||||
valueQuantity | Quantity | |||||||
valueAttachment | Attachment | |||||||
valueReference | Reference(Any) | |||||||
item | S | 0..* | See item (QuestionnaireResponse) | Nested groups and questions | ||||
item | S | 0..* | See item (QuestionnaireResponse) | Nested questionnaire response items | ||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
QuestionnaireResponse.language | preferred | CommonLanguages
| ||||
QuestionnaireResponse.status | required | QuestionnaireResponseStatus | ||||
QuestionnaireResponse.item.answer.value[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) |
Id | Grade | Path(s) | Details | Requirements |
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 SDCQuestionnaireResponse
Summary
Mandatory: 1 element
Must-Support: 9 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Maturity: 3
Differential View
This structure is derived from SDCQuestionnaireResponse
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
QuestionnaireResponse | 0..* | SDCQuestionnaireResponse | US Core Profile based on SDC QuestionnaireResponse | |
questionnaire | S | 1..1 | canonical(SDCBaseQuestionnaire) | Form being answered |
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 |
subject | S | 1..1 | Reference(US Core Patient Profile S | Resource) | The subject of the questions |
authored | S | 1..1 | dateTime | Date the answers were gathered |
author | S | 0..1 | Reference(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | PractitionerRole | Device | US Core RelatedPerson Profile) | Person who received and recorded the answers |
item | S | 0..* | BackboneElement | Groups and questions |
linkId | S | 1..1 | string | Pointer to specific item from Questionnaire |
answer | ||||
value[x] | S | 0..1 | Single-valued answer to the question | |
valueBoolean | boolean | |||
valueDate | date | |||
valueDateTime | dateTime | |||
valueTime | time | |||
valueDecimal | decimal S | |||
valueInteger | integer | |||
valueString | string S | |||
valueCoding | Coding S | |||
valueUri | uri | |||
valueQuantity | Quantity | |||
valueAttachment | Attachment | |||
valueReference | Reference(Any) | |||
Documentation for this format |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
QuestionnaireResponse | C | 0..* | SDCQuestionnaireResponse | US Core Profile based on SDC QuestionnaireResponse |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
signature | 0..* | Signature | A signature attesting to the content URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature | |
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) | Form being answered |
questionnaireDisplay | S | 0..1 | string | Display name for canonical reference URL: http://hl7.org/fhir/StructureDefinition/display |
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(US Core Patient Profile) | The subject of the questions |
authored | SΣ | 1..1 | dateTime | Date the answers were gathered |
author | SΣ | 0..1 | Reference(US Core Practitioner Profile) | Person who received and recorded the answers |
item | SC | 0..* | BackboneElement | Groups and questions |
itemMedia | 0..1 | Attachment | Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemMedia | |
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 | 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 |
itemAnswerMedia | 0..1 | Attachment | Answer Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemAnswerMedia | |
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 | Single-valued answer to the question Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question. | |
valueDecimal | decimal | |||
valueString | string | |||
valueCoding | Coding | |||
item | S | 0..* | See item (QuestionnaireResponse) | Nested groups and questions |
item | S | 0..* | See item (QuestionnaireResponse) | Nested questionnaire response items |
Documentation for this format |
Path | Conformance | ValueSet |
QuestionnaireResponse.status | required | QuestionnaireResponseStatus |
QuestionnaireResponse.item.answer.value[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) |
Id | Grade | Path(s) | Details | Requirements |
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() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
QuestionnaireResponse | C | 0..* | SDCQuestionnaireResponse | US Core Profile based on SDC QuestionnaireResponse | ||||
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.
| |||||
text | 0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
contained | 0..* | Resource | Contained, inline Resources | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
signature | 0..* | Signature | A signature attesting to the content URL: http://hl7.org/fhir/StructureDefinition/questionnaireresponse-signature | |||||
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) | 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 | |||||
questionnaireDisplay | S | 0..1 | string | Display name for canonical reference URL: http://hl7.org/fhir/StructureDefinition/display | ||||
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(US Core Patient Profile S | Resource) | 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(US Core Practitioner Profile S | US Core Organization Profile | US Core Patient Profile | PractitionerRole | Device | US Core RelatedPerson Profile) | Person who received and recorded the answers | ||||
source | Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) | The person who answered the questions | ||||
item | SC | 0..* | BackboneElement | Groups and questions | ||||
id | 0..1 | string | Unique id for inter-element referencing | |||||
Slices for extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
itemMedia | 0..1 | Attachment | Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemMedia | |||||
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 | 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 | |||||
itemAnswerMedia | 0..1 | Attachment | Answer Media to display URL: http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-itemAnswerMedia | |||||
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 | Single-valued answer to the question Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question. | |||||
valueBoolean | boolean | |||||||
valueDate | date | |||||||
valueDateTime | dateTime | |||||||
valueTime | time | |||||||
valueDecimal | decimal S | |||||||
valueInteger | integer | |||||||
valueString | string S | |||||||
valueCoding | Coding S | |||||||
valueUri | uri | |||||||
valueQuantity | Quantity | |||||||
valueAttachment | Attachment | |||||||
valueReference | Reference(Any) | |||||||
item | S | 0..* | See item (QuestionnaireResponse) | Nested groups and questions | ||||
item | S | 0..* | See item (QuestionnaireResponse) | Nested questionnaire response items | ||||
Documentation for this format |
Path | Conformance | ValueSet | ||||
QuestionnaireResponse.language | preferred | CommonLanguages
| ||||
QuestionnaireResponse.status | required | QuestionnaireResponseStatus | ||||
QuestionnaireResponse.item.answer.value[x] | example | QuestionnaireAnswerCodes (a valid code from SNOMED CT) |
Id | Grade | Path(s) | Details | Requirements |
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 SDCQuestionnaireResponse
Summary
Mandatory: 1 element
Must-Support: 9 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Maturity: 3
Other representations of profile: CSV, Excel, Schematron
Below is an overview of the required Server RESTful FHIR interactions for this profile - for example, search and read operations - when supporting the US Core interactions to access this profile’s information (Profile Support + Interaction Support). Note that systems that support only US Core Profiles (Profile Only Support) are not required to support these interactions. See the US Core Server CapabilityStatement for a complete list of supported RESTful interactions for this IG.
Servers providing access to completed questionnnaire, survey and assessement data SHALL support these US Core SMART Scopes:
patient/QuestionnaireResponse.rs
.The following search parameters and search parameter combinations SHALL be supported:
SHALL support both read QuestionnaireResponse by id
AND QuestionnaireResponse search using the _id
search parameter:
GET [base]/QuestionnaireResponse/[id]
or GET [base]/QuestionnaireResponse?_id=[id]
Example:
Implementation Notes: (how to search by the logical id of the resource)
SHALL support searching for all questionnaireresponses for a patient using the patient
search parameter:
GET [base]/QuestionnaireResponse?patient={Type/}[id]
Example:
Implementation Notes: Fetches a bundle of all QuestionnaireResponse resources for the specified patient (how to search by reference)
The following search parameter combinations SHOULD be supported:
patient
and status
search parameters:
status
(e.g.status={system|}[code],{system|}[code],...
)GET [base]/QuestionnaireResponse?patient={Type/}[id]&status={system|}[code]{,{system|}[code],...}
Example:
Implementation Notes: Fetches a bundle of all QuestionnaireResponse resources for the specified patient and status (how to search by reference and how to search by token)
patient
and authored
search parameters:
authored
comparators: gt,lt,ge,le
authored
(e.g.authored=[date]&authored=[date]]&...
)GET [base]/QuestionnaireResponse?patient={Type/}[id]&authored={gt|lt|ge|le}[date]{&authored={gt|lt|ge|le}[date]&...}
Example:
Implementation Notes: Fetches a bundle of all QuestionnaireResponse resources for the specified patient and date (how to search by reference and how to search by date)
SHOULD support searching using the combination of the patient
and questionnaire
search parameters:
GET [base]/QuestionnaireResponse?patient={Type/}[id]&questionnaire={Type/}[id]
Example:
Implementation Notes: Fetches a bundle of all QuestionnaireResponse resources for the specified patient that have been completed against a specified form. (how to search by reference)
Searching a patient’s QuestionnaireResponses by specific context such as those defined in US Core Category can be achieved by querying the metadata on the associated Questionnaire. Specifically, Questionnaire.useContext
with a code=”focus” and value of “sdoh”/”functionalStatus”/etc. could be accomplished using a chained search:
GET [base]/QuestionnaireResponse?subject=Patient/123&questionnaire.context-type-value=focus$sdoh