Athena Core Implementation Guide
5.10.2 - release
Athena Core Implementation Guide - Local Development build (v5.10.2) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| Official URL: https://fhir.athena.io/StructureDefinition/ah-questionnaireresponse | Version: 5.10.2 | |||
| Active as of 2026-05-26 | Computable Name: AthenahealthQuestionnaireResponse | |||
| Keywords: Wire Format | ||||
QuestionnaireResponse provides a complete or partial list of answers to a set of questions filled when responding to a questionnaire.
Questionnaire responses cover the need to communicate data originating from forms used in medical history examinations, research questionnaires and sometimes full clinical specialty records. In many systems this data is collected using user-defined screens and forms. (i.e. GET [fhir base]/QuestionnaireResponse/[id]/ where [id] is a custom or practice-level question ID’) to obtain a detailed set of FHIR resources.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from QuestionnaireResponse
| Path | Status | Usage | ValueSet | Version | Source |
| QuestionnaireResponse.status | Base | required | QuestionnaireResponseStatus | 📍4.0.1 | FHIR Std. |
| 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()
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | QuestionnaireResponse | A structured set of questions and their answers | |||||
![]() ![]() |
Σ | 1..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..1 | id | Version specific identifier | ||||
![]() ![]() ![]() |
Σ | 0..1 | instant | When the resource version last changed | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Identifies where the resource comes from | ||||
![]() ![]() ![]() |
Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
0..1 | Reference(Organization) | athenahealth Chart Sharing Group URL: https://fhir.athena.io/StructureDefinition/ah-chart-sharing-group | |||||
![]() ![]() ![]() |
1..1 | Reference(Organization) | athenahealth Practice URL: https://fhir.athena.io/StructureDefinition/ah-practice | |||||
![]() ![]() ![]() |
0..1 | string | athenahealth screener score Search URL: https://fhir.athena.io/StructureDefinition/ah-questionnaire-response-screener | |||||
![]() ![]() ![]() |
0..1 | Reference(Organization | Location) | athenahealth Department URL: https://fhir.athena.io/StructureDefinition/ah-department | |||||
![]() ![]() ![]() |
0..1 | Attachment | athenahealth Resolved Digital Forms Schema URL: https://fhir.athena.io/StructureDefinition/ah-resolved-digital-forms-schema | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..1 | Identifier | Unique id for this set of answers | ||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | ServiceRequest) | Request fulfilled by this QuestionnaireResponse | ||||
![]() ![]() |
Σ | 0..* | Reference(Observation | Procedure) | Part of this action | ||||
![]() ![]() |
Σ | 0..1 | canonical(Questionnaire) | Form being answered | ||||
![]() ![]() |
?!Σ | 1..1 | code | in-progress | completed | amended | entered-in-error | stopped Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response. | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient) | The subject of the questions | ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Encounter created as part of | ||||
![]() ![]() |
Σ | 0..1 | dateTime | Date the answers were gathered | ||||
![]() ![]() |
Σ | 0..1 | Reference(Organization) | Person who received and recorded the answers | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) | The person who answered the questions | ||||
![]() ![]() |
C | 0..* | BackboneElement | Groups and questions Constraints: qrs-1 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | string | Pointer to specific item from Questionnaire | |||||
![]() ![]() ![]() |
0..1 | uri | ElementDefinition - details for the item | |||||
![]() ![]() ![]() |
0..1 | string | Name for group or question text | |||||
![]() ![]() ![]() |
0..* | BackboneElement | The response(s) to the question | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
0..1 | Single-valued answer to the question Slice: Unordered, Open by type:$this Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question. | ||||||
![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
Reference(Resource) | |||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Single-valued answer to the question Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question. | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | Coding | Single-valued answer to the question Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question. | |||||
![]() ![]() ![]() ![]() |
0..* | See item (QuestionnaireResponse) | Nested groups and questions | |||||
![]() ![]() ![]() |
0..* | See item (QuestionnaireResponse) | Nested questionnaire response items | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| QuestionnaireResponse.meta.security | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std. |
| QuestionnaireResponse.meta.tag | Base | example | Common Tags | 📍4.0.1 | FHIR Std. |
| 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. |
| QuestionnaireResponse.item.answer.value[x]:valueString | Base | example | Questionnaire Answer Codes | 📍4.0.1 | FHIR Std. |
| QuestionnaireResponse.item.answer.value[x]:valueCoding | Base | example | Questionnaire Answer Codes | 📍4.0.1 | FHIR Std. |
| 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()
|
This structure is derived from QuestionnaireResponse
Summary
Mandatory: 3 elements
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Differential View
This structure is derived from QuestionnaireResponse
Key Elements View
| Path | Status | Usage | ValueSet | Version | Source |
| QuestionnaireResponse.status | Base | required | QuestionnaireResponseStatus | 📍4.0.1 | FHIR Std. |
| 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()
|
Snapshot View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | QuestionnaireResponse | A structured set of questions and their answers | |||||
![]() ![]() |
Σ | 1..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
Σ | 0..1 | id | Version specific identifier | ||||
![]() ![]() ![]() |
Σ | 0..1 | instant | When the resource version last changed | ||||
![]() ![]() ![]() |
Σ | 0..1 | uri | Identifies where the resource comes from | ||||
![]() ![]() ![]() |
Σ | 0..* | canonical(StructureDefinition) | Profiles this resource claims to conform to | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Security Labels applied to this resource Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System. | ||||
![]() ![]() ![]() |
Σ | 0..* | Coding | Tags applied to this resource Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones". | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
0..1 | Reference(Organization) | athenahealth Chart Sharing Group URL: https://fhir.athena.io/StructureDefinition/ah-chart-sharing-group | |||||
![]() ![]() ![]() |
1..1 | Reference(Organization) | athenahealth Practice URL: https://fhir.athena.io/StructureDefinition/ah-practice | |||||
![]() ![]() ![]() |
0..1 | string | athenahealth screener score Search URL: https://fhir.athena.io/StructureDefinition/ah-questionnaire-response-screener | |||||
![]() ![]() ![]() |
0..1 | Reference(Organization | Location) | athenahealth Department URL: https://fhir.athena.io/StructureDefinition/ah-department | |||||
![]() ![]() ![]() |
0..1 | Attachment | athenahealth Resolved Digital Forms Schema URL: https://fhir.athena.io/StructureDefinition/ah-resolved-digital-forms-schema | |||||
![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
Σ | 0..1 | Identifier | Unique id for this set of answers | ||||
![]() ![]() |
Σ | 0..* | Reference(CarePlan | ServiceRequest) | Request fulfilled by this QuestionnaireResponse | ||||
![]() ![]() |
Σ | 0..* | Reference(Observation | Procedure) | Part of this action | ||||
![]() ![]() |
Σ | 0..1 | canonical(Questionnaire) | Form being answered | ||||
![]() ![]() |
?!Σ | 1..1 | code | in-progress | completed | amended | entered-in-error | stopped Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response. | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient) | The subject of the questions | ||||
![]() ![]() |
Σ | 0..1 | Reference(Encounter) | Encounter created as part of | ||||
![]() ![]() |
Σ | 0..1 | dateTime | Date the answers were gathered | ||||
![]() ![]() |
Σ | 0..1 | Reference(Organization) | Person who received and recorded the answers | ||||
![]() ![]() |
Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) | The person who answered the questions | ||||
![]() ![]() |
C | 0..* | BackboneElement | Groups and questions Constraints: qrs-1 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
1..1 | string | Pointer to specific item from Questionnaire | |||||
![]() ![]() ![]() |
0..1 | uri | ElementDefinition - details for the item | |||||
![]() ![]() ![]() |
0..1 | string | Name for group or question text | |||||
![]() ![]() ![]() |
0..* | BackboneElement | The response(s) to the question | |||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
0..1 | Single-valued answer to the question Slice: Unordered, Open by type:$this Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question. | ||||||
![]() ![]() ![]() ![]() ![]() |
boolean | |||||||
![]() ![]() ![]() ![]() ![]() |
decimal | |||||||
![]() ![]() ![]() ![]() ![]() |
integer | |||||||
![]() ![]() ![]() ![]() ![]() |
date | |||||||
![]() ![]() ![]() ![]() ![]() |
dateTime | |||||||
![]() ![]() ![]() ![]() ![]() |
time | |||||||
![]() ![]() ![]() ![]() ![]() |
string | |||||||
![]() ![]() ![]() ![]() ![]() |
uri | |||||||
![]() ![]() ![]() ![]() ![]() |
Attachment | |||||||
![]() ![]() ![]() ![]() ![]() |
Coding | |||||||
![]() ![]() ![]() ![]() ![]() |
Quantity | |||||||
![]() ![]() ![]() ![]() ![]() |
Reference(Resource) | |||||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Single-valued answer to the question Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question. | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | Coding | Single-valued answer to the question Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question. | |||||
![]() ![]() ![]() ![]() |
0..* | See item (QuestionnaireResponse) | Nested groups and questions | |||||
![]() ![]() ![]() |
0..* | See item (QuestionnaireResponse) | Nested questionnaire response items | |||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| QuestionnaireResponse.meta.security | Base | extensible | SecurityLabels | 📍4.0.1 | FHIR Std. |
| QuestionnaireResponse.meta.tag | Base | example | Common Tags | 📍4.0.1 | FHIR Std. |
| 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. |
| QuestionnaireResponse.item.answer.value[x]:valueString | Base | example | Questionnaire Answer Codes | 📍4.0.1 | FHIR Std. |
| QuestionnaireResponse.item.answer.value[x]:valueCoding | Base | example | Questionnaire Answer Codes | 📍4.0.1 | FHIR Std. |
| 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()
|
This structure is derived from QuestionnaireResponse
Summary
Mandatory: 3 elements
Extensions
This structure refers to these extensions:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron