Da Vinci - Documentation Templates and Rules
2.2.0 - STU 2.2

Da Vinci - Documentation Templates and Rules, published by HL7 International / Clinical Decision Support. This guide is not an authorized publication; it is the continuous build for version 2.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/davinci-dtr/ and changes regularly. See the Directory of published versions

## Logical Model: DTR Metric Data

Official URL: http://hl7.org/fhir/us/davinci-dtr/StructureDefinition/DTRMetricData | Version: 2.2.0 | Highlight text changes?
Standards status: Informative Active as of 2026-03-27 | Maturity Level: 1 | Computable Name: DTRMetricData

A logical model describing the information that should be captured by DTR implementers about every DTR invocation to support measures evaluating DTR implementation.

Usages:

- This Logical Model 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 Differentials, Snapshots, and other representations.

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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DTRMetricData | C | 0..* | Base | DTR Metric Data
source |  | 1..1 | code | provider-src | payer-src | DTRApp-src Binding: MetricSource (2.2.0) (required)
sofApp |  | 0..1 | url | URL of SMART on FHIR application
providerId |  | 0..1 | Identifier | Identifier for the user initiating DTR
system |  | 1..1 | uri | The namespace for the identifier value Required Pattern: http://hl7.org/fhir/sid/us-npi
value |  | 1..1 | string | The value that is unique
groupId |  | 0..1 | Identifier | Identifier for the healthcare organization initiating DTR
system |  | 1..1 | uri | The namespace for the identifier value Required Pattern: http://hl7.org/fhir/sid/us-npi
value |  | 1..1 | string | The value that is unique
payerId |  | 1..1 | Identifier | Payer receiving DTR request
system |  | 1..1 | uri | The namespace for the identifier value
value |  | 1..1 | string | The value that is unique
assertionId |  | 0..* | string | Unique ID for order item
docReason |  | 0..* | code | withpa | withclaim | withorder | retain-doc | OTH Binding: CRDDocReason (2.2.1) (required)
launchMode |  | 0..1 | code | crdlaunch | relaunch | salaunch | cdexlaunch Binding: MetricLaunchMode (2.2.0) (required)
orderItem |  | 1..* | CodeableConcept | What was ordered Binding: MetricOrderDetail (2.2.1) (extensible)
action |  | 1..* | BackboneElement | Actions the reporting system engaged in as part of the DTR session.
actionDetail |  | 1..1 | code | launch | qpackage | mrquery | userresponse | nextq | storeqr Binding: MetricAction (2.2.0) (required)
requestTime |  | 1..1 | instant | Time action initiated
responseTime |  | 0..1 | instant | Time of action response
httpResponse |  | 0..1 | integer | HTTP response status code
questionnaire |  | 0..1 | canonical(DTR Standard Questionnaire(2.2.0) | DTR Questionnaire for adaptive form(2.2.0)) | Associated Questionnaire
issue |  | 0..* | BackboneElement | OperationOutcome info
code |  | 1..1 | code | Error code Binding: IssueType (required)
details |  | 0..1 | CodeableConcept | More detailed error code Binding: OperationOutcomeCodes (example)
resources |  | 0..* | BackboneElement | Resource types accessed
type |  | 1..1 | code | Kind of resource Binding: ResourceType (required)
profile |  | 0..1 | canonical(StructureDefinition) | Solicited profile
count |  | 1..1 | positiveInt | Number retrieved
questionnaire |  | 0..* | BackboneElement | Questionnaire
reference |  | 1..1 | canonical(DTR Standard Questionnaire(2.2.0) | DTR Questionnaire for adaptive form(2.2.0)) | This is the URL for the canonical questionnaire
adaptive |  | 0..1 | boolean | True if adaptive form
populated |  | 0..1 | boolean | Whether a pre-populated response was provided from payer
failure |  | 0..* | CodeableConcept | Questionnaire errors logged to payer Binding: IssueType (required)
reviewPrior |  | 0..1 | boolean | True if user reviewed answers prior to final save
enabledQuestions |  | 0..1 | positiveInt | Number of enabled questions
autoPopulated |  | 0..1 | positiveInt | Number of questions autopopulated
roleInteraction |  | 0..* | BackboneElement | Role specific interactions
role |  | 1..1 | CodeableConcept | Role of information contributor Binding: USCoreProviderRoleNucc (3.1.1) (extensible)
roleAction |  | 1..1 | code | override | manual Binding: MetricsInformationOrigins (2.2.0) (extensible)
count |  | 1..1 | positiveInt | Count of combination of role and roleInteraction
elapsedTime |  | 1..1 | time | Cumulative user response time that questionnaire was active in session
coverageInfo |  | 0..* | BackboneElement | Coverage information
covered |  | 0..1 | code | covered | not-covered | conditional Binding: CRDCoveredInfo (2.2.1) (required)
paNeeded |  | 0..1 | code | auth-needed | no-auth | satisfied | performpa | conditional Binding: CRDCoveragePaDetail (2.2.1) (required)
docNeeded |  | 0..1 | code | clinical | admin | both | conditional Binding: CRDAdditionalDoc (2.2.1) (required)
infoNeeded |  | 0..1 | code | performer | location | timeframe | OTH Binding: CRDInformationNeeded (2.2.1) (required)
questionnaire |  | 0..* | BackboneElement | Questionnaire(s) returned
reference |  | 1..1 | canonical(Questionnaire) | Questionnaire url & version
adaptive |  | 1..1 | boolean | Is questionnaire adaptive?
response |  | 1..1 | boolean | Pre-pop response provided?
assertionId |  | 1..1 | string | Id for coverage assertion
satisfiedId |  | 0..1 | string | Id if PA is satisfied
businessLine |  | 0..1 | CodeableConcept | e.g., MedicareAdvantage
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
DTRMetricData.source | Base | required | Metric Source | 📍2.2.0 | This IG
DTRMetricData.docReason | Base | required | CRD Coverage Information Documentation Reason Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.launchMode | Base | required | Metric Launch Mode | 📍2.2.0 | This IG
DTRMetricData.orderItem | Base | extensible | CRD Order Detail Codes Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.action.​actionDetail | Base | required | Metric Action | 📍2.2.0 | This IG
DTRMetricData.action.​issue.code | Base | required | IssueType | 📦4.0.1 | FHIR Std.
DTRMetricData.action.​issue.details | Base | example | Operation Outcome Codes | 📦4.0.1 | FHIR Std.
DTRMetricData.resources.​type | Base | required | ResourceType | 📦4.0.1 | FHIR Std.
DTRMetricData.questionnaire.​failure | Base | required | IssueType | 📦4.0.1 | FHIR Std.
DTRMetricData.questionnaire.​roleInteraction.role | Base | extensible | US Core Provider Role (NUCC) | 📍3.1.1 | US Core v3.1
DTRMetricData.questionnaire.​roleInteraction.roleAction | Base | extensible | Information Human Origins Value Set | 📍2.2.0 | This IG
DTRMetricData.coverageInfo.​covered | Base | required | CRD Coverage Information Covered Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.coverageInfo.​paNeeded | Base | required | CRD Coverage Information Prior Authorization Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.coverageInfo.​docNeeded | Base | required | CRD Coverage Information Additional Documentation Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.coverageInfo.​infoNeeded | Base | required | CRD Information Needed Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2

