Athena Core Implementation Guide
5.15.0 - release

Athena Core Implementation Guide - Local Development build (v5.15.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: athenahealth Patient Reason for Visit

Official URL: https://fhir.athena.io/StructureDefinition/ah-patient-reason-for-visit Version: 5.15.0
Active as of 2026-10-23 Computable Name: AthenahealthPatientReasonForVisit

A transient patient-entered reason for visit used to match appointment service types.

Usages:

  • This Profile is not used by any profiles in this Implementation Guide

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.

This structure is derived from QuestionnaireResponse

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse C 0..* QuestionnaireResponse A structured set of questions and their answers
Constraints: ah-prfv-nonblank
... meta
.... extension 0..0 Extension
.... profile 1..* canonical(StructureDefinition) Profiles this resource claims to conform to
Fixed Value: https://fhir.athena.io/StructureDefinition/ah-patient-reason-for-visit
.... security 0..0 Security Labels applied to this resource
.... tag 0..0 Tags applied to this resource
... contained 0..0 Contained, inline Resources
... extension 0..0 Extension
... identifier 0..0 Unique id for this set of answers
... status 1..1 code in-progress | completed | amended | entered-in-error | stopped
Fixed Value: completed
... subject 0..0 The subject of the questions
... author 0..0 Person who received and recorded the answers
... item 1..1 BackboneElement Groups and questions
.... linkId 1..1 string Pointer to specific item from Questionnaire
Fixed Value: patient-reason-for-visit
.... answer 1..1 BackboneElement The response(s) to the question
..... value[x] 1..1 string Single-valued answer to the question
Max Length:500
..... item 0..0 Nested groups and questions

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ah-prfv-nonblank error QuestionnaireResponse The reason for visit contains at least one non-whitespace Unicode character. item.answer.valueString.matches('.*\S.*')
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse C 0..* QuestionnaireResponse A structured set of questions and their answers
Constraints: ah-prfv-nonblank
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... status ?!Σ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
Fixed Value: completed
... item C 1..1 BackboneElement Groups and questions
Constraints: qrs-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... linkId 1..1 string Pointer to specific item from Questionnaire
Fixed Value: patient-reason-for-visit
.... answer 1..1 BackboneElement The response(s) to the question
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... value[x] 1..1 string Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.
Max Length:500

doco 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
ah-prfv-nonblank error QuestionnaireResponse The reason for visit contains at least one non-whitespace Unicode character. item.answer.valueString.matches('.*\S.*')
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()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse C 0..* QuestionnaireResponse A structured set of questions and their answers
Constraints: ah-prfv-nonblank
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..0 Extension
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to

Fixed Value: https://fhir.athena.io/StructureDefinition/ah-patient-reason-for-visit
... 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... basedOn Σ 0..* Reference(CarePlan | ServiceRequest) Request fulfilled by this QuestionnaireResponse
... partOf Σ 0..* Reference(Observation | Procedure) Part of this action
... questionnaire Σ 0..1 canonical(Questionnaire) Form being answered
... status ?!Σ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
Fixed Value: completed
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... authored Σ 0..1 dateTime Date the answers were gathered
... source Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) The person who answered the questions
... item C 1..1 BackboneElement Groups and questions
Constraints: qrs-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... linkId 1..1 string Pointer to specific item from Questionnaire
Fixed Value: patient-reason-for-visit
.... definition 0..1 uri ElementDefinition - details for the item
.... text 0..1 string Name for group or question text
.... answer 1..1 BackboneElement The response(s) to the question
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... value[x] 1..1 string Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.
Max Length:500
.... item 0..* See item (QuestionnaireResponse) Nested questionnaire response items

doco 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
ah-prfv-nonblank error QuestionnaireResponse The reason for visit contains at least one non-whitespace Unicode character. item.answer.valueString.matches('.*\S.*')
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(1 nested mandatory element)
Fixed: 3 elements
Prohibited: 10 elements

Differential View

