Generated Narrative: StructureDefinition DTRMetricData Name Flags Card. Type Description & Constraints DTRMetricData 0..* Base DTR Metric Data Instances of this logical model are not marked to be the target of a Reference source 1..1 code provider-src | payer-src | DTRApp-src Binding: Metric Source (required) sofApp 0..1 url URL of SMART on FHIR application providerId 1..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 1..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: CRD Coverage Information Documentation Reason Value Set (required) launchMode 0..1 code crdlaunch | relaunch | salaunch | cdexlaunch Binding: Metric Launch Mode (required) orderItem 1..* CodeableConcept What was ordered Binding: CRD Order Detail Codes Value Set (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: Metric Action (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 | DTR Questionnaire for adaptive form) 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 | DTR Questionnaire for adaptive form) 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: US Core Provider Role (NUCC) (extensible) roleAction 1..1 code override | manual Binding: Information Human Origins Value Set (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: CRD Coverage Information Covered Value Set (required) paNeeded 0..1 code auth-needed | no-auth | satisfied | performpa | conditional Binding: CRD Coverage Information Prior Authorization Value Set (required) docNeeded 0..1 code clinical | admin | both | conditional Binding: CRD Coverage Information Additional Documentation Value Set (required) infoNeeded 0..1 code performer | location | timeframe | OTH Binding: CRD Information Needed Value Set (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
HL7 International / Clinical Decision Support
A logical model describing the information that should be captured by DTR implementers about every DTR invocation to support measures evaluating DTR implementation.
**Purpose:** This logical model is NOT a FHIR data structure for information exchange. Instead, it is a model of the information that **SHOULD** be collected and maintained for each DTR system action. While implementers may choose any internal storage format that is appropriate for their system, the information collected should ultimately be mapped to the information model below. Mapping implementation data to these elements will allow metrics (see the [table on the metrics page]) to be represented in a way that provides consistent responses to requirements from various interested parties (providers, payers, regulators, quality organizations, certification agencies, states, etc.) by each of the participants in the DTR exchanges. A separate instance should be created by each participant for each DTR 'session': * For a 'Light' EHR, a session exists from the time the DTR SMART app launches until it closes. * For a 'Full' EHR, a session exists from the time the user interface initiates the DTR process until the user interface returns from QuestionnaireResponse population to other activity. * For a SMART app, a session runs from the time the app is launched until it closes. * For a payer, a session runs from the time a SMART back-end connection from the Full EHR or SMART app is established until the last operation call is made using that security token. Resumed DTR sessions initiated from a previously stored QuestionnaireResponse will be tracked separately from initial DTR sessions. Unless there is at least one CRD-assigned assertion id present on the record, it will not be possible to tie together multiple sessions related to the same QuestionnaireResponse or order.
A code to indicate which type of system collected the metric data (DTRApp can be either a Native or SMART on FHIR app)
The URL of SMART on FHIR application to identify the specific DTR application used by the provider and payer. If not present, then the DTR session is with a Full EHR.
The NPI number of the user who initiated this DTR session.
All FHIR elements must have a @value or children
hasValue() or (children().count() > id.count())
Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Extensions are always sliced by (at least) url
Additional content defined by implementations
May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Must have either extensions or value[x], not both
exists(f:extension)!=exists(f:*[starts-with(local-name(.), "value")])
usual | official | temp | secondary | old (If known)
Applications can assume that an identifier is permanent unless it explicitly says that it is temporary.
Allows the appropriate identifier for a particular context of use to be selected from among a set of identifiers.
This is labeled as "Is Modifier" because applications should not mistake a temporary id for a permanent one.
Identifies the purpose for this identifier, if known .
A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.
This element deals only with general categories of identifiers. It SHOULD not be used for codes that correspond 1..1 with the Identifier.system. Some identifiers may fall into multiple categories due to common usage. Where the system is known, a type is unnecessary because the type is always part of the system definition. However systems often need to handle identifiers where the system is not known. There is not a 1:1 relationship between type and system, since many different systems have the same type.
Allows users to make use of identifiers when the identifier system is not known.
A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
Establishes the namespace for the value - that is, a URL that describes a set values that are unique.
Identifier.system is always case sensitive.
There are many sets of identifiers. To perform matching of two identifiers, we need to know what set we're dealing with. The system identifies a particular set of unique identifiers.
The portion of the identifier typically relevant to the user and which is unique within the context of the system.
If the value is a full URI, then the system SHALL be urn:ietf:rfc:3986. The value's primary purpose is computational mapping. As a result, it may be normalized for comparison purposes (e.g. removing non-significant whitespace, dashes, etc.) A value formatted for human display can be conveyed using the [Rendered Value extension](http://hl7.org/fhir/R4/extension-rendered-value.html). Identifier.value is to be treated as case sensitive unless knowledge of the Identifier.system allows the processer to be confident that non-case-sensitive processing is safe.
II.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
Time period when id is/was valid for use
Time period during which identifier is/was valid for use.
Role.effectiveTime or implied by context
Organization that issued id (may be just text)
Organization that issued/manages the identifier.
The Identifier.assigner may omit the .reference element and only contain a .display element reflecting the name or other textual information about the assigning organization.
II.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
Identifier for the healthcare organization initiating DTR
The NPI of the hospital/clinic/other organization that initiated this DTR session.
The identifier of the payer organization supplying the questionnaire bundle for this session.
Assertion ids passed in on the coverage-information in Requests, Encounters, or QuestionnaireResponses used as context to launch DTR (or selected by the user as context post-launch) as well as passed as a Task questionnaire launch context parameter.
If there are multiple coverage-information extensions in context, this will be the union of distinct assertionIds.
Allows linking DTR sessions to CRD, CDex, and potentially prior DTR sessions.
withpa | withclaim | withorder | retain-doc | OTH
doc-purpose passed in on the coverage-information in Requests, Encounters or QuestoinnaireResponses used as context to launch DTR (or selected by the user as context post-launch).
If there were multiple coverage-informations present in the launch context, this will be the union of distinct codes present.
crdlaunch | relaunch | salaunch | cdexlaunch
Indicates the launch mode involved for this session.
The specific procedure, item, medication, appointment, nutrition that is the subject of the order/appointment.
Actions the reporting system engaged in as part of the DTR session.
Actions performed between a system and the DTR application.
See notes section below for how the action elements should be populated for different actions
Extensions that cannot be ignored even if unrecognized
May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Modifier extensions allow for extensions that *cannot* be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the [definition of modifier extensions](http://hl7.org/fhir/R4/extensibility.html#modifierExtension).
Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
launch | qpackage | mrquery | userresponse | nextq | storeqr
What type of action occurred within the DTR session.
The time stamp when the action was initiated from the perspective of the reporting system.
The time stamp when the action was completed (including error return) from the perspective of the reporting system.
The HTTP response status code associated with the action (successful or not).
Must be present unless action is a userresponse
The questionnaire(s) tied to the current action
If an OperationOutcome is returned, what were the issues?
The issue.code value from the OperationOutcome for this issue.
The issue.details value from the OperationOutcome for this issue.
Information that was accessed from the EHR by the one or more of the questionnaires using CQL.
Indicates the sub-type of data accessed in situations where multiple US-core profiles could apply (e.g., Observation). Note: This does not mean that the data received was actually valid against the profile, merely that the search criteria used were intended to retrieve data of this type.
How many resources of that type were accessed.
Questionnaire that was returned in the Questionnaire package (and information about what was done with it)
This is the URL for the canonical questionnaire
This is the URL for the canonical questionnaire that was returned by the $questionnaire-package operation
If the Questionnaire is an adaptive form, the value is True.
Questionnaire was a standard (non-adaptive) Questionnaire
Whether a pre-populated response was provided from payer
If true, indicates that the draft QuestionnaireResponse provided in the Questionnaire package Bundle included at least some answers pre-populated with payer data.
A failure reported to the payer about Questionnaire content using the $log-questionnaire-errors operation.
True if user reviewed answers prior to final save
If the provider reviewed the QuestionnaireResponse answers prior to marking it as complete or saving it in the EHR.
User did not review the QuestionnaireRepsonse in this session
The count of all questions enabled in the Questionnaire at the time it was marked 'complete'.
This element is a count of the number of enabled question items at the time the QuestionnaireResponse was last stored as part of this DTR session
The count of all questions that were auto-populated from the patient's medical record and/or by payer information.
The modification may have happened in a prior session. This element is a count of the number of enabled question items with an information-origin extension of 'auto' or 'override' at the time the QuestionnaireResponse was last stored as part of this DTR session.
No questions had their answers auto-populated
A summary of the information-origin extensions for all enabled questions in the Questionnaire as they were at the time the QuestionnaireResponse was last stored within the DTR session reflecting human intervention.
The type of humanrole whose questionnaire completion is summarized here. Corresponds to the information-origin.author.role. NOTE: if a form is edited by multiple people with the same roles, the items they edit or override will be aggregated together.
This will indicate the type of human intervention action being summarized (auto, override or manual).
Count of combination of role and roleInteraction
This is the sum of enabled questions for the specified with an information-origin of that source AND an author.role that matches the specified role.
Cumulative user response time that questionnaire was active in session
cumulative time from DTR start to QR store, including from multiple sessions.
Coverage information extensions returned as part of completed adaptive Questionnaires within this DTR session.
Indicates whether the service is covered.
auth-needed | no-auth | satisfied | performpa | conditional
Indicates whether prior authorization is necessary or not, as well as considerations about applying for prior authorization.
Indicates whether additional information is necessary (for prior auth, claims submission, or some other purpose).
Indicates what additional inforamtion is necessary in order to determine authorization/coverage - which might be available on a later hook invocation.
Information about the Questionnaire(s) returned to gather additional information (e.g. through DTR).
Allows linking metadata about forms identified 'to be filled out' in CRD with what is actually completed in DTR, and eventually submitted in CDex, PAS or claims
The official identifier of one of the Questionnaires provided to be filled out.
If true, indicates that the questionnaire is adaptive (i.e. uses the $next-question operation to determine questions).
If true, indicates that the card included a partially populated QuestionnaireResponse with answers filled by the payer from pre-known data.
Corresponds to the coverage-assertion-id from the coverage-information extension.
Used to link the results of CRD to metric information captured for DTR and/or PAS.
Corresponds to the satisfied-pa-id from the coverage-information extension.
A code that indicates which type of insurance this assertion applies to.