#### Constraints

Id | Grade | Path(s) | Description | Expression

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DTRMetricData | C | 0..* | Base | DTR Metric Data Constraints: dtrl-1
source |  | 1..1 | code | provider-src | payer-src | DTRApp-src Binding: MetricSource (2.2.0) (required)
sofApp |  | 0..1 | url | URL of SMART on FHIR application
providerId |  | 0..1 | Identifier | Identifier for the user initiating DTR
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | Σ | 1..1 | uri | The namespace for the identifier value Required Pattern: http://hl7.org/fhir/sid/us-npi
value | Σ | 1..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
groupId |  | 0..1 | Identifier | Identifier for the healthcare organization initiating DTR
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | Σ | 1..1 | uri | The namespace for the identifier value Required Pattern: http://hl7.org/fhir/sid/us-npi
value | Σ | 1..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
payerId |  | 1..1 | Identifier | Payer receiving DTR request
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | Σ | 1..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
assertionId |  | 0..* | string | Unique ID for order item
docReason |  | 0..* | code | withpa | withclaim | withorder | retain-doc | OTH Binding: CRDDocReason (2.2.1) (required)
launchMode |  | 0..1 | code | crdlaunch | relaunch | salaunch | cdexlaunch Binding: MetricLaunchMode (2.2.0) (required)
orderItem |  | 1..* | CodeableConcept | What was ordered Binding: MetricOrderDetail (2.2.1) (extensible)
action |  | 1..* | BackboneElement | Actions the reporting system engaged in as part of the DTR session.
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
actionDetail |  | 1..1 | code | launch | qpackage | mrquery | userresponse | nextq | storeqr Binding: MetricAction (2.2.0) (required)
requestTime |  | 1..1 | instant | Time action initiated
responseTime |  | 0..1 | instant | Time of action response
httpResponse |  | 0..1 | integer | HTTP response status code
questionnaire |  | 0..1 | canonical(DTR Standard Questionnaire(2.2.0) | DTR Questionnaire for adaptive form(2.2.0)) | Associated Questionnaire
issue |  | 0..* | BackboneElement | OperationOutcome info
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code |  | 1..1 | code | Error code Binding: IssueType (required)
details |  | 0..1 | CodeableConcept | More detailed error code Binding: OperationOutcomeCodes (example)
resources |  | 0..* | BackboneElement | Resource types accessed
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | code | Kind of resource Binding: ResourceType (required)
profile |  | 0..1 | canonical(StructureDefinition) | Solicited profile
count |  | 1..1 | positiveInt | Number retrieved
questionnaire |  | 0..* | BackboneElement | Questionnaire
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
reference |  | 1..1 | canonical(DTR Standard Questionnaire(2.2.0) | DTR Questionnaire for adaptive form(2.2.0)) | This is the URL for the canonical questionnaire
adaptive |  | 0..1 | boolean | True if adaptive form
populated |  | 0..1 | boolean | Whether a pre-populated response was provided from payer
failure |  | 0..* | CodeableConcept | Questionnaire errors logged to payer Binding: IssueType (required)
reviewPrior |  | 0..1 | boolean | True if user reviewed answers prior to final save
enabledQuestions |  | 0..1 | positiveInt | Number of enabled questions
autoPopulated |  | 0..1 | positiveInt | Number of questions autopopulated
roleInteraction |  | 0..* | BackboneElement | Role specific interactions
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
role |  | 1..1 | CodeableConcept | Role of information contributor Binding: USCoreProviderRoleNucc (3.1.1) (extensible)
roleAction |  | 1..1 | code | override | manual Binding: MetricsInformationOrigins (2.2.0) (extensible)
count |  | 1..1 | positiveInt | Count of combination of role and roleInteraction
elapsedTime |  | 1..1 | time | Cumulative user response time that questionnaire was active in session
coverageInfo |  | 0..* | BackboneElement | Coverage information
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
covered |  | 0..1 | code | covered | not-covered | conditional Binding: CRDCoveredInfo (2.2.1) (required)
paNeeded |  | 0..1 | code | auth-needed | no-auth | satisfied | performpa | conditional Binding: CRDCoveragePaDetail (2.2.1) (required)
docNeeded |  | 0..1 | code | clinical | admin | both | conditional Binding: CRDAdditionalDoc (2.2.1) (required)
infoNeeded |  | 0..1 | code | performer | location | timeframe | OTH Binding: CRDInformationNeeded (2.2.1) (required)
questionnaire |  | 0..* | BackboneElement | Questionnaire(s) returned
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
reference |  | 1..1 | canonical(Questionnaire) | Questionnaire url & version
adaptive |  | 1..1 | boolean | Is questionnaire adaptive?
response |  | 1..1 | boolean | Pre-pop response provided?
assertionId |  | 1..1 | string | Id for coverage assertion
satisfiedId |  | 0..1 | string | Id if PA is satisfied
businessLine |  | 0..1 | CodeableConcept | e.g., MedicareAdvantage
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
DTRMetricData.source | Base | required | Metric Source | 📍2.2.0 | This IG
DTRMetricData.providerId.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
DTRMetricData.providerId.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
DTRMetricData.groupId.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
DTRMetricData.groupId.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
DTRMetricData.payerId.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
DTRMetricData.payerId.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
DTRMetricData.docReason | Base | required | CRD Coverage Information Documentation Reason Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.launchMode | Base | required | Metric Launch Mode | 📍2.2.0 | This IG
DTRMetricData.orderItem | Base | extensible | CRD Order Detail Codes Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.action.​actionDetail | Base | required | Metric Action | 📍2.2.0 | This IG
DTRMetricData.action.​issue.code | Base | required | IssueType | 📦4.0.1 | FHIR Std.
DTRMetricData.action.​issue.details | Base | example | Operation Outcome Codes | 📦4.0.1 | FHIR Std.
DTRMetricData.resources.​type | Base | required | ResourceType | 📦4.0.1 | FHIR Std.
DTRMetricData.questionnaire.​failure | Base | required | IssueType | 📦4.0.1 | FHIR Std.
DTRMetricData.questionnaire.​roleInteraction.role | Base | extensible | US Core Provider Role (NUCC) | 📍3.1.1 | US Core v3.1
DTRMetricData.questionnaire.​roleInteraction.roleAction | Base | extensible | Information Human Origins Value Set | 📍2.2.0 | This IG
DTRMetricData.coverageInfo.​covered | Base | required | CRD Coverage Information Covered Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.coverageInfo.​paNeeded | Base | required | CRD Coverage Information Prior Authorization Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.coverageInfo.​docNeeded | Base | required | CRD Coverage Information Additional Documentation Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.coverageInfo.​infoNeeded | Base | required | CRD Information Needed Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2