This structure is derived from QuestionnaireResponse

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse C 0..* QuestionnaireResponse A structured set of questions and their answers
Constraints: ah-prfv-nonblank
... meta
.... extension 0..0 Extension
.... profile 1..* canonical(StructureDefinition) Profiles this resource claims to conform to
Fixed Value: https://fhir.athena.io/StructureDefinition/ah-patient-reason-for-visit
.... security 0..0 Security Labels applied to this resource
.... tag 0..0 Tags applied to this resource
... contained 0..0 Contained, inline Resources
... extension 0..0 Extension
... identifier 0..0 Unique id for this set of answers
... status 1..1 code in-progress | completed | amended | entered-in-error | stopped
Fixed Value: completed
... subject 0..0 The subject of the questions
... author 0..0 Person who received and recorded the answers
... item 1..1 BackboneElement Groups and questions
.... linkId 1..1 string Pointer to specific item from Questionnaire
Fixed Value: patient-reason-for-visit
.... answer 1..1 BackboneElement The response(s) to the question
..... value[x] 1..1 string Single-valued answer to the question
Max Length:500
..... item 0..0 Nested groups and questions

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
ah-prfv-nonblank error QuestionnaireResponse The reason for visit contains at least one non-whitespace Unicode character. item.answer.valueString.matches('.*\S.*')

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse C 0..* QuestionnaireResponse A structured set of questions and their answers
Constraints: ah-prfv-nonblank
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... status ?!Σ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
Fixed Value: completed
... item C 1..1 BackboneElement Groups and questions
Constraints: qrs-1
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... linkId 1..1 string Pointer to specific item from Questionnaire
Fixed Value: patient-reason-for-visit
.... answer 1..1 BackboneElement The response(s) to the question
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... value[x] 1..1 string Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.
Max Length:500

doco 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
ah-prfv-nonblank error QuestionnaireResponse The reason for visit contains at least one non-whitespace Unicode character. item.answer.valueString.matches('.*\S.*')
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()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. QuestionnaireResponse C 0..* QuestionnaireResponse A structured set of questions and their answers
Constraints: ah-prfv-nonblank
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..0 Extension
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 1..* canonical(StructureDefinition) Profiles this resource claims to conform to

Fixed Value: https://fhir.athena.io/StructureDefinition/ah-patient-reason-for-visit
... 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
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... basedOn Σ 0..* Reference(CarePlan | ServiceRequest) Request fulfilled by this QuestionnaireResponse
... partOf Σ 0..* Reference(Observation | Procedure) Part of this action
... questionnaire Σ 0..1 canonical(Questionnaire) Form being answered
... status ?!Σ 1..1 code in-progress | completed | amended | entered-in-error | stopped
Binding: QuestionnaireResponseStatus (required): Lifecycle status of the questionnaire response.
Fixed Value: completed
... encounter Σ 0..1 Reference(Encounter) Encounter created as part of
... authored Σ 0..1 dateTime Date the answers were gathered
... source Σ 0..1 Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) The person who answered the questions
... item C 1..1 BackboneElement Groups and questions
Constraints: qrs-1
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... linkId 1..1 string Pointer to specific item from Questionnaire
Fixed Value: patient-reason-for-visit
.... definition 0..1 uri ElementDefinition - details for the item
.... text 0..1 string Name for group or question text
.... answer 1..1 BackboneElement The response(s) to the question
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... value[x] 1..1 string Single-valued answer to the question
Binding: QuestionnaireAnswerCodes (example): Code indicating the response provided for a question.
Max Length:500
.... item 0..* See item (QuestionnaireResponse) Nested questionnaire response items

doco 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
ah-prfv-nonblank error QuestionnaireResponse The reason for visit contains at least one non-whitespace Unicode character. item.answer.valueString.matches('.*\S.*')
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(1 nested mandatory element)
Fixed: 3 elements
Prohibited: 10 elements

 

​Other representations of profile: CSV, Excel, Schematron