QI-Core Implementation Guide
7.0.0 - STU7 United States of America flag

QI-Core Implementation Guide, published by HL7 International / Clinical Quality Information. This guide is not an authorized publication; it is the continuous build for version 7.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-qi-core/ and changes regularly. See the Directory of published versions

Resource Profile: QICore QuestionnaireResponse

Official URL: http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-questionnaireresponse Version: 7.0.0
Active as of 2023-08-01 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:
  • questionnaire: 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
  • item.linkId: (QI) Pointer to specific item from Questionnaire
QI Elements:
  • author: (QI) Person who received and recorded the answers
  • item: (QI) Groups and questions
  • item.answer.value[x]: (QI) Single-valued answer to the question

NOTE TO BALLOT REVIEWERS:
  • US Core 7.0, and thus QI-Core 7.0, has a new approach to USCDI requirements.
    • As noted in the US Core 7.0 Must Support section, US Core 7.0 no longer highlights mandatory (cardinality 1..* or 1..1) and Must Support elements with a (USCDI) indicator as such items must be supported for interoperability.
    • Those USCDI elements that are not mandatory or Must Support now include an indicator (ADDITIONAL USCDI) in US Core. QI-Core 7.0 does not reference USCDI elements; rather, users should access US Core 7.0 to understand its implementation of USCDI version 4.
  • We invite comments about the approach and suggestions for other options that would also avoid unnecessary noise or reading load to the QI-Core profile representation.
  • Further, QI-Core 7.0 does not discuss USCDI+Quality because at the time of ballot preparation, no published version of USCDI+Quality is available. We seek reviewer advice regarding how QI-Core might address future USCDI+Quality.

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

Usage:

Formal Views of Profile Content

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

