Da Vinci - Coverage Requirements Discovery
2.2.0-snapshot - STU 2.2 Peer Review United States of America flag

Da Vinci - Coverage Requirements Discovery, published by HL7 International / Financial Management. This guide is not an authorized publication; it is the continuous build for version 2.2.0-snapshot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/davinci-crd/ and changes regularly. See the Directory of published versions

: Narrative Conformance Statements

Page standards status: Trial-use Maturity Level: 4

Raw xml | Download


<Requirements xmlns="http://hl7.org/fhir">
  <id value="fromNarrative"/>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><p class="res-header-id"><b>Generated Narrative: Requirements fromNarrative</b></p><a name="fromNarrative"> </a><a name="hcfromNarrative"> </a><p>These requirements apply to the following actors: </p><ul><li><a href="ActorDefinition-crd-server.html">CRD Server</a></li><li><a href="ActorDefinition-crd-server-org.html">CRD Server Organization</a></li><li><a href="ActorDefinition-crd-client-org.html">CRD Client Organization</a></li><li><a href="ActorDefinition-crd-client.html">CRD Client</a></li></ul><table class="grid"><tr><td><b><a name="billopt-1"> </a></b>billopt-1</td><td>SHALL</td><td><div><p>CRD clients <strong>SHALL</strong> use the billing-options extension to convey likely billing codes if they are known, but are not required to know billing codes (e.g. if ordering and performing systems will differ).</p>
