davinci_crd_test_kit 0.14.0 → 0.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/config/presets/inferno_crd_client_suite_v221.json.erb +64 -0
- data/config/presets/inferno_crd_server_suite_v221.json.erb +2 -2
- data/lib/davinci_crd_test_kit/client/endpoints/hook_request_endpoint.rb +12 -6
- data/lib/davinci_crd_test_kit/client/endpoints/mocked_card_responses/external_reference.json +1 -1
- data/lib/davinci_crd_test_kit/client/endpoints/mocked_card_responses/launch_smart_app.json +0 -7
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_appointment_book_group.rb +8 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_encounter_discharge_group.rb +7 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_encounter_start_group.rb +7 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_hooks_group.rb +20 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_long_running_hook_group.rb +1 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_order_dispatch_group.rb +7 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_order_select_group.rb +7 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_order_sign_group.rb +7 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/client_registration_group.rb +6 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/crd_client_suite.rb +5 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/long_running/client_skip_long_running_attestation_test.rb +10 -5
- data/lib/davinci_crd_test_kit/client/v2.2.1/registration/client_service_registration_attestation_test.rb +2 -1
- data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_prefetch_complete_test.rb +6 -0
- data/lib/davinci_crd_test_kit/client/v2.2.1/verify_response/client_display_cards_attest.rb +2 -1
- data/lib/davinci_crd_test_kit/cross_suite/cards_identification.rb +9 -0
- data/lib/davinci_crd_test_kit/cross_suite/prefetch_completeness_checker.rb +25 -11
- data/lib/davinci_crd_test_kit/cross_suite/requests_logical_model_validation.rb +2 -1
- data/lib/davinci_crd_test_kit/cross_suite/response_logical_model_validation.rb +164 -3
- data/lib/davinci_crd_test_kit/cross_suite/tags.rb +4 -0
- data/lib/davinci_crd_test_kit/requirements/generated/crd_server_v221_requirements_coverage.csv +38 -38
- data/lib/davinci_crd_test_kit/server/jobs/invoke_hook.rb +3 -3
- data/lib/davinci_crd_test_kit/server/jobs/invoke_hook_no_special_requests.rb +17 -0
- data/lib/davinci_crd_test_kit/server/jobs/invoke_hook_with_bad_auth.rb +14 -0
- data/lib/davinci_crd_test_kit/server/server_abstract_invoke_hook_test.rb +24 -6
- data/lib/davinci_crd_test_kit/server/server_hook_helper.rb +2 -2
- data/lib/davinci_crd_test_kit/server/v2.2.1/crd_server_suite.rb +3 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/discovery/discovery_standard_prefetch_expressions_test.rb +166 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/interaction/server_invoke_hook_single_request_test.rb +22 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_appointment_book_group.rb +10 -102
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_demonstrate_hook_response_group.rb +1 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_discovery_group.rb +2 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_encounter_discharge_group.rb +10 -97
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_encounter_start_group.rb +10 -97
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_order_dispatch_group.rb +10 -103
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_order_select_group.rb +12 -116
- data/lib/davinci_crd_test_kit/server/v2.2.1/server_order_sign_group.rb +12 -121
- data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_response_group.rb +23 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_info_reason_test.rb +108 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_not_found_group.rb +116 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/no_active_coverage_group.rb +115 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/no_member_found_group.rb +117 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/technical_issues_group.rb +121 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/technical_issues_invoke_test.rb +22 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_context_validation_test.rb +1 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_optional_fields_validation_test.rb +1 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_required_fields_validation_test.rb +1 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/additional_orders_validation_test.rb +78 -35
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_information_card_absence_test.rb +76 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_information_system_action_validation_test.rb +70 -124
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/create_or_update_coverage_info_response_validation_test.rb +83 -39
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/external_reference_card_validation_test.rb +59 -17
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/form_completion_response_validation_test.rb +80 -45
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/hook_request_resource_resolution.rb +37 -0
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/instructions_card_received_test.rb +57 -6
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/launch_smart_app_card_validation_test.rb +56 -17
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/propose_alternate_request_card_validation_test.rb +52 -25
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/service_response_validation_test.rb +17 -51
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/unknown_cds_hooks_elements_test.rb +1 -1
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/unknown_configuration_test.rb +1 -1
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/unknown_context_test.rb +1 -1
- data/lib/davinci_crd_test_kit/version.rb +2 -2
- metadata +18 -8
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/card_optional_fields_validation_test.rb +0 -57
- data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_information_system_action_received_test.rb +0 -65
data/lib/davinci_crd_test_kit/requirements/generated/crd_server_v221_requirements_coverage.csv
CHANGED
|
@@ -22,11 +22,11 @@ hl7.fhir.us.davinci-crd_2.2.1,dev-7,https://hl7.org/fhir/us/davinci-crd/2.2.1/en
|
|
|
22
22
|
hl7.fhir.us.davinci-crd_2.2.1,dev-8,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/deviations.html#ci-c-dev-8,"Configuration codes, names, and descriptions **SHALL** be unique within a [CDS Service](http://cds-hooks.hl7.org/2026Jan/index.html#response) definition.",SHALL,CRD Server,false,,,1.04,crd_server_v221-crd_v221_server_discovery_group-crd_v221_discovery_configuration
|
|
23
23
|
hl7.fhir.us.davinci-crd_2.2.1,dev-9,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/deviations.html#ci-c-dev-9,"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.",SHOULD,CRD Server,false,,,"",""
|
|
24
24
|
hl7.fhir.us.davinci-crd_2.2.1,dev-10,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/deviations.html#ci-c-dev-10,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.,SHOULD,CRD Server,false,,,"",""
|
|
25
|
-
hl7.fhir.us.davinci-crd_2.2.1,dev-14,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/deviations.html#ci-c-dev-14,CRD Servers **SHALL** behave in the manner prescribed by any supported configuration information received from the CRD Client.,SHALL,CRD Server,false,,,"3.1.3.
|
|
25
|
+
hl7.fhir.us.davinci-crd_2.2.1,dev-14,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/deviations.html#ci-c-dev-14,CRD Servers **SHALL** behave in the manner prescribed by any supported configuration information received from the CRD Client.,SHALL,CRD Server,false,,,"3.1.3.10, 3.2.3.09, 3.3.3.09, 3.4.3.11, 3.5.3.10, 3.6.3.12","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_coverage_info_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_coverage_info_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_coverage_info_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_coverage_info_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_coverage_info_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_coverage_info_configuration"
|
|
26
26
|
hl7.fhir.us.davinci-crd_2.2.1,dev-15,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/deviations.html#ci-c-dev-15,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).,SHALL NOT,CRD Server,false,,,3.7.04,crd_server_v221-crd_v221_server_hooks-crd_v221_server_required_card_response_validation-verify_response_without_configuration
|
|
27
|
-
hl7.fhir.us.davinci-crd_2.2.1,dev-17,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/deviations.html#ci-c-dev-17,CRD Servers **SHALL** ignore unsupported configuration information.,SHALL,CRD Server,false,,,"3.1.3.
|
|
27
|
+
hl7.fhir.us.davinci-crd_2.2.1,dev-17,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/deviations.html#ci-c-dev-17,CRD Servers **SHALL** ignore unsupported configuration information.,SHALL,CRD Server,false,,,"3.1.3.11, 3.2.3.10, 3.3.3.10, 3.4.3.12, 3.5.3.11, 3.6.3.13","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_unknown_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_unknown_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_unknown_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_unknown_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_unknown_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_unknown_configuration"
|
|
28
28
|
hl7.fhir.us.davinci-crd_2.2.1,dev-19,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/deviations.html#ci-c-dev-19,"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",SHOULD,CRD Server,false,,,"",""
|
|
29
|
-
hl7.fhir.us.davinci-crd_2.2.1,dev-20,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/deviations.html#ci-c-dev-20,the CRD server **SHALL** query to determine if the client has a copy of the Questionnaire before sending the request.,SHALL,CRD Server,false,,,"3.1.3.
|
|
29
|
+
hl7.fhir.us.davinci-crd_2.2.1,dev-20,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/deviations.html#ci-c-dev-20,the CRD server **SHALL** query to determine if the client has a copy of the Questionnaire before sending the request.,SHALL,CRD Server,false,,,"3.1.3.08, 3.2.3.07, 3.3.3.07, 3.4.3.09, 3.5.3.08, 3.6.3.10","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_request_form_completion_response_validation"
|
|
30
30
|
hl7.fhir.us.davinci-crd_2.2.1,dev-24,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/deviations.html#ci-c-dev-24,"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.",SHALL,CRD Server,true,,,"",""
|
|
31
31
|
hl7.fhir.us.davinci-crd_2.2.1,dev-25,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/deviations.html#ci-c-dev-25,"As well, cards **SHOULD** include the associated-resource extension to allow computable linkage.",SHOULD,CRD Server,false,,,"",""
|
|
32
32
|
hl7.fhir.us.davinci-crd_2.2.1,found-1,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/foundation.html#ci-c-found-1,"CRD servers and CRD clients **MAY** mutually agree to support additional hooks, additional card patterns, additional resources, additional extensions, etc. not found in this specification.",MAY,"CRD Client,CRD Server",false,,,"",""
|
|
@@ -43,9 +43,9 @@ hl7.fhir.us.davinci-crd_2.2.1,found-24,https://hl7.org/fhir/us/davinci-crd/2.2.1
|
|
|
43
43
|
hl7.fhir.us.davinci-crd_2.2.1,found-26,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/foundation.html#ci-c-found-26,"They **MAY** include more and/or less prefetch requests than described in 'standard' prefetch section below, based on which data is desired.",MAY,CRD Server,false,,,"",""
|
|
44
44
|
hl7.fhir.us.davinci-crd_2.2.1,found-27,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/foundation.html#ci-c-found-27,Prefetch requests **SHOULD** only include information that is always expected to be needed for each hook invocation.,SHOULD,CRD Server,false,,,"",""
|
|
45
45
|
hl7.fhir.us.davinci-crd_2.2.1,found-28,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/foundation.html#ci-c-found-28,"When information is only needed for certain invocations of the hook (e.g., for specific types of medications or services), that information **SHOULD** only be retrieved by query using the provided token, not requested universally via prefetch.",SHOULD,CRD Server,true,,,"",""
|
|
46
|
-
hl7.fhir.us.davinci-crd_2.2.1,found-29,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/foundation.html#ci-c-found-29,Servers **SHALL** use prefetch expressions in the manner described below if those data elements are relevant to their coverage determination or other decision support.,SHALL,CRD Server,true,,,
|
|
46
|
+
hl7.fhir.us.davinci-crd_2.2.1,found-29,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/foundation.html#ci-c-found-29,Servers **SHALL** use prefetch expressions in the manner described below if those data elements are relevant to their coverage determination or other decision support.,SHALL,CRD Server,true,,,1.06,crd_server_v221-crd_v221_server_discovery_group-crd_v221_discovery_standard_prefetch_expressions
|
|
47
47
|
hl7.fhir.us.davinci-crd_2.2.1,found-32,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/foundation.html#ci-c-found-32,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.,SHALL NOT,CRD Server,false,,,"",""
|
|
48
|
-
hl7.fhir.us.davinci-crd_2.2.1,found-33,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/foundation.html#ci-c-found-33,CRD clients and servers **SHALL** ignore unexpected elements when processing instances.,SHALL,"CRD Client,CRD Server",false,,,"3.1.3.
|
|
48
|
+
hl7.fhir.us.davinci-crd_2.2.1,found-33,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/foundation.html#ci-c-found-33,CRD clients and servers **SHALL** ignore unexpected elements when processing instances.,SHALL,"CRD Client,CRD Server",false,,,"3.1.3.13, 3.2.3.12, 3.3.3.12, 3.4.3.14, 3.5.3.13, 3.6.3.15","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_unknown_cds_hooks_elements, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_unknown_cds_hooks_elements, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_unknown_cds_hooks_elements, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_unknown_cds_hooks_elements, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_unknown_cds_hooks_elements, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_unknown_cds_hooks_elements"
|
|
49
49
|
hl7.fhir.us.davinci-crd_2.2.1,found-34,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/foundation.html#ci-c-found-34,CRD servers **SHALL** provide what coverage requirements they can based on the information available.,SHALL,CRD Server,false,,,"",""
|
|
50
50
|
hl7.fhir.us.davinci-crd_2.2.1,found-37,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/foundation.html#ci-c-found-37,"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.",SHALL,"CRD Client,CRD Server",false,,,"",""
|
|
51
51
|
hl7.fhir.us.davinci-crd_2.2.1,found-40,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/foundation.html#ci-c-found-40,Conformant systems **SHOULD** omit non-significant whitespace in transmitted instances for performance reasons.,SHOULD,"CRD Client,CRD Server",false,,,"",""
|
|
@@ -56,19 +56,19 @@ hl7.fhir.us.davinci-crd_2.2.1,hook-9,https://hl7.org/fhir/us/davinci-crd/2.2.1/e
|
|
|
56
56
|
hl7.fhir.us.davinci-crd_2.2.1,hook-10,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-10,"If an issue is identified at a layer of the CRD Server that is FHIR aware (e.g. not a ""wrong endpoint"" or ""not authorized"" issue), the server **SHALL** provide an OperationOutcome for internal issue tracking by the client system.",SHALL,CRD Server,true,,,"",""
|
|
57
57
|
hl7.fhir.us.davinci-crd_2.2.1,hook-13,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-13,CRD Servers SHALL use the 400 and 422 codes in a manner consistent with the FHIR RESTful Create Action,SHALL,CRD Server,false,,,"",""
|
|
58
58
|
hl7.fhir.us.davinci-crd_2.2.1,hook-14,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-14,"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.",MAY,CRD Server,true,,,"",""
|
|
59
|
-
hl7.fhir.us.davinci-crd_2.2.1,hook-16,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-16,"Unless reporting an error or coverage information already exists and there is no new information, CRD Servers **SHALL** include a Coverage Information system action in the response 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.",SHALL,CRD Server,false,,,"3.1.3.
|
|
59
|
+
hl7.fhir.us.davinci-crd_2.2.1,hook-16,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-16,"Unless reporting an error or coverage information already exists and there is no new information, CRD Servers **SHALL** include a Coverage Information system action in the response 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.",SHALL,CRD Server,false,,,"3.1.3.06, 3.5.3.06, 3.6.3.06","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_all_responses_include_coverage_information, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_order_dispatch_coverage_information, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_all_responses_include_coverage_information"
|
|
60
60
|
hl7.fhir.us.davinci-crd_2.2.1,hook-19,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-19,"If Coverage Information is returned for these hooks, it **SHALL NOT** include messages indicating a need for [clinical](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/ValueSet-AdditionalDocumentation.html) or [administrative](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/ValueSet-AdditionalDocumentation.html) information, as such information is expected to be made available later in the process and therefore such guidance is not useful.",SHALL NOT,CRD Server,true,,,"",""
|
|
61
61
|
hl7.fhir.us.davinci-crd_2.2.1,hook-22,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-22,CRD servers **SHALL NOT** depend on data not covered by the identified profiles in order to return valid coverage-information responses.,SHALL NOT,CRD Server,false,,,3.7.06,crd_server_v221-crd_v221_server_hooks-crd_v221_server_required_card_response_validation-crd_v221_service_request_no_custom_extensions
|
|
62
|
-
hl7.fhir.us.davinci-crd_2.2.1,hook-23,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-23,CRD Servers **SHALL** handle unrecognized context elements by ignoring them.,SHALL,CRD Server,false,,,"3.1.3.
|
|
62
|
+
hl7.fhir.us.davinci-crd_2.2.1,hook-23,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-23,CRD Servers **SHALL** handle unrecognized context elements by ignoring them.,SHALL,CRD Server,false,,,"3.1.3.12, 3.2.3.11, 3.3.3.11, 3.4.3.13, 3.5.3.12, 3.6.3.14","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_unknown_context, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_unknown_context, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_unknown_context, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_unknown_context, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_unknown_context, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_unknown_context"
|
|
63
63
|
hl7.fhir.us.davinci-crd_2.2.1,hook-25,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-25,CRD Servers **MAY** use the appointment-book hook as a basis for associating a patient with a particular practitioner from a payer attribution perspective.,MAY,CRD Server,false,,,"",""
|
|
64
|
-
hl7.fhir.us.davinci-crd_2.2.1,hook-26,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-26,"CRD clients and servers **SHALL**, at minimum, support returning and processing the [Coverage Information](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-ext-coverage-information.html) system action for all invocations of the appointment-book hook.",SHALL,"CRD Client,CRD Server",false,,,3.1.3.
|
|
64
|
+
hl7.fhir.us.davinci-crd_2.2.1,hook-26,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-26,"CRD clients and servers **SHALL**, at minimum, support returning and processing the [Coverage Information](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-ext-coverage-information.html) system action for all invocations of the appointment-book hook.",SHALL,"CRD Client,CRD Server",false,,,3.1.3.06,crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_all_responses_include_coverage_information
|
|
65
65
|
hl7.fhir.us.davinci-crd_2.2.1,hook-28,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-28,CRD Servers **MAY** use the encounter-start hook as a basis for associating a patient with a particular practitioner from a payer attribution perspective.,MAY,CRD Server,false,,,"",""
|
|
66
66
|
hl7.fhir.us.davinci-crd_2.2.1,hook-30,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-30,"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.",SHOULD,CRD Server,false,,,"",""
|
|
67
67
|
hl7.fhir.us.davinci-crd_2.2.1,hook-32,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-32,CRD Servers **MAY** use the order-dispatch hook as a basis for associating a patient with a particular practitioner from a payer attribution perspective.,MAY,CRD Server,false,,,"",""
|
|
68
|
-
hl7.fhir.us.davinci-crd_2.2.1,hook-33,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-33,"CRD clients and servers **SHALL**, at minimum, support returning and processing the [Coverage Information](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-ext-coverage-information.html) system action for all invocations of the order-dispatch hook.",SHALL,"CRD Client,CRD Server",false,,,3.5.3.
|
|
68
|
+
hl7.fhir.us.davinci-crd_2.2.1,hook-33,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-33,"CRD clients and servers **SHALL**, at minimum, support returning and processing the [Coverage Information](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-ext-coverage-information.html) system action for all invocations of the order-dispatch hook.",SHALL,"CRD Client,CRD Server",false,,,3.5.3.06,crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_order_dispatch_coverage_information
|
|
69
69
|
hl7.fhir.us.davinci-crd_2.2.1,hook-34,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-34,"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.",SHOULD,CRD Server,false,,,"",""
|
|
70
70
|
hl7.fhir.us.davinci-crd_2.2.1,hook-38,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-38,CRD Servers **MAY** use the order-sign hook as a basis for associating a patient with a particular practitioner from a payer attribution perspective.,MAY,CRD Server,false,,,"",""
|
|
71
|
-
hl7.fhir.us.davinci-crd_2.2.1,hook-39,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-39,"CRD clients and servers **SHALL**, at minimum, support returning and processing the [Coverage Information](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-ext-coverage-information.html) system action for all invocations of the order-select hook.",SHALL,"CRD Client,CRD Server",false,,,3.6.3.
|
|
71
|
+
hl7.fhir.us.davinci-crd_2.2.1,hook-39,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/hooks.html#ci-c-hook-39,"CRD clients and servers **SHALL**, at minimum, support returning and processing the [Coverage Information](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-ext-coverage-information.html) system action for all invocations of the order-select hook.",SHALL,"CRD Client,CRD Server",false,,,3.6.3.06,crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_all_responses_include_coverage_information
|
|
72
72
|
hl7.fhir.us.davinci-crd_2.2.1,impl-2,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/implementation.html#ci-c-impl-2,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.,SHOULD,CRD Server,false,,,"",""
|
|
73
73
|
hl7.fhir.us.davinci-crd_2.2.1,impl-3,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/implementation.html#ci-c-impl-3,"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.",SHALL,"CRD Client,CRD Server",false,,,"",""
|
|
74
74
|
hl7.fhir.us.davinci-crd_2.2.1,impl-5,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/implementation.html#ci-c-impl-5,"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.",SHOULD,CRD Server,false,,,"",""
|
|
@@ -77,9 +77,9 @@ hl7.fhir.us.davinci-crd_2.2.1,ops-1,https://hl7.org/fhir/us/davinci-crd/2.2.1/en
|
|
|
77
77
|
hl7.fhir.us.davinci-crd_2.2.1,prof-15,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/ValueSet-coverageAssertionReasons.html#ci-c-prof-15,CRD servers **SHOULD** start sending the ActReason codes in parallel with the CRD-specific codes once they are available to ease transition in future releases when the CRD value set will be deprecated and eventually retired.,SHOULD,CRD Server,false,,,"",""
|
|
78
78
|
hl7.fhir.us.davinci-crd_2.2.1,resp-1,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-1,"The `Card.indicator` **SHOULD** be populated from the perspective of the clinical decision maker, not the payer",SHOULD,CRD Server,false,,,"",""
|
|
79
79
|
hl7.fhir.us.davinci-crd_2.2.1,resp-2,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-2,Most Coverage Requirements **SHOULD** be marked as 'info'.,SHOULD,CRD Server,false,,,"",""
|
|
80
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-3,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-3,All `Card.suggestion` elements **SHALL** populate the Suggestion.uuid element.,SHALL,CRD Server,false,,,"3.1.3.
|
|
81
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-4,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-4,"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.",SHALL,CRD Server,false,,,"2.3.01, 3.1.3.01, 3.2.3.01, 3.3.3.01, 3.4.3.01, 3.5.3.01, 3.6.3.01","crd_server_v221-crd_v221_server_demonstrate_hook_response-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_service_response_validation"
|
|
82
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-5,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-5,"`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](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/ValueSet-cardType.html).",SHALL,CRD Server,false,,,"2.3.01, 3.1.3.01, 3.2.3.01, 3.3.3.01, 3.4.3.01, 3.5.3.01, 3.6.3.01","crd_server_v221-crd_v221_server_demonstrate_hook_response-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_service_response_validation"
|
|
80
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-3,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-3,All `Card.suggestion` elements **SHALL** populate the Suggestion.uuid element.,SHALL,CRD Server,false,,,"3.1.3.08, 3.1.3.09, 3.2.3.07, 3.2.3.08, 3.3.3.07, 3.3.3.08, 3.4.3.07, 3.4.3.08, 3.4.3.09, 3.4.3.10, 3.5.3.08, 3.5.3.09, 3.6.3.08, 3.6.3.09, 3.6.3.10, 3.6.3.11","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_create_or_update_coverage_info_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_create_or_update_coverage_info_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_create_or_update_coverage_info_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_propose_alternate_request_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_additional_orders_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_create_or_update_coverage_info_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_create_or_update_coverage_info_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_propose_alternate_request_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_additional_orders_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_create_or_update_coverage_info_response_validation"
|
|
81
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-4,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-4,"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.",SHALL,CRD Server,false,,,"2.3.01, 3.1.3.01, 3.2.3.01, 3.3.3.01, 3.4.3.01, 3.5.3.01, 3.6.3.01, 4.1.3.01, 4.2.3.01, 4.3.3.01, 4.4.3.01","crd_server_v221-crd_v221_server_demonstrate_hook_response-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_technical_issues_group-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_member_found_group-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_coverage_not_found_group-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_active_coverage_group-Group03-crd_v221_service_response_validation"
|
|
82
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-5,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-5,"`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](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/ValueSet-cardType.html).",SHALL,CRD Server,false,,,"2.3.01, 3.1.3.01, 3.2.3.01, 3.3.3.01, 3.4.3.01, 3.5.3.01, 3.6.3.01, 4.1.3.01, 4.2.3.01, 4.3.3.01, 4.4.3.01","crd_server_v221-crd_v221_server_demonstrate_hook_response-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_technical_issues_group-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_member_found_group-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_coverage_not_found_group-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_active_coverage_group-Group03-crd_v221_service_response_validation"
|
|
83
83
|
hl7.fhir.us.davinci-crd_2.2.1,resp-6,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-6,`Card.summary` **SHOULD** provide actionable information.,SHOULD,CRD Server,false,,,"",""
|
|
84
84
|
hl7.fhir.us.davinci-crd_2.2.1,resp-7,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-7,`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`.,SHOULD,CRD Server,false,,,"",""
|
|
85
85
|
hl7.fhir.us.davinci-crd_2.2.1,resp-8,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-8,"`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.",SHOULD,CRD Server,false,,,"",""
|
|
@@ -87,55 +87,55 @@ hl7.fhir.us.davinci-crd_2.2.1,resp-9,https://hl7.org/fhir/us/davinci-crd/2.2.1/e
|
|
|
87
87
|
hl7.fhir.us.davinci-crd_2.2.1,resp-10,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-10,"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](http://Card.link)`.",SHOULD,CRD Server,false,,,"",""
|
|
88
88
|
hl7.fhir.us.davinci-crd_2.2.1,resp-11,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-11,"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.",SHOULD,CRD Server,false,,,"",""
|
|
89
89
|
hl7.fhir.us.davinci-crd_2.2.1,resp-12,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-12,"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.",SHOULD NOT,CRD Server,true,,,"",""
|
|
90
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-13,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-13,All CRD responses **SHALL** comply with the general profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponseBase.html).,SHALL,CRD Server,false,,,"2.3.01, 3.1.3.01, 3.
|
|
90
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-13,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-13,All CRD responses **SHALL** comply with the general profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponseBase.html).,SHALL,CRD Server,false,,,"2.3.01, 3.1.3.01, 3.2.3.01, 3.3.3.01, 3.4.3.01, 3.5.3.01, 3.6.3.01, 4.1.3.01, 4.2.3.01, 4.3.3.01, 4.4.3.01","crd_server_v221-crd_v221_server_demonstrate_hook_response-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_technical_issues_group-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_member_found_group-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_coverage_not_found_group-Group03-crd_v221_service_response_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_active_coverage_group-Group03-crd_v221_service_response_validation"
|
|
91
91
|
hl7.fhir.us.davinci-crd_2.2.1,resp-14,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-14,Conformant CRD clients and services **SHALL** support the [Coverage Information](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/conformancedetails.html#coverage-information-response-type) response type.,SHALL,"CRD Client,CRD Server",false,,,3.7.01,crd_server_v221-crd_v221_server_hooks-crd_v221_server_required_card_response_validation-crd_v221_coverage_info_system_action_across_hooks_validation
|
|
92
92
|
hl7.fhir.us.davinci-crd_2.2.1,resp-15,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-15,Conformant CRD clients and services **SHOULD** support the additional (non-coverage information) types defined by this guide.,SHOULD,"CRD Client,CRD Server",false,,,"",""
|
|
93
93
|
hl7.fhir.us.davinci-crd_2.2.1,resp-16,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-16,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.,SHOULD,CRD Server,true,,,"",""
|
|
94
94
|
hl7.fhir.us.davinci-crd_2.2.1,resp-17,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-17,"CRD servers **SHALL NOT** use ""External Reference"" cards to direct users to a portal for the purpose of initiating prior authorization or determining coverage.",SHALL NOT,CRD Server,false,,,"",""
|
|
95
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-18,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-18,The card **SHALL** have at least one `[Card.link](http://Card.link)`.,SHALL,CRD Server,false,,,"
|
|
96
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-19,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-19,"The `Link.type` **SHALL** have a type of ""absolute"".",SHALL,CRD Server,false,,,"3.1.3.02, 3.2.3.02, 3.3.3.02, 3.4.3.02, 3.5.3.02, 3.6.3.02","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-
|
|
95
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-18,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-18,The card **SHALL** have at least one `[Card.link](http://Card.link)`.,SHALL,CRD Server,false,,,"",""
|
|
96
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-19,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-19,"The `Link.type` **SHALL** have a type of ""absolute"".",SHALL,CRD Server,false,,,"3.1.3.02, 3.2.3.02, 3.3.3.02, 3.4.3.02, 3.5.3.02, 3.6.3.02","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_external_reference_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_external_reference_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_external_reference_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_external_reference_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_external_reference_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_external_reference_card_validation"
|
|
97
97
|
hl7.fhir.us.davinci-crd_2.2.1,resp-20,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-20,"When reasonable, an ""External Reference"" card **SHOULD** contain a summary of the actionable information from the external reference in the `detail` element.",SHOULD,CRD Server,true,,,"",""
|
|
98
98
|
hl7.fhir.us.davinci-crd_2.2.1,resp-21,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-21,"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.",SHOULD,CRD Server,true,,,"",""
|
|
99
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-22,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-22,External Reference responses **SHALL** comply with the logical model profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-externalReference.html).,SHALL,CRD Server,false,,,"
|
|
99
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-22,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-22,External Reference responses **SHALL** comply with the logical model profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-externalReference.html).,SHALL,CRD Server,false,,,"3.1.3.02, 3.2.3.02, 3.3.3.02, 3.4.3.02, 3.5.3.02, 3.6.3.02","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_external_reference_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_external_reference_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_external_reference_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_external_reference_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_external_reference_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_external_reference_card_validation"
|
|
100
100
|
hl7.fhir.us.davinci-crd_2.2.1,resp-23,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-23,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](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/conformancedetails.html#coverage-information-response-type) response instead.,SHALL NOT,CRD Server,false,,,"",""
|
|
101
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-24,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-24,Instructions responses **SHALL** comply with the logical model profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-instructions.html).,SHALL,CRD Server,false,,,"
|
|
102
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-25,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-25,"Regardless of the content, this ""Coverage Information"" response type **SHALL NOT** use a card.",SHALL NOT,CRD Server,false,,,"3.1.3.07, 3.5.3.07, 3.6.3.07","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-
|
|
103
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-26,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-26,"CRD servers **SHALL** support supplying coverage information for all primary hooks: order-sign, order-dispatch, and appointment-book.",SHALL,CRD Server,false,,,"3.1.3.
|
|
101
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-24,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-24,Instructions responses **SHALL** comply with the logical model profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-instructions.html).,SHALL,CRD Server,false,,,"3.1.3.04, 3.2.3.04, 3.3.3.04, 3.4.3.04, 3.5.3.04, 3.6.3.04","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_valid_instructions_card_received, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_valid_instructions_card_received, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_valid_instructions_card_received, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_valid_instructions_card_received, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_valid_instructions_card_received, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_valid_instructions_card_received"
|
|
102
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-25,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-25,"Regardless of the content, this ""Coverage Information"" response type **SHALL NOT** use a card.",SHALL NOT,CRD Server,false,,,"3.1.3.07, 3.2.3.06, 3.3.3.06, 3.4.3.06, 3.5.3.07, 3.6.3.07","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_coverage_information_card_absence, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_coverage_information_card_absence, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_coverage_information_card_absence, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_coverage_information_card_absence, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_coverage_information_card_absence, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_coverage_information_card_absence"
|
|
103
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-26,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-26,"CRD servers **SHALL** support supplying coverage information for all primary hooks: order-sign, order-dispatch, and appointment-book.",SHALL,CRD Server,false,,,"3.1.3.05, 3.2.3.05, 3.3.3.05, 3.4.3.05, 3.5.3.05, 3.6.3.05, 4.1.3.02, 4.2.3.02, 4.3.3.02, 4.4.3.02","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_technical_issues_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_member_found_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_coverage_not_found_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_active_coverage_group-Group03-crd_v221_coverage_info_system_action_validation"
|
|
104
104
|
hl7.fhir.us.davinci-crd_2.2.1,resp-27,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-27,CRD servers **MAY** support supplying coverage information for all other (non-primary) hooks.,MAY,CRD Server,false,,,"",""
|
|
105
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-28,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-28,CRD servers **SHALL** supply coverage information for all hooks where they support it unless the EHR sends a configuration option asking them not to.,SHALL,CRD Server,true,,,"3.1.3.
|
|
106
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-29,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-29,"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.",SHALL,CRD Server,true,,,"3.1.3.
|
|
105
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-28,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-28,CRD servers **SHALL** supply coverage information for all hooks where they support it unless the EHR sends a configuration option asking them not to.,SHALL,CRD Server,true,,,"3.1.3.06, 3.1.3.10, 3.2.3.09, 3.3.3.09, 3.4.3.11, 3.5.3.06, 3.5.3.10, 3.6.3.06, 3.6.3.12","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_all_responses_include_coverage_information, crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_coverage_info_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_coverage_info_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_coverage_info_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_coverage_info_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_order_dispatch_coverage_information, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_coverage_info_configuration, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_all_responses_include_coverage_information, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_coverage_info_configuration"
|
|
106
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-29,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-29,"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.",SHALL,CRD Server,true,,,"3.1.3.06, 3.5.3.06, 3.6.3.06","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_all_responses_include_coverage_information, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_order_dispatch_coverage_information, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_all_responses_include_coverage_information"
|
|
107
107
|
hl7.fhir.us.davinci-crd_2.2.1,resp-30,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-30,Such qualifiers around when the coverage assertion is considered valid **SHALL** be included as part of the annotation.,SHALL,CRD Server,false,,,"",""
|
|
108
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-32,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-32,"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.",SHALL,CRD Server,true,,,"3.2.3.
|
|
108
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-32,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-32,"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.",SHALL,CRD Server,true,,,"3.1.3.05, 3.2.3.05, 3.3.3.05, 3.4.3.05, 3.5.3.05, 3.6.3.05, 4.1.3.02, 4.2.3.02, 4.3.3.02, 4.4.3.02","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_technical_issues_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_member_found_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_coverage_not_found_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_active_coverage_group-Group03-crd_v221_coverage_info_system_action_validation"
|
|
109
109
|
hl7.fhir.us.davinci-crd_2.2.1,resp-33,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-33,"Where multiple repetitions apply to the same coverage, they **MAY** have the same coverage-assertion-ids and satisfied-pa-ids (if present).",MAY,CRD Server,true,,,"",""
|
|
110
110
|
hl7.fhir.us.davinci-crd_2.2.1,resp-35,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-35,"However, CRD servers **SHALL NOT** send a `systemAction` to update the order unless something is new or changed.",SHALL NOT,CRD Server,false,,,"",""
|
|
111
111
|
hl7.fhir.us.davinci-crd_2.2.1,resp-36,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-36,CRD servers **SHOULD** take into account the previous decision in deciding how much processing is necessary before returning a response.,SHOULD,CRD Server,false,,,"",""
|
|
112
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-37,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-37,"When returning a `systemAction` to update a resource with the ""Coverage Information"" response type, the resource content **SHALL NOT** make changes to any data elements other than adding or modifying coverage-information extensions.",SHALL NOT,CRD Server,true,,,"3.2.3.
|
|
112
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-37,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-37,"When returning a `systemAction` to update a resource with the ""Coverage Information"" response type, the resource content **SHALL NOT** make changes to any data elements other than adding or modifying coverage-information extensions.",SHALL NOT,CRD Server,true,,,"3.1.3.05, 3.2.3.05, 3.3.3.05, 3.4.3.05, 3.5.3.05, 3.6.3.05, 4.1.3.02, 4.2.3.02, 4.3.3.02, 4.4.3.02","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_technical_issues_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_member_found_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_coverage_not_found_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_active_coverage_group-Group03-crd_v221_coverage_info_system_action_validation"
|
|
113
113
|
hl7.fhir.us.davinci-crd_2.2.1,resp-38,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-38,"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.",SHOULD,CRD Server,true,,,"",""
|
|
114
114
|
hl7.fhir.us.davinci-crd_2.2.1,resp-39,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-39,CRD Servers **SHOULD** access information via the FHIR Rest API as part of CRD and only fall back to data capture via DTR when computable access is not possible.,SHOULD,CRD Server,false,,,"",""
|
|
115
115
|
hl7.fhir.us.davinci-crd_2.2.1,resp-42,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-42,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).,SHOULD,CRD Server,false,,,"",""
|
|
116
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-43,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-43,"If the CRD server encounters technical issues that prevent it from determining a coverage, prior auth, or documentation requirement response (e.g. due to internal communication issues, authorization failure, temporary unavailability of the CRD client's FHIR API, etc.), it **SHALL** indicate ""indeterminate"" in the appropriate element with a reason code of [technical](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/ValueSet-coverageAssertionReasons.html#logical-definition-cld) and additional details in the reason.text.",SHALL,CRD Server,true,,,
|
|
117
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-44,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-44,"If the CRD server is unable to resolve the patient for a reason other than technology failure, the Coverage Information **SHALL** indicate ""not-covered"" in 'coverage' with a reason code of [no-member-found](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/ValueSet-coverageAssertionReasons.html#logical-definition-cld).",SHALL,CRD Server,true,,,
|
|
118
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-45,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-45,"If the CRD server is able to resolve the patient but they do not have active coverage or cannot resolve to a single coverage, the Coverage Information **SHALL** indicate ""not-covered"" with a reason of either [coverage-not-found](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/ValueSet-coverageAssertionReasons.html#logical-definition-cld) or [no-active-coverage](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/ValueSet-coverageAssertionReasons.html#logical-definition-cld), as appropriate.",SHALL,CRD Server,true,,,"",""
|
|
119
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-47,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-47,"When using the ""Coverage Information"" response type, the proposed order or appointment being submitted for update SHALL comply with the required profiles",SHALL,CRD Server,false,,,"3.2.3.
|
|
120
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-48,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-48,"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.",SHALL,"CRD Client,CRD Server",false,,,"3.2.3.
|
|
116
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-43,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-43,"If the CRD server encounters technical issues that prevent it from determining a coverage, prior auth, or documentation requirement response (e.g. due to internal communication issues, authorization failure, temporary unavailability of the CRD client's FHIR API, etc.), it **SHALL** indicate ""indeterminate"" in the appropriate element with a reason code of [technical](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/ValueSet-coverageAssertionReasons.html#logical-definition-cld) and additional details in the reason.text.",SHALL,CRD Server,true,,,4.1.3.03,crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_technical_issues_group-Group03-crd_v221_coverage_info_reason
|
|
117
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-44,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-44,"If the CRD server is unable to resolve the patient for a reason other than technology failure, the Coverage Information **SHALL** indicate ""not-covered"" in 'coverage' with a reason code of [no-member-found](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/ValueSet-coverageAssertionReasons.html#logical-definition-cld).",SHALL,CRD Server,true,,,4.2.3.03,crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_member_found_group-Group03-crd_v221_coverage_info_reason
|
|
118
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-45,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-45,"If the CRD server is able to resolve the patient but they do not have active coverage or cannot resolve to a single coverage, the Coverage Information **SHALL** indicate ""not-covered"" with a reason of either [coverage-not-found](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/ValueSet-coverageAssertionReasons.html#logical-definition-cld) or [no-active-coverage](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/ValueSet-coverageAssertionReasons.html#logical-definition-cld), as appropriate.",SHALL,CRD Server,true,,,"4.3.3.03, 4.4.3.03","crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_coverage_not_found_group-Group03-crd_v221_coverage_info_reason, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_active_coverage_group-Group03-crd_v221_coverage_info_reason"
|
|
119
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-47,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-47,"When using the ""Coverage Information"" response type, the proposed order or appointment being submitted for update SHALL comply with the required profiles",SHALL,CRD Server,false,,,"3.1.3.05, 3.2.3.05, 3.3.3.05, 3.4.3.05, 3.5.3.05, 3.6.3.05, 4.1.3.02, 4.2.3.02, 4.3.3.02, 4.4.3.02","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_technical_issues_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_member_found_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_coverage_not_found_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_active_coverage_group-Group03-crd_v221_coverage_info_system_action_validation"
|
|
120
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-48,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-48,"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.",SHALL,"CRD Client,CRD Server",false,,,"3.1.3.05, 3.2.3.05, 3.3.3.05, 3.4.3.05, 3.5.3.05, 3.6.3.05, 4.1.3.02, 4.2.3.02, 4.3.3.02, 4.4.3.02","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_technical_issues_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_member_found_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_coverage_not_found_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_active_coverage_group-Group03-crd_v221_coverage_info_system_action_validation"
|
|
121
121
|
hl7.fhir.us.davinci-crd_2.2.1,resp-51,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-51,"Where CRD servers need data that was not transmitted, they **SHOULD** attempt to infer values from elements that are present.",SHOULD,CRD Server,false,,,"",""
|
|
122
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-52,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-52,Coverage Information responses **SHALL** comply with the logical model profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-coverageInformation.html).,SHALL,CRD Server,false,,,"3.2.3.
|
|
122
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-52,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-52,Coverage Information responses **SHALL** comply with the logical model profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-coverageInformation.html).,SHALL,CRD Server,false,,,"3.1.3.05, 3.2.3.05, 3.3.3.05, 3.4.3.05, 3.5.3.05, 3.6.3.05, 4.1.3.02, 4.2.3.02, 4.3.3.02, 4.4.3.02","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_technical_issues_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_member_found_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_coverage_not_found_group-Group03-crd_v221_coverage_info_system_action_validation, crd_server_v221-crd_v221_specific_coverage_responses-crd_v221_server_no_active_coverage_group-Group03-crd_v221_coverage_info_system_action_validation"
|
|
123
123
|
hl7.fhir.us.davinci-crd_2.2.1,resp-53,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-53,"Each suggestion **SHOULD** contain either a single ""update"" action to revise the existing proposed order; or a ""delete"" action for the current proposed order and a ""create"" action for the new proposed order.",SHOULD,CRD Server,false,,,"",""
|
|
124
124
|
hl7.fhir.us.davinci-crd_2.2.1,resp-54,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-54,"The choice of ""update"" vs. ""delete + create"" **SHOULD** be based on how significant the change is and how relevant the other decision support on the original request will still be.",SHOULD,CRD Server,false,,,"",""
|
|
125
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-55,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-55,"When using the ""Propose Alternate Request"" response type, the proposed orders (and any associated resources) SHALL comply with the required profiles.",SHALL,CRD Server,false,,,"3.4.3.
|
|
126
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-56,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-56,Alternate Request responses **SHALL** comply with the logical model profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-alternateRequest.html).,SHALL,CRD Server,false,,,"
|
|
127
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-57,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-57,"When using the ""Identify Additional Orders"" response type, the proposed orders and any associated resources SHALL comply with the required profiles",SHALL,CRD Server,false,,,"3.4.3.
|
|
128
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-58,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-58,Additional Orders responses **SHALL** comply with the logical model profile= found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-additionalOrders.html).,SHALL,CRD Server,false,,,"3.4.3.
|
|
125
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-55,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-55,"When using the ""Propose Alternate Request"" response type, the proposed orders (and any associated resources) SHALL comply with the required profiles.",SHALL,CRD Server,false,,,"3.4.3.07, 3.6.3.08","crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_propose_alternate_request_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_propose_alternate_request_card_validation"
|
|
126
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-56,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-56,Alternate Request responses **SHALL** comply with the logical model profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-alternateRequest.html).,SHALL,CRD Server,false,,,"3.4.3.07, 3.6.3.08","crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_propose_alternate_request_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_propose_alternate_request_card_validation"
|
|
127
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-57,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-57,"When using the ""Identify Additional Orders"" response type, the proposed orders and any associated resources SHALL comply with the required profiles",SHALL,CRD Server,false,,,"3.4.3.08, 3.6.3.09","crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_additional_orders_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_additional_orders_card_validation"
|
|
128
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-58,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-58,Additional Orders responses **SHALL** comply with the logical model profile= found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-additionalOrders.html).,SHALL,CRD Server,false,,,"3.4.3.08, 3.6.3.09","crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_additional_orders_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_additional_orders_card_validation"
|
|
129
129
|
hl7.fhir.us.davinci-crd_2.2.1,resp-59,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-59,The Request Form Completion response type **SHALL NOT** be used in place of DTR,SHALL NOT,CRD Server,false,,,"",""
|
|
130
130
|
hl7.fhir.us.davinci-crd_2.2.1,resp-60,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-60,"Instead of using a card for ""Request Form Completion"", CRD servers **MAY** opt to use a [systemAction](http://cds-hooks.hl7.org/2026Jan/index.html#system-action).",MAY,CRD Server,false,,,"",""
|
|
131
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-62,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-62,"When using the ""Request Form Completion"" response type, the resources in the card or system action SHALL comply with the required profiles",SHALL,CRD Server,false,,,"3.1.3.
|
|
131
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-62,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-62,"When using the ""Request Form Completion"" response type, the resources in the card or system action SHALL comply with the required profiles",SHALL,CRD Server,false,,,"3.1.3.08, 3.2.3.07, 3.3.3.07, 3.4.3.09, 3.5.3.08, 3.6.3.10","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_request_form_completion_response_validation"
|
|
132
132
|
hl7.fhir.us.davinci-crd_2.2.1,resp-63,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-63,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).,SHOULD,CRD Server,false,,,"",""
|
|
133
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-65,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-65,Form Completion responses **SHALL** comply with the logical model profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-formCompletion.html).,SHALL,CRD Server,false,,,"3.1.3.
|
|
133
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-65,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-65,Form Completion responses **SHALL** comply with the logical model profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-formCompletion.html).,SHALL,CRD Server,false,,,"3.1.3.08, 3.2.3.07, 3.3.3.07, 3.4.3.09, 3.5.3.08, 3.6.3.10","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_request_form_completion_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_request_form_completion_response_validation"
|
|
134
134
|
hl7.fhir.us.davinci-crd_2.2.1,resp-66,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-66,"Instead of using a card for ""Update Coverage Records"", CRD servers **MAY** opt to use a [systemAction](http://cds-hooks.hl7.org/2026Jan/index.html#system-action) instead.",MAY,CRD Server,false,,,"",""
|
|
135
135
|
hl7.fhir.us.davinci-crd_2.2.1,resp-69,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-69,This Update Coverage Records capability **SHALL NOT** be used in situations where regulation dictates the use of the X12 functionality.,SHALL NOT,CRD Server,false,,,"",""
|
|
136
136
|
hl7.fhir.us.davinci-crd_2.2.1,resp-70,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-70,"If returning a card rather than a system action, the ""Update Coverage Records"" 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.",SHOULD NOT,CRD Server,true,,,"",""
|
|
137
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-71,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-71,Adjust Coverage responses **SHALL** comply with the logical model profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-adjustCoverage.html).,SHALL,CRD Server,false,,,"3.1.3.
|
|
138
|
-
hl7.fhir.us.davinci-crd_2.2.1,resp-72,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-72,Launch SMART responses **SHALL** comply with the logical model profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-launchSMART.html).,SHALL,CRD Server,false,,,"3.1.3.
|
|
137
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-71,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-71,Adjust Coverage responses **SHALL** comply with the logical model profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-adjustCoverage.html).,SHALL,CRD Server,false,,,"3.1.3.09, 3.2.3.08, 3.3.3.08, 3.4.3.10, 3.5.3.09, 3.6.3.11","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_create_or_update_coverage_info_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_create_or_update_coverage_info_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_create_or_update_coverage_info_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_create_or_update_coverage_info_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_create_or_update_coverage_info_response_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_create_or_update_coverage_info_response_validation"
|
|
138
|
+
hl7.fhir.us.davinci-crd_2.2.1,resp-72,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/cards.html#ci-c-resp-72,Launch SMART responses **SHALL** comply with the logical model profile found [here](https://hl7.org/fhir/us/davinci-crd/2.2.1/en/StructureDefinition-CRDHooksResponse-launchSMART.html).,SHALL,CRD Server,false,,,"3.1.3.03, 3.2.3.03, 3.3.3.03, 3.4.3.03, 3.5.3.03, 3.6.3.03","crd_server_v221-crd_v221_server_hooks-crd_v221_server_appointment_book-Group03-crd_v221_launch_smart_app_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_start-Group03-crd_v221_launch_smart_app_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_encounter_discharge-Group03-crd_v221_launch_smart_app_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_select-Group03-crd_v221_launch_smart_app_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_dispatch-Group03-crd_v221_launch_smart_app_card_validation, crd_server_v221-crd_v221_server_hooks-crd_v221_server_order_sign-Group03-crd_v221_launch_smart_app_card_validation"
|
|
139
139
|
hl7.fhir.us.davinci-crd_2.2.1,sec-1,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/security.html#ci-c-sec-1,Implementers SHALL adhere to inherited security and privacy rules,SHALL,"CRD Client,CRD Server",false,,,"",""
|
|
140
140
|
hl7.fhir.us.davinci-crd_2.2.1,sec-2,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/security.html#ci-c-sec-2,"As per the CDS Hooks specification, communications between CRD clients and CRD servers **SHALL** use TLS.",SHALL,"CRD Client,CRD Server",false,,,1.01,crd_server_v221-crd_v221_server_discovery_group-crd_v221_server_tls_version_stu2
|
|
141
141
|
hl7.fhir.us.davinci-crd_2.2.1,sec-3,https://hl7.org/fhir/us/davinci-crd/2.2.1/en/security.html#ci-c-sec-3,CRD servers and CRD clients **SHOULD** enforce a minimum version and other TLS configuration requirements based on [HRex rules](http://hl7.org/fhir/us/davinci-hrex/1.2.0/security.html#exchange-security) for PHI exchange.,SHOULD,"CRD Client,CRD Server",false,,,"",""
|
|
@@ -135,7 +135,7 @@ module DaVinciCRDTestKit
|
|
|
135
135
|
def send_unknown_configuration_invocation(request_body, response)
|
|
136
136
|
return if @unknown_configuration_invoked
|
|
137
137
|
return unless response.status == 200
|
|
138
|
-
return unless
|
|
138
|
+
return unless coverage_info_system_action_response?(parsed_response_body(response))
|
|
139
139
|
return unless test_waiting?
|
|
140
140
|
|
|
141
141
|
request_body = JSON.parse(request_body.to_json)
|
|
@@ -149,7 +149,7 @@ module DaVinciCRDTestKit
|
|
|
149
149
|
def send_unknown_context_invocation(request_body, response)
|
|
150
150
|
return if @unknown_context_invoked
|
|
151
151
|
return unless response.status == 200
|
|
152
|
-
return unless
|
|
152
|
+
return unless coverage_info_system_action_response?(parsed_response_body(response))
|
|
153
153
|
return unless test_waiting?
|
|
154
154
|
|
|
155
155
|
request_body = JSON.parse(request_body.to_json)
|
|
@@ -163,7 +163,7 @@ module DaVinciCRDTestKit
|
|
|
163
163
|
def send_unknown_cds_hooks_element_invocation(request_body, response)
|
|
164
164
|
return if @unknown_cds_hooks_element_invoked
|
|
165
165
|
return unless response.status == 200
|
|
166
|
-
return unless
|
|
166
|
+
return unless coverage_info_system_action_response?(parsed_response_body(response))
|
|
167
167
|
return unless test_waiting?
|
|
168
168
|
|
|
169
169
|
request_body = JSON.parse(request_body.to_json)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require_relative 'invoke_hook'
|
|
2
|
+
|
|
3
|
+
module DaVinciCRDTestKit
|
|
4
|
+
module Jobs
|
|
5
|
+
class InvokeHookNoSpecialRequests < InvokeHook
|
|
6
|
+
def perform(*)
|
|
7
|
+
# Skip all of the special hook invocations.
|
|
8
|
+
@coverage_info_configuration_invoked = true
|
|
9
|
+
@unknown_configuration_invoked = true
|
|
10
|
+
@unknown_context_invoked = true
|
|
11
|
+
@unknown_cds_hooks_element_invoked = true
|
|
12
|
+
|
|
13
|
+
super
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
require_relative 'invoke_hook_no_special_requests'
|
|
2
|
+
|
|
3
|
+
module DaVinciCRDTestKit
|
|
4
|
+
module Jobs
|
|
5
|
+
class InvokeHookWithBadAuth < InvokeHookNoSpecialRequests
|
|
6
|
+
def prepare_hook_request(parsed_request)
|
|
7
|
+
super
|
|
8
|
+
|
|
9
|
+
parsed_request['fhirAuthorization']['access_token'] = 'TRIGGER_500_STATUS'
|
|
10
|
+
parsed_request
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
end
|
|
@@ -117,8 +117,8 @@ module DaVinciCRDTestKit
|
|
|
117
117
|
assert_valid_json(service_request_bodies)
|
|
118
118
|
|
|
119
119
|
payloads = [JSON.parse(service_request_bodies)].flatten
|
|
120
|
-
|
|
121
|
-
|
|
120
|
+
check_request_length(payloads)
|
|
121
|
+
|
|
122
122
|
invoked_hook = identify_hook(payloads)
|
|
123
123
|
output(invoked_hook:)
|
|
124
124
|
service_id = target_service_id(service_ids, invoked_hook)
|
|
@@ -130,10 +130,19 @@ module DaVinciCRDTestKit
|
|
|
130
130
|
failure_url = "#{resume_fail_url}?token=#{test_session_id}"
|
|
131
131
|
|
|
132
132
|
acknowledge_before_continuing = manual_continuation == 'yes'
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
133
|
+
perform_invoke_hook_job(
|
|
134
|
+
test_session_id,
|
|
135
|
+
payloads,
|
|
136
|
+
service_endpoint,
|
|
137
|
+
inferno_base_url,
|
|
138
|
+
jwks_kid,
|
|
139
|
+
encryption_method,
|
|
140
|
+
tested_hook_name,
|
|
141
|
+
continuation_url,
|
|
142
|
+
failure_url,
|
|
143
|
+
acknowledge_before_continuing,
|
|
144
|
+
coverage_info_configuration_supported?
|
|
145
|
+
)
|
|
137
146
|
|
|
138
147
|
wait(
|
|
139
148
|
identifier: test_session_id,
|
|
@@ -142,6 +151,15 @@ module DaVinciCRDTestKit
|
|
|
142
151
|
)
|
|
143
152
|
end
|
|
144
153
|
|
|
154
|
+
def check_request_length(payloads)
|
|
155
|
+
skip_if tested_hook_name == ANY_HOOK_TAG && payloads.length != 1,
|
|
156
|
+
'The *Demonstrate a Hook Invocation* test supports only one request body.'
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
def perform_invoke_hook_job(*)
|
|
160
|
+
Inferno::Jobs.perform(DaVinciCRDTestKit::Jobs::InvokeHook, *)
|
|
161
|
+
end
|
|
162
|
+
|
|
145
163
|
def wait_message(acknowledge_before_continuing, continuation_url)
|
|
146
164
|
message = "Inferno's simulated CRD Client will initiate hook requests to the server. " \
|
|
147
165
|
'During these invocations the server will be able to make FHIR requests ' \
|
|
@@ -11,11 +11,11 @@ module DaVinciCRDTestKit
|
|
|
11
11
|
|
|
12
12
|
# identify the hook to invoke
|
|
13
13
|
def identify_hook(payloads)
|
|
14
|
-
if tested_hook_name
|
|
14
|
+
if ALL_HOOK_TAGS.exclude? tested_hook_name
|
|
15
15
|
hook_list_from_payloads = payloads.map { |body| body['hook'] }.uniq
|
|
16
16
|
|
|
17
17
|
assert hook_list_from_payloads.length == 1,
|
|
18
|
-
'Could not identify the tested hook
|
|
18
|
+
'Could not identify the tested hook from the request bodies.'
|
|
19
19
|
|
|
20
20
|
hook_list_from_payloads.first
|
|
21
21
|
else
|
|
@@ -4,6 +4,7 @@ require_relative 'server_discovery_group'
|
|
|
4
4
|
require_relative 'server_demonstrate_hook_response_group'
|
|
5
5
|
require_relative 'server_hooks_group'
|
|
6
6
|
require_relative 'server_urls'
|
|
7
|
+
require_relative 'specific_coverage_response_group'
|
|
7
8
|
require_relative '../endpoints/mock_ehr_endpoints'
|
|
8
9
|
|
|
9
10
|
module DaVinciCRDTestKit
|
|
@@ -110,6 +111,8 @@ module DaVinciCRDTestKit
|
|
|
110
111
|
group from: :crd_v221_server_demonstrate_hook_response
|
|
111
112
|
|
|
112
113
|
group from: :crd_v221_server_hooks
|
|
114
|
+
|
|
115
|
+
group from: :crd_v221_specific_coverage_responses
|
|
113
116
|
end
|
|
114
117
|
end
|
|
115
118
|
end
|