#### Constraints

Id | Grade | Path(s) | Description | Expression
dtrl-1 | error | DTRMetricData | if source is not 'payer-src', then providerId and groupId are required | `(source!='payer-src') implies (providerId.exists() and groupId.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()`

Summary

Mandatory: 2 elements(22 nested mandatory elements)

Structures

This structure refers to these other structures:

- DTR Standard Questionnaire (http://hl7.org/fhir/us/davinci-dtr/StructureDefinition/dtr-std-questionnaire|2.2.0)
- DTR Questionnaire for adaptive form (http://hl7.org/fhir/us/davinci-dtr/StructureDefinition/dtr-questionnaire-adapt|2.2.0)

Maturity: 1

Differential View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DTRMetricData | C | 0..* | Base | DTR Metric Data
source |  | 1..1 | code | provider-src | payer-src | DTRApp-src Binding: MetricSource (2.2.0) (required)
sofApp |  | 0..1 | url | URL of SMART on FHIR application
providerId |  | 0..1 | Identifier | Identifier for the user initiating DTR
system |  | 1..1 | uri | The namespace for the identifier value Required Pattern: http://hl7.org/fhir/sid/us-npi
value |  | 1..1 | string | The value that is unique
groupId |  | 0..1 | Identifier | Identifier for the healthcare organization initiating DTR
system |  | 1..1 | uri | The namespace for the identifier value Required Pattern: http://hl7.org/fhir/sid/us-npi
value |  | 1..1 | string | The value that is unique
payerId |  | 1..1 | Identifier | Payer receiving DTR request
system |  | 1..1 | uri | The namespace for the identifier value
value |  | 1..1 | string | The value that is unique
assertionId |  | 0..* | string | Unique ID for order item
docReason |  | 0..* | code | withpa | withclaim | withorder | retain-doc | OTH Binding: CRDDocReason (2.2.1) (required)
launchMode |  | 0..1 | code | crdlaunch | relaunch | salaunch | cdexlaunch Binding: MetricLaunchMode (2.2.0) (required)
orderItem |  | 1..* | CodeableConcept | What was ordered Binding: MetricOrderDetail (2.2.1) (extensible)
action |  | 1..* | BackboneElement | Actions the reporting system engaged in as part of the DTR session.
actionDetail |  | 1..1 | code | launch | qpackage | mrquery | userresponse | nextq | storeqr Binding: MetricAction (2.2.0) (required)
requestTime |  | 1..1 | instant | Time action initiated
responseTime |  | 0..1 | instant | Time of action response
httpResponse |  | 0..1 | integer | HTTP response status code
questionnaire |  | 0..1 | canonical(DTR Standard Questionnaire(2.2.0) | DTR Questionnaire for adaptive form(2.2.0)) | Associated Questionnaire
issue |  | 0..* | BackboneElement | OperationOutcome info
code |  | 1..1 | code | Error code Binding: IssueType (required)
details |  | 0..1 | CodeableConcept | More detailed error code Binding: OperationOutcomeCodes (example)
resources |  | 0..* | BackboneElement | Resource types accessed
type |  | 1..1 | code | Kind of resource Binding: ResourceType (required)
profile |  | 0..1 | canonical(StructureDefinition) | Solicited profile
count |  | 1..1 | positiveInt | Number retrieved
questionnaire |  | 0..* | BackboneElement | Questionnaire
reference |  | 1..1 | canonical(DTR Standard Questionnaire(2.2.0) | DTR Questionnaire for adaptive form(2.2.0)) | This is the URL for the canonical questionnaire
adaptive |  | 0..1 | boolean | True if adaptive form
populated |  | 0..1 | boolean | Whether a pre-populated response was provided from payer
failure |  | 0..* | CodeableConcept | Questionnaire errors logged to payer Binding: IssueType (required)
reviewPrior |  | 0..1 | boolean | True if user reviewed answers prior to final save
enabledQuestions |  | 0..1 | positiveInt | Number of enabled questions
autoPopulated |  | 0..1 | positiveInt | Number of questions autopopulated
roleInteraction |  | 0..* | BackboneElement | Role specific interactions
role |  | 1..1 | CodeableConcept | Role of information contributor Binding: USCoreProviderRoleNucc (3.1.1) (extensible)
roleAction |  | 1..1 | code | override | manual Binding: MetricsInformationOrigins (2.2.0) (extensible)
count |  | 1..1 | positiveInt | Count of combination of role and roleInteraction
elapsedTime |  | 1..1 | time | Cumulative user response time that questionnaire was active in session
coverageInfo |  | 0..* | BackboneElement | Coverage information
covered |  | 0..1 | code | covered | not-covered | conditional Binding: CRDCoveredInfo (2.2.1) (required)
paNeeded |  | 0..1 | code | auth-needed | no-auth | satisfied | performpa | conditional Binding: CRDCoveragePaDetail (2.2.1) (required)
docNeeded |  | 0..1 | code | clinical | admin | both | conditional Binding: CRDAdditionalDoc (2.2.1) (required)
infoNeeded |  | 0..1 | code | performer | location | timeframe | OTH Binding: CRDInformationNeeded (2.2.1) (required)
questionnaire |  | 0..* | BackboneElement | Questionnaire(s) returned
reference |  | 1..1 | canonical(Questionnaire) | Questionnaire url & version
adaptive |  | 1..1 | boolean | Is questionnaire adaptive?
response |  | 1..1 | boolean | Pre-pop response provided?
assertionId |  | 1..1 | string | Id for coverage assertion
satisfiedId |  | 0..1 | string | Id if PA is satisfied
businessLine |  | 0..1 | CodeableConcept | e.g., MedicareAdvantage
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
DTRMetricData.source | Base | required | Metric Source | 📍2.2.0 | This IG
DTRMetricData.docReason | Base | required | CRD Coverage Information Documentation Reason Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.launchMode | Base | required | Metric Launch Mode | 📍2.2.0 | This IG
DTRMetricData.orderItem | Base | extensible | CRD Order Detail Codes Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.action.​actionDetail | Base | required | Metric Action | 📍2.2.0 | This IG
DTRMetricData.action.​issue.code | Base | required | IssueType | 📦4.0.1 | FHIR Std.
DTRMetricData.action.​issue.details | Base | example | Operation Outcome Codes | 📦4.0.1 | FHIR Std.
DTRMetricData.resources.​type | Base | required | ResourceType | 📦4.0.1 | FHIR Std.
DTRMetricData.questionnaire.​failure | Base | required | IssueType | 📦4.0.1 | FHIR Std.
DTRMetricData.questionnaire.​roleInteraction.role | Base | extensible | US Core Provider Role (NUCC) | 📍3.1.1 | US Core v3.1
DTRMetricData.questionnaire.​roleInteraction.roleAction | Base | extensible | Information Human Origins Value Set | 📍2.2.0 | This IG
DTRMetricData.coverageInfo.​covered | Base | required | CRD Coverage Information Covered Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.coverageInfo.​paNeeded | Base | required | CRD Coverage Information Prior Authorization Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.coverageInfo.​docNeeded | Base | required | CRD Coverage Information Additional Documentation Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.coverageInfo.​infoNeeded | Base | required | CRD Information Needed Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2

#### Constraints

Id | Grade | Path(s) | Description | Expression

Snapshot ViewView

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
DTRMetricData | C | 0..* | Base | DTR Metric Data Constraints: dtrl-1
source |  | 1..1 | code | provider-src | payer-src | DTRApp-src Binding: MetricSource (2.2.0) (required)
sofApp |  | 0..1 | url | URL of SMART on FHIR application
providerId |  | 0..1 | Identifier | Identifier for the user initiating DTR
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | Σ | 1..1 | uri | The namespace for the identifier value Required Pattern: http://hl7.org/fhir/sid/us-npi
value | Σ | 1..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
groupId |  | 0..1 | Identifier | Identifier for the healthcare organization initiating DTR
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | Σ | 1..1 | uri | The namespace for the identifier value Required Pattern: http://hl7.org/fhir/sid/us-npi
value | Σ | 1..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
payerId |  | 1..1 | Identifier | Payer receiving DTR request
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
use | ?!Σ | 0..1 | code | usual | official | temp | secondary | old (If known) Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
type | Σ | 0..1 | CodeableConcept | Description of identifier Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
system | Σ | 1..1 | uri | The namespace for the identifier value Example General: http://www.acme.com/identifiers/patient
value | Σ | 1..1 | string | The value that is unique Example General: 123456
period | Σ | 0..1 | Period | Time period when id is/was valid for use
assigner | Σ | 0..1 | Reference(Organization) | Organization that issued id (may be just text)
assertionId |  | 0..* | string | Unique ID for order item
docReason |  | 0..* | code | withpa | withclaim | withorder | retain-doc | OTH Binding: CRDDocReason (2.2.1) (required)
launchMode |  | 0..1 | code | crdlaunch | relaunch | salaunch | cdexlaunch Binding: MetricLaunchMode (2.2.0) (required)
orderItem |  | 1..* | CodeableConcept | What was ordered Binding: MetricOrderDetail (2.2.1) (extensible)
action |  | 1..* | BackboneElement | Actions the reporting system engaged in as part of the DTR session.
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
actionDetail |  | 1..1 | code | launch | qpackage | mrquery | userresponse | nextq | storeqr Binding: MetricAction (2.2.0) (required)
requestTime |  | 1..1 | instant | Time action initiated
responseTime |  | 0..1 | instant | Time of action response
httpResponse |  | 0..1 | integer | HTTP response status code
questionnaire |  | 0..1 | canonical(DTR Standard Questionnaire(2.2.0) | DTR Questionnaire for adaptive form(2.2.0)) | Associated Questionnaire
issue |  | 0..* | BackboneElement | OperationOutcome info
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code |  | 1..1 | code | Error code Binding: IssueType (required)
details |  | 0..1 | CodeableConcept | More detailed error code Binding: OperationOutcomeCodes (example)
resources |  | 0..* | BackboneElement | Resource types accessed
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
type |  | 1..1 | code | Kind of resource Binding: ResourceType (required)
profile |  | 0..1 | canonical(StructureDefinition) | Solicited profile
count |  | 1..1 | positiveInt | Number retrieved
questionnaire |  | 0..* | BackboneElement | Questionnaire
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
reference |  | 1..1 | canonical(DTR Standard Questionnaire(2.2.0) | DTR Questionnaire for adaptive form(2.2.0)) | This is the URL for the canonical questionnaire
adaptive |  | 0..1 | boolean | True if adaptive form
populated |  | 0..1 | boolean | Whether a pre-populated response was provided from payer
failure |  | 0..* | CodeableConcept | Questionnaire errors logged to payer Binding: IssueType (required)
reviewPrior |  | 0..1 | boolean | True if user reviewed answers prior to final save
enabledQuestions |  | 0..1 | positiveInt | Number of enabled questions
autoPopulated |  | 0..1 | positiveInt | Number of questions autopopulated
roleInteraction |  | 0..* | BackboneElement | Role specific interactions
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
role |  | 1..1 | CodeableConcept | Role of information contributor Binding: USCoreProviderRoleNucc (3.1.1) (extensible)
roleAction |  | 1..1 | code | override | manual Binding: MetricsInformationOrigins (2.2.0) (extensible)
count |  | 1..1 | positiveInt | Count of combination of role and roleInteraction
elapsedTime |  | 1..1 | time | Cumulative user response time that questionnaire was active in session
coverageInfo |  | 0..* | BackboneElement | Coverage information
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
covered |  | 0..1 | code | covered | not-covered | conditional Binding: CRDCoveredInfo (2.2.1) (required)
paNeeded |  | 0..1 | code | auth-needed | no-auth | satisfied | performpa | conditional Binding: CRDCoveragePaDetail (2.2.1) (required)
docNeeded |  | 0..1 | code | clinical | admin | both | conditional Binding: CRDAdditionalDoc (2.2.1) (required)
infoNeeded |  | 0..1 | code | performer | location | timeframe | OTH Binding: CRDInformationNeeded (2.2.1) (required)
questionnaire |  | 0..* | BackboneElement | Questionnaire(s) returned
@id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
reference |  | 1..1 | canonical(Questionnaire) | Questionnaire url & version
adaptive |  | 1..1 | boolean | Is questionnaire adaptive?
response |  | 1..1 | boolean | Pre-pop response provided?
assertionId |  | 1..1 | string | Id for coverage assertion
satisfiedId |  | 0..1 | string | Id if PA is satisfied
businessLine |  | 0..1 | CodeableConcept | e.g., MedicareAdvantage
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
DTRMetricData.source | Base | required | Metric Source | 📍2.2.0 | This IG
DTRMetricData.providerId.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
DTRMetricData.providerId.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
DTRMetricData.groupId.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
DTRMetricData.groupId.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
DTRMetricData.payerId.​use | Base | required | IdentifierUse | 📍4.0.1 | FHIR Std.
DTRMetricData.payerId.​type | Base | extensible | IdentifierType | 📍4.0.1 | FHIR Std.
DTRMetricData.docReason | Base | required | CRD Coverage Information Documentation Reason Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.launchMode | Base | required | Metric Launch Mode | 📍2.2.0 | This IG
DTRMetricData.orderItem | Base | extensible | CRD Order Detail Codes Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.action.​actionDetail | Base | required | Metric Action | 📍2.2.0 | This IG
DTRMetricData.action.​issue.code | Base | required | IssueType | 📦4.0.1 | FHIR Std.
DTRMetricData.action.​issue.details | Base | example | Operation Outcome Codes | 📦4.0.1 | FHIR Std.
DTRMetricData.resources.​type | Base | required | ResourceType | 📦4.0.1 | FHIR Std.
DTRMetricData.questionnaire.​failure | Base | required | IssueType | 📦4.0.1 | FHIR Std.
DTRMetricData.questionnaire.​roleInteraction.role | Base | extensible | US Core Provider Role (NUCC) | 📍3.1.1 | US Core v3.1
DTRMetricData.questionnaire.​roleInteraction.roleAction | Base | extensible | Information Human Origins Value Set | 📍2.2.0 | This IG
DTRMetricData.coverageInfo.​covered | Base | required | CRD Coverage Information Covered Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.coverageInfo.​paNeeded | Base | required | CRD Coverage Information Prior Authorization Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.coverageInfo.​docNeeded | Base | required | CRD Coverage Information Additional Documentation Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2
DTRMetricData.coverageInfo.​infoNeeded | Base | required | CRD Information Needed Value Set | 📍2.2.1 | Da Vinci - Coverage Requirements Discovery v2.2

#### Constraints

Id | Grade | Path(s) | Description | Expression
dtrl-1 | error | DTRMetricData | if source is not 'payer-src', then providerId and groupId are required | `(source!='payer-src') implies (providerId.exists() and groupId.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()`

Summary

Mandatory: 2 elements(22 nested mandatory elements)

Structures

This structure refers to these other structures:

- DTR Standard Questionnaire (http://hl7.org/fhir/us/davinci-dtr/StructureDefinition/dtr-std-questionnaire|2.2.0)
- DTR Questionnaire for adaptive form (http://hl7.org/fhir/us/davinci-dtr/StructureDefinition/dtr-questionnaire-adapt|2.2.0)

Maturity: 1

Other representations of profile: CSV, Excel

### Notes:

#### Populating Actions

The following table provides more detail about how information is to be populated from different system perspectives:

Action | Systems | ELement | Notes
--- | --- | --- | ---
`launch` | All | requestTime | Start of the DTR session (earliest time of all actions)
responseTime | End of DTR session (latest time of all actions)
httpResponse / issue | Failure of DTR process prior to completion or successful storage of QuestionnaireResponse for continuation
questionnaire | When request for questionnaire package was initiated (Full EHR or SMART App) or was received (Payer)
`qpackage` | Full EHR, SMART App, Payer | requestTime | When request for questionnaire package was initiated (Full EHR or SMART App) or was received (Payer)
responseTime | When response to questionnaire package operation was returned (Payer) or received (Full EHR or SMART App)
httpResponse / issue | Result of operation, including any warnings.
questionnaire | The questionnaire(s) returned, if any
`mrquery` | Light EHR, SMART App | requestTime | When the request for medical record data was initiated (SMART app) or received (Light EHR)
responseTime | When the response to the medical record query was returned (Light EHR) or received (SMART app)
httpResponse / issue | Result of query operation, including any warnings
questionnaire | The questionnaire(s) whose CQL drove the need for the query
`userresponse` | Full EHR, SMART App | requestTime | When the UI became available to the end user to provide responses
responseTime | When the user activated a control returning control to the application (to save the form, to get another question, to close the app, etc.)
httpResponse / issue | N/A
questionnaire | The questionnaire the user was interacting with
`nextq` | Full EHR, SMART App, Payer | requestTime | When the $next-question call was initiated (Full EHR or SMART App) or received (Payer)
responseTime | When the response to the $next-question call was provided (Payer) or received (Full EHR or SMART App)
httpResponse | The response from the $next-question call
questionnaire | The canonical for the adaptive form being completed (NOT the contained questionnaire)
`storeqr` | Light EHR, SMART App | requestTime | When the request to store a QuestionnaireResponse was initiated (SMART App) or received (Light EHR)
responseTime | When the response to the Questionnaire storage request was returned (Light EHR) or received (SMART App)
httpResponse / issue | The response from the attempt to store the Questionnaire Response.
questionnaire | The Questionnaire whose response was being stored