Da Vinci - Documentation Templates and Rules
2.1.0 - STU 2.1

Publication Build: This will be filled in by the publication tooling

## DTR Metrics

Page standards status: Informative

### Overview

This Implementation Guide (IG) is one of four HL7 Da Vinci IGs (CRD, DTR, PAS, and CDex) that are designed to address the challenges of automating the exchange of information between a provider and the responsible payer to determine coverage of services, items, and referrals. These IGs standardize the exchange of information required to automate the Prior Authorization (PA) process.

Each guide supports a specific set of functions and exchanges required to determine payer coverage for specific services, items, and referrals.

To maximize the value of these IGs, it is imperative that each IG is integrated into clinical workflow at the appropriate point and that all exchanges required by each IG are fully supported by all the participants (providers, intermediaries, and payers).

Each of these IGs recommends a set of metrics that may be collected by each implementation to facilitate the evaluation of adoption, functionality, processes, and improved outcomes. While there is currently no requirement to aggregate these metrics, it is reasonable to believe that, in the future, interested entities (providers, payers, regulators, quality organization, certification agencies, states, etc.) will ask for these metrics to evaluate the ongoing automation of the supported processes and exchanges. While this guide will not require these metrics to be captured in this release, the authors strongly suggest each implementation should do so with the expectation that collection and dissemination of these metrics may become a requirement (SHALL) in future versions of these IGs.

### Suggested Metrics

The following table defines a set of metrics with a short name, purpose, conformance, stakeholder, and collection/calculation instructions that represent what the project group designing this IG felt would be both reasonably collectable and useful in evaluating implementations of this IG. These measures are based on the metric data model logical model also published in this IG.

Number | Metric | Metric Type | Stakeholder | Calculation Example
--- | --- | --- | --- | ---
1 | Volume / % of from CRD, standalone, CDex launch | Adoption Process | Provider or App Vendor/Provisioner | Repeat for each launch mode as %mode: For volume: `DTRMetricData.where(launchMode = %mode and exists(action.where(actionDetail=’launch’ and httpResponse=200))).count()` For %, divide volume above by: `DTRMetricData.where(exists(action.where(actionDetail=’launch’ and httpResponse=200))).count()` express as percentage
2 | % as standard questionnaire or adaptive forms | Adoption Process | Payer DTR app | For adaptive forms: `DTRMetricData.where(exists(action.where(actionDetail=’launch’ and httpResponse=200))).questionnaire.where(adaptive).count()` divide by `DTRMetricData.where(exists(action.where(actionDetail=’launch’ and httpResponse=200))).questionnaire.count()` express as percentage
3 | % reviewed prior to completion | Process | Provider or App Vendor/Provisioner | `DTRMetricData.where(exists(action.where(actionDetail=’launch’ and httpResponse=200))).questionnaire.where(reviewPrior).count()` divide by `DTRMetricData.where(exists(action.where(actionDetail=’launch’ and httpResponse=200))).questionnaire.count()` express as percentage
4 | % of questions auto populated | Process | Both | `DTRMetricData.where(exists(action.where(actionDetail=’launch’ and httpResponse=200))).questionnaire.autoPopulated.aggregate($this + $total, 0)` divide by `DTRMetricData.where(exists(action.where(actionDetail=’launch’ and httpResponse=200))).questionnaire.enabled.aggregate($this + $total, 0)` express as percentage
5 | % of auto populated questions changed | Process | Both | `DTRMetricData.where(exists(action.where(actionDetail=’launch’ and httpResponse=200))).questionnaire.roleInteraction.where(role=’override’).aggregate($this + $total,0)` divide by `DTRMetricData.where(exists(action.where(actionDetail=’launch’ and httpResponse=200))).questionnaire.autoPopulated.aggregate($this + $total,0)` express as percentage
6 | Average Time to complete | Process | Both | `DTRMetricData.where(launchMode = %mode and exists(action.where(actionDetail=’launch’ and httpResponse=200))).elapsedTime.aggregate($this + $total, 0)` divide by `DTRMetricData.where(launchMode = %mode and exists(action.where(actionDetail=’launch’ and httpResponse=200))).count()`