</div></td></tr><tr><td><b><a name="billopt-2"> </a></b>billopt-2</td><td/><td><div><p>CRD servers <strong>SHALL NOT</strong> depend on the billing-options extension being present in order to provide a response.</p>
</div></td></tr><tr><td><b><a name="billopt-3"> </a></b>billopt-3</td><td>SHALL, MAY</td><td><div><p>If codes are provided with the billing-options extension, CRD servers <strong>SHALL</strong> consider any codes provided and <strong>MAY</strong> consider additional codes determined by their own mapping when returning coverage information responses.</p>
</div></td></tr><tr><td><b><a name="conf-1"> </a></b>conf-1</td><td>SHALL</td><td><div><p>CRD clients <strong>SHALL</strong> support at least one of the three specified versions of US Core.</p>
</div></td></tr><tr><td><b><a name="conf-2"> </a></b>conf-2</td><td>SHALL</td><td><div><p>CRD servers <strong>SHALL</strong> be able to handle all three US Core versions.</p>
</div></td></tr><tr><td><b><a name="conf-3"> </a></b>conf-3</td><td>SHALL</td><td><div><p>If the CRD client maintains a mustSupport data element and surfaces it to users, then it <strong>SHALL</strong> be exposed in their FHIR interface when the data exists and privacy constraints permit.</p>
</div></td></tr><tr><td><b><a name="conf-4"> </a></b>conf-4</td><td>SHALL</td><td><div><p>CRD servers <strong>SHALL</strong> leverage mustSupport elements as available and appropriate to provide decision support.</p>
</div></td></tr><tr><td><b><a name="conf-5"> </a></b>conf-5</td><td>SHALL</td><td><div><p>CRD servers <strong>SHALL</strong> populate mustSupport elements if an appropriate value exists.</p>
</div></td></tr><tr><td><b><a name="conf-6"> </a></b>conf-6</td><td>SHALL</td><td><div><p>CRD clients <strong>SHALL</strong> make the mustSupport data available to the appropriate user (clinical or administrative) or leverage the data within their workflow as necessary to follow the intention of the provided decision support.</p>
</div></td></tr><tr><td><b><a name="conf-7"> </a></b>conf-7</td><td/><td><div><p>When preparing <a href="StructureDefinition-ext-coverage-information.html">Coverage Information</a> responses, CRD servers <strong>SHALL NOT</strong> depend on or set expectations for the inclusion of resource instances not compliant with profiles defined in this guide, HRex, or US Core.</p>
</div></td></tr><tr><td><b><a name="conf-8"> </a></b>conf-8</td><td/><td><div><p>CRD servers <strong>SHALL NOT</strong> depend on or set expectations for the inclusion of any data elements not marked as mandatory (min cardinality &gt;= 1) or mustSupport in those profiles.</p>
</div></td></tr><tr><td><b><a name="conf-9"> </a></b>conf-9</td><td>SHOULD</td><td><div><p>When preparing <a href="cards.html">response types</a> other than Coverage Information, CRD servers <strong>SHOULD</strong> limit themselves to the same resource instances and data elements as permitted above for Coverage Information responses.</p>
</div></td></tr><tr><td><b><a name="conf-10"> </a></b>conf-10</td><td/><td><div><p>CRD clients <strong>SHALL NOT</strong> depend on or set expectations for CRD servers to communicate data elements not marked as mandatory or mustSupport in the CRD specification.</p>
</div></td></tr><tr><td><b><a name="conf-11"> </a></b>conf-11</td><td>MAY</td><td><div><p>implementations <strong>MAY</strong>, by mutual agreement, pre-adopt the use of those additional CI-build profiles and/or mustSupport data elements and not be considered in violation of #1 or #3 above.</p>
</div></td></tr><tr><td><b><a name="conf-12"> </a></b>conf-12</td><td/><td><div><p>Where cardinality and other constraints present in profiles allow data elements to be omitted, CRD compliant systems <strong>SHALL NOT</strong> treat the omission of those elements as an error.</p>
</div></td></tr><tr><td><b><a name="conf-13"> </a></b>conf-13</td><td>SHALL</td><td><div><p>CRD clients and services and <strong>SHALL</strong> use standard CRD data elements (i.e. elements found within CRD-defined or inherited profiles and marked as mandatory or mustSupport) to communicate needed data where the elements are intended to convey such information.</p>
</div></td></tr><tr><td><b><a name="conf-14"> </a></b>conf-14</td><td/><td><div><p>CRD implementing organizations <strong>SHALL NOT</strong> publish guidance setting expectations for where certain data elements are conveyed within CRD and inherited data structures</p>
</div></td></tr><tr><td><b><a name="covinfo-1"> </a></b>covinfo-1</td><td>SHOULD</td><td><div><p>The union of the scoping elements in each coverage-information repetition <strong>SHOULD</strong> be disjoint.</p>
</div></td></tr><tr><td><b><a name="covinfo-2"> </a></b>covinfo-2</td><td>SHOULD</td><td><div><p>If there are multiple reason repetitions, each repetition <strong>SHOULD</strong> make clear exactly what aspect of the coverage information assertion the reason applies to.</p>
</div></td></tr><tr><td><b><a name="dev-1"> </a></b>dev-1</td><td>SHALL</td><td><div><p>CRD servers <strong>SHALL</strong> declare at least one supported CRD version for each supported hook.</p>
</div></td></tr><tr><td><b><a name="dev-2"> </a></b>dev-2</td><td>SHALL</td><td><div><p>If the services endpoint can handle multiple CRD versions, it <strong>SHALL</strong> declare all versions it supports.</p>
</div></td></tr><tr><td><b><a name="dev-3"> </a></b>dev-3</td><td>SHALL, MAY</td><td><div><p>The requestedVersion extension <strong>SHALL</strong> be present if the service indicates it supports multiple versions for that hook, but <strong>MAY</strong> be present always.</p>
</div></td></tr><tr><td><b><a name="dev-4"> </a></b>Each configuration option SHALL include four mandatory elements.</td><td>SHALL</td><td><div><ul>
<li>
<p>Each configuration option <strong>SHALL</strong> include four mandatory elements:</p>
</li>
<li>
<p>A <code>code</code> that will be used when setting configuration during hook invocation, and has an (<a href="http://www.hl7.org/fhir/terminologies.html#extensible">extensible</a>) binding to the <a href="ValueSet-cardType.html">CRD Response Types</a> ValueSet.</p>
</li>
<li>
<p>A data <code>type</code> for the parameter. At present, allowed values are &quot;boolean&quot; and &quot;integer&quot;. (NOTE: These are the JSON data types and not the FHIR data types.)</p>
</li>
<li>
<p>A display <code>name</code> for the configuration option to appear in the client's user interface when performing configuration.</p>
</li>
<li>
<p>A <code>description</code> providing a 1-2 sentence description of the effect of the configuration option.</p>
</li>
<li>
<p>A <code>default</code> value <strong>SHALL</strong> also be provided to show users what to expect when an override is not specified.</p>
</li>
</ul>
</div></td></tr><tr><td><b><a name="dev-5"> </a></b>dev-5</td><td>SHALL</td><td><div><p>CRD servers <strong>SHALL</strong>, at minimum, offer configuration options for each type of card they support (with a code corresponding to the <a href="ValueSet-cardType.html">CRD Response Types</a> ValueSet and a type of ‘boolean’, where setting the flag to false will result in the server not returning any cards of the specified type).</p>
</div></td></tr><tr><td><b><a name="dev-6"> </a></b>dev-6</td><td>SHALL</td><td><div><p>Guidance can be given about allowed combinations in descriptions, but CRD servers <strong>SHALL</strong> gracefully handle disallowed/nonsensical combinations.</p>
</div></td></tr><tr><td><b><a name="dev-7"> </a></b>dev-7</td><td>SHALL</td><td><div><p>Configuration codes <strong>SHALL</strong> be valid JSON property names and <strong>SHALL</strong> come from the <a href="ValueSet-cardType.html">CRD Response Types</a> list if an applicable type is in that list.</p>
</div></td></tr><tr><td><b><a name="dev-8"> </a></b>dev-8</td><td>SHALL</td><td><div><p>Configuration codes, names, and descriptions <strong>SHALL</strong> be unique within a <a href="http://cds-hooks.hl7.org/2026Jan/index.html#response">CDS Service</a> definition.</p>
</div></td></tr><tr><td><b><a name="dev-9"> </a></b>dev-9</td><td>SHOULD</td><td><div><p>Configuration codes, names, and descriptions <strong>SHOULD</strong> be consistent across different hooks supported by the same payer when dealing with the same types of configuration options.</p>
</div></td></tr><tr><td><b><a name="dev-10"> </a></b>dev-10</td><td>SHOULD</td><td><div><p>CRD servers providing more than one type of coverage requirement information/guidance <strong>SHOULD</strong> expose configuration options allowing clients to dynamically control what information is returned by the service.</p>
</div></td></tr><tr><td><b><a name="dev-11"> </a></b>dev-11</td><td>SHOULD</td><td><div><p>CRD Clients <strong>SHOULD</strong> expose configuration options through a configuration screen to allow users and/or system administrators to control the types of information returned.</p>
</div></td></tr><tr><td><b><a name="dev-12"> </a></b>dev-12</td><td>SHALL</td><td><div><p>CRD Clients <strong>SHALL</strong> convey configuration options when invoking the hook using the davinci-crd.configuration extension. It will be a single object whose properties will be drawn from the code values from configuration options and whose values will be of the type defined for that option.</p>
</div></td></tr><tr><td><b><a name="dev-13"> </a></b>dev-13</td><td>SHOULD</td><td><div><p>CRD Clients <strong>SHOULD</strong> provide an ability to leverage the dynamic configuration capabilities of payer services based on provider role, individual provider, and/or hook invocation location as best meets the needs of their users.</p>
</div></td></tr><tr><td><b><a name="dev-14"> </a></b>dev-14</td><td>SHALL</td><td><div><p>CRD Servers <strong>SHALL</strong> behave in the manner prescribed by any supported configuration information received from the CRD Client.</p>
</div></td></tr><tr><td><b><a name="dev-15"> </a></b>dev-15</td><td/><td><div><p>CRD Servers <strong>SHALL NOT</strong> require the inclusion of configuration information in a hook call (i.e. no hook invocation is permitted to fail because configuration information was not included).</p>
</div></td></tr><tr><td><b><a name="dev-16"> </a></b>dev-16</td><td>MAY</td><td><div><p>CRD Clients <strong>MAY</strong> send configuration information that CRD Servers do not support.</p>
</div></td></tr><tr><td><b><a name="dev-17"> </a></b>dev-17</td><td>SHALL</td><td><div><p>CRD Servers <strong>SHALL</strong> ignore unsupported configuration information.</p>
</div></td></tr><tr><td><b><a name="dev-18"> </a></b>dev-18</td><td>SHALL</td><td><div><p>Prefetches with dependencies <strong>SHALL</strong> be listed after the prefetches they depend on.</p>
</div></td></tr><tr><td><b><a name="dev-19"> </a></b>dev-19</td><td>SHOULD</td><td><div><p>When included with a Task, the creation of the Questionnaire needs to be conditional - it <strong>SHOULD</strong> only occur if that specific Questionnaire version does not already exist</p>
</div></td></tr><tr><td><b><a name="dev-20"> </a></b>dev-20</td><td>SHALL</td><td><div><p>the CRD server <strong>SHALL</strong> query to determine if the client has a copy of the Questionnaire before sending the request.</p>
</div></td></tr><tr><td><b><a name="dev-21"> </a></b>dev-21</td><td>SHALL</td><td><div><p>For the purposes of this implementation guide, the inclusion of the <code>id</code> element in 'created' resources and references in created and updated resources within multi-action suggestions <strong>SHALL</strong> be handled as per FHIR's <a href="http://hl7.org/fhir/R4/http.html#trules">transaction processing rules</a>.</p>
</div></td></tr><tr><td><b><a name="dev-22"> </a></b>dev-22</td><td>SHALL</td><td><div><p>Specifically, this means that if a FHIR Reference points to the resource type and <code>id</code> of a resource of another 'create' Action in the same Suggestion, then the reference to that resource <strong>SHALL</strong> be updated by the server to point to the <code>id</code> assigned by the client when performing the 'create'.</p>
</div></td></tr><tr><td><b><a name="dev-23"> </a></b>dev-23</td><td>SHALL</td><td><div><p>CRD Clients <strong>SHALL</strong> perform 'creates' in an order that ensures that referenced resources are created prior to referencing resources.</p>
</div></td></tr><tr><td><b><a name="dev-24"> </a></b>dev-24</td><td>SHALL</td><td><div><p>If a hook service is invoked on a collection of resources, all cards returned that are specific to only a subset of the resources passed as context <strong>SHALL</strong> disambiguate in the <code>detail</code> element which resources they are associated with in a human-friendly way.</p>
</div></td></tr><tr><td><b><a name="dev-25"> </a></b>dev-25</td><td>SHOULD</td><td><div><p>As well, cards <strong>SHOULD</strong> include the associated-resource extension to allow computable linkage.</p>
</div></td></tr><tr><td><b><a name="dev-26"> </a></b>dev-26</td><td>SHALL</td><td><div><p>CRD clients <strong>SHALL</strong> only invoke hooks on payer services where the patient record indicates active coverage with the payer associated with the service and where there is no recorded indication the patient intends to bypass insurance coverage (i.e. the service or product is not flagged as 'patient-pay').</p>
</div></td></tr><tr><td><b><a name="dev-27"> </a></b>dev-27</td><td>MAY</td><td><div><p>CRD clients <strong>MAY</strong> limit hook invocation to only those payers that are believed to potentially have relevant information related to the current action - for example, clinical guidance, contraindication detection, etc.</p>
</div></td></tr><tr><td><b><a name="dev-28"> </a></b>dev-28</td><td>SHALL</td><td><div><p>To avoid confusion for providers, where a patient has multiple active coverages that could be relevant to the current order/appointment/etc., CRD clients <strong>SHALL</strong> select from those coverages which is most likely to be primary and only solicit coverage information for that one payer.</p>
</div></td></tr><tr><td><b><a name="dev-29"> </a></b>dev-29</td><td>SHALL, MAY</td><td><div><p>This primary coverage <strong>SHALL</strong> be the only one included in the prefetch content as part of the CRD request, though other coverages <strong>MAY</strong> be exposed over the CRD client's FHIR API.</p>
</div></td></tr><tr><td><b><a name="dev-30"> </a></b>dev-30</td><td>SHALL</td><td><div><p>If they invoke CRD on other payers, CRD clients <strong>SHALL</strong> ensure that response types that return coverage information are disabled for those 'likely secondary' payers.</p>
</div></td></tr><tr><td><b><a name="dev-31"> </a></b>dev-31</td><td>MAY</td><td><div><p>In situations where a CRD client determines that there are different primary coverages for different items in the same order action, they <strong>MAY</strong> choose to send separate CRD calls (each with its own access token) for the collection of services pertinent to that Coverage.</p>
</div></td></tr><tr><td><b><a name="dev-32"> </a></b>dev-32</td><td>SHALL</td><td><div><p>Where the patient has multiple active coverages that the CRD client deems appropriate to call the respective CRD servers for, the CRD client <strong>SHALL</strong> invoke all CRD server calls in parallel and display results simultaneously to ensure timely response to user action.</p>
</div></td></tr><tr><td><b><a name="found-1"> </a></b>found-1</td><td>MAY</td><td><div><p>CRD servers and CRD clients <strong>MAY</strong> mutually agree to support additional hooks, additional card patterns, additional resources, additional extensions, etc.</p>
</div></td></tr><tr><td><b><a name="found-2"> </a></b>found-2</td><td>SHALL</td><td><div><p>CRD servers <strong>SHALL</strong> return responses for all supported hooks and <strong>SHALL</strong> respond within the required time 90% of the time.</p>
</div></td></tr><tr><td><b><a name="found-3"> </a></b>found-3</td><td>MAY</td><td><div><p>If a CRD client does not receive a response within the 5 or 10-second window, it <strong>MAY</strong> either abandon the call or process the response asynchronously.</p>
</div></td></tr><tr><td><b><a name="found-4"> </a></b>found-4</td><td>SHOULD</td><td><div><p>Where a CRD server responds with a coverage information extension indicating <code>doc-needed</code> of 'clinical', 'admin', or 'patient' and the payer supports DTR, the responsible organization <strong>SHOULD</strong> support gathering the additional information via DTR.</p>
</div></td></tr><tr><td><b><a name="found-5"> </a></b>found-5</td><td>SHOULD</td><td><div><p>CRD servers <strong>SHOULD</strong> query all data necessary to make their coverage determination decisions if that data is available for query in the EHR and that data is not returned in prefetch.</p>
</div></td></tr><tr><td><b><a name="found-6"> </a></b>found-6</td><td>SHALL</td><td><div><p>CRD clients <strong>SHALL</strong> provide a mechanism for providers to bypass a CRD process that is taking longer than the aforementioned time limit to ensure users are not blocked from proceeding with their business flow.</p>
</div></td></tr><tr><td><b><a name="found-7"> </a></b>found-7</td><td>MAY</td><td><div><p>For responses that come back in a time period that exceeds the time maximm duration specifd in this guide, CRD clients <strong>MAY</strong> ignore the resulting cards and/or system actions.</p>
</div></td></tr><tr><td><b><a name="found-8"> </a></b>found-8</td><td>SHALL</td><td><div><p>CRD servers <strong>SHALL</strong> ensure that the guidance returned with respect to coverage and prior authorizations (e.g., assertions that a service is covered, or prior authorization is not necessary) is as accurate as guidance that would be provided by other means (e.g., portals, phone calls).</p>
</div></td></tr><tr><td><b><a name="found-9"> </a></b>found-9</td><td>SHOULD</td><td><div><p>Also, coverage and authorization guidance <strong>SHOULD</strong> allow for possible variances in coding and submission.</p>
</div></td></tr><tr><td><b><a name="found-10"> </a></b>found-10</td><td>SHALL</td><td><div><p>CRD servers <strong>SHALL</strong> retain all coverage guidance provided and take into account answers provided via CRD (and DTR) when subsequently adjudicating claims.</p>
</div></td></tr><tr><td><b><a name="found-11"> </a></b>found-11</td><td>SHOULD</td><td><div><p>Where the selected code is not already a billing code and CRD clients are able to automatically determine what the corresponding billing code is, they <strong>SHOULD</strong> send a Coding with the billing code alongside the clinical code to reduce the risk of the receiving payer making a different translation.</p>
</div></td></tr><tr><td><b><a name="found-12"> </a></b>found-12</td><td>SHALL</td><td><div><p>CRD servers <strong>SHALL</strong> ensure that CDS Hooks return only messages and information relevant and useful to the intended recipient.</p>
</div></td></tr><tr><td><b><a name="found-13"> </a></b>found-13</td><td>SHALL</td><td><div><p>If a CRD server supports <a href="https://build.fhir.org/ig/HL7/davinci-ehrx//endpoint-discovery.html">endpoint discovery</a>, they <strong>SHALL</strong> have at most a single endpoint for each coverage (e.g., Medicare, Medicaid, or commercial) they provide coverage under.</p>
</div></td></tr><tr><td><b><a name="found-14"> </a></b>found-14</td><td>SHALL</td><td><div><p>If a CRD server does not support endpoint discovery, they <strong>SHALL</strong> expose only one CRD endpoint capable of handling all coverages.</p>
</div></td></tr><tr><td><b><a name="found-15"> </a></b>found-15</td><td>SHOULD</td><td><div><p>When the connection between a particular client and server has evolved to an automated configuration approach, CRD Clients <strong>SHOULD</strong> perform the discovery process on the CRD server at least once per day to detect any changes to supported hooks, prefetch requirements, and/or configuration options.</p>
</div></td></tr><tr><td><b><a name="found-16"> </a></b>found-16</td><td>SHOULD</td><td><div><p>If a CRD client encounters an error when invoking a hook, they <strong>SHOULD</strong> re-run the discovery process before failing.</p>
</div></td></tr><tr><td><b><a name="found-17"> </a></b>found-17</td><td>MAY</td><td><div><p>CRD clients and servers <strong>MAY</strong> leverage the <a href="http://hl7.org/fhir/us/davinci-pdex-plan-net">payer registry</a> developed by PDex (which will eventually fold into the <a href="https://confluence.hl7.org/display/FAST/National+Healthcare+Directory">national directory under FAST</a>) as a means of determining which endpoints exist for which payers as candidates for configuration.</p>
</div></td></tr><tr><td><b><a name="found-18"> </a></b>found-18</td><td>SHOULD</td><td><div><p>Once plans are in the national directory, CRD clients <strong>SHOULD</strong> include that plan identifier to uniquely identify a plan.</p>
</div></td></tr><tr><td><b><a name="found-19"> </a></b>found-19</td><td>SHALL</td><td><div><p>When a CRD client invokes a CRD server via CDS Hooks, it <strong>SHALL</strong> provide an access token that allows the CRD server to retrieve additional patient information.</p>
</div></td></tr><tr><td><b><a name="found-20"> </a></b>found-20</td><td>SHALL</td><td><div><p>The CRD client <strong>SHALL</strong> limit the scopes provided in their access token as narrowly as feasible to reflect the data requirements identified by the CRD server as necessary to perform their decision support.</p>
</div></td></tr><tr><td><b><a name="found-21"> </a></b>found-21</td><td>SHOULD</td><td><div><p>Such access tokens <strong>SHOULD</strong> have an expiration time of no longer than 30 seconds which should be sufficient for even 'parallel' decision support with something like 'Order Select' where a user continues to work while the decision support call is processing.</p>
</div></td></tr><tr><td><b><a name="found-22"> </a></b>found-22</td><td>SHALL</td><td><div><p>For this release of the IG, conformant CRD clients and servers <strong>SHALL</strong> support the CDS Hooks <a href="http://cds-hooks.hl7.org/2026Jan/index.html#prefetch-template">prefetch</a> capability.</p>
</div></td></tr><tr><td><b><a name="found-23"> </a></b>found-23</td><td>SHALL</td><td><div><p>Clients <strong>SHALL</strong> be able to supply all the existing resources defined in the <a href="foundation.html#prefetch">prefetch</a> section below for request resources they support.</p>
</div></td></tr><tr><td><b><a name="found-24"> </a></b>found-24</td><td>SHALL</td><td><div><p>Servers <strong>SHALL</strong> use prefetch expressions in the manner described if those data elements are relevant to their coverage determination or other decision support.</p>
</div></td></tr><tr><td><b><a name="found-25"> </a></b>found-25</td><td>MAY</td><td><div><p>They <strong>MAY</strong> include more and/or less prefetch requests than described in this Additional Data Retrieval section, based on which data is desired.</p>
</div></td></tr><tr><td><b><a name="found-26"> </a></b>found-26</td><td>SHOULD</td><td><div><p>Prefetch requests <strong>SHOULD</strong> only include information that is always expected to be needed for each hook invocation.</p>
</div></td></tr><tr><td><b><a name="found-27"> </a></b>found-27</td><td>SHALL</td><td><div><p>When information is only needed for certain invocations of the hook (e.g., for specific types of medications or services), that information <strong>SHALL</strong> only be retrieved by query using the provided token, never requested universally via prefetch.</p>
</div></td></tr><tr><td><b><a name="found-28"> </a></b>found-28</td><td>SHALL</td><td><div><p>CRD Servers <strong>SHALL</strong> be able to parse and execute prefetches that use the x-fhir-query syntax defined in the current CDS Hooks specification and not fail if that syntax is present.</p>
</div></td></tr><tr><td><b><a name="found-29"> </a></b>found-29</td><td>SHOULD-NOT</td><td><div><p>CRD client implementations <strong>SHOULD NOT</strong> depend on standardized prefetch key names.</p>
</div></td></tr><tr><td><b><a name="found-30"> </a></b>found-30</td><td>SHALL</td><td><div><p>CRD clients supporting prefetch <strong>SHALL</strong> inspect the CDS Hooks discovery endpoint to determine exact prefetch key names and queries.</p>
</div></td></tr><tr><td><b><a name="found-31"> </a></b>found-31</td><td>SHALL</td><td><div><p>As mentioned in <a href="deviations.html#controlling-hook-invocation">Controlling Hook Invocation</a>, Coverage included in prefetch <strong>SHALL</strong> be limited to a single instance.</p>
</div></td></tr><tr><td><b><a name="found-32"> </a></b>found-32</td><td/><td><div><p>HTTP 412 responses <strong>SHALL NOT</strong> be used in situations where the prefetch was provided or the query was successfully performed but the record in question did not have all the data the payer might have needed/desired.</p>
</div></td></tr><tr><td><b><a name="found-33"> </a></b>found-33</td><td>SHALL</td><td><div><p>CRD clients and servers <strong>SHALL</strong> ignore unexpected elements when processing instances.</p>
</div></td></tr><tr><td><b><a name="found-34"> </a></b>found-34</td><td>SHALL</td><td><div><p>CRD servers <strong>SHALL</strong> provide what coverage requirements they can based on the information available.</p>
</div></td></tr><tr><td><b><a name="found-35"> </a></b>found-35</td><td>SHALL, SHOULD, MAY</td><td><div><p>In the specific case of order-based hooks, &quot;what if&quot; <strong>SHOULD</strong> use the Order Sign hook but <strong>SHALL</strong> use the configuration option that prevents the return of an unsolicited determination and <strong>MAY</strong> use configuration options to prevent the return of other irrelevant types of cards (e.g., duplicate therapy).</p>
</div></td></tr><tr><td><b><a name="found-36"> </a></b>found-36</td><td>SHALL</td><td><div><p>When CRD clients pass resources to a CRD server as part of context, the resources <strong>SHALL</strong> have an 'id' and that 'id' <strong>SHALL</strong> be usable as a target for references in resources manipulated by CDS Hooks actions and/or by SMART apps.</p>
</div></td></tr><tr><td><b><a name="found-37"> </a></b>found-37</td><td>SHALL</td><td><div><p>Therefore, in addition to any logging performed for security purposes, both CRD clients and CRD servers <strong>SHALL</strong> retain logs of all CRD-related hook invocations and their responses for access in the event of a dispute.</p>
</div></td></tr><tr><td><b><a name="found-38"> </a></b>found-38</td><td>SHALL</td><td><div><p>Organizations <strong>SHALL</strong> have processes to ensure logs can be accessed by appropriate authorized users to help resolve discrepancies or issues in a timely manner.</p>
<p>NOTE: Because the information in these logs will often contain PHI, access to the logs themselves will need to be restricted and logged for security purposes.</p>
</div></td></tr><tr><td><b><a name="found-39"> </a></b>found-39</td><td>SHOULD</td><td><div><p>CRD clients <strong>SHOULD</strong> ensure that multiple cards with the same advice are handled in a way that will not create a burden on the user.</p>
</div></td></tr><tr><td><b><a name="found-40"> </a></b>found-40</td><td>SHOULD</td><td><div><p>Conformant systems <strong>SHOULD</strong> omit non-significant whitespace in transmitted instances for performance reasons.</p>
</div></td></tr><tr><td><b><a name="hook-1"> </a></b>hook-1</td><td>SHALL</td><td><div><p>CRD Clients conforming to this implementation guide <strong>SHALL</strong> be able to determine the correct payer CRD server to use for each request.</p>
</div></td></tr><tr><td><b><a name="hook-2"> </a></b>hook-2</td><td>SHALL, SHOULD</td><td><div><p>CRD Clients conforming to this implementation guide <strong>SHALL</strong> support at least one of the hooks and (for order-centric hooks), at least one of the order resource types listed below, and <strong>SHOULD</strong> support all that apply to the context of their system.</p>
</div></td></tr><tr><td><b><a name="hook-3"> </a></b>hook-3</td><td>SHALL</td><td><div><p>For systems that support ordering products or services covered by one of the CRD-supported request types, such clients <strong>SHALL</strong> support the order-sign hook for the order types they support.</p>
</div></td></tr><tr><td><b><a name="hook-4"> </a></b>hook-4</td><td>SHALL</td><td><div><p>CRD Servers conforming to this implementation guide <strong>SHALL</strong> provide a service for all hooks and order resource types required of CRD clients by this implementation guide unless the server has determined that the hook will not be reasonably useful in determining coverage or documentation expectations for the types of coverage provided.</p>
</div></td></tr><tr><td><b><a name="hook-5"> </a></b>hook-5</td><td>MAY</td><td><div><p>CRD Clients and CRD Servers <strong>MAY</strong> choose to support additional hooks available in the registry on the <a href="https://build.fhir.org/ig/HL7/cds-hooks-library">CDS Hooks continuous integration build</a> or custom hooks defined elsewhere.</p>
</div></td></tr><tr><td><b><a name="hook-6"> </a></b>hook-6</td><td>SHOULD</td><td><div><p>When supporting hooks not covered by this guide, systems <strong>SHOULD</strong> adhere to the general conformance expectations defined in this specification for those additional hooks.</p>
</div></td></tr><tr><td><b><a name="hook-7"> </a></b>hook-7</td><td>SHALL</td><td><div><p>CRD clients <strong>SHALL</strong> allow hook invocation to occur transparently as part of user workflow.</p>
</div></td></tr><tr><td><b><a name="hook-8"> </a></b>hook-8</td><td/><td><div><p>CRD clients <strong>SHALL NOT</strong> require transcription of order, appointment, or other data into a separate interface distinct from regular provider workflow unless performing &quot;what if&quot; situations.</p>
</div></td></tr><tr><td><b><a name="hook-9"> </a></b>hook-9</td><td>SHALL</td><td><div><p>If the CRD Server encounters an error when processing the request, the system <strong>SHALL</strong> return an appropriate error HTTP Response Code, starting with the digit &quot;4&quot; or &quot;5&quot;, indicating that there was an error.</p>
</div></td></tr><tr><td><b><a name="hook-10"> </a></b>hook-10</td><td>SHALL</td><td><div><p>If an issue is identified at a layer of the CRD Server that is FHIR aware (e.g. not a &quot;wrong endpoint&quot; or &quot;not authorized&quot; issue), the server <strong>SHALL</strong> provide an OperationOutcome for internal issue tracking by the client system.</p>
</div></td></tr><tr><td><b><a name="hook-11"> </a></b>hook-11</td><td>MAY</td><td><div><p>The CRD Client <strong>MAY</strong> display to the user that the Coverage Requirements Discovery Service is unavailable.</p>
</div></td></tr><tr><td><b><a name="hook-12"> </a></b>hook-12</td><td>MAY</td><td><div><p>If additional information (e.g. number to call) is available, it <strong>MAY</strong> also be included in the message to the user.</p>
</div></td></tr><tr><td><b><a name="hook-13"> </a></b>CRD Servers SHALL use the 400 and 422 codes in a manner consistent with the FHIR RESTful Create Action</td><td>SHALL, SHOULD</td><td><div><ul>
<li>While any 4xx or 5xx response code could be raised, the CRD Server <strong>SHALL</strong> use the 400 and 422 codes in a manner consistent with the FHIR RESTful Create Action, specifically:</li>
<li>400 - Bad Request - The request is not parsable as JSON or the content fails validation against FHIR core or CDS Hooks specification rules. Also used if a CRD server receives a call where the primary Coverage (either provided by prefetch or queried by the payer) does not have a payer.identifier that identifies a payer that is handled by that CRD server endpoint, the server SHALL return a 400 error and SHOULD provide an OperationOutcome. This includes situations where no Coverage is accessible, multiple Coverages are accessible, or the provided Coverage does not have a payer.identifier at all.</li>
<li>422 - Unprocessable Entity - The request is valid JSON and meets FHIR and CDS Hook validation rules, but fails to adhere to constraints imposed by this specification.</li>
</ul>
</div></td></tr><tr><td><b><a name="hook-14"> </a></b>hook-14</td><td>MAY</td><td><div><p>If a CRD server's validation process does not differentiate between validation issues stemming from the JSON syntax validation, FHIR core validation, CDS Hooks validation, and CRD-specific validation, it <strong>MAY</strong> treat all validation rules as 400 errors.</p>
</div></td></tr><tr><td><b><a name="hook-15"> </a></b>hook-15</td><td>MAY</td><td><div><p>A CRD client <strong>MAY</strong> opt to re-invoke a CRD hook either due to manual user intervention or automatically in the background if there is a reason to believe that a substantive change in the patient's record and/or coverage might produce a different CRD response.</p>
</div></td></tr><tr><td><b><a name="hook-16"> </a></b>hook-16</td><td>SHALL</td><td><div><p>CRD Servers <strong>SHALL</strong>, at minimum, return a <a href="StructureDefinition-ext-coverage-information.html">Coverage Information</a> system action for 'primary' hooks, even if the response indicates that further information is needed or that the level of detail provided is insufficient to determine coverage.</p>
</div></td></tr><tr><td><b><a name="hook-17"> </a></b>hook-17</td><td>MAY</td><td><div><p>These hooks <strong>MAY</strong> return cards or system actions, but are not expected to, and CRD clients are free to ignore any cards or actions returned.</p>
</div></td></tr><tr><td><b><a name="hook-18"> </a></b>hook-18</td><td>SHOULD</td><td><div><p>CRD clients <strong>SHOULD</strong> use the <a href="deviations.html#new-hook-configuration-mechanism">configuration options</a> to instruct CRD servers to not even try to return responses if the client does not intend to display/process them.</p>
</div></td></tr><tr><td><b><a name="hook-19"> </a></b>hook-19</td><td/><td><div><p>If Coverage Information is returned for these hooks, it <strong>SHALL NOT</strong> include messages indicating a need for <a href="ValueSet-AdditionalDocumentation.html">clinical</a> or <a href="ValueSet-AdditionalDocumentation.html">administrative</a> information, as such information is expected to be made available later in the process and therefore such guidance is not useful.</p>
</div></td></tr><tr><td><b><a name="hook-20"> </a></b>hook-20</td><td>SHALL</td><td><div><p>Where profiles are provided in a table for the hook sections below, CRD clients <strong>SHALL</strong> ensure that data included in the hook invocation complies with the listed profiles.</p>
</div></td></tr><tr><td><b><a name="hook-21"> </a></b>hook-21</td><td/><td><div><p>CRD servers <strong>SHALL NOT</strong> depend on data not covered by the identified profiles in order to return valid coverage-information responses.</p>
</div></td></tr><tr><td><b><a name="hook-22"> </a></b>hook-22</td><td>SHALL</td><td><div><p>CRD Servers <strong>SHALL</strong> handle unrecognized context elements by ignoring them.</p>
</div></td></tr><tr><td><b><a name="hook-23"> </a></b>hook-23</td><td>MAY</td><td><div><p>CRD Servers <strong>MAY</strong> use the appointment-book hook as a basis for associating a patient with a particular practitioner from a payer attribution perspective.</p>
</div></td></tr><tr><td><b><a name="hook-24"> </a></b>hook-24</td><td>SHALL</td><td><div><p>CRD clients and servers <strong>SHALL</strong>, at minimum, support returning and processing the <a href="StructureDefinition-ext-coverage-information.html">Coverage Information</a> system action for all invocations of the appointment-book hook.</p>
</div></td></tr><tr><td><b><a name="hook-25"> </a></b>hook-25</td><td>MAY</td><td><div><p>CRD Servers <strong>MAY</strong> use the appointment-book hook as a basis for associating a patient with a particular practitioner from a payer attribution perspective.</p>
</div></td></tr><tr><td><b><a name="hook-26"> </a></b>hook-26</td><td>SHOULD</td><td><div><p>Coverage requirements <strong>SHOULD</strong> be limited only to those resources that are included in the <code>dispatchedOrders</code> context, though the content of other resources <strong>SHOULD</strong> also be considered before making recommendations about what additional actions are necessary.</p>
</div></td></tr><tr><td><b><a name="hook-27"> </a></b>hook-27</td><td>MAY</td><td><div><p>CRD Servers <strong>MAY</strong> use the order-dispatch hook as a basis for associating a patient with a particular practitioner from a payer attribution perspective.</p>
</div></td></tr><tr><td><b><a name="hook-28"> </a></b>hook-28</td><td>SHALL</td><td><div><p>CRD clients and servers <strong>SHALL</strong>, at minimum, support returning and processing the <a href="StructureDefinition-ext-coverage-information.html">Coverage Information</a> system action for all invocations of the order-dispatch hook.</p>
</div></td></tr><tr><td><b><a name="hook-29"> </a></b>hook-29</td><td>SHOULD</td><td><div><p>Coverage requirements <strong>SHOULD</strong> be limited only to those resources that are included in the <code>selections</code> context, though the content of other resources <strong>SHOULD</strong> also be considered before making recommendations about what additional actions are necessary.</p>
</div></td></tr><tr><td><b><a name="hook-30"> </a></b>hook-30</td><td>MAY</td><td><div><p>Where CRD Clients have an appropriate workflow and data capture mechanism, the order-select hook <strong>MAY</strong> be used in scenarios that do not involve creating a true order.</p>
</div></td></tr><tr><td><b><a name="hook-31"> </a></b>hook-31</td><td>MAY</td><td><div><p>CRD Servers <strong>MAY</strong> use the order-select hook as a basis for associating a patient with a particular practitioner from a payer attribution perspective.</p>
</div></td></tr><tr><td><b><a name="hook-32"> </a></b>hook-32</td><td>SHALL</td><td><div><p>CRD clients and servers <strong>SHALL</strong>, at minimum, support returning and processing the <a href="StructureDefinition-ext-coverage-information.html">Coverage Information</a> system action for all invocations of the order-select hook.</p>
</div></td></tr><tr><td><b><a name="impl-1"> </a></b>impl-1</td><td>SHALL</td><td><div><p>Clients that suppress 'default presumption' coverage-information of messages <strong>SHALL</strong> mitigate the potential for misinterpretation in the event CRD is unavailable.</p>
</div></td></tr><tr><td><b><a name="impl-2"> </a></b>impl-2</td><td>SHOULD</td><td><div><p>CRD servers <strong>SHOULD</strong> strive to achieve a minimum of 3-9s availability for their services and strive to provide at least some level of useful response to CRD clients even if some of their back-end systems are unavailable.</p>
</div></td></tr><tr><td><b><a name="impl-3"> </a></b>impl-3</td><td>SHALL</td><td><div><p>Even if implemented using multiple components, there is still a requirement that the exchanges between the provider HIT (including any ePA coordinators) and the payer HIT (including any ePA coordinators) <strong>SHALL</strong> replicate all of the defined exchanges between provider and payer.</p>
</div></td></tr><tr><td><b><a name="impl-4"> </a></b>impl-4</td><td>MAY</td><td><div><p>In situations where CRD clients are aware of the likely billing codes at the time of ordering, they <strong>MAY</strong> send these codes as additional CodeableConcept.coding repetitions to assist in server processing.</p>
</div></td></tr><tr><td><b><a name="impl-5"> </a></b>impl-5</td><td>SHOULD</td><td><div><p>Where a CRD server has made inferences beyond what is explicit in the CRD request, the response <strong>SHOULD</strong> make clear what assumptions around billing codes, in/out-of-network, delivery location were made in providing the response.</p>
</div></td></tr><tr><td><b><a name="metric-1"> </a></b>metric-1</td><td>SHOULD, MAY</td><td><div><p>Each of these IGs recommends a set of metrics that <strong>SHOULD</strong> or <strong>MAY</strong> be collected by their respective implementations to facilitate the evaluation of adoption, functionality, processes, and improved outcomes.</p>
</div></td></tr><tr><td><b><a name="ops-1"> </a></b>ops-1</td><td>SHOULD</td><td><div><p>CRD clients and servers <strong>SHOULD</strong> support encounter-start and order-select, both to allow payer caching and to allow payers to return useful responses when possible (e.g. coverage expired, service not covered) with the limited information available in those hooks.</p>
</div></td></tr><tr><td><b><a name="prof-1"> </a></b>prof-1</td><td>SHALL</td><td><div><p>CRD Clients <strong>SHALL</strong> use either this Appointment with Order profile and/or the <a href="StructureDefinition-profile-appointment-with-order.html">with-order</a> to provide <code>appointments</code> context objects to CRD Servers when invoking the <a href="hooks.html#appointment-book">appointment-book</a> hook as well as to <a href="foundation.html#additional-data-retrieval">resolve other references</a> to Appointment resources.</p>
</div></td></tr><tr><td><b><a name="prof-2"> </a></b>prof-2</td><td>SHALL</td><td><div><p>CRD Clients <strong>SHALL</strong> use either this Appointment without Order and/or the <a href="StructureDefinition-profile-appointment-no-order.html">no-order</a> to provide <code>appointments</code> context objects to CRD Servers when invoking the <a href="hooks.html#appointment-book">appointment-book</a> hook as well as to <a href="foundation.html#additional-data-retrieval">resolve other references</a> to Appointment resources.</p>
</div></td></tr><tr><td><b><a name="prof-3"> </a></b>CRD Clients SHALL use the CRD CommunicationRequest profile to resolve references to CommunicationRequest resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects.</td><td>SHALL</td><td><div><p>CRD Clients <strong>SHALL</strong> use the CRD CommunicationRequest profile to <a href="foundation.html#additional-data-retrieval">resolve references</a> to CommunicationRequest resources passed to CRD Servers (e.g. <code>selections</code> context references) and to populate <code>draftOrders</code> context objects when invoking the following CDS Hooks:</p>
<ul>
<li><a href="hooks.html#order-select">order-select</a></li>
<li><a href="hooks.html#order-sign">order-sign</a></li>
<li><a href="hooks.html#order-dispatch">order-dispatch</a></li>
</ul>
</div></td></tr><tr><td><b><a name="prof-4"> </a></b>prof-4</td><td>SHALL</td><td><div><p>CRD Clients <strong>SHALL</strong> use the CRD Coverage profile to <a href="foundation.html#additional-data-retrieval">resolve references</a> to insurance Coverage resources passed to CRD Servers.</p>
</div></td></tr><tr><td><b><a name="prof-5"> </a></b>prof-5</td><td>SHALL</td><td><div><p>CRD Clients <strong>SHALL</strong> use the CRD Device profile to <a href="foundation.html#additional-data-retrieval">resolve references</a> to Device resources passed to CRD Servers.</p>
</div></td></tr><tr><td><b><a name="prof-6"> </a></b>CRD Clients SHALL use the CRD DeviceRequest profile to resolve references to DeviceRequest resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects.</td><td>SHALL</td><td><div><p>CRD Clients <strong>SHALL</strong> use the CRD DeviceRequest profile to <a href="foundation.html#additional-data-retrieval">resolve references</a> to DeviceRequest resources passed to CRD Servers (e.g. <code>selections</code> context references) and to populate <code>draftOrders</code> context objects when invoking the following CDS Hooks:</p>
<ul>
<li><a href="hooks.html#order-select">order-select</a></li>
<li><a href="hooks.html#order-sign">order-sign</a></li>
<li><a href="hooks.html#order-dispatch">order-dispatch</a></li>
</ul>
</div></td></tr><tr><td><b><a name="prof-7"> </a></b>CRD Clients SHALL use the CRD Encounter profile to resolve references to Encounter resources passed to CRD Servers, including encounterId context references.</td><td>SHALL</td><td><div><p>CRD Clients <strong>SHALL</strong> use the CRD Encounter profile to <a href="foundation.html#additional-data-retrieval">resolve references</a> to Encounter resources passed to CRD Servers, including <code>encounterId</code> context references when invoking the following CDS Hooks:</p>
<ul>
<li><a href="hooks.html#appointment-book">appointment-book</a></li>
<li><a href="hooks.html#encounter-start">encounter-start</a></li>
<li><a href="hooks.html#encounter-discharge">encounter-discharge</a></li>
<li><a href="hooks.html#order-select">order-select</a></li>
<li><a href="hooks.html#order-sign">order-sign</a></li>
<li><a href="hooks.html#order-dispatch">order-dispatch</a></li>
</ul>
</div></td></tr><tr><td><b><a name="prof-8"> </a></b>prof-8</td><td>SHALL</td><td><div><p>CRD Clients <strong>SHALL</strong> use the CRD Location profile to <a href="foundation.html#additional-data-retrieval">resolve references</a> to insurance Location resources passed to CRD Servers.</p>
</div></td></tr><tr><td><b><a name="prof-9"> </a></b>CRD Clients SHALL use the CRD MedicationRequest profile to resolve references to MedicationRequest resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects</td><td>SHALL</td><td><div><p>CRD Clients <strong>SHALL</strong> use the CRD MedicationRequest profile to <a href="foundation.html#additional-data-retrieval">resolve references</a> to MedicationRequest resources passed to CRD Servers (e.g. <code>selections</code> context references) and to populate <code>draftOrders</code> context objects when invoking the following CDS Hooks:</p>
<ul>
<li><a href="hooks.html#order-select">order-select</a></li>
<li><a href="hooks.html#order-sign">order-sign</a></li>
<li><a href="hooks.html#order-dispatch">order-dispatch</a></li>
</ul>
</div></td></tr><tr><td><b><a name="prof-10"> </a></b>CRD Clients SHALL use CRD NutritionOrder profile to resolve references to NutritionOrder resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects.</td><td>SHALL</td><td><div><p>CRD Clients <strong>SHALL</strong> use CRD NutritionOrder profile to <a href="foundation.html#additional-data-retrieval">resolve references</a> to NutritionOrder resources passed to CRD Servers (e.g. <code>selections</code> context references) and to populate <code>draftOrders</code> context objects when invoking the following CDS Hooks:</p>
<ul>
<li><a href="hooks.html#order-select">order-select</a></li>
<li><a href="hooks.html#order-sign">order-sign</a></li>
<li><a href="hooks.html#order-dispatch">order-dispatch</a></li>
</ul>
</div></td></tr><tr><td><b><a name="prof-11"> </a></b>CRD Clients SHALL use the CRD ServiceRequest profile to resolve references to ServiceRequest resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects.</td><td>SHALL</td><td><div><p>CRD Clients <strong>SHALL</strong> use the CRD ServiceRequest profile to <a href="foundation.html#additional-data-retrieval">resolve references</a> to ServiceRequest resources passed to CRD Servers (e.g. <code>selections</code> context references) and to populate <code>draftOrders</code> context objects when invoking the following CDS Hooks:</p>
<ul>
<li><a href="hooks.html#order-select">order-select</a></li>
<li><a href="hooks.html#order-sign">order-sign</a></li>
<li><a href="hooks.html#order-dispatch">order-dispatch</a></li>
</ul>
</div></td></tr><tr><td><b><a name="prof-12"> </a></b>CRD Clients SHALL use the CRD VisionPrescription profile to resolve references to VisionPrescription resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects.</td><td>SHALL</td><td><div><p>CRD Clients <strong>SHALL</strong> use the CRD VisionPrescription profile to <a href="foundation.html#additional-data-retrieval">resolve references</a> to VisionPrescription resources passed to CRD Servers (e.g. <code>selections</code> context references) and to populate <code>draftOrders</code> context objects when invoking the following CDS Hooks:</p>
<ul>
<li><a href="hooks.html#order-select">order-select</a></li>
<li><a href="hooks.html#order-sign">order-sign</a></li>
<li><a href="hooks.html#order-dispatch">order-dispatch</a></li>
</ul>
</div></td></tr><tr><td><b><a name="prof-13"> </a></b>prof-13</td><td>SHALL</td><td><div><p>If a Location is a fine-grained location such as a bed or room, the address <strong>SHALL</strong> be propagated from the higher-level location it is part of.</p>
</div></td></tr><tr><td><b><a name="prof-14"> </a></b>prof-14</td><td>MAY</td><td><div><p>While the codes for the medication are expected to be drawn from RxNorm, EHRs <strong>MAY</strong> send additional coding repetions to communicate other code systems (e.g. HCPCS J codes).</p>
</div></td></tr><tr><td><b><a name="resp-1"> </a></b>resp-1</td><td>SHOULD</td><td><div><p>The <code>Card.indicator</code> <strong>SHOULD</strong> be populated from the perspective of the clinical decision maker, not the payer</p>
</div></td></tr><tr><td><b><a name="resp-2"> </a></b>resp-2</td><td>SHOULD</td><td><div><p>Most Coverage Requirements <strong>SHOULD</strong> be marked as 'info'.</p>
</div></td></tr><tr><td><b><a name="resp-3"> </a></b>resp-3</td><td>SHALL</td><td><div><p>All <code>Card.suggestion</code> elements <strong>SHALL</strong> populate the Suggestion.uuid element.</p>
</div></td></tr><tr><td><b><a name="resp-4"> </a></b>resp-4</td><td>SHALL</td><td><div><p>The <code>Card.source.label</code> <strong>SHALL</strong> be populated with an insurer name that the user and patient are likely to recognize (i.e., the responsible insurer on the patient's insurance card), including in situations where coverage recommendations are being returned by a benefits manager or intermediary operating the CRD server on behalf of the payer.</p>
</div></td></tr><tr><td><b><a name="resp-5"> </a></b>resp-5</td><td>SHALL</td><td><div><p><code>Card.source.topic</code> <strong>SHALL</strong> be populated, and has an <a href="http://www.hl7.org/fhir/terminologies.html#extensible">extensible</a> binding to the ValueSet <a href="ValueSet-cardType.html">CRD Response Types</a>.</p>
</div></td></tr><tr><td><b><a name="resp-6"> </a></b>resp-6</td><td>SHOULD</td><td><div><p><code>Card.summary</code> <strong>SHOULD</strong> provide actionable information.</p>
</div></td></tr><tr><td><b><a name="resp-7"> </a></b>resp-7</td><td>SHOULD</td><td><div><p><code>Card.detail</code> and/or external links <strong>SHOULD</strong> only be provided when coverage recommendations cannot be clearly provided in the 140-character limit of <code>Card.summary</code>.</p>
</div></td></tr><tr><td><b><a name="resp-8"> </a></b>resp-8</td><td>SHOULD</td><td><div><p><code>Card.detail</code> <strong>SHOULD</strong> provide graduated information, with critical information being provided in the first paragraph and less critical information towards the end of the page.</p>
</div></td></tr><tr><td><b><a name="resp-9"> </a></b>resp-9</td><td>SHOULD</td><td><div><p><code>Card.detail</code> <strong>SHOULD</strong> provide enough context that a user can determine whether it is worth their time to launch an app or follow an external link, ideally providing a sense of where to look for and how to use whatever link or app they launch in the specific context of the order they are making.</p>
</div></td></tr><tr><td><b><a name="resp-10"> </a></b>resp-10</td><td>SHOULD</td><td><div><p>While links are permitted in the markdown content of <code>Card.detail</code>, support for this is not universal, so links <strong>SHOULD</strong> also be provided in <code>Card.link</code>.</p>
</div></td></tr><tr><td><b><a name="resp-11"> </a></b>resp-11</td><td>SHOULD</td><td><div><p>CRD client systems might not support all card capabilities, therefore card options <strong>SHOULD</strong> provide sufficient information for a user to perform record changes manually if automated support is not available.</p>
</div></td></tr><tr><td><b><a name="resp-12"> </a></b>resp-12</td><td>SHOULD-NOT</td><td><div><p>Where <a href="http://cds-hooks.hl7.org/2026Jan/index.html#system-action">systemActions</a> are used, CRD servers <strong>SHOULD NOT</strong> return equivalent information in a card for user display.</p>
</div></td></tr><tr><td><b><a name="resp-13"> </a></b>resp-13</td><td>SHALL</td><td><div><p>Conformant CRD clients and services <strong>SHALL</strong> support the <a href="cards.html#coverage-information-response-type">Coverage Information</a> response type.</p>
</div></td></tr><tr><td><b><a name="resp-14"> </a></b>resp-14</td><td>SHOULD</td><td><div><p>Conformant CRD clients and services <strong>SHOULD</strong> support the additional (non-coverage information) types defined by this guide.</p>
</div></td></tr><tr><td><b><a name="resp-15"> </a></b>resp-15</td><td>SHOULD</td><td><div><p>CRD servers that provide decision support for domains outside of coverage and/or documentation requirements <strong>SHOULD</strong> take reasonable steps to check that the CRD client does not have the information within its store that would allow it to detect the issue itself.</p>
</div></td></tr><tr><td><b><a name="resp-16"> </a></b>resp-16</td><td/><td><div><p>CRD servers <strong>SHALL NOT</strong> use &quot;External Reference&quot; cards to direct users to a portal for the purpose of initiating prior authorization or determining coverage.</p>
</div></td></tr><tr><td><b><a name="resp-17"> </a></b>resp-17</td><td>SHALL</td><td><div><p>The card <strong>SHALL</strong> have at least one <code>Card.link</code>.</p>
</div></td></tr><tr><td><b><a name="resp-18"> </a></b>resp-18</td><td>SHALL</td><td><div><p>The <code>Link.type</code> <strong>SHALL</strong> have a type of &quot;absolute&quot;.</p>
</div></td></tr><tr><td><b><a name="resp-19"> </a></b>resp-19</td><td>SHOULD</td><td><div><p>When reasonable, an &quot;External Reference&quot; card <strong>SHOULD</strong> contain a summary of the actionable information from the external reference in the <code>detail</code> element.</p>
</div></td></tr><tr><td><b><a name="resp-20"> </a></b>resp-20</td><td>SHOULD</td><td><div><p>As much as technically possible, links provided <strong>SHOULD</strong> be 'deep' links that take the user to the specific place in the documentation relevant to the current hook context to minimize provider reading and navigation time.</p>
</div></td></tr><tr><td><b><a name="resp-21"> </a></b>resp-21</td><td/><td><div><p>CRD servers <strong>SHALL NOT</strong> use Instructions Response cards to direct users to a portal for the purpose of initiating prior authorization or determining coverage. Use the <a href="cards.html#coverage-information-response-type">Coverage Information</a> response instead.</p>
</div></td></tr><tr><td><b><a name="resp-22"> </a></b>resp-22</td><td/><td><div><p>Regardless of the content, this &quot;Coverage Information&quot; response type <strong>SHALL NOT</strong> use a card.</p>
</div></td></tr><tr><td><b><a name="resp-23"> </a></b>resp-23</td><td>SHALL</td><td><div><p>CRD servers <strong>SHALL</strong> support supplying coverage information for all primary hooks: order-sign, order-dispatch, and appointment-book.</p>
</div></td></tr><tr><td><b><a name="resp-24"> </a></b>resp-24</td><td>MAY</td><td><div><p>CRD servers <strong>MAY</strong> support supplying coverage information for all other (non-primary) hooks.</p>
</div></td></tr><tr><td><b><a name="resp-25"> </a></b>resp-25</td><td>SHALL</td><td><div><p>CRD servers <strong>SHALL</strong> supply coverage information for all hooks where they support it unless the EHR sends a configuration option asking them not to.</p>
</div></td></tr><tr><td><b><a name="resp-26"> </a></b>resp-26</td><td>SHALL</td><td><div><p>If coverage information is evaluated, a system action <strong>SHALL</strong> be returned for each in-scope request resource unless that request resource already has a coverage-information extension, and the CRD server has no new information to add.</p>
</div></td></tr><tr><td><b><a name="resp-27"> </a></b>resp-27</td><td>SHALL</td><td><div><p>Such qualifiers around when the coverage assertion is considered valid <strong>SHALL</strong> be included as part of the annotation.</p>
</div></td></tr><tr><td><b><a name="resp-28"> </a></b>resp-28</td><td>SHALL</td><td><div><p>If a CRD client submits a claim related to an order for which it has received a coverage-information extension for the coverage type associated with the claim, that claim <strong>SHALL</strong> include the <code>coverage-assertion-id</code> and, if applicable, the <code>satisfied-pa-id</code> in the X12 837 K3 segment.</p>
</div></td></tr><tr><td><b><a name="resp-29"> </a></b>resp-29</td><td>SHALL</td><td><div><p>If multiple extension repetitions of the coverage-information extension are present, all repetitions referencing differing insurance (coverage-information.coverage) <strong>SHALL</strong> have distinct coverage-assertion-ids and satisfied-pa-ids, if present.</p>
</div></td></tr><tr><td><b><a name="resp-30"> </a></b>resp-30</td><td>MAY</td><td><div><p>Where multiple repetitions apply to the same coverage, they <strong>MAY</strong> have the same coverage-assertion-ids and satisfied-pa-ids (if present).</p>
</div></td></tr><tr><td><b><a name="resp-31"> </a></b>resp-31</td><td>MAY</td><td><div><p>Systems <strong>MAY</strong> make CRD calls to servers related to orders even if there is already a coverage assertion recorded on the order.</p>
</div></td></tr><tr><td><b><a name="resp-32"> </a></b>resp-32</td><td/><td><div><p>However, CRD servers <strong>SHALL NOT</strong> send a <code>systemAction</code> to update the order unless something is new or changed.</p>
</div></td></tr><tr><td><b><a name="resp-33"> </a></b>resp-33</td><td>SHOULD</td><td><div><p>CRD servers <strong>SHOULD</strong> take into account the previous decision in deciding how much processing is necessary before returning a response.</p>
</div></td></tr><tr><td><b><a name="resp-34"> </a></b>resp-34</td><td/><td><div><p>When returning a <code>systemAction</code> to update a resource with the &quot;Coverage Information&quot; response type, the resource content <strong>SHALL NOT</strong> make changes to any data elements other than adding or modifying coverage-information extensions.</p>
</div></td></tr><tr><td><b><a name="resp-35"> </a></b>resp-35</td><td>SHOULD</td><td><div><p>If a <strong>coverage-information</strong> extension indicates the need to collect additional information (via 'doc-needed'), the extension <strong>SHOULD</strong> include a reference to the questionnaire(s) to be completed.</p>
</div></td></tr><tr><td><b><a name="resp-36"> </a></b>resp-36</td><td>SHALL</td><td><div><p>When a <strong>coverage-information</strong> response type indicates that additional clinical or patient documentation is needed and the CRD client supports DTR, CRD clients <strong>SHALL</strong> ensure that clinical users have an opportunity to launch their DTR solution as part of the current workflow.</p>
</div></td></tr><tr><td><b><a name="resp-37"> </a></b>resp-37</td><td>SHOULD</td><td><div><p>CRD clients <strong>SHOULD</strong> allow clinical users to have an opportunity to launch their DTR solution but <strong>SHOULD</strong> make it clear that the information to be captured is non-clinical.</p>
</div></td></tr><tr><td><b><a name="resp-38"> </a></b>resp-38</td><td>SHOULD</td><td><div><p>The CRD server <strong>SHOULD</strong> either prompt for the additional needed information using DTR or return a coverage-information extension indicating that the patient is not covered with a reason indicating the issue (e.g. the member could not be found/resolved).</p>
</div></td></tr><tr><td><b><a name="resp-39"> </a></b>resp-39</td><td>SHALL</td><td><div><p>If the CRD server is unable to resolve the patient, the Coverage Information <strong>SHALL</strong> indicate &quot;not covered&quot; with a reason code of <a href="ValueSet-coverageAssertionReasons.html#x-http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp-no-member-found">no-member-found</a>.</p>
</div></td></tr><tr><td><b><a name="resp-40"> </a></b>resp-40</td><td>SHALL</td><td><div><p>If the CRD is able to resolve the patient but they do not have active coverage, the Coverage Information <strong>SHALL</strong> indicate &quot;not covered&quot; with a reason of <a href="ValueSet-coverageAssertionReasons.html#x-http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp-no-active-coverage">no-active-coverage</a>.</p>
</div></td></tr><tr><td><b><a name="resp-41"> </a></b>resp-41</td><td>SHALL</td><td><div><p>If a system action containing a coverage-information extension is returned, the CRD client <strong>SHALL</strong> retain that coverage-information extension and expose it as part of the Request resource in all subsequent communications with that payer, including communications made using DTR and PAS.</p>
</div></td></tr><tr><td><b><a name="resp-42"> </a></b>When using the &quot;Coverage Information&quot; response type, the proposed order or appointment being submitted for update SHALL comply with the required profiles</td><td>SHALL</td><td><div><p>When using the &quot;Coverage Information&quot; response type, the proposed order or appointment being submitted <strong>SHALL</strong> comply with the following profiles:</p>
<table class="grid">
<thead>
<tr>
<th align="left"/>
<th align="left"/>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><a href="StructureDefinition-profile-appointment-with-order.html">profile-appointment-with-order</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-appointment-no-order.html">profile-appointment-no-order</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-devicerequest.html">profile-devicerequest</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-medicationrequest.html">profile-medicationrequest</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-nutritionorder.html">profile-nutritionorder</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-servicerequest.html">profile-servicerequest</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-visionprescription.html">profile-visionprescription</a></td>
<td align="left"/>
</tr>
</tbody>
</table>
</div></td></tr><tr><td><b><a name="resp-43"> </a></b>resp-43</td><td>SHALL</td><td><div><p>CRD clients and servers <strong>SHALL</strong> support the new CDS Hooks system action functionality to cause annotations to automatically be stored on the relevant request, appointment, etc. without any user intervention.</p>
</div></td></tr><tr><td><b><a name="resp-44"> </a></b>resp-44</td><td>SHALL</td><td><div><p>In this case, the discrete information propagated into the order extension <strong>SHALL</strong> be available to the user for viewing. However, this might be managed with icons, flyovers, or alternate mechanisms than traditional CDS Hooks card rendering.</p>
</div></td></tr><tr><td><b><a name="resp-45"> </a></b>resp-45</td><td>MAY</td><td><div><p>CRD clients <strong>MAY</strong> be configured to not execute system actions under some circumstances, for example if the order has been cancelled or abandoned.</p>
</div></td></tr><tr><td><b><a name="resp-46"> </a></b>resp-46</td><td>SHOULD</td><td><div><p>Where CRD servers need for data that was not transmitted, they <strong>SHOULD</strong> attempt to infer values from elements that are present.</p>
</div></td></tr><tr><td><b><a name="resp-47"> </a></b>resp-47</td><td>SHOULD</td><td><div><p>Each suggestion <strong>SHOULD</strong> contain either a single &quot;update&quot; action to revise the existing proposed order; or a &quot;delete&quot; action for the current proposed order and a &quot;create&quot; action for the new proposed order.</p>
</div></td></tr><tr><td><b><a name="resp-48"> </a></b>resp-48</td><td>SHOULD</td><td><div><p>The choice of &quot;update&quot; vs. &quot;delete + create&quot; <strong>SHOULD</strong> be based on how significant the change is and how relevant the other decision support on the original request will still be.</p>
</div></td></tr><tr><td><b><a name="resp-49"> </a></b>When using the &quot;Propose Alternate Request&quot; response type, the proposed orders (and any associated resources) SHALL comply with the required profiles.</td><td>SHALL</td><td><div><p>When using the &quot;Propose Alternate Request&quot; response type, the proposed orders (and any associated resources) <strong>SHALL</strong> comply with the following profiles:</p>
<table class="grid">
<thead>
<tr>
<th align="left"/>
<th align="left"/>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><a href="StructureDefinition-profile-device.html">profile-device</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-devicerequest.html">profile-devicerequest</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-encounter.html">profile-encounter†</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"/>
<td align="left"><a href="http://hl7.org/fhir/us/core/STU6.1/StructureDefinition-us-core-medication.html">us-core-medication</a></td>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-medicationrequest.html">profile-medicationrequest</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-nutritionorder.html">profile-nutritionorder</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-servicerequest.html">profile-servicerequest</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-visionprescription.html">profile-visionprescription</a></td>
<td align="left"/>
</tr>
</tbody>
</table>
<p>† Only used if updating an Encounter (e.g., to add a note)</p>
</div></td></tr><tr><td><b><a name="resp-50"> </a></b>When using the &quot;Identify Additional Orders&quot; response type, the proposed orders and any associated resources SHALL comply with the required profiles</td><td>SHALL</td><td><div><p>When using the &quot;Identify Additional Orders&quot; response type, the proposed orders and any associated resources <strong>SHALL</strong> comply with the following profiles:</p>
<table class="grid">
<thead>
<tr>
<th align="left"/>
<th align="left"/>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><a href="StructureDefinition-profile-communicationrequest.html">profile-communicationrequest</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-device.html">profile-device</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-devicerequest.html">profile-devicerequest</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"/>
<td align="left"><a href="http://hl7.org/fhir/us/core/STU6.1/StructureDefinition-us-core-medication.html">us-core-medication</a></td>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-medicationrequest.html">profile-medicationrequest</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-nutritionorder.html">profile-nutritionorder</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-servicerequest.html">profile-servicerequest</a></td>
<td align="left"/>
</tr>
<tr>
<td align="left"><a href="StructureDefinition-profile-visionprescription.html">profile-visionprescription</a></td>
<td align="left"/>
</tr>
</tbody>
</table>
</div></td></tr><tr><td><b><a name="resp-51"> </a></b>The Request Form Completion response type **SHALL NOT** be used in place of DTR</td><td/><td><div><p>The Request Form Completion response type <strong>SHALL NOT</strong> be used if:</p>
<ol>
<li>DTR is applicable to the use case (i.e. the form relates to prior auth, claim submission, appropriate use, or order fulfillment),</li>
<li>DTR is supported by the CRD client (whether voluntarily or as required by regulation), and</li>
<li>DTR is available from the server (e.g. not temporarily unavailable or not supported by a payer not subject to regulation).</li>
</ol>
</div></td></tr><tr><td><b><a name="resp-52"> </a></b>resp-52</td><td>MAY</td><td><div><p>Instead of using a card for &quot;Request Form Completion&quot;, CRD servers <strong>MAY</strong> opt to use a <a href="http://cds-hooks.hl7.org/2026Jan/index.html#system-action">systemAction</a>.</p>
</div></td></tr><tr><td><b><a name="resp-53"> </a></b>resp-53</td><td>SHALL</td><td><div><p>CRD clients supporting the Request Form Completion response type <strong>SHALL</strong> support both the card and systemAction approach.</p>
</div></td></tr><tr><td><b><a name="resp-54"> </a></b>When using the &quot;Request Form Completion&quot; response type, the resources in the card or system action SHALL comply with the required profiles</td><td>SHALL</td><td><div><p>When using the &quot;Request Form Completion&quot; response type, the resources in the card or system action <strong>SHALL</strong> comply with the following profiles:</p>
<table class="grid">
<thead>
<tr>
<th align="left"/>
<th align="left"/>
</tr>
</thead>
<tbody>
<tr>
<td align="left"><a href="StructureDefinition-profile-taskquestionnaire.html">profile-taskquestionnaire</a></td>
<td align="left"/>
</tr>
</tbody>
</table>
</div></td></tr><tr><td><b><a name="resp-55"> </a></b>resp-55</td><td>SHOULD</td><td><div><p>CRD servers <strong>SHOULD</strong> use questionnaires that are compliant with either the <a href="https://github.com/argonautproject/questionnaire">Argonaut questionnaire profiles</a> (for forms to be completed within the CRD client) or the <a href="http://hl7.org/fhir/uv/sdc/index.html">Structured Data Capture (SDC) profiles</a> (for more sophisticated forms to be created within a SMART on FHIR app or through an external service).</p>
</div></td></tr><tr><td><b><a name="resp-56"> </a></b>resp-56</td><td>SHOULD</td><td><div><p>CRD clients <strong>SHOULD</strong> retain a copy of all completed forms for future reference.</p>
</div></td></tr><tr><td><b><a name="resp-57"> </a></b>resp-57</td><td>MAY</td><td><div><p>Instead of using a card for &quot;Update Coverage Records&quot;, CRD servers <strong>MAY</strong> opt to use a <a href="http://cds-hooks.hl7.org/2026Jan/index.html#system-action">systemAction</a> instead.</p>
</div></td></tr><tr><td><b><a name="resp-58"> </a></b>resp-58</td><td>SHALL</td><td><div><p>CRD clients supporting the Update Coverage Records response type <strong>SHALL</strong> support both the card and system action approach.</p>
</div></td></tr><tr><td><b><a name="resp-59"> </a></b>resp-59</td><td>MAY</td><td><div><p>If receiving a system action, a CRD client <strong>MAY</strong> opt to place the updated record in a holding area for human review rather than directly modifying their source of truth.</p>
</div></td></tr><tr><td><b><a name="resp-60"> </a></b>resp-60</td><td/><td><div><p>This Update Coverage Records capability <strong>SHALL NOT</strong> be used in situations where regulation dictates the use of the X12 functionality.</p>
</div></td></tr><tr><td><b><a name="resp-61"> </a></b>resp-61</td><td>SHOULD-NOT</td><td><div><p>If returning a card rather than a system action, the &quot;Update Coverage Records&quot; response type <strong>SHOULD NOT</strong> be returned for hook types that are likely to be triggered by clinical users rather than administrative staff. Cards of this type would be appropriate for hooks such as encounter-start or appointment-book but would not be appropriate for order-select or order-sign.</p>
</div></td></tr><tr><td><b><a name="sec-1"> </a></b>Implementers SHALL adhere to inherited security and privacy rules</td><td>SHALL</td><td><div><p>Implementers <strong>SHALL</strong> adhere to any security and privacy rules defined by:</p>
<ul>
<li>FHIR Core: <a href="http://hl7.org/fhir/R4/secpriv-module.html">Security &amp; Privacy Module</a>, <a href="http://hl7.org/fhir/R4/security.html">Security Principles</a> and <a href="http://hl7.org/fhir/R4/safety.html">Implementer's Checklist</a></li>
<li>HRex: <a href="https://build.fhir.org/ig/HL7/davinci-ehrx//security.html">Privacy &amp; Security</a></li>
<li>CDS Hooks: <a href="http://cds-hooks.hl7.org/2026Jan/index.html#security-and-safety">Security &amp; Safety</a></li>
<li>SMART on FHIR: <a href="http://www.hl7.org/fhir/smart-app-launch">SMART App Launch</a></li>
</ul>
</div></td></tr><tr><td><b><a name="sec-2"> </a></b>sec-2</td><td>SHALL</td><td><div><p>As per the CDS Hooks specification, communications between CRD clients and CRD servers <strong>SHALL</strong> use TLS.</p>
</div></td></tr><tr><td><b><a name="sec-3"> </a></b>sec-3</td><td>SHOULD</td><td><div><p>CRD servers and CRD clients <strong>SHOULD</strong> enforce a minimum version and other TLS configuration requirements based on HRex rules for PHI exchange.</p>
</div></td></tr><tr><td><b><a name="sec-4"> </a></b>sec-4</td><td>SHALL</td><td><div><p>CRD clients that support the Launch SMART Application Response Type <strong>SHALL</strong> support running applications that adhere to the SMART on FHIR confidential app profile.</p>
</div></td></tr><tr><td><b><a name="sec-5"> </a></b>sec-5</td><td>SHALL</td><td><div><p>CRD servers <strong>SHALL</strong> use information received solely for coverage determination and decision support purposes.</p>
</div></td></tr><tr><td><b><a name="sec-6"> </a></b>sec-6</td><td/><td><div><p>Servers <strong>SHALL NOT</strong> retain data received over the CRD interfaces for any purpose other than audit or providing context for form completion using DTR.</p>
</div></td></tr><tr><td><b><a name="sec-7"> </a></b>sec-7</td><td>SHALL</td><td><div><p>CRD clients <strong>SHALL</strong> ensure that the resource identifiers exposed over the CRD interface are distinct from and have no determinable relationship with any business identifiers associated with those records.</p>
</div></td></tr><tr><td><b><a name="sec-8"> </a></b>sec-8</td><td>SHOULD</td><td><div><p>CRD client organizations <strong>SHOULD</strong> audit access to check for reasonableness and appropriateness.</p>
</div></td></tr><tr><td><b><a name="sec-9"> </a></b>Access tokens provided as part of CRD calls **SHOULD NOT** be forwarded to systems that are not managed by the same organization or have business associate agreements that allow centralized audit of access.</td><td>SHOULD-NOT</td><td><div><ul>
<li>Access tokens provided as part of CRD calls <strong>SHOULD NOT</strong> be forwarded to systems that are not managed by the same organization or have business associate agreements that allow centralized audit of access. Possible alternatives to token-sharing include:</li>
<li>Routing all requests for information through the initial endpoint system</li>
<li>Making use of RFC 8693 to allow the creation of 'delegate' tokens for downstream systems&quot;</li>
</ul>
<blockquote>
<p>Additional testing and standardization work needs to happen around making delegated access function well, particularly in a time-constrained environment.</p>
</blockquote>
</div></td></tr></table></div>
  </text>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="fm"/>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="4">
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
        <valueCanonical
                        value="http://hl7.org/fhir/us/davinci-crd/ImplementationGuide/davinci-crd"/>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
        <valueCanonical
                        value="http://hl7.org/fhir/us/davinci-crd/ImplementationGuide/davinci-crd"/>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
        <valueCanonical
                        value="http://hl7.org/fhir/us/davinci-crd/ImplementationGuide/davinci-crd"/>
      </extension>
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
        <valueCanonical
                        value="http://hl7.org/fhir/us/davinci-crd/ImplementationGuide/davinci-crd"/>
      </extension>
    </valueInteger>
  </extension>
  <extension
             url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="trial-use">
      <extension
                 url="http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom">
        <valueCanonical
                        value="http://hl7.org/fhir/us/davinci-crd/ImplementationGuide/davinci-crd"/>
      </extension>
    </valueCode>
  </extension>
  <url value="http://hl7.org/fhir/us/davinci-crd/Requirements/fromNarrative"/>
  <identifier>
    <system value="urn:ietf:rfc:3986"/>
    <value value="urn:oid:2.16.840.1.113883.4.642.40.18.36.1"/>
  </identifier>
  <version value="2.2.0-snapshot"/>
  <name value="FromNarrative"/>
  <title value="Narrative Conformance Statements"/>
  <status value="active"/>
  <experimental value="false"/>
  <date value="2026-01-18T21:48:04-07:00"/>
  <publisher value="HL7 International / Financial Management"/>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/fm"/>
    </telecom>
  </contact>
  <description
               value="Conformance statements found throughout the narrative of the IG consolidated into this computable resource for traceability purposes"/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
    </coding>
  </jurisdiction>
  <actor
         value="http://hl7.org/fhir/us/davinci-crd/ActorDefinition/crd-server">🔗 
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-actorkey">
      <valueString value="crd-server"/>
    </extension>
  </actor>
  <actor
         value="http://hl7.org/fhir/us/davinci-crd/ActorDefinition/crd-server-org">🔗 
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-actorkey">
      <valueString value="crd-server-org"/>
    </extension>
  </actor>
  <actor
         value="http://hl7.org/fhir/us/davinci-crd/ActorDefinition/crd-client-org">🔗 
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-actorkey">
      <valueString value="crd-client-org"/>
    </extension>
  </actor>
  <actor
         value="http://hl7.org/fhir/us/davinci-crd/ActorDefinition/crd-client">🔗 
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-actorkey">
      <valueString value="crd-client"/>
    </extension>
  </actor>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="billopt-1"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="CRD clients **SHALL** use the billing-options extension to convey likely billing codes if they are known, but are not required to know billing codes (e.g. if ordering and performing systems will differ)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="billopt-2"/>
    <conditionality value="true"/>
    <requirement
                 value="CRD servers **SHALL NOT** depend on the billing-options extension being present in order to provide a response."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="billopt-3"/>
    <conformance value="SHALL"/>
    <conformance value="MAY"/>
    <requirement
                 value="If codes are provided with the billing-options extension, CRD servers **SHALL** consider any codes provided and **MAY** consider additional codes determined by their own mapping when returning coverage information responses."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="conf-1"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD clients **SHALL** support at least one of the three specified versions of US Core."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="conf-2"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD servers **SHALL** be able to handle all three US Core versions."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="conf-3"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If the CRD client maintains a mustSupport data element and surfaces it to users, then it **SHALL** be exposed in their FHIR interface when the data exists and privacy constraints permit."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="conf-4"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD servers **SHALL** leverage mustSupport elements as available and appropriate to provide decision support."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="conf-5"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="CRD servers **SHALL** populate mustSupport elements if an appropriate value exists."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="ui"/>
        <display value="ui"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="conf-6"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD clients **SHALL** make the mustSupport data available to the appropriate user (clinical or administrative) or leverage the data within their workflow as necessary to follow the intention of the provided decision support."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="conf-7"/>
    <requirement
                 value="When preparing [Coverage Information](StructureDefinition-ext-coverage-information.html) responses, CRD servers **SHALL NOT** depend on or set expectations for the inclusion of resource instances not compliant with profiles defined in this guide, HRex, or US Core."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="conf-8"/>
    <requirement
                 value="CRD servers **SHALL NOT** depend on or set expectations for the inclusion of any data elements not marked as mandatory (min cardinality &gt;= 1) or mustSupport in those profiles."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="conf-9"/>
    <conformance value="SHOULD"/>
    <conditionality value="true"/>
    <requirement
                 value="When preparing [response types](cards.html) other than Coverage Information, CRD servers **SHOULD** limit themselves to the same resource instances and data elements as permitted above for Coverage Information responses."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="conf-10"/>
    <requirement
                 value="CRD clients **SHALL NOT** depend on or set expectations for CRD servers to communicate data elements not marked as mandatory or mustSupport in the CRD specification."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="conf-11"/>
    <conformance value="MAY"/>
    <conditionality value="true"/>
    <requirement
                 value="implementations **MAY**, by mutual agreement, pre-adopt the use of those additional CI-build profiles and/or mustSupport data elements and not be considered in violation of #1 or #3 above."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="conf-12"/>
    <conditionality value="true"/>
    <requirement
                 value="Where cardinality and other constraints present in profiles allow data elements to be omitted, CRD compliant systems **SHALL NOT** treat the omission of those elements as an error."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="conf-13"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD clients and services and **SHALL** use standard CRD data elements (i.e. elements found within CRD-defined or inherited profiles and marked as mandatory or mustSupport) to communicate needed data where the elements are intended to convey such information."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="business"/>
        <display value="business"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client-org"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server-org"/>
    </extension>
    <key value="conf-14"/>
    <requirement
                 value="CRD implementing organizations **SHALL NOT** publish guidance setting expectations for where certain data elements are conveyed within CRD and inherited data structures"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="covinfo-1"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="The union of the scoping elements in each coverage-information repetition **SHOULD** be disjoint."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="covinfo-2"/>
    <conformance value="SHOULD"/>
    <conditionality value="true"/>
    <requirement
                 value="If there are multiple reason repetitions, each repetition **SHOULD** make clear exactly what aspect of the coverage information assertion the reason applies to."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-1"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD servers **SHALL** declare at least one supported CRD version for each supported hook."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-2"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If the services endpoint can handle multiple CRD versions, it **SHALL** declare all versions it supports."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="dev-3"/>
    <conformance value="SHALL"/>
    <conformance value="MAY"/>
    <conditionality value="true"/>
    <requirement
                 value="The requestedVersion extension **SHALL** be present if the service indicates it supports multiple versions for that hook, but **MAY** be present always."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-4"/>
    <label
           value="Each configuration option SHALL include four mandatory elements."/>
    <conformance value="SHALL"/>
    <requirement
                 value="* Each configuration option **SHALL** include four mandatory elements: 
* A `code` that will be used when setting configuration during hook invocation, and has an ([extensible](http://www.hl7.org/fhir/terminologies.html#extensible)) binding to the [CRD Response Types](ValueSet-cardType.html) ValueSet.
* A data `type` for the parameter. At present, allowed values are &quot;boolean&quot; and &quot;integer&quot;. (NOTE: These are the JSON data types and not the FHIR data types.)
* A display `name` for the configuration option to appear in the client's user interface when performing configuration.
* A `description` providing a 1-2 sentence description of the effect of the configuration option.
 
* A `default` value **SHALL** also be provided to show users what to expect when an override is not specified."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-5"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD servers **SHALL**, at minimum, offer configuration options for each type of card they support (with a code corresponding to the [CRD Response Types](ValueSet-cardType.html) ValueSet and a type of ‘boolean’, where setting the flag to false will result in the server not returning any cards of the specified type)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-6"/>
    <conformance value="SHALL"/>
    <requirement
                 value="Guidance can be given about allowed combinations in descriptions, but CRD servers **SHALL** gracefully handle disallowed/nonsensical combinations."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-7"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="Configuration codes **SHALL** be valid JSON property names and **SHALL** come from the [CRD Response Types](ValueSet-cardType.html) list if an applicable type is in that list."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-8"/>
    <conformance value="SHALL"/>
    <requirement
                 value="Configuration codes, names, and descriptions **SHALL** be unique within a [CDS Service](http://cds-hooks.hl7.org/2026Jan/index.html#response) definition."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-9"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="Configuration codes, names, and descriptions **SHOULD** be consistent across different hooks supported by the same payer when dealing with the same types of configuration options."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-10"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="CRD servers providing more than one type of coverage requirement information/guidance **SHOULD** expose configuration options allowing clients to dynamically control what information is returned by the service."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="ui"/>
        <display value="ui"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="dev-11"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="CRD Clients **SHOULD** expose configuration options through a configuration screen to allow users and/or system administrators to control the types of information returned."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="dev-12"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients **SHALL** convey configuration options when invoking the hook using the davinci-crd.configuration extension. It will be a single object whose properties will be drawn from the code values from configuration options and whose values will be of the type defined for that option."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="dev-13"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="CRD Clients **SHOULD** provide an ability to leverage the dynamic configuration capabilities of payer services based on provider role, individual provider, and/or hook invocation location as best meets the needs of their users."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-14"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Servers **SHALL** behave in the manner prescribed by any supported configuration information received from the CRD Client."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-15"/>
    <requirement
                 value="CRD Servers **SHALL NOT** require the inclusion of configuration information in a hook call (i.e. no hook invocation is permitted to fail because configuration information was not included)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="dev-16"/>
    <conformance value="MAY"/>
    <requirement
                 value="CRD Clients **MAY** send configuration information that CRD Servers do not support."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-17"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Servers **SHALL** ignore unsupported configuration information."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-18"/>
    <conformance value="SHALL"/>
    <requirement
                 value="Prefetches with dependencies **SHALL** be listed after the prefetches they depend on."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-19"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="When included with a Task, the creation of the Questionnaire needs to be conditional - it **SHOULD** only occur if that specific Questionnaire version does not already exist"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-20"/>
    <conformance value="SHALL"/>
    <requirement
                 value="the CRD server **SHALL** query to determine if the client has a copy of the Questionnaire before sending the request."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="dev-21"/>
    <conformance value="SHALL"/>
    <requirement
                 value="For the purposes of this implementation guide, the inclusion of the `id` element in 'created' resources and references in created and updated resources within multi-action suggestions **SHALL** be handled as per FHIR's [transaction processing rules](http://hl7.org/fhir/R4/http.html#trules)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-22"/>
    <conformance value="SHALL"/>
    <requirement
                 value="Specifically, this means that if a FHIR Reference points to the resource type and `id` of a resource of another 'create' Action in the same Suggestion, then the reference to that resource **SHALL** be updated by the server to point to the `id` assigned by the client when performing the 'create'."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="dev-23"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients **SHALL** perform 'creates' in an order that ensures that referenced resources are created prior to referencing resources."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-24"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If a hook service is invoked on a collection of resources, all cards returned that are specific to only a subset of the resources passed as context **SHALL** disambiguate in the `detail` element which resources they are associated with in a human-friendly way."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="dev-25"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="As well, cards **SHOULD** include the associated-resource extension to allow computable linkage."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="dev-26"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD clients **SHALL** only invoke hooks on payer services where the patient record indicates active coverage with the payer associated with the service and where there is no recorded indication the patient intends to bypass insurance coverage (i.e. the service or product is not flagged as 'patient-pay')."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="dev-27"/>
    <conformance value="MAY"/>
    <requirement
                 value="CRD clients **MAY** limit hook invocation to only those payers that are believed to potentially have relevant information related to the current action - for example, clinical guidance, contraindication detection, etc."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="dev-28"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="To avoid confusion for providers, where a patient has multiple active coverages that could be relevant to the current order/appointment/etc., CRD clients **SHALL** select from those coverages which is most likely to be primary and only solicit coverage information for that one payer."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="dev-29"/>
    <conformance value="SHALL"/>
    <conformance value="MAY"/>
    <requirement
                 value="This primary coverage **SHALL** be the only one included in the prefetch content as part of the CRD request, though other coverages **MAY** be exposed over the CRD client's FHIR API."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="dev-30"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If they invoke CRD on other payers, CRD clients **SHALL** ensure that response types that return coverage information are disabled for those 'likely secondary' payers."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="dev-31"/>
    <conformance value="MAY"/>
    <conditionality value="true"/>
    <requirement
                 value="In situations where a CRD client determines that there are different primary coverages for different items in the same order action, they **MAY** choose to send separate CRD calls (each with its own access token) for the collection of services pertinent to that Coverage."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="dev-32"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="Where the patient has multiple active coverages that the CRD client deems appropriate to call the respective CRD servers for, the CRD client **SHALL** invoke all CRD server calls in parallel and display results simultaneously to ensure timely response to user action."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-1"/>
    <conformance value="MAY"/>
    <requirement
                 value="CRD servers and CRD clients **MAY** mutually agree to support additional hooks, additional card patterns, additional resources, additional extensions, etc."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-2"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD servers **SHALL** return responses for all supported hooks and **SHALL** respond within the required time 90% of the time."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-3"/>
    <conformance value="MAY"/>
    <conditionality value="true"/>
    <requirement
                 value="If a CRD client does not receive a response within the 5 or 10-second window, it **MAY** either abandon the call or process the response asynchronously."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="business"/>
        <display value="business"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server-org"/>
    </extension>
    <key value="found-4"/>
    <conformance value="SHOULD"/>
    <conditionality value="true"/>
    <requirement
                 value="Where a CRD server responds with a coverage information extension indicating `doc-needed` of 'clinical', 'admin', or 'patient' and the payer supports DTR, the responsible organization **SHOULD** support gathering the additional information via DTR."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-5"/>
    <conformance value="SHOULD"/>
    <conditionality value="true"/>
    <requirement
                 value="CRD servers **SHOULD** query all data necessary to make their coverage determination decisions if that data is available for query in the EHR and that data is not returned in prefetch."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="ui"/>
        <display value="ui"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-6"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD clients **SHALL** provide a mechanism for providers to bypass a CRD process that is taking longer than the aforementioned time limit to ensure users are not blocked from proceeding with their business flow."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-7"/>
    <conformance value="MAY"/>
    <conditionality value="true"/>
    <requirement
                 value="For responses that come back in a time period that exceeds the time maximm duration specifd in this guide, CRD clients **MAY** ignore the resulting cards and/or system actions."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-8"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD servers **SHALL** ensure that the guidance returned with respect to coverage and prior authorizations (e.g., assertions that a service is covered, or prior authorization is not necessary) is as accurate as guidance that would be provided by other means (e.g., portals, phone calls)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-9"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="Also, coverage and authorization guidance **SHOULD** allow for possible variances in coding and submission."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="storage"/>
        <display value="storage"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-10"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD servers **SHALL** retain all coverage guidance provided and take into account answers provided via CRD (and DTR) when subsequently adjudicating claims."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-11"/>
    <conformance value="SHOULD"/>
    <conditionality value="true"/>
    <requirement
                 value="Where the selected code is not already a billing code and CRD clients are able to automatically determine what the corresponding billing code is, they **SHOULD** send a Coding with the billing code alongside the clinical code to reduce the risk of the receiving payer making a different translation."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-12"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD servers **SHALL** ensure that CDS Hooks return only messages and information relevant and useful to the intended recipient."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-13"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If a CRD server supports [endpoint discovery](https://build.fhir.org/ig/HL7/davinci-ehrx//endpoint-discovery.html), they **SHALL** have at most a single endpoint for each coverage (e.g., Medicare, Medicaid, or commercial) they provide coverage under."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-14"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If a CRD server does not support endpoint discovery, they **SHALL** expose only one CRD endpoint capable of handling all coverages."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-15"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="When the connection between a particular client and server has evolved to an automated configuration approach, CRD Clients **SHOULD** perform the discovery process on the CRD server at least once per day to detect any changes to supported hooks, prefetch requirements, and/or configuration options."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-16"/>
    <conformance value="SHOULD"/>
    <conditionality value="true"/>
    <requirement
                 value="If a CRD client encounters an error when invoking a hook, they **SHOULD** re-run the discovery process before failing."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-17"/>
    <conformance value="MAY"/>
    <requirement
                 value="CRD clients and servers **MAY** leverage the [payer registry](http://hl7.org/fhir/us/davinci-pdex-plan-net) developed by PDex (which will eventually fold into the [national directory under FAST](https://confluence.hl7.org/display/FAST/National+Healthcare+Directory)) as a means of determining which endpoints exist for which payers as candidates for configuration."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-18"/>
    <conformance value="SHOULD"/>
    <conditionality value="true"/>
    <requirement
                 value="Once plans are in the national directory, CRD clients **SHOULD** include that plan identifier to uniquely identify a plan."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-19"/>
    <conformance value="SHALL"/>
    <requirement
                 value="When a CRD client invokes a CRD server via CDS Hooks, it **SHALL** provide an access token that allows the CRD server to retrieve additional patient information."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-20"/>
    <conformance value="SHALL"/>
    <requirement
                 value="The CRD client **SHALL** limit the scopes provided in their access token as narrowly as feasible to reflect the data requirements identified by the CRD server as necessary to perform their decision support."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-21"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="Such access tokens **SHOULD** have an expiration time of no longer than 30 seconds which should be sufficient for even 'parallel' decision support with something like 'Order Select' where a user continues to work while the decision support call is processing."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-22"/>
    <conformance value="SHALL"/>
    <requirement
                 value="For this release of the IG, conformant CRD clients and servers **SHALL** support the CDS Hooks [prefetch](http://cds-hooks.hl7.org/2026Jan/index.html#prefetch-template) capability."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-23"/>
    <conformance value="SHALL"/>
    <requirement
                 value="Clients **SHALL** be able to supply all the existing resources defined in the [prefetch](foundation.html#prefetch) section below for request resources they support."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-24"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="Servers **SHALL** use prefetch expressions in the manner described if those data elements are relevant to their coverage determination or other decision support."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-25"/>
    <conformance value="MAY"/>
    <requirement
                 value="They **MAY** include more and/or less prefetch requests than described in this Additional Data Retrieval section, based on which data is desired."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-26"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="Prefetch requests **SHOULD** only include information that is always expected to be needed for each hook invocation."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-27"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="When information is only needed for certain invocations of the hook (e.g., for specific types of medications or services), that information **SHALL** only be retrieved by query using the provided token, never requested universally via prefetch."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-28"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Servers **SHALL** be able to parse and execute prefetches that use the x-fhir-query syntax defined in the current CDS Hooks specification and not fail if that syntax is present."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-29"/>
    <conformance value="SHOULD-NOT"/>
    <requirement
                 value="CRD client implementations **SHOULD NOT** depend on standardized prefetch key names."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-30"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD clients supporting prefetch **SHALL** inspect the CDS Hooks discovery endpoint to determine exact prefetch key names and queries."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-31"/>
    <conformance value="SHALL"/>
    <requirement
                 value="As mentioned in [Controlling Hook Invocation](deviations.html#controlling-hook-invocation), Coverage included in prefetch **SHALL** be limited to a single instance."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-32"/>
    <requirement
                 value="HTTP 412 responses **SHALL NOT** be used in situations where the prefetch was provided or the query was successfully performed but the record in question did not have all the data the payer might have needed/desired."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-33"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD clients and servers **SHALL** ignore unexpected elements when processing instances."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-34"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD servers **SHALL** provide what coverage requirements they can based on the information available."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-35"/>
    <conformance value="SHALL"/>
    <conformance value="SHOULD"/>
    <conformance value="MAY"/>
    <requirement
                 value="In the specific case of order-based hooks, &quot;what if&quot; **SHOULD** use the Order Sign hook but **SHALL** use the configuration option that prevents the return of an unsolicited determination and **MAY** use configuration options to prevent the return of other irrelevant types of cards (e.g., duplicate therapy)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-36"/>
    <conformance value="SHALL"/>
    <requirement
                 value="When CRD clients pass resources to a CRD server as part of context, the resources **SHALL** have an 'id' and that 'id' **SHALL** be usable as a target for references in resources manipulated by CDS Hooks actions and/or by SMART apps."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="storage"/>
        <display value="storage"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-37"/>
    <conformance value="SHALL"/>
    <requirement
                 value="Therefore, in addition to any logging performed for security purposes, both CRD clients and CRD servers **SHALL** retain logs of all CRD-related hook invocations and their responses for access in the event of a dispute."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="business"/>
        <display value="business"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client-org"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server-org"/>
    </extension>
    <key value="found-38"/>
    <conformance value="SHALL"/>
    <requirement
                 value="Organizations **SHALL** have processes to ensure logs can be accessed by appropriate authorized users to help resolve discrepancies or issues in a timely manner.

NOTE: Because the information in these logs will often contain PHI, access to the logs themselves will need to be restricted and logged for security purposes."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="ui"/>
        <display value="ui"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="found-39"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="CRD clients **SHOULD** ensure that multiple cards with the same advice are handled in a way that will not create a burden on the user."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="found-40"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="Conformant systems **SHOULD** omit non-significant whitespace in transmitted instances for performance reasons."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="hook-1"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients conforming to this implementation guide **SHALL** be able to determine the correct payer CRD server to use for each request."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="hook-2"/>
    <conformance value="SHALL"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="CRD Clients conforming to this implementation guide **SHALL** support at least one of the hooks and (for order-centric hooks), at least one of the order resource types listed below, and **SHOULD** support all that apply to the context of their system."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="hook-3"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="For systems that support ordering products or services covered by one of the CRD-supported request types, such clients **SHALL** support the order-sign hook for the order types they support."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-4"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="CRD Servers conforming to this implementation guide **SHALL** provide a service for all hooks and order resource types required of CRD clients by this implementation guide unless the server has determined that the hook will not be reasonably useful in determining coverage or documentation expectations for the types of coverage provided."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-5"/>
    <conformance value="MAY"/>
    <requirement
                 value="CRD Clients and CRD Servers **MAY** choose to support additional hooks available in the registry on the [CDS Hooks continuous integration build](https://build.fhir.org/ig/HL7/cds-hooks-library) or custom hooks defined elsewhere."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-6"/>
    <conformance value="SHOULD"/>
    <conditionality value="true"/>
    <requirement
                 value="When supporting hooks not covered by this guide, systems **SHOULD** adhere to the general conformance expectations defined in this specification for those additional hooks."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="ui"/>
        <display value="ui"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="hook-7"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD clients **SHALL** allow hook invocation to occur transparently as part of user workflow."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="ui"/>
        <display value="ui"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="hook-8"/>
    <conditionality value="true"/>
    <requirement
                 value="CRD clients **SHALL NOT** require transcription of order, appointment, or other data into a separate interface distinct from regular provider workflow unless performing &quot;what if&quot; situations."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-9"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If the CRD Server encounters an error when processing the request, the system **SHALL** return an appropriate error HTTP Response Code, starting with the digit &quot;4&quot; or &quot;5&quot;, indicating that there was an error."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-10"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If an issue is identified at a layer of the CRD Server that is FHIR aware (e.g. not a &quot;wrong endpoint&quot; or &quot;not authorized&quot; issue), the server **SHALL** provide an OperationOutcome for internal issue tracking by the client system."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="ui"/>
        <display value="ui"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="hook-11"/>
    <conformance value="MAY"/>
    <requirement
                 value="The CRD Client **MAY** display to the user that the Coverage Requirements Discovery Service is unavailable."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="ui"/>
        <display value="ui"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="hook-12"/>
    <conformance value="MAY"/>
    <conditionality value="true"/>
    <requirement
                 value="If additional information (e.g. number to call) is available, it **MAY** also be included in the message to the user."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-13"/>
    <label
           value="CRD Servers SHALL use the 400 and 422 codes in a manner consistent with the FHIR RESTful Create Action"/>
    <conformance value="SHALL"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="* While any 4xx or 5xx response code could be raised, the CRD Server **SHALL** use the 400 and 422 codes in a manner consistent with the FHIR RESTful Create Action, specifically: 
* 400 - Bad Request - The request is not parsable as JSON or the content fails validation against FHIR core or CDS Hooks specification rules. Also used if a CRD server receives a call where the primary Coverage (either provided by prefetch or queried by the payer) does not have a payer.identifier that identifies a payer that is handled by that CRD server endpoint, the server SHALL return a 400 error and SHOULD provide an OperationOutcome. This includes situations where no Coverage is accessible, multiple Coverages are accessible, or the provided Coverage does not have a payer.identifier at all.
* 422 - Unprocessable Entity - The request is valid JSON and meets FHIR and CDS Hook validation rules, but fails to adhere to constraints imposed by this specification."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-14"/>
    <conformance value="MAY"/>
    <conditionality value="true"/>
    <requirement
                 value="If a CRD server's validation process does not differentiate between validation issues stemming from the JSON syntax validation, FHIR core validation, CDS Hooks validation, and CRD-specific validation, it **MAY** treat all validation rules as 400 errors."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="hook-15"/>
    <conformance value="MAY"/>
    <conditionality value="true"/>
    <requirement
                 value="A CRD client **MAY** opt to re-invoke a CRD hook either due to manual user intervention or automatically in the background if there is a reason to believe that a substantive change in the patient's record and/or coverage might produce a different CRD response."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-16"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Servers **SHALL**, at minimum, return a [Coverage Information](StructureDefinition-ext-coverage-information.html) system action for 'primary' hooks, even if the response indicates that further information is needed or that the level of detail provided is insufficient to determine coverage."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="hook-17"/>
    <conformance value="MAY"/>
    <requirement
                 value="These hooks **MAY** return cards or system actions, but are not expected to, and CRD clients are free to ignore any cards or actions returned."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="hook-18"/>
    <conformance value="SHOULD"/>
    <conditionality value="true"/>
    <requirement
                 value="CRD clients **SHOULD** use the [configuration options](deviations.html#new-hook-configuration-mechanism) to instruct CRD servers to not even try to return responses if the client does not intend to display/process them."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-19"/>
    <conditionality value="true"/>
    <requirement
                 value="If Coverage Information is returned for these hooks, it **SHALL NOT** include messages indicating a need for [clinical](ValueSet-AdditionalDocumentation.html) or [administrative](ValueSet-AdditionalDocumentation.html) information, as such information is expected to be made available later in the process and therefore such guidance is not useful."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="hook-20"/>
    <conformance value="SHALL"/>
    <requirement
                 value="Where profiles are provided in a table for the hook sections below, CRD clients **SHALL** ensure that data included in the hook invocation complies with the listed profiles."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <key value="hook-21"/>
    <requirement
                 value="CRD servers **SHALL NOT** depend on data not covered by the identified profiles in order to return valid coverage-information responses."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-22"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Servers **SHALL** handle unrecognized context elements by ignoring them."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-23"/>
    <conformance value="MAY"/>
    <requirement
                 value="CRD Servers **MAY** use the appointment-book hook as a basis for associating a patient with a particular practitioner from a payer attribution perspective."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-24"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD clients and servers **SHALL**, at minimum, support returning and processing the [Coverage Information](StructureDefinition-ext-coverage-information.html) system action for all invocations of the appointment-book hook."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-25"/>
    <conformance value="MAY"/>
    <requirement
                 value="CRD Servers **MAY** use the appointment-book hook as a basis for associating a patient with a particular practitioner from a payer attribution perspective."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-26"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="Coverage requirements **SHOULD** be limited only to those resources that are included in the `dispatchedOrders` context, though the content of other resources **SHOULD** also be considered before making recommendations about what additional actions are necessary."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-27"/>
    <conformance value="MAY"/>
    <requirement
                 value="CRD Servers **MAY** use the order-dispatch hook as a basis for associating a patient with a particular practitioner from a payer attribution perspective."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-28"/>
    <conformance value="SHALL"/>
    <conditionality value="false"/>
    <requirement
                 value="CRD clients and servers **SHALL**, at minimum, support returning and processing the [Coverage Information](StructureDefinition-ext-coverage-information.html) system action for all invocations of the order-dispatch hook."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-29"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="Coverage requirements **SHOULD** be limited only to those resources that are included in the `selections` context, though the content of other resources **SHOULD** also be considered before making recommendations about what additional actions are necessary."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="hook-30"/>
    <conformance value="MAY"/>
    <conditionality value="true"/>
    <requirement
                 value="Where CRD Clients have an appropriate workflow and data capture mechanism, the order-select hook **MAY** be used in scenarios that do not involve creating a true order."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-31"/>
    <conformance value="MAY"/>
    <requirement
                 value="CRD Servers **MAY** use the order-select hook as a basis for associating a patient with a particular practitioner from a payer attribution perspective."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="hook-32"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD clients and servers **SHALL**, at minimum, support returning and processing the [Coverage Information](StructureDefinition-ext-coverage-information.html) system action for all invocations of the order-select hook."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="ui"/>
        <display value="ui"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="impl-1"/>
    <conformance value="SHALL"/>
    <requirement
                 value="Clients that suppress 'default presumption' coverage-information of messages **SHALL** mitigate the potential for misinterpretation in the event CRD is unavailable."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="impl-2"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="CRD servers **SHOULD** strive to achieve a minimum of 3-9s availability for their services and strive to provide at least some level of useful response to CRD clients even if some of their back-end systems are unavailable."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="impl-3"/>
    <conformance value="SHALL"/>
    <conditionality value="false"/>
    <requirement
                 value="Even if implemented using multiple components, there is still a requirement that the exchanges between the provider HIT (including any ePA coordinators) and the payer HIT (including any ePA coordinators) **SHALL** replicate all of the defined exchanges between provider and payer."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="impl-4"/>
    <conformance value="MAY"/>
    <conditionality value="true"/>
    <requirement
                 value="In situations where CRD clients are aware of the likely billing codes at the time of ordering, they **MAY** send these codes as additional CodeableConcept.coding repetitions to assist in server processing."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="impl-5"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="Where a CRD server has made inferences beyond what is explicit in the CRD request, the response **SHOULD** make clear what assumptions around billing codes, in/out-of-network, delivery location were made in providing the response."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="storage"/>
        <display value="storage"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="metric-1"/>
    <conformance value="SHOULD"/>
    <conformance value="MAY"/>
    <requirement
                 value="Each of these IGs recommends a set of metrics that **SHOULD** or **MAY** be collected by their respective implementations to facilitate the evaluation of adoption, functionality, processes, and improved outcomes."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="ops-1"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="CRD clients and servers **SHOULD** support encounter-start and order-select, both to allow payer caching and to allow payers to return useful responses when possible (e.g. coverage expired, service not covered) with the limited information available in those hooks."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="prof-1"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients **SHALL** use either this Appointment with Order profile and/or the [with-order](StructureDefinition-profile-appointment-with-order.html) to provide `appointments` context objects to CRD Servers when invoking the [appointment-book](hooks.html#appointment-book) hook as well as to [resolve other references](foundation.html#additional-data-retrieval) to Appointment resources."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="prof-2"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients **SHALL** use either this Appointment without Order and/or the [no-order](StructureDefinition-profile-appointment-no-order.html) to provide `appointments` context objects to CRD Servers when invoking the [appointment-book](hooks.html#appointment-book) hook as well as to [resolve other references](foundation.html#additional-data-retrieval) to Appointment resources."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="prof-3"/>
    <label
           value="CRD Clients SHALL use the CRD CommunicationRequest profile to resolve references to CommunicationRequest resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects."/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients **SHALL** use the CRD CommunicationRequest profile to [resolve references](foundation.html#additional-data-retrieval) to CommunicationRequest resources passed to CRD Servers (e.g. `selections` context references) and to populate `draftOrders` context objects when invoking the following CDS Hooks:

* [order-select](hooks.html#order-select)
* [order-sign](hooks.html#order-sign)
* [order-dispatch](hooks.html#order-dispatch)"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="prof-4"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients **SHALL** use the CRD Coverage profile to [resolve references](foundation.html#additional-data-retrieval) to insurance Coverage resources passed to CRD Servers."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="prof-5"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients **SHALL** use the CRD Device profile to [resolve references](foundation.html#additional-data-retrieval) to Device resources passed to CRD Servers."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="prof-6"/>
    <label
           value="CRD Clients SHALL use the CRD DeviceRequest profile to resolve references to DeviceRequest resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects."/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients **SHALL** use the CRD DeviceRequest profile to [resolve references](foundation.html#additional-data-retrieval) to DeviceRequest resources passed to CRD Servers (e.g. `selections` context references) and to populate `draftOrders` context objects when invoking the following CDS Hooks:

* [order-select](hooks.html#order-select)
* [order-sign](hooks.html#order-sign)
* [order-dispatch](hooks.html#order-dispatch)"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="prof-7"/>
    <label
           value="CRD Clients SHALL use the CRD Encounter profile to resolve references to Encounter resources passed to CRD Servers, including encounterId context references."/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients **SHALL** use the CRD Encounter profile to [resolve references](foundation.html#additional-data-retrieval) to Encounter resources passed to CRD Servers, including `encounterId` context references when invoking the following CDS Hooks:

* [appointment-book](hooks.html#appointment-book)
* [encounter-start](hooks.html#encounter-start)
* [encounter-discharge](hooks.html#encounter-discharge)
* [order-select](hooks.html#order-select)
* [order-sign](hooks.html#order-sign)
* [order-dispatch](hooks.html#order-dispatch)"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="prof-8"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients **SHALL** use the CRD Location profile to [resolve references](foundation.html#additional-data-retrieval) to insurance Location resources passed to CRD Servers."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="prof-9"/>
    <label
           value="CRD Clients SHALL use the CRD MedicationRequest profile to resolve references to MedicationRequest resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients **SHALL** use the CRD MedicationRequest profile to [resolve references](foundation.html#additional-data-retrieval) to MedicationRequest resources passed to CRD Servers (e.g. `selections` context references) and to populate `draftOrders` context objects when invoking the following CDS Hooks:

* [order-select](hooks.html#order-select)
* [order-sign](hooks.html#order-sign)
* [order-dispatch](hooks.html#order-dispatch)"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="prof-10"/>
    <label
           value="CRD Clients SHALL use CRD NutritionOrder profile to resolve references to NutritionOrder resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects."/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients **SHALL** use CRD NutritionOrder profile to [resolve references](foundation.html#additional-data-retrieval) to NutritionOrder resources passed to CRD Servers (e.g. `selections` context references) and to populate `draftOrders` context objects when invoking the following CDS Hooks:

* [order-select](hooks.html#order-select)
* [order-sign](hooks.html#order-sign)
* [order-dispatch](hooks.html#order-dispatch)"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="prof-11"/>
    <label
           value="CRD Clients SHALL use the CRD ServiceRequest profile to resolve references to ServiceRequest resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects."/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients **SHALL** use the CRD ServiceRequest profile to [resolve references](foundation.html#additional-data-retrieval) to ServiceRequest resources passed to CRD Servers (e.g. `selections` context references) and to populate `draftOrders` context objects when invoking the following CDS Hooks:

* [order-select](hooks.html#order-select)
* [order-sign](hooks.html#order-sign)
* [order-dispatch](hooks.html#order-dispatch)"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="prof-12"/>
    <label
           value="CRD Clients SHALL use the CRD VisionPrescription profile to resolve references to VisionPrescription resources passed to CRD Servers (e.g. selections context references) and to populate draftOrders context objects."/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD Clients **SHALL** use the CRD VisionPrescription profile to [resolve references](foundation.html#additional-data-retrieval) to VisionPrescription resources passed to CRD Servers (e.g. `selections` context references) and to populate `draftOrders` context objects when invoking the following CDS Hooks:

* [order-select](hooks.html#order-select)
* [order-sign](hooks.html#order-sign)
* [order-dispatch](hooks.html#order-dispatch)"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="prof-13"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If a Location is a fine-grained location such as a bed or room, the address **SHALL** be propagated from the higher-level location it is part of."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="prof-14"/>
    <conformance value="MAY"/>
    <requirement
                 value="While the codes for the medication are expected to be drawn from RxNorm, EHRs **MAY** send additional coding repetions to communicate other code systems (e.g. HCPCS J codes)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-1"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="The `Card.indicator` **SHOULD** be populated from the perspective of the clinical decision maker, not the payer"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-2"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="Most Coverage Requirements **SHOULD** be marked as 'info'."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-3"/>
    <conformance value="SHALL"/>
    <requirement
                 value="All `Card.suggestion` elements **SHALL** populate the Suggestion.uuid element."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-4"/>
    <conformance value="SHALL"/>
    <requirement
                 value="The `Card.source.label` **SHALL** be populated with an insurer name that the user and patient are likely to recognize (i.e., the responsible insurer on the patient's insurance card), including in situations where coverage recommendations are being returned by a benefits manager or intermediary operating the CRD server on behalf of the payer."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-5"/>
    <conformance value="SHALL"/>
    <requirement
                 value="`Card.source.topic` **SHALL** be populated, and has an [extensible](http://www.hl7.org/fhir/terminologies.html#extensible) binding to the ValueSet [CRD Response Types](ValueSet-cardType.html)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-6"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="`Card.summary` **SHOULD** provide actionable information."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-7"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="`Card.detail` and/or external links **SHOULD** only be provided when coverage recommendations cannot be clearly provided in the 140-character limit of `Card.summary`."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-8"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="`Card.detail` **SHOULD** provide graduated information, with critical information being provided in the first paragraph and less critical information towards the end of the page."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-9"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="`Card.detail` **SHOULD** provide enough context that a user can determine whether it is worth their time to launch an app or follow an external link, ideally providing a sense of where to look for and how to use whatever link or app they launch in the specific context of the order they are making."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-10"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="While links are permitted in the markdown content of `Card.detail`, support for this is not universal, so links **SHOULD** also be provided in `Card.link`."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-11"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="CRD client systems might not support all card capabilities, therefore card options **SHOULD** provide sufficient information for a user to perform record changes manually if automated support is not available."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-12"/>
    <conformance value="SHOULD-NOT"/>
    <conditionality value="true"/>
    <requirement
                 value="Where [systemActions](http://cds-hooks.hl7.org/2026Jan/index.html#system-action) are used, CRD servers **SHOULD NOT** return equivalent information in a card for user display."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-13"/>
    <conformance value="SHALL"/>
    <requirement
                 value="Conformant CRD clients and services **SHALL** support the [Coverage Information](cards.html#coverage-information-response-type) response type."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-14"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="Conformant CRD clients and services **SHOULD** support the additional (non-coverage information) types defined by this guide."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-15"/>
    <conformance value="SHOULD"/>
    <conditionality value="true"/>
    <requirement
                 value="CRD servers that provide decision support for domains outside of coverage and/or documentation requirements **SHOULD** take reasonable steps to check that the CRD client does not have the information within its store that would allow it to detect the issue itself."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-16"/>
    <requirement
                 value="CRD servers **SHALL NOT** use &quot;External Reference&quot; cards to direct users to a portal for the purpose of initiating prior authorization or determining coverage."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-17"/>
    <conformance value="SHALL"/>
    <requirement value="The card **SHALL** have at least one `Card.link`."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-18"/>
    <conformance value="SHALL"/>
    <requirement
                 value="The `Link.type` **SHALL** have a type of &quot;absolute&quot;."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-19"/>
    <conformance value="SHOULD"/>
    <conditionality value="true"/>
    <requirement
                 value="When reasonable, an &quot;External Reference&quot; card **SHOULD** contain a summary of the actionable information from the external reference in the `detail` element."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-20"/>
    <conformance value="SHOULD"/>
    <conditionality value="true"/>
    <requirement
                 value="As much as technically possible, links provided **SHOULD** be 'deep' links that take the user to the specific place in the documentation relevant to the current hook context to minimize provider reading and navigation time."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-21"/>
    <requirement
                 value="CRD servers **SHALL NOT** use Instructions Response cards to direct users to a portal for the purpose of initiating prior authorization or determining coverage. Use the [Coverage Information](cards.html#coverage-information-response-type) response instead."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-22"/>
    <requirement
                 value="Regardless of the content, this &quot;Coverage Information&quot; response type **SHALL NOT** use a card."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-23"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD servers **SHALL** support supplying coverage information for all primary hooks: order-sign, order-dispatch, and appointment-book."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-24"/>
    <conformance value="MAY"/>
    <requirement
                 value="CRD servers **MAY** support supplying coverage information for all other (non-primary) hooks."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-25"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="CRD servers **SHALL** supply coverage information for all hooks where they support it unless the EHR sends a configuration option asking them not to."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-26"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If coverage information is evaluated, a system action **SHALL** be returned for each in-scope request resource unless that request resource already has a coverage-information extension, and the CRD server has no new information to add."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-27"/>
    <conformance value="SHALL"/>
    <requirement
                 value="Such qualifiers around when the coverage assertion is considered valid **SHALL** be included as part of the annotation."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="resp-28"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If a CRD client submits a claim related to an order for which it has received a coverage-information extension for the coverage type associated with the claim, that claim **SHALL** include the `coverage-assertion-id` and, if applicable, the `satisfied-pa-id` in the X12 837 K3 segment."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-29"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If multiple extension repetitions of the coverage-information extension are present, all repetitions referencing differing insurance (coverage-information.coverage) **SHALL** have distinct coverage-assertion-ids and satisfied-pa-ids, if present."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-30"/>
    <conformance value="MAY"/>
    <conditionality value="true"/>
    <requirement
                 value="Where multiple repetitions apply to the same coverage, they **MAY** have the same coverage-assertion-ids and satisfied-pa-ids (if present)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="resp-31"/>
    <conformance value="MAY"/>
    <requirement
                 value="Systems **MAY** make CRD calls to servers related to orders even if there is already a coverage assertion recorded on the order."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-32"/>
    <requirement
                 value="However, CRD servers **SHALL NOT** send a `systemAction` to update the order unless something is new or changed."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-33"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="CRD servers **SHOULD** take into account the previous decision in deciding how much processing is necessary before returning a response."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-34"/>
    <conditionality value="true"/>
    <requirement
                 value="When returning a `systemAction` to update a resource with the &quot;Coverage Information&quot; response type, the resource content **SHALL NOT** make changes to any data elements other than adding or modifying coverage-information extensions."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-35"/>
    <conformance value="SHOULD"/>
    <conditionality value="true"/>
    <requirement
                 value="If a **coverage-information** extension indicates the need to collect additional information (via 'doc-needed'), the extension **SHOULD** include a reference to the questionnaire(s) to be completed."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="ui"/>
        <display value="ui"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="resp-36"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="When a **coverage-information** response type indicates that additional clinical or patient documentation is needed and the CRD client supports DTR, CRD clients **SHALL** ensure that clinical users have an opportunity to launch their DTR solution as part of the current workflow."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="ui"/>
        <display value="ui"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="resp-37"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="CRD clients **SHOULD** allow clinical users to have an opportunity to launch their DTR solution but **SHOULD** make it clear that the information to be captured is non-clinical."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-38"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="The CRD server **SHOULD** either prompt for the additional needed information using DTR or return a coverage-information extension indicating that the patient is not covered with a reason indicating the issue (e.g. the member could not be found/resolved)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-39"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If the CRD server is unable to resolve the patient, the Coverage Information **SHALL** indicate &quot;not covered&quot; with a reason code of [no-member-found](ValueSet-coverageAssertionReasons.html#x-http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp-no-member-found)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-40"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If the CRD is able to resolve the patient but they do not have active coverage, the Coverage Information **SHALL** indicate &quot;not covered&quot; with a reason of [no-active-coverage](ValueSet-coverageAssertionReasons.html#x-http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp-no-active-coverage)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="storage"/>
        <display value="storage"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="ui"/>
        <display value="ui"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="resp-41"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="If a system action containing a coverage-information extension is returned, the CRD client **SHALL** retain that coverage-information extension and expose it as part of the Request resource in all subsequent communications with that payer, including communications made using DTR and PAS."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="resp-42"/>
    <label
           value="When using the &quot;Coverage Information&quot; response type, the proposed order or appointment being submitted for update SHALL comply with the required profiles"/>
    <conformance value="SHALL"/>
    <requirement
                 value="When using the &quot;Coverage Information&quot; response type, the proposed order or appointment being submitted **SHALL** comply with the following profiles:

| | |
| :--- | :--- |
| [profile-appointment-with-order](StructureDefinition-profile-appointment-with-order.html) |  |
| [profile-appointment-no-order](StructureDefinition-profile-appointment-no-order.html) |  |
| [profile-devicerequest](StructureDefinition-profile-devicerequest.html) |  |
| [profile-medicationrequest](StructureDefinition-profile-medicationrequest.html) |  |
| [profile-nutritionorder](StructureDefinition-profile-nutritionorder.html) |  |
| [profile-servicerequest](StructureDefinition-profile-servicerequest.html) |  |
| [profile-visionprescription](StructureDefinition-profile-visionprescription.html) |  |"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="storage"/>
        <display value="storage"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-43"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD clients and servers **SHALL** support the new CDS Hooks system action functionality to cause annotations to automatically be stored on the relevant request, appointment, etc. without any user intervention."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="ui"/>
        <display value="ui"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="resp-44"/>
    <conformance value="SHALL"/>
    <requirement
                 value="In this case, the discrete information propagated into the order extension **SHALL** be available to the user for viewing. However, this might be managed with icons, flyovers, or alternate mechanisms than traditional CDS Hooks card rendering."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="resp-45"/>
    <conformance value="MAY"/>
    <requirement
                 value="CRD clients **MAY** be configured to not execute system actions under some circumstances, for example if the order has been cancelled or abandoned."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-46"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="Where CRD servers need for data that was not transmitted, they **SHOULD** attempt to infer values from elements that are present."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-47"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="Each suggestion **SHOULD** contain either a single &quot;update&quot; action to revise the existing proposed order; or a &quot;delete&quot; action for the current proposed order and a &quot;create&quot; action for the new proposed order."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-48"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="The choice of &quot;update&quot; vs. &quot;delete + create&quot; **SHOULD** be based on how significant the change is and how relevant the other decision support on the original request will still be."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-49"/>
    <label
           value="When using the &quot;Propose Alternate Request&quot; response type, the proposed orders (and any associated resources) SHALL comply with the required profiles."/>
    <conformance value="SHALL"/>
    <requirement
                 value="When using the &quot;Propose Alternate Request&quot; response type, the proposed orders (and any associated resources) **SHALL** comply with the following profiles:

| | |
| :--- | :--- |
| [profile-device](StructureDefinition-profile-device.html) |  |
| [profile-devicerequest](StructureDefinition-profile-devicerequest.html) |  |
| [profile-encounter†](StructureDefinition-profile-encounter.html) |  |
|  | [us-core-medication](http://hl7.org/fhir/us/core/STU6.1/StructureDefinition-us-core-medication.html) |
| [profile-medicationrequest](StructureDefinition-profile-medicationrequest.html) |  |
| [profile-nutritionorder](StructureDefinition-profile-nutritionorder.html) |  |
| [profile-servicerequest](StructureDefinition-profile-servicerequest.html) |  |
| [profile-visionprescription](StructureDefinition-profile-visionprescription.html) |  |

† Only used if updating an Encounter (e.g., to add a note)"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-50"/>
    <label
           value="When using the &quot;Identify Additional Orders&quot; response type, the proposed orders and any associated resources SHALL comply with the required profiles"/>
    <conformance value="SHALL"/>
    <requirement
                 value="When using the &quot;Identify Additional Orders&quot; response type, the proposed orders and any associated resources **SHALL** comply with the following profiles:

| | |
| :--- | :--- |
| [profile-communicationrequest](StructureDefinition-profile-communicationrequest.html) |  |
| [profile-device](StructureDefinition-profile-device.html) |  |
| [profile-devicerequest](StructureDefinition-profile-devicerequest.html) |  |
|  | [us-core-medication](http://hl7.org/fhir/us/core/STU6.1/StructureDefinition-us-core-medication.html) |
| [profile-medicationrequest](StructureDefinition-profile-medicationrequest.html) |  |
| [profile-nutritionorder](StructureDefinition-profile-nutritionorder.html) |  |
| [profile-servicerequest](StructureDefinition-profile-servicerequest.html) |  |
| [profile-visionprescription](StructureDefinition-profile-visionprescription.html) |  |"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-51"/>
    <label
           value="The Request Form Completion response type **SHALL NOT** be used in place of DTR"/>
    <requirement
                 value="The Request Form Completion response type **SHALL NOT** be used if:

1. DTR is applicable to the use case (i.e. the form relates to prior auth, claim submission, appropriate use, or order fulfillment),
1. DTR is supported by the CRD client (whether voluntarily or as required by regulation), and
1. DTR is available from the server (e.g. not temporarily unavailable or not supported by a payer not subject to regulation)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-52"/>
    <conformance value="MAY"/>
    <requirement
                 value="Instead of using a card for &quot;Request Form Completion&quot;, CRD servers **MAY** opt to use a [systemAction](http://cds-hooks.hl7.org/2026Jan/index.html#system-action)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="resp-53"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="CRD clients supporting the Request Form Completion response type **SHALL** support both the card and systemAction approach."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-54"/>
    <label
           value="When using the &quot;Request Form Completion&quot; response type, the resources in the card or system action SHALL comply with the required profiles"/>
    <conformance value="SHALL"/>
    <requirement
                 value="When using the &quot;Request Form Completion&quot; response type, the resources in the card or system action **SHALL** comply with the following profiles:

| | |
| :--- | :--- |
| [profile-taskquestionnaire](StructureDefinition-profile-taskquestionnaire.html) |  |"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-55"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="CRD servers **SHOULD** use questionnaires that are compliant with either the [Argonaut questionnaire profiles](https://github.com/argonautproject/questionnaire) (for forms to be completed within the CRD client) or the [Structured Data Capture (SDC) profiles](http://hl7.org/fhir/uv/sdc/index.html) (for more sophisticated forms to be created within a SMART on FHIR app or through an external service)."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="storage"/>
        <display value="storage"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="resp-56"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="CRD clients **SHOULD** retain a copy of all completed forms for future reference."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-57"/>
    <conformance value="MAY"/>
    <requirement
                 value="Instead of using a card for &quot;Update Coverage Records&quot;, CRD servers **MAY** opt to use a [systemAction](http://cds-hooks.hl7.org/2026Jan/index.html#system-action) instead."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="resp-58"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD clients supporting the Update Coverage Records response type **SHALL** support both the card and system action approach."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="resp-59"/>
    <conformance value="MAY"/>
    <conditionality value="true"/>
    <requirement
                 value="If receiving a system action, a CRD client **MAY** opt to place the updated record in a holding area for human review rather than directly modifying their source of truth."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-60"/>
    <requirement
                 value="This Update Coverage Records capability **SHALL NOT** be used in situations where regulation dictates the use of the X12 functionality."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="resp-61"/>
    <conformance value="SHOULD-NOT"/>
    <conditionality value="true"/>
    <requirement
                 value="If returning a card rather than a system action, the &quot;Update Coverage Records&quot; response type **SHOULD NOT** be returned for hook types that are likely to be triggered by clinical users rather than administrative staff. Cards of this type would be appropriate for hooks such as encounter-start or appointment-book but would not be appropriate for order-select or order-sign."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="sec-1"/>
    <label
           value="Implementers SHALL adhere to inherited security and privacy rules"/>
    <conformance value="SHALL"/>
    <requirement
                 value="Implementers **SHALL** adhere to any security and privacy rules defined by:

* FHIR Core: [Security &amp; Privacy Module](http://hl7.org/fhir/R4/secpriv-module.html), [Security Principles](http://hl7.org/fhir/R4/security.html) and [Implementer's Checklist](http://hl7.org/fhir/R4/safety.html)
* HRex: [Privacy &amp; Security](https://build.fhir.org/ig/HL7/davinci-ehrx//security.html)
* CDS Hooks: [Security &amp; Safety](http://cds-hooks.hl7.org/2026Jan/index.html#security-and-safety)
* SMART on FHIR: [SMART App Launch](http://www.hl7.org/fhir/smart-app-launch)"/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="sec-2"/>
    <conformance value="SHALL"/>
    <requirement
                 value="As per the CDS Hooks specification, communications between CRD clients and CRD servers **SHALL** use TLS."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="sec-3"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="CRD servers and CRD clients **SHOULD** enforce a minimum version and other TLS configuration requirements based on HRex rules for PHI exchange."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="exchange"/>
        <display value="exchange"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="sec-4"/>
    <conformance value="SHALL"/>
    <conditionality value="true"/>
    <requirement
                 value="CRD clients that support the Launch SMART Application Response Type **SHALL** support running applications that adhere to the SMART on FHIR confidential app profile."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="sec-5"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD servers **SHALL** use information received solely for coverage determination and decision support purposes."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementshallnot">
      <valueBoolean value="true"/>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="storage"/>
        <display value="storage"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-server"/>
    </extension>
    <key value="sec-6"/>
    <requirement
                 value="Servers **SHALL NOT** retain data received over the CRD interfaces for any purpose other than audit or providing context for form completion using DTR."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client"/>
    </extension>
    <key value="sec-7"/>
    <conformance value="SHALL"/>
    <requirement
                 value="CRD clients **SHALL** ensure that the resource identifiers exposed over the CRD interface are distinct from and have no determinable relationship with any business identifiers associated with those records."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="business"/>
        <display value="business"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client-org"/>
    </extension>
    <key value="sec-8"/>
    <conformance value="SHOULD"/>
    <requirement
                 value="CRD client organizations **SHOULD** audit access to check for reasonableness and appropriateness."/>
  </statement>
  <statement>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementcategory">
      <valueCoding>
        <system value="http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp"/>
        <code value="processing"/>
        <display value="processing"/>
      </valueCoding>
    </extension>
    <extension
               url="http://hl7.org/fhir/tools/StructureDefinition/requirements-statementactor">
      <valueString value="crd-client-org"/>
    </extension>
    <key value="sec-9"/>
    <label
           value="Access tokens provided as part of CRD calls **SHOULD NOT** be forwarded to systems that are not managed by the same organization or have business associate agreements that allow centralized audit of access."/>
    <conformance value="SHOULD-NOT"/>
    <requirement
                 value="*  Access tokens provided as part of CRD calls **SHOULD NOT** be forwarded to systems that are not managed by the same organization or have business associate agreements that allow centralized audit of access. Possible alternatives to token-sharing include: 
* Routing all requests for information through the initial endpoint system
* Making use of RFC 8693 to allow the creation of 'delegate' tokens for downstream systems&quot;
 

&gt; Additional testing and standardization work needs to happen around making delegated access function well, particularly in a time-constrained environment."/>
  </statement>
</Requirements>