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
| Official URL: http://hl7.org/fhir/us/davinci-dtr/Requirements/fromNarrative | Version: 2.2.0 | ||||
| Standards status: Trial-use Active as of 2026-03-27 | Maturity Level: 2 | Computable Name: FromNarrative | |||
Conformance statements found throughout the narrative of the IG consolidated into this computable resource for traceability purposes
Language: en
These requirements apply to the following actors:
| conf-1 | SHALL | In order to conform to this implementation guide, in addition to adhering to any relevant 'SHALL' statements, a system SHALL conform to at least one of the appropriate CapabilityStatements listed here: |
| conf-2 | SHALL | |
| conf-3 | SHALL | DTR apps and EHRs that take on DTR app responsibility SHALL be able to render Questionnaires and QuestionnaireResponses. |
| conf-4 | MAY | DTR clients MAY adjust which client components expose which Questionnaire items, which Questionnaire items are exposed to which users and how those items are exposed as appropriate for the workflow so long as they retain the ability to render all |
| conf-5 | SHALL | Specifically, apps and EHRs acting as form fillers SHALL be able to display: |
| conf-6 | SHALL | They SHALL also handle all mustSupport elements within the Questionnaire profile and provide visual cues where those elements impact expected user action (e.g., required answers, need for signatures, etc.) |
| conf-7 | SHOULD | Those same systems SHOULD be able to display |
| conf-8 | SHALL NOT | When determining Questionnaire packages, processing adaptive forms via |
| conf-9 | SHALL NOT | Similarly, they SHALL NOT depend on or set expectations for the inclusion of any data elements not marked as mandatory (min cardinality >= 1) or |
| conf-10 | SHALL | DTR servers SHALL NOT set expectations for systems to support Questionnaire rendering or response validation capabilities above those established in the DTR Questionnaire profiles and SHALL accept and successfully process any Questionnaire Response returned for a Questionnaire from that DTR server that is deemed valid against the rules expressed only as |
| conf-11 | MAY | If the proposed change is adopted and published in the DTR continuous integration build or the CI build of one of its dependencies (e.g., US Core), implementations MAY, by mutual agreement, pre-adopt the use of those additional profiles and/or |
| conf-12 | SHALL NOT | Where cardinality and other constraints present in profiles allow data elements to be omitted, DTR compliant systems SHALL NOT treat the omission of those elements as a conformance error - i.e., DTR services are expected to return appropriate questionnaire package responses, not system level errors (e.g., HTTP 4xx errors), and DTR clients are expected to render and allow completion of forms as normal. |
| conf-13 | SHALL | DTR clients and services and SHALL use standard DTR data elements (i.e., elements found within DTR-defined or inherited profiles and marked as mandatory or |
| conf-14 | MAY | Organizations implementing DTR SHALL NOT publish guidance setting expectations for where certain data elements are conveyed within DTR and inherited data structures, but MAY submit change requests to DTR, CRD, HRex, or US Core requesting that additional guidance be provided to implementers on data structure usage to increase consistency across implementations. |
| conf-15 | SHALL | Such enhancements SHALL be submitted as a ticket for consideration for inclusion in a future version of the implementation guide. |
| opcn-1 | SHOULD | Picklist: questions that will normally not be pre-populated, SHOULD be answered 90% of the time from a predefined picklist supported by typeahead for long lists and allows for occasional text entries (average answer time of 5 seconds each) |
| opcn-2 | SHOULD | SHOULD be clinical questions but might include administrative questions if necessary to select appropriate clinical questions. |
| oper-1 | SHALL | This operation SHALL be supported by payers and DTR applications. |
| oper-2 | SHOULD | The input OperationOutcome resource SHOULD include information on the DTR application identity and version, date-time with time-zone offset, as well as the provider endpoint during which the error occurred, and it SHALL NOT contain information about the response or information retrieved from FHIR APIs that could potentially include PHI. |
| oper-3 | SHOULD | The Questionnaire reference SHOULD be version-specific. |
| oper-4 | SHALL | The operation is called at the resource level and a url SHALL be provided. |
| oper-5 | SHALL | Additionally, the valueset SHALL use the current date as the expansion date and SHALL include only active codes. |
| oper-6 | SHALL | The operation SHALL take as input the Coverage resource(s) identifying the member and the type(s) of Coverage for which additional information is needed and at least one of: |
| oper-7 | SHALL | If multiple versions of a questionnaire are returned, each SHALL be associated with distinct orders or coverages in the associated QuestionnaireResponses (see below). |
| oper-8 | SHALL | If this operation is invoked with a context id provided by CRD where the |
| oper-9 | SHALL | If any of the explicitly requested questionnaires cannot be found, a warning SHALL be provided in the |
| oper-10 | SHALL | If the operation is successful, the response SHALL be a |
| oper-11 | SHOULD | If the operation fails, the response payload SHOULD be an OperationOutcome. |
| oper-12 | SHALL | The Bundle SHALL include the Questionnaire as the first entry along with all external Libraries referenced by the Questionnaire using the cqf-library extension, as well as a recursive retrieval of all |
| oper-13 | SHALL | All Libraries SHALL include both CQL and EML representations. |
| oper-14 | SHALL | The Bundle SHALL include all external ValueSet instances referenced by the Questionnaire. |
| oper-15 | SHALL | All value sets with expansions under 40 entries SHALL be expanded as of the current date and using expansion parameters (such as SNOMED release) as deemed appropriate by the payer. |
| oper-16 | SHALL | All references to Questionnaires, Libraries, and ValueSets within the Bundle SHALL be version specific, as breaking changes may occur between versions and would likely cause failures or inconsistent data. |
| oper-17 | MAY | Multiple versions of a Library MAY be treated as an error, or MAY be handled by returning the 'most recent' version of the referenced versions. |
| oper-18 | SHALL | As well, the Questionnaire Bundle SHALL contain one initial draft |
| oper-19 | MAY | The payer MAY opt to pre-populate some answers in the provided QuestionnaireResponses based on information the payer has in its own records or has from context from CRD or from other prior auth or claims submissions. |
| oper-20 | SHALL | When resuming a work in progress questionnaire response the DTR client SHALL invoke the operation with the timestamp to see if the questionnaire package has changed since it was last retrieved, presuming that the |
| prof-1 | SHOULD | However, the system should check that the passed orders are the same as was processed at CRD time before presuming that the questionnaires needed will be the same and if the orders have changed, or there's a possibility that the rules governing which Questionnaires are needed might have changed, the system SHOULD re-check to determine the needed Questionnaires. |
| prof-2 | SHALL | The Payer Identifier used SHALL be the same as the ones that are returned by the endpoint discovery mechanism defined in HRex. |
| sec-1 | SHALL | Implementers SHALL adhere to any security and privacy rules defined by: |
| sec-2 | MAY | This scope granted MAY provide the SMART on FHIR application access to more data than is needed for the specific situation. |
| sec-3 | SHALL | For compliance with HIPAA Minimum Necessary, the CQL included in payer-defined Questionnaires SHALL limit requests for information from the EHR's API to only items that are relevant to the documentation requirements for which DTR was launched (e.g., documentation requirements for a service that does require prior authorization). |
| sec-4 | SHALL NOT | Compliant Questionnaires SHALL NOT include hidden or read-only questions where the data is populated from the EHR. |
| sec-5 | SHALL | DTR Clients SHALL appropriately manage access to data that is sensitive per policy and regulatory requirements when responding to queries from a DTR app. |
| sec-6 | SHOULD | Providers SHOULD ask the patient if they want to share the information with the payer prior to manually populating it in any QuestionnaireResponses. |
| sec-7 | SHOULD | Any EHR with SMART on FHIR support SHOULD be prepared to deal with the implications of providing a client with the scopes they request. |
| sec-8 | SHALL | For example, EHRs SHALL limit FHIR search capabilities for clients, requiring a patient ID in any search query to ensure the client can only access resources related to that patient. |
| sec-9 | SHALL | Payer systems SHALL use information received during execution of the DTR |
| sec-10 | SHALL NOT | If a payer uses adaptive forms to gather information, the payer SHALL NOT persist or use the information shared as part of the |
| spec-1 | MAY | Payer DTR services SHALL NOT work preferentially with their own apps for IG-defined functionality, though clients and services MAY offer additional behavior above and beyond what's covered in this specification. |
| spec-2 | MAY | This means that EHRs are free to choose which app they prefer and MAY switch apps as they see fit. |
| spec-3 | MAY | In some cases, an EHR MAY opt to support multiple DTR SMART apps. |
| spec-4 | SHALL | Similarly, all DTR apps SHALL be registered with the payer systems with which they communicate. If an EHR opts to interact with the payer directly without using an app, then the EHR itself will need to register. |
| spec-5 | MAY | Payers MAY have multiple back-end functions that handle different types of decision support and/or different types of services. |
| spec-6 | SHALL | However, for the purpose of DTR conformance, payers SHALL have a single endpoint (managed by themselves or a delegate) that can handle responding to all DTR service calls. |
| spec-7 | SHALL | This registration process SHALL ensure that the DTR app or Full EHR (i.e., Native App): |
| spec-8 | SHOULD | Implementers of this IG SHOULD support the endpoint discovery mechanism defined in the HRex specification to allow discovery of the endpoints used in this IG - specifically the |
| spec-9 | SHOULD, MAY | Even after an application has been successfully registered, payers and EHRs SHOULD monitor the application behavior and MAY suspend an application's access if it is suspected of malicious behavior. |
| spec-10 | MAY | Some payers MAY create Questionnaires that rely on code systems that require licensing for use where there isn’t already a cross-U.S. license in place (e.g., UB, CPT). |
| spec-11 | SHALL | The expectations around licensing requirements SHALL be established as part of the configuration process between the parties. |
| spec-12 | SHALL, SHOULD | DTR services SHOULD have DTR questionnaires available for all covered items that require additional data collection to support prior auth submission, claim submission, or appropriate use documentation. (Future versions of this guide will likely tighten this expectation to a 'SHALL') |
| spec-13 | MAY | DTR server organizations MAY surface their Questionnaires via a registry or some similar mechanism that allows DTR client organizations to pre-examine/pre-process Questionnaires to allow for more optimal handling when those Questionnaires are actually solicited. |
| spec-14 | SHALL NOT | DTR clients SHALL NOT be dependent on such pre-availability in order to perform form completion. |
| spec-15 | MAY | Payers MAY support either approach or opt to provide some Questionnaires using one approach and others using the second based on the requirements of the form. |
| spec-16 | SHALL | DTR apps and Full EHRs SHALL support both types of Questionnaires. |
| spec-17 | SHALL | Questionnaires, whether standard or adaptive, SHALL also use logic that ensures that only questions and answer choices which are required for the intended clinical or administrative purposes are included, based on what answers have already been provided/populated using elements such as |
| spec-18 | SHALL | When using elements with a data type of 'Expression' within Questionnaires to control flow or rendering, all logic SHALL be written in CQL. |
| spec-19 | SHALL | The Elements flagged as mustSupport SHALL be supported by DTR Apps and Full EHRs. |
| spec-20 | SHOULD | These systems SHOULD also support all non |
| spec-21 | SHALL NOT | However, payers SHALL NOT rely on support for any of these elements in the design of their Questionnaire (i.e., a DTR client that ignores such elements cannot impact the successful collection of information acceptability of the information gathered). |
| spec-22 | SHALL | If there is a need to collect both patient or clinical data as well as administrative data, forms SHALL be designed in one of the two the following manners: |
| spec-23 | SHALL | When a payer uses an Adaptive Form, they SHALL return a questionnaire instance compliant with the DTR AdaptiveQuestionnaire-Search profile. |
| spec-24 | SHALL | If present, any |
| spec-25 | SHALL | The QuestionnaireResponse included in the Questionnaire Package Bundle accompanying an adaptive Questionnaire SHALL follow the convention of referencing a contained Questionnaire |
| spec-26 | MAY | Typically, the QuestionnaireResponse and contained Questionnaire will contain no answers (or corresponding questions), though the payer MAY opt to include a few pre-populated answers for user review prior to soliciting additional questions using the |
| spec-27 | MAY | Payers MAY define pre-populatable questions to extract such information, using CQL to access the Questionnaire's |
| spec-28 | MAY | There are three strategies payers can use – and payers MAY opt to combine strategies within a single Questionnaire: |
| spec-29 | MAY | The payer MAY opt to include CQL Libraries and ValueSets in the package that are not actually referenced by any questions, on the prospect that they might be (or are likely to be) referenced by one of the questions at some point. |
| spec-30 | MAY | The payer MAY add CQL Libraries and ValueSets as 'contained' resources inside the QuestionnaireResponse that are relevant to the questions that are part of the Questionnaire for each |
| spec-31 | MAY | Finally, the payer MAY opt to specify the CQL and codes without using Libraries or ValueSets at all – the CQL can be sent in-line within the various Expression elements, and the codes can be listed directly as answerOption Codings. |
| spec-32 | SHOULD | Payers needing full resources to be returned SHOULD use the |
| spec-33 | SHALL, SHOULD | Implementers that support Adaptive Questionnaires SHOULD always include a |
| spec-34 | MAY | The package returned by the |
| spec-35 | SHALL | In this circumstance these additional resources are being made available, and SHALL be retained in the session, on the likelihood that a question in one of those adaptive questionnaires returned by the |
| spec-36 | SHOULD | When using adaptive forms, DTR servers SHOULD return as many items in a single call as possible (within reason), including questions that can be determined as enabled or disabled using simple 'enableWhen' logic. |
| spec-37 | SHOULD | Calling the |
| spec-38 | SHALL | Conformant systems SHALL meet these timing expectations at least 90% of the time. |
| spec-39 | SHALL | In an adaptive Questionnaire with clinical or patient questions, systems that know that, after submitting the answers to the current unanswered questions, there will be no further questions targeted to patient or clinician, those systems SHALL provide a display item indicating that patient/clinical questions are complete. |
| spec-40 | SHOULD | Wherever possible, DTR services SHOULD leverage data retrieved from CRD and other mechanisms (claims data, PDex, etc.) to pre-populate answers in the QuestionnaireResponse returned to the client (regardless of whether the forms used are adaptive or standard). |
| spec-41 | SHALL | If Adaptive Forms are being used, and a DTR service determines that prior authorization is both necessary and the requirements have been satisfied, then the final question in the form SHALL be a question that asks the user if they would like the prior authorization identifier to be issued, and indicate the appropriate response options. |
| spec-42 | SHALL NOT | DTR Servers SHALL NOT provide a |
| spec-43 | SHALL | DTR payers SHALL ONLY use DTR adaptive forms to return a |
| spec-44 | SHALL | If an adaptive QuestionnaireResponse includes an unsolicited determination that authorization requirements have been "satisfied", the EHR SHALL allow the clinician to flag the provided determination number as "not valid". |
| spec-45 | SHALL | If a payer receives a new invocation of an adaptive form for the same order, they SHALL treat the result of the new completion as replacing any previous completion from a prior coverage determination process. |
| spec-46 | SHALL | If a final DTR QuestionnaireResponse includes a Coverage Information extension, the DTR Client SHALL associate the Coverage Information returned with the relevant Appointment, Encounter and/or Request resources and SHALL make the information provided in the extension available to their users for viewing. |
| spec-47 | SHALL | For the purpose of determining whether to update or replace, the combination of the 'coverage' reference and the |
| spec-48 | SHOULD-NOT | When updating an existing |
| spec-49 | SHALL | If an updated |
| spec-50 | MAY | In some cases, if there isn't specific data that can be retrieved computably from the EHR, it MAY be sufficient for a payer to merely have an attestation by the provider that certain documentation exists, that a certain patient condition exists, or that certain actions have been completed. |
| spec-51 | SHOULD | Payers SHOULD design questionnaires to support attestation rather than discrete data where this is sufficient for the business requirements. |
| spec-52 | MAY | Questionnaires MAY also support attaching reports or other supporting documentation (e.g., images, pathology reports, etc.) where providing question answers is not sufficient. |
| spec-53 | SHOULD | Payers SHOULD use the |
| spec-54 | SHALL | Questionnaires SHALL include logic that supports population from the EHR where possible. |
| spec-55 | SHOULD | Such logic SHOULD rely exclusively on data elements and search parameters defined either in US Core or HRex (including simple calculations there-on - e.g., age from birthdate). |
| spec-56 | SHOULD | Ideally, the design of questions in payer forms SHOULD consider what data is likely to be available for pre-population purposes, with an objective of minimizing provider data entry effort. |
| spec-57 | MAY | Due to differences in workflows or information systems, clinical information MAY be represented in different FHIR resources or with different codes or code systems. |
| spec-58 | MAY | Therefore, payer CQL MAY have to examine different resources or use value sets to find patient information. |
| spec-59 | SHALL | Any supplied CQL SHALL be used as the basis for pre-populating elements using data gathered from the EHR. |
| spec-60 | SHALL | DTR clients SHALL handle expressions in Questionnaires denoted as either CQL or FHIRPath (which is a proper subset of CQL). |
| spec-61 | SHOULD | DTR servers SHOULD identify inline expressions that are valid FHIRPath as FHIRPath rather than CQL. |
| spec-62 | SHALL | Prior to exposing items from the draft QuestionnaireResponse to the user for completion and/or review, the DTR client SHALL attempt to perform the SDC population of all elements having |
| spec-63 | MAY | However, clients MAY use alternative mechanisms that take into account the data requirements expressed by the CQL. |
| spec-64 | SHALL | Such alternative mechanisms SHALL provide pre-population that is overall at least as complete and accurate as would be achieved through CQL execution. |
| spec-65 | SHALL | All items that are pre-populated (whether by the payer in the initial QuestionnaireResponse provided in the questionnaire package, or from data retrieved from the EHR) SHALL have their |
| spec-66 | SHALL | DTR clients SHALL iterate as necessary until a steady state is reached. |
| spec-67 | SHALL | If dependencies are such that a steady state cannot be reached (e.g., an item that is enabled causes a value to be set which causes a different item to be enabled, that then disables the first item…), then the Questionnaire SHALL be treated as erroneous and attempts at automatic population SHALL end, with the user being informed of that. |
| spec-68 | SHALL | If executing CQL directly, the DTR client SHALL retrieve the FHIR resources specified in the |
| spec-69 | SHOULD | Queries SHOULD be constructed to minimize the retrieval of information that is not necessary to answer the relevant questions (For example, queries for medications that only require active medications should have appropriate filters to retrieve active medications and not inactive medications). |
| spec-70 | SHALL | DTR clients SHALL support such an incremental population of adaptive QuestionnaireResponses. |
| spec-71 | SHOULD | If DTR is launched using a previously saved QuestionnaireResponse, the DTR client SHOULD re-execute CQL to populate all empty elements, as well as those with an |
| spec-72 | SHALL | Any answers with an |
| spec-73 | SHALL | When executing CQL for population, DTR clients SHALL replace payer-prepopulated data unless the results of the CQL population is an empty set. |
| spec-74 | SHALL | If executing CQL directly, the engine SHALL make available to the execution context all such referenced CQL Libraries. |
| spec-75 | SHOULD | If not executing the CQL directly, alternative processes SHOULD consider the content of referenced libraries as well. |
| spec-76 | SHALL NOT | If the CQL is malformed (is not syntactically correct) in any way, a client directly executing the CQL SHALL NOT attempt any execution of the malformed CQL. |
| spec-77 | SHOULD | Clients not executing the CQL SHOULD be tolerant of malformed CQL. |
| spec-78 | SHALL | In either case, the client SHALL report the error to the payer using the Log Questionnaire Errors operation in addition to performing its own internal logging processes. |
| spec-79 | SHALL | If the CQL in the Questionnaire is only used for form population purposes, the app SHALL: |
| spec-80 | MAY | If the CQL also includes questionnaire logic, such as whether certain elements are enabled, or other validation rules, the DTR client (potentially in consultation with the user) MAY attempt to determine if the questionnaire is sufficiently simple that it would be reasonable to allow the user to attempt completion with potentially improperly enabled items. |
| spec-81 | SHALL | If this is not possible, the client SHALL notify the user that there is an issue with the questionnaire and prohibit further completion of the form. |
| spec-82 | SHALL NOT | A query for data that returns no results SHALL NOT be considered a failure. |
| spec-83 | SHOULD | The table below is guidance that SHOULD be used when constructing questions with coded answers: |
| spec-84 | SHOULD | All value set expansions SHOULD be made by using the DTR Valueset Expand ( |
| spec-85 | MAY | This CQL MAY query for patient observations, conditions, or other discrete information within the EHR to use as part of the population process or logic. |
| spec-86 | SHOULD | The mime type that SHOULD be used for a CQL Identifier is "text/cql-identifier" and CQL expressions embedded in the Questionnaire SHOULD use this type and reference CQL found in libraries rather than including CQL inline. (See supporting information here) |
| spec-87 | SHALL | All Libraries needed by a questionnaire SHALL be referenced by the |
| spec-88 | SHOULD, MAY | CQL logic SHOULD be partitioned to be specific to groups/questions/etc., when doing so will allow it to be more efficient - though consideration should also be given to whether performing significant data gathering at the outset (even if the data is unneeded) will produce a more positive experience than intermittent data retrieval 'on demand', when such retrieval MAY introduce user-interface delays. |
| spec-89 | MAY | This information MAY be gathered through a series of CQL statements. |
| spec-90 | SHOULD | When constructing this CQL for DTR, these statements SHOULD be nested in conditionals to first check if the patient has diabetes before checking for information dependent on that condition. |
| spec-91 | SHOULD | While CQL can either be embedded inline in Expression elements or packaged in Libraries, This guide strongly recommends that implementers SHOULD place CQL logic in libraries as it is much easier to edit and debug such logic when it is all in one place, rather than when it's scattered through many different expression elements throughout the Questionnaire. |
| spec-92 | SHALL | The CQL SHALL be compatible with version CQL 1.5. |
| spec-93 | SHALL | CQL SHALL have a context of "Patient". |
| spec-94 | SHALL | Within the Questionnaire, CQL SHALL follow SDC rules for determining context. |
| spec-95 | SHALL | Within Libraries, both raw CQL and compiled ELM (in JSON syntax – i.e., application/elm+json) SHALL be provided as separate content repetitions within the library. |
| spec-96 | SHALL | Within Expression elements, the base expression CQL SHALL be accompanied by an Alternative Expression Extension containing the compiled JSON ELM for the expression. |
| spec-97 | SHALL | If the Questionnaire depends on multiple Libraries (has multiple |
| spec-98 | SHALL, SHOULD | Library names SHALL be unique within a Questionnaire package and SHOULD be unique across all Libraries made available by the payer (e.g., "expression": "LowerLimbProsthesis".PhysicalExaminationType where LowerLimbProsthesis is the library name and PhysicalExaminationType is the expression name). |
| spec-99 | SHALL | FHIR Libraries SHALL send CQL and ELM using the |
| spec-100 | SHOULD | CQL tools SHOULD support additional FHIRPath variables and functions that are defined within SDC. |
| spec-101 | SHALL | Entities deploying SMART on FHIR DTR apps SHALL define an endpoint maintaining a list of payers currently supported by that app. |
| spec-102 | SHALL | This listing of Payers SHALL conform to the DTR Supported Payers profile also published in this IG. |
| spec-103 | SHALL | EHRs using external DTR apps SHALL support accessing the endpoint. |
| spec-104 | SHALL | Different endpoints SHALL be defined for different versions of the application in situations where support for payers varies by application version. |
| spec-105 | SHALL | It is important to note that the Payer Identifier used in this file SHALL be the same as the ones that are returned by the endpoint discovery mechanism defined in HRex. |
| spec-106 | SHALL | Accessing the endpoint will be by a simple GET with an Accept header of application/json and SHALL be performed over TLS. |
| spec-107 | SHALL | The |
| spec-108 | MAY | DTR MAY error if invoked with CRD |
| spec-109 | SHALL | The |
| spec-110 | SHOULD | DTR SHOULD error if it is invoked with an unrecognized TRN value or one from a PAS response that did not specify such a LOINC code. |
| spec-111 | SHALL | When the DTR process is being launched, the Electronic Health Record (EHR) system and DTR process SHALL follow the procedures established by the SMART App Launch Framework - specifically the SMART App Launch Framework's EHR launch sequence. |
| spec-112 | SHALL | The openId, user, and patient launch contexts SHALL be requested and provided. |
| spec-113 | SHOULD | In addition, the launch context SHOULD include fhirContext references as follows: |
| spec-114 | MAY | If these are not passed in as part of context, then the app MAY either raise an error or guide the user to select the needed records. |
| spec-115 | MAY | Payer-provided Questionnaires MAY require access to a wide range of resources. |
| spec-116 | SHALL | At a minimum, the DTR app and the HIT server SHALL support search access to the following resources via their FHIR RESTful API using the profiles defined by or referenced by this guide: |
| spec-117 | SHALL | Resources referenced from the above via Must Support elements, including transitive references, SHALL also be supported. |
| spec-118 | MAY | However, apps MAY opt to be more restrictive in their access requests if they are confident that they can do so while meeting payer CQL needs and EHRs indicate this is desirable. |
| spec-119 | SHALL | Regardless of the scopes asked for and granted by the user, the EHR SHALL limit access to only that data they deem appropriate for use in automatically populating payer forms, in particular restricting sensitive data. |
| spec-120 | SHALL | Payers SHALL require DTR apps and EHRs connecting to their endpoint to authenticate using SMART on FHIR Backend Services. |
| spec-121 | SHALL | If the launch context did not include Coverages, a QuestionnaireResponse or a Request or Encounter, the DTR app SHALL either generate an error or allow the user to search to find one to use as context for the DTR session. |
| spec-122 | SHALL | The |
| spec-123 | SHALL | If any of the retrieved Questionnaires have an |
| spec-124 | SHOULD | If an expired Questionnaire is retrieved when it wasn't explicitly requested by referring to a canonical version, but instead by passing in the relevant order(s) and/or context id, the DTR client SHOULD report an error to the payer. |
| spec-125 | SHALL NOT | Previously completed QuestionnaireResponses SHALL NOT be used by DTR clients to complete Questionnaires received due to concerns about currency of clinical information. |
| spec-126 | SHALL | When launched after CRD, the context, Request and referenced resources SHALL be present. |
| spec-127 | MAY | Questionnare canonicals MAY be present. |
| spec-128 | SHALL | DTR servers SHALL allow for the possibility of minor changes in the order between CRD and DTR (e.g., changes to status, adding notes, etc.) that mean that the instances don't have to be identical to be considered the same order. |
| spec-129 | MAY | DTR servers MAY raise an error if they receive an order that is unrelated to the provided context id. |
| spec-130 | SHALL | If DTR is invoked and there are issues with the source data (e.g., the coverage cannot be found, the context id can't be found, etc.), then the DTR service SHALL return a 4xx error with an accompanying OperationOutcome. |
| spec-131 | MAY | In some cases, the population process MAY populate all answers to the Questionnaire. |
| spec-132 | SHALL | The DTR client SHALL provide the ability, but NOT a requirement, for providers to review, and if necessary revise, pre-populated answers prior to saving the resulting response for subsequent use within the EHR. |
| spec-133 | SHOULD | Implementers SHOULD review the advanced rendering, advanced behavior, population and adaptive forms portions of the SDC implementation guide, focusing on the elements and extensions included in the DTR profiles. |
| spec-134 | SHOULD | Implementers SHOULD also be familiar with the documentation about the Questionnaire and QuestionnaireResponse resources from the core FHIR specification. |
| spec-135 | SHALL | All DTR applications SHALL support rendering according to the |
| spec-136 | SHALL | CQL and FHIR Questionnaires SHALL be required even when DTR is implemented within a DTR Native App as opposed to a DTR SMART App. |
| spec-137 | SHALL | When a user fills in a value or changes an answer in a QuestionnaireResponse, the DTR client SHALL populate the |
| spec-138 | SHALL | DTR clients SHALL either provide a PractitionerRole in the SMART App launch of DTR or support transmitting the role by means of the |
| spec-139 | SHALL | All references within the QuestionnaireResponse SHALL only point to either contained resources or to resources that reside on the DTR client's FHIR endpoint. |
| spec-140 | SHALL | The only situation where a resource can be 'contained' SHALL be if the contained instance is provided by the payer either: |
| spec-141 | SHALL | The only place 'contained' resource references are permitted SHALL be in |
| spec-142 | SHALL | The DTR client SHALL validate the QuestionnaireResponse on an ongoing basis as the user is reviewing and entering data. |
| spec-143 | SHALL | The client SHALL visually flag any elements that require adjustment to meet validation rules. |
| spec-144 | SHALL, MAY | For Standard Questionnaires, when the QuestionnaireResponse is valid, the DTR client SHALL indicate that to the user and allow them to mark the QuestionnaireResponse as complete, though the user MAY opt to continue making changes or save the QuestionnaireResponse in draft form. |
| spec-145 | SHALL NOT | The DTR app SHALL NOT mark a Standard QuestionnaireResponse as 'complete' automatically. |
| spec-146 | SHALL NOT | The DTR client SHALL NOT allow the user to indicate they are ready for the next question/set of questions until the answers to the current QuestionnaireResponse pass validation rules. |
| spec-147 | SHALL | If |
| spec-148 | MAY | However, the QuestionnaireResponse MAY have a |
| spec-149 | MAY | In some cases, the answer to a question modified by a user MAY be the input to an expression driving other logic within the questionnaire. |
| spec-150 | SHALL | DTR clients SHALL monitor for changes to dependent questionnaire answers and re-execute logic, adjusting calculatedValues, enabling elements, adjusting validation rules, etc. based on changes made by the user. |
| spec-151 | SHALL | At any point prior to completion a DTR client SHALL be able to save the |
| spec-152 | SHALL | When the QuestionnaireResponse has been marked as |
| spec-153 | SHALL | A DTR SMART App SHALL 'create' the record if it had not previously been stored, or 'update' if the record had already been saved at least once via the FHIR API. |
| spec-154 | SHALL | Upon storing a completed QuestionnaireResponse with one or more |
| spec-155 | SHALL | If a |
| spec-156 | SHALL | In those cases where a QuestionnaireResponse is to be used to convey information either to the payer or to downstream service providers, the DTR Client SHALL place the QuestionnaireResponse in a 'collection' Bundle complying with the questionnaireResponseBundle profile. |
| spec-157 | SHALL | This Bundle SHALL include no more than one QuestionnaireResponse entry and it SHALL be the initial entry. |
| spec-158 | SHALL | The bundle SHALL also include any resources that are referenced by the QuestionnaireResponse as answerReference that are not already contained within the QuestionnaireResponse. |
| spec-159 | SHALL | If the initial |
| spec-160 | SHALL | Such resources SHALL either be PDFs or XHTML pages that adhere to FHIR's 'safe' HTML rules (no active content or scripts) |
| spec-161 | MAY | Some payers MAY require that attestations or other answers be 'signed' (the electronic equivalent of 'initialing' the answer). |
| spec-162 | SHOULD | The DTR client SHOULD use result caching so that results queried by CQL (or otherwise retrieved based on CQL) previously remain available after a subsequent call to $next-question. |
| spec-163 | SHOULD-NOT, SHOULD | These value sets SHOULD be expanded by the client and therefore SHOULD NOT be included in the questionnaire package. |
| spec-164 | SHOULD | Payers SHOULD design their questionnaires, value sets, and libraries with the knowledge that content which is too large may cause DTR clients to fail. |
| spec-165 | SHALL NOT | Such contained Binary pages SHALL NOT point to other contained resources unless those resources are pointed to directly by other elements in the Questionnaire. |
| spec-166 | MAY | Implementers MAY embed images or other content using the 'data' mechanism, or may opt to combine multiple files into a single instance to eliminate the need for inter-linking. |