This structure is derived from USCoreQuestionnaireResponseProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. QuestionnaireResponse USCoreQuestionnaireResponseProfile
... 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

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. QuestionnaireResponse C 0..* USCoreQuestionnaireResponseProfile US Core Profile based on SDC QuestionnaireResponse
sdcqr-1: Subject SHOULD be present (searching is difficult without subject). Almost all QuestionnaireResponses should be with respect to some sort of subject.
sdcqr-2: 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.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... 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
... questionnaire SΣ 1..1 canonical(SDCBaseQuestionnaire) Form being answered
.... Slices for extension Content/Rules for all slices
..... 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(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 SC 0..* BackboneElement (QI) Groups and questions
qrs-1: Nested item can't be beneath both item and answer
.... Slices for extension Content/Rules for all slices
..... 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 (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
...... 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 (QI) Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.

...... valueCoding Coding
...... valueString string
...... valueDecimal decimal
..... item S 0..* See item (QuestionnaireResponse) Nested groups and questions
.... item S 0..* See item (QuestionnaireResponse) Nested questionnaire response items

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus
http://hl7.org/fhir/ValueSet/questionnaire-answers-status|4.0.1
from the FHIR Standard
QuestionnaireResponse.item.answer.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireResponseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireResponseIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().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-4errorQuestionnaireResponseIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorQuestionnaireResponseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireResponseA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
qrs-1errorQuestionnaireResponse.itemNested item can't be beneath both item and answer
: (answer.exists() and item.exists()).not()
sdcqr-1best practiceQuestionnaireResponseSubject SHOULD be present (searching is difficult without subject). Almost all QuestionnaireResponses should be with respect to some sort of subject.
: subject.exists()
sdcqr-2best practiceQuestionnaireResponseWhen 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()
NameFlagsCard.TypeDescription & Constraintsdoco
.. QuestionnaireResponse C 0..* USCoreQuestionnaireResponseProfile US Core Profile based on SDC QuestionnaireResponse
sdcqr-1: Subject SHOULD be present (searching is difficult without subject). Almost all QuestionnaireResponses should be with respect to some sort of subject.
sdcqr-2: 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.
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... 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(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 SC 0..* BackboneElement (QI) Groups and questions
qrs-1: Nested item can't be beneath both item and answer
.... 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 (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
...... 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 (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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
QuestionnaireResponse.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus
http://hl7.org/fhir/ValueSet/questionnaire-answers-status|4.0.1
from the FHIR Standard
QuestionnaireResponse.item.answer.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireResponseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireResponseIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().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-4errorQuestionnaireResponseIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorQuestionnaireResponseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireResponseA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
qrs-1errorQuestionnaireResponse.itemNested item can't be beneath both item and answer
: (answer.exists() and item.exists()).not()
sdcqr-1best practiceQuestionnaireResponseSubject SHOULD be present (searching is difficult without subject). Almost all QuestionnaireResponses should be with respect to some sort of subject.
: subject.exists()
sdcqr-2best practiceQuestionnaireResponseWhen 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

NameFlagsCard.TypeDescription & Constraintsdoco
.. QuestionnaireResponse USCoreQuestionnaireResponseProfile
... 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

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. QuestionnaireResponse C 0..* USCoreQuestionnaireResponseProfile US Core Profile based on SDC QuestionnaireResponse
sdcqr-1: Subject SHOULD be present (searching is difficult without subject). Almost all QuestionnaireResponses should be with respect to some sort of subject.
sdcqr-2: 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.
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... 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
... questionnaire SΣ 1..1 canonical(SDCBaseQuestionnaire) Form being answered
.... Slices for extension Content/Rules for all slices
..... 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(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 SC 0..* BackboneElement (QI) Groups and questions
qrs-1: Nested item can't be beneath both item and answer
.... Slices for extension Content/Rules for all slices
..... 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 (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
...... 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 (QI) Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.

...... valueCoding Coding
...... valueString string
...... valueDecimal decimal
..... item S 0..* See item (QuestionnaireResponse) Nested groups and questions
.... item S 0..* See item (QuestionnaireResponse) Nested questionnaire response items

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus
http://hl7.org/fhir/ValueSet/questionnaire-answers-status|4.0.1
from the FHIR Standard
QuestionnaireResponse.item.answer.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireResponseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireResponseIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().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-4errorQuestionnaireResponseIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorQuestionnaireResponseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireResponseA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
qrs-1errorQuestionnaireResponse.itemNested item can't be beneath both item and answer
: (answer.exists() and item.exists()).not()
sdcqr-1best practiceQuestionnaireResponseSubject SHOULD be present (searching is difficult without subject). Almost all QuestionnaireResponses should be with respect to some sort of subject.
: subject.exists()
sdcqr-2best practiceQuestionnaireResponseWhen 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

NameFlagsCard.TypeDescription & Constraintsdoco
.. QuestionnaireResponse C 0..* USCoreQuestionnaireResponseProfile US Core Profile based on SDC QuestionnaireResponse
sdcqr-1: Subject SHOULD be present (searching is difficult without subject). Almost all QuestionnaireResponses should be with respect to some sort of subject.
sdcqr-2: 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.
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... 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(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 SC 0..* BackboneElement (QI) Groups and questions
qrs-1: Nested item can't be beneath both item and answer
.... 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 (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
...... 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 (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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
QuestionnaireResponse.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
QuestionnaireResponse.statusrequiredQuestionnaireResponseStatus
http://hl7.org/fhir/ValueSet/questionnaire-answers-status|4.0.1
from the FHIR Standard
QuestionnaireResponse.item.answer.value[x]exampleQuestionnaireAnswerCodes (a valid code from SNOMED CT)
http://hl7.org/fhir/ValueSet/questionnaire-answers
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorQuestionnaireResponseIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorQuestionnaireResponseIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().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-4errorQuestionnaireResponseIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorQuestionnaireResponseIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceQuestionnaireResponseA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
qrs-1errorQuestionnaireResponse.itemNested item can't be beneath both item and answer
: (answer.exists() and item.exists()).not()
sdcqr-1best practiceQuestionnaireResponseSubject SHOULD be present (searching is difficult without subject). Almost all QuestionnaireResponses should be with respect to some sort of subject.
: subject.exists()
sdcqr-2best practiceQuestionnaireResponseWhen 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()

 

Other representations of profile: CSV, Excel, Schematron