davinci_crd_test_kit 0.14.0 → 0.14.2

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.
Files changed (166) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/{inferno_crd_server_suite.json.erb → client_against_inferno_crd_server_suite.json.erb} +0 -33
  3. data/config/presets/{ri_crd_request_generator.json.erb → client_against_ri_crd_request_generator.json.erb} +1 -14
  4. data/config/presets/client_v221_against_inferno_crd_server_suite.json.erb +84 -0
  5. data/config/presets/client_v221_against_ri_br_provider.json.erb +31 -0
  6. data/config/presets/{ri_crd_request_generator.json_v221.json.erb → client_v221_against_ri_crd_request_generator.json.erb} +1 -1
  7. data/config/presets/{inferno_crd_client_suite.json.erb → server_against_inferno_crd_client_suite.json.erb} +0 -43
  8. data/config/presets/{ri_crd_server.json.erb → server_against_ri_crd_server.json.erb} +1 -44
  9. data/config/presets/{inferno_crd_client_suite_v221.json.erb → server_v221_against_inferno_crd_client_suite.json.erb} +48 -45
  10. data/config/presets/{inferno_crd_client_suite_prefetch_subset_v221.json.erb → server_v221_against_inferno_crd_client_suite_prefetch_subset.json.erb} +0 -46
  11. data/config/presets/server_v221_against_inferno_g31_suite.json.erb +49 -0
  12. data/lib/davinci_crd_test_kit/client/cross_hook_helper.rb +26 -0
  13. data/lib/davinci_crd_test_kit/client/endpoints/custom_service_response.rb +7 -7
  14. data/lib/davinci_crd_test_kit/client/endpoints/gather_response_generation_data.rb +4 -1
  15. data/lib/davinci_crd_test_kit/client/endpoints/hook_request_endpoint.rb +70 -39
  16. data/lib/davinci_crd_test_kit/client/endpoints/mock_service_response.rb +26 -7
  17. data/lib/davinci_crd_test_kit/client/endpoints/mocked_card_responses/external_reference.json +1 -1
  18. data/lib/davinci_crd_test_kit/client/endpoints/mocked_card_responses/launch_smart_app.json +0 -7
  19. data/lib/davinci_crd_test_kit/client/endpoints/scenario_service_response.rb +54 -0
  20. data/lib/davinci_crd_test_kit/client/tagged_request_load_helper.rb +8 -27
  21. data/lib/davinci_crd_test_kit/client/v2.0.1/auth/retrieve_jwks_test.rb +35 -23
  22. data/lib/davinci_crd_test_kit/client/v2.0.1/auth/token_payload_test.rb +34 -21
  23. data/lib/davinci_crd_test_kit/client/v2.0.1/cds-services-v201.json +20 -20
  24. data/lib/davinci_crd_test_kit/client/v2.0.1/client_appointment_book_group.rb +12 -10
  25. data/lib/davinci_crd_test_kit/client/v2.0.1/client_encounter_discharge_group.rb +12 -10
  26. data/lib/davinci_crd_test_kit/client/v2.0.1/client_encounter_start_group.rb +12 -10
  27. data/lib/davinci_crd_test_kit/client/v2.0.1/client_hooks_group.rb +5 -5
  28. data/lib/davinci_crd_test_kit/client/v2.0.1/client_order_dispatch_group.rb +12 -10
  29. data/lib/davinci_crd_test_kit/client/v2.0.1/client_order_select_group.rb +12 -10
  30. data/lib/davinci_crd_test_kit/client/v2.0.1/client_order_sign_group.rb +12 -10
  31. data/lib/davinci_crd_test_kit/client/v2.0.1/must_support/client_card_must_support_coverage_information.rb +3 -36
  32. data/lib/davinci_crd_test_kit/client/v2.0.1/must_support/client_card_must_support_external_reference.rb +3 -36
  33. data/lib/davinci_crd_test_kit/client/v2.0.1/must_support/client_card_must_support_instructions.rb +3 -36
  34. data/lib/davinci_crd_test_kit/client/v2.0.1/verify_request/hook_request_fetched_data_test.rb +4 -13
  35. data/lib/davinci_crd_test_kit/client/v2.0.1/verify_request/hook_request_prefetch_equals_queried_test.rb +3 -13
  36. data/lib/davinci_crd_test_kit/client/v2.0.1/verify_response/client_display_cards_attest.rb +3 -13
  37. data/lib/davinci_crd_test_kit/client/v2.0.1/verify_response/inferno_response_validation.rb +3 -13
  38. data/lib/davinci_crd_test_kit/client/v2.2.1/api/client_coverage_info_update_test.rb +1 -1
  39. data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/attestation_instructions.rb +10 -0
  40. data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_authorized_scope_attestation_test.rb +45 -0
  41. data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_coverage_based_invocation_attestation_test.rb +44 -0
  42. data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_data_element_expectations_attestation_test.rb +44 -0
  43. data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_hook_invocation_logging_attestation_test.rb +43 -0
  44. data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_must_support_exposure_attestation_test.rb +43 -0
  45. data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_must_support_use_attestation_test.rb +41 -0
  46. data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_order_sign_support_attestation_test.rb +42 -0
  47. data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_prefetch_key_omission_attestation_test.rb +42 -0
  48. data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_resource_identifiers_attestation_test.rb +43 -0
  49. data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_response_case_distinction_attestation_test.rb +43 -0
  50. data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_security_and_privacy_attestation_test.rb +43 -0
  51. data/lib/davinci_crd_test_kit/client/v2.2.1/attestations/client_workflow_integration_attestation_test.rb +44 -0
  52. data/lib/davinci_crd_test_kit/client/v2.2.1/auth/decode_auth_token_test.rb +1 -1
  53. data/lib/davinci_crd_test_kit/client/v2.2.1/auth/retrieve_jwks_test.rb +29 -18
  54. data/lib/davinci_crd_test_kit/client/v2.2.1/auth/token_payload_test.rb +35 -22
  55. data/lib/davinci_crd_test_kit/client/v2.2.1/cds-services-prefetch-subset-v221.json +47 -47
  56. data/lib/davinci_crd_test_kit/client/v2.2.1/cds-services-v221.json +50 -50
  57. data/lib/davinci_crd_test_kit/client/v2.2.1/client_appointment_book_group.rb +24 -15
  58. data/lib/davinci_crd_test_kit/client/v2.2.1/client_attestations_group.rb +49 -0
  59. data/lib/davinci_crd_test_kit/client/v2.2.1/client_cross_hook_group.rb +22 -6
  60. data/lib/davinci_crd_test_kit/client/v2.2.1/client_cross_hook_interaction_group.rb +98 -0
  61. data/lib/davinci_crd_test_kit/client/v2.2.1/client_encounter_discharge_group.rb +19 -11
  62. data/lib/davinci_crd_test_kit/client/v2.2.1/client_encounter_start_group.rb +19 -11
  63. data/lib/davinci_crd_test_kit/client/v2.2.1/client_fhir_api_group.rb +14 -12
  64. data/lib/davinci_crd_test_kit/client/v2.2.1/client_hooks_group.rb +25 -5
  65. data/lib/davinci_crd_test_kit/client/v2.2.1/client_long_running_hook_group.rb +3 -2
  66. data/lib/davinci_crd_test_kit/client/v2.2.1/client_order_dispatch_group.rb +23 -15
  67. data/lib/davinci_crd_test_kit/client/v2.2.1/client_order_select_group.rb +19 -11
  68. data/lib/davinci_crd_test_kit/client/v2.2.1/client_order_sign_group.rb +23 -15
  69. data/lib/davinci_crd_test_kit/client/v2.2.1/client_registration_group.rb +6 -0
  70. data/lib/davinci_crd_test_kit/client/v2.2.1/client_scenarios_group.rb +26 -0
  71. data/lib/davinci_crd_test_kit/client/v2.2.1/client_self_pay_hook_group.rb +36 -0
  72. data/lib/davinci_crd_test_kit/client/v2.2.1/client_unknown_content_hook_group.rb +34 -0
  73. data/lib/davinci_crd_test_kit/client/v2.2.1/crd_client_suite.rb +24 -3
  74. data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_card_must_support_coverage_information_test.rb +1 -1
  75. data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_fhirpath_collection_as_comma_delimited_string_test.rb +4 -11
  76. data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_hook_instances_unique_test.rb +1 -9
  77. data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_location_address_propagation_test.rb +6 -2
  78. data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_prefetch_complete_and_subset_test.rb +3 -12
  79. data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/appointment_book_receive_request_test.rb +8 -89
  80. data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/base_hook_invocation_receive_request_test.rb +163 -0
  81. data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/cross_hooks_receive_request_test.rb +97 -0
  82. data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/encounter_discharge_receive_request_test.rb +8 -90
  83. data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/encounter_start_receive_request_test.rb +8 -90
  84. data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/order_dispatch_receive_request_test.rb +8 -98
  85. data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/order_select_receive_request_test.rb +8 -98
  86. data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/order_sign_receive_request_test.rb +8 -98
  87. data/lib/davinci_crd_test_kit/client/v2.2.1/long_running/client_long_running_receive_request_test.rb +10 -2
  88. data/lib/davinci_crd_test_kit/client/v2.2.1/long_running/client_skip_long_running_attestation_test.rb +11 -6
  89. data/lib/davinci_crd_test_kit/client/v2.2.1/registration/client_service_registration_attestation_test.rb +2 -1
  90. data/lib/davinci_crd_test_kit/client/v2.2.1/self_pay/client_self_pay_no_request_test.rb +30 -0
  91. data/lib/davinci_crd_test_kit/client/v2.2.1/self_pay/client_self_pay_workflow_test.rb +55 -0
  92. data/lib/davinci_crd_test_kit/client/v2.2.1/unknown_content/client_unknown_content_attestation_test.rb +99 -0
  93. data/lib/davinci_crd_test_kit/client/v2.2.1/unknown_content/client_unknown_content_receive_request_test.rb +62 -0
  94. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_conformance_test.rb +1 -1
  95. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_coverage_verification_test.rb +10 -2
  96. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_data_fetch_verification_test.rb +1 -1
  97. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_granted_scopes_test.rb +1 -1
  98. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_prefetch_complete_test.rb +7 -1
  99. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_prefetch_profiles_test.rb +1 -1
  100. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_requested_version_test.rb +1 -1
  101. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_secured_transport_test.rb +1 -1
  102. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_response/client_display_cards_attest.rb +54 -21
  103. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_response/hook_response_support_coverage_information_test.rb +1 -1
  104. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_response/inferno_response_validation.rb +6 -3
  105. data/lib/davinci_crd_test_kit/cross_suite/cards_identification.rb +18 -0
  106. data/lib/davinci_crd_test_kit/cross_suite/logical_models_override_helper.rb +30 -13
  107. data/lib/davinci_crd_test_kit/cross_suite/prefetch_completeness_checker.rb +25 -11
  108. data/lib/davinci_crd_test_kit/cross_suite/prefetch_profile_validation.rb +2 -0
  109. data/lib/davinci_crd_test_kit/cross_suite/requests_logical_model_validation.rb +28 -28
  110. data/lib/davinci_crd_test_kit/cross_suite/response_logical_model_validation.rb +211 -43
  111. data/lib/davinci_crd_test_kit/cross_suite/tags.rb +7 -0
  112. data/lib/davinci_crd_test_kit/requirements/cds-hooks_3.0.0-ballot_requirements.xlsx +0 -0
  113. data/lib/davinci_crd_test_kit/requirements/davinci_crd_test_kit_requirements.csv +6 -2
  114. data/lib/davinci_crd_test_kit/requirements/generated/crd_client_requirements_coverage.csv +107 -107
  115. data/lib/davinci_crd_test_kit/requirements/generated/crd_client_v221_requirements_coverage.csv +101 -97
  116. data/lib/davinci_crd_test_kit/requirements/generated/crd_server_requirements_coverage.csv +18 -18
  117. data/lib/davinci_crd_test_kit/requirements/generated/crd_server_v221_requirements_coverage.csv +43 -39
  118. data/lib/davinci_crd_test_kit/requirements/hl7.fhir.us.davinci-crd_2.2.1_requirements.xlsx +0 -0
  119. data/lib/davinci_crd_test_kit/server/jobs/invoke_hook.rb +3 -3
  120. data/lib/davinci_crd_test_kit/server/jobs/invoke_hook_no_special_requests.rb +17 -0
  121. data/lib/davinci_crd_test_kit/server/jobs/invoke_hook_with_bad_auth.rb +14 -0
  122. data/lib/davinci_crd_test_kit/server/server_abstract_invoke_hook_test.rb +24 -6
  123. data/lib/davinci_crd_test_kit/server/server_hook_helper.rb +2 -2
  124. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_server_suite.rb +1 -1
  125. data/lib/davinci_crd_test_kit/server/v2.0.1/server_hooks_group.rb +5 -5
  126. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_server_suite.rb +3 -0
  127. data/lib/davinci_crd_test_kit/server/v2.2.1/discovery/discovery_standard_prefetch_expressions_test.rb +165 -0
  128. data/lib/davinci_crd_test_kit/server/v2.2.1/interaction/server_invoke_hook_single_request_test.rb +22 -0
  129. data/lib/davinci_crd_test_kit/server/v2.2.1/server_appointment_book_group.rb +10 -102
  130. data/lib/davinci_crd_test_kit/server/v2.2.1/server_demonstrate_hook_response_group.rb +3 -2
  131. data/lib/davinci_crd_test_kit/server/v2.2.1/server_discovery_group.rb +2 -0
  132. data/lib/davinci_crd_test_kit/server/v2.2.1/server_encounter_discharge_group.rb +10 -97
  133. data/lib/davinci_crd_test_kit/server/v2.2.1/server_encounter_start_group.rb +10 -97
  134. data/lib/davinci_crd_test_kit/server/v2.2.1/server_hooks_group.rb +5 -5
  135. data/lib/davinci_crd_test_kit/server/v2.2.1/server_order_dispatch_group.rb +10 -103
  136. data/lib/davinci_crd_test_kit/server/v2.2.1/server_order_select_group.rb +12 -116
  137. data/lib/davinci_crd_test_kit/server/v2.2.1/server_order_sign_group.rb +12 -121
  138. data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_response_group.rb +23 -0
  139. data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_info_reason_test.rb +108 -0
  140. data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_not_found_group.rb +116 -0
  141. data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/no_active_coverage_group.rb +115 -0
  142. data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/no_member_found_group.rb +117 -0
  143. data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/technical_issues_group.rb +121 -0
  144. data/lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/technical_issues_invoke_test.rb +22 -0
  145. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_context_validation_test.rb +1 -0
  146. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_optional_fields_validation_test.rb +1 -0
  147. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_required_fields_validation_test.rb +1 -0
  148. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/additional_orders_validation_test.rb +78 -35
  149. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_information_card_absence_test.rb +76 -0
  150. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_information_system_action_validation_test.rb +70 -124
  151. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/create_or_update_coverage_info_response_validation_test.rb +83 -39
  152. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/external_reference_card_validation_test.rb +59 -17
  153. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/form_completion_response_validation_test.rb +80 -45
  154. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/hook_request_resource_resolution.rb +37 -0
  155. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/instructions_card_received_test.rb +57 -6
  156. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/launch_smart_app_card_validation_test.rb +56 -17
  157. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/propose_alternate_request_card_validation_test.rb +52 -25
  158. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/service_response_validation_test.rb +17 -51
  159. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/unknown_cds_hooks_elements_test.rb +1 -1
  160. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/unknown_configuration_test.rb +1 -1
  161. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/unknown_context_test.rb +1 -1
  162. data/lib/davinci_crd_test_kit/version.rb +2 -2
  163. metadata +54 -16
  164. data/config/presets/inferno_crd_server_suite_v221.json.erb +0 -94
  165. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/card_optional_fields_validation_test.rb +0 -57
  166. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_information_system_action_received_test.rb +0 -65
@@ -1,94 +0,0 @@
1
- {
2
- "title": "Run Against the CRD Server Suite",
3
- "id": "inferno-crd-server-suite-v221",
4
- "test_suite_id": "crd_client_v221",
5
- "inputs": [
6
- {
7
- "name": "cds_jwt_iss",
8
- "title": "URI of the issuer of the JWT used to authorize CDS Hooks calls",
9
- "type": "text",
10
- "value": "<%= Inferno::Application['base_url'] %>/custom/crd_server_v221"
11
- },
12
- {
13
- "name": "cds_jwk_set",
14
- "type": "textarea",
15
- "value": "<%= Inferno::Application['base_url'] %>/custom/crd_server_v221/jwks.json"
16
- },
17
- {
18
- "name": "complete_prefetch_service_organization_id",
19
- "title": "Complete Prefetch Service Organization id",
20
- "type": "text",
21
- "value": "crd221-demo-payer-complete-prefetch"
22
- },
23
- {
24
- "name": "subset_prefetch_service_organization_id",
25
- "title": "Subset Prefetch Service Organization id",
26
- "type": "text",
27
- "value": "crd221-demo-payer-subset-prefetch"
28
- },
29
- {
30
- "name": "appointment_book_selected_response_types",
31
- "description": "Select the cards/action response types that the Inferno hook request endpoints will return. The default response type that will be returned for this hook is the `Coverage Information` card type.",
32
- "title": "Response types to return from appointment-book hook requests",
33
- "type": "checkbox",
34
- "value": "[\"external_reference\",\"instructions\",\"coverage_information\",\"request_form_completion\",\"create_update_coverage_info\",\"launch_smart_app\"]"
35
- },
36
- {
37
- "name": "encounter_start_response_approach",
38
- "description": "Determines how Inferno will generate response for encounter-start hook invocations.",
39
- "title": "Response generation approach for encounter-start",
40
- "type": "radio",
41
- "value": "custom"
42
- },
43
- {
44
- "name": "encounter_start_custom_response_template",
45
- "description": "Provide a [custom response template](https://github.com/inferno-framework/davinci-crd-test-kit/wiki/Controlling-Simulated-Responses#tester-directed-custom-responses) in JSON form for Inferno to use when responding to hook invocations.",
46
- "title": "Custom response template for encounter-start hook requests",
47
- "type": "textarea",
48
- "value": "{\n \"cards\": [\n {\n \"summary\": \"Encounter Start Launch SMART Application Card\",\n \"detail\": \"This is a Launch SMART Application Card which can cause the launching of SMART apps to occur in the context in which they are relevant to patient care and/or to payment-related decision-making.\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/cdshooks-card-type\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\n }\n },\n \"selectionBehavior\": \"any\",\n \"suggestions\": [\n {\n \"label\": \"Inferno placeholder suggestion\",\n \"uuid\": \"5abc166b-c50f-4df4-bdb1-2b0b62cb8e56\"\n }\n ],\n \"links\": [\n {\n \"label\": \"Inferno\",\n \"url\": \"<%= Inferno::Application['base_url'] %>/custom/smart/launch\",\n \"type\": \"smart\"\n }\n ],\n \"uuid\": \"daf166dd-d7fa-4c74-ba80-71bc41c9efc1\"\n },\n {\n \"summary\": \"Encounter Start External Reference Card\",\n \"detail\": \"This is an External Reference Card containing one or more links to external web pages, PDFs, or other resources that provide relevant coverage information.\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/cdshooks-card-type\",\n \"code\": \"guideline\",\n \"display\": \"Guideline\"\n }\n },\n \"links\": [\n {\n \"label\": \"CRD IG External Reference Card Info\",\n \"url\": \"https://build.fhir.org/ig/HL7/davinci-crd/cards.html#external-reference\",\n \"type\": \"absolute\"\n }\n ],\n \"uuid\": \"c7bd850d-9d83-4056-aa0d-d887e6b68aed\"\n },\n {\n \"summary\": \"Encounter Start Instructions Card\",\n \"detail\": \"This is an Instructions card containing textual guidance to display to the user making the decisions.\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/cdshooks-card-type\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\n }\n },\n \"uuid\": \"1ab5f527-b173-4e5c-ad1f-56b4c4fe439a\"\n },\n {\n \"summary\": \"Encounter Start Create/Update Coverage Information Card (Complete Prefetch)\",\n \"detail\": \"This is an update to the coverage indicating an end date one year from today\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/cdshooks-card-type\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\n }\n },\n \"selectionBehavior\": \"any\",\n \"suggestions\": [\n {\n \"label\": \"Create/Update coverage information\",\n \"uuid\": \"5abc166b-c51f-4df4-bdb1-2b0b62bb8e45\",\n \"actions\": [\n {\n \"type\": \"update\",\n \"description\": \"Update current coverage record\",\n \"resource\": {\n \"resourceType\": \"Coverage\",\n \"id\": \"crd221-demo-coverage-complete-prefetch\",\n \"subscriberId\": \"10A3D58WH456\",\n \"relationship\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/subscriber-relationship\",\n \"code\": \"self\"\n }\n ]\n },\n \"beneficiary\": {\n \"reference\": \"Patient/crd221-demo-patient\"\n },\n \"status\": \"active\",\n \"class\": [\n {\n \"type\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/coverage-class\",\n \"code\": \"plan\"\n }\n ]\n },\n \"value\": \"Medicare Part A\"\n }\n ],\n \"period\": {\n \"end\": \"{{today() + 365 days}}\"\n },\n \"payor\": [\n {\n \"reference\": \"Organization/crd221-demo-payer-complete-prefetch\"\n }\n ]\n }\n }\n ]\n }\n ],\n \"uuid\": \"ac669633-6c4f-4599-b60b-e840ce0be625\",\n \"extension\": {\n \"com.inferno.includeForServices\": \"encounter-start-service\"\n }\n },\n {\n \"summary\": \"Encounter Start Create/Update Coverage Information Card (Subset Prefetch)\",\n \"detail\": \"This is an update to the coverage indicating an end date one year from today\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/cdshooks-card-type\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\n }\n },\n \"selectionBehavior\": \"any\",\n \"suggestions\": [\n {\n \"label\": \"Create/Update coverage information\",\n \"uuid\": \"5abc166b-c51f-4df4-bdb1-2b0b62bb8e45\",\n \"actions\": [\n {\n \"type\": \"update\",\n \"description\": \"Update current coverage record\",\n \"resource\": {\n \"resourceType\": \"Coverage\",\n \"id\": \"crd221-demo-coverage-subset-prefetch\",\n \"subscriberId\": \"10A3D58WH456\",\n \"relationship\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/subscriber-relationship\",\n \"code\": \"self\"\n }\n ]\n },\n \"beneficiary\": {\n \"reference\": \"Patient/crd221-demo-patient\"\n },\n \"status\": \"active\",\n \"class\": [\n {\n \"type\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/coverage-class\",\n \"code\": \"plan\"\n }\n ]\n },\n \"value\": \"Medicare Part A\"\n }\n ],\n \"period\": {\n \"end\": \"{{today() + 365 days}}\"\n },\n \"payor\": [\n {\n \"reference\": \"Organization/crd221-demo-payer-subset-prefetch\"\n }\n ]\n }\n }\n ]\n }\n ],\n \"uuid\": \"ac669633-6c4f-4599-b60b-e840ce0be625\",\n \"extension\": {\n \"com.inferno.includeForServices\": \"encounter-start-subset\"\n }\n },\n {\n \"summary\": \"Encounter Start Request Form Completion Card (Complete Prefetch)\",\n \"detail\": \"This is a Request Form Completion Card which indicates that there are forms that need to be completed.\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/cdshooks-card-type\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\n }\n },\n \"selectionBehavior\": \"any\",\n \"suggestions\": [\n {\n \"label\": \"Add 'completion of the ABC form' to your task list (possibly for reassignment)\",\n \"uuid\": \"5abc166b-c51f-4df4-bdb1-2b0b62cb8e45\",\n \"actions\": [\n {\n \"type\": \"create\",\n \"description\": \"Add version 2 of the XYZ form to the clinical system's repository (if it doesn't already exist)\",\n \"resource\": {\n \"resourceType\": \"Questionnaire\",\n \"id\": \"XYZ\",\n \"url\": \"http://inferno.healthit.gov/davinci-crd-test-kit/forms/XYZ\",\n \"title\": \"Cancer Quality Forum Questionnaire XYZ\",\n \"version\": \"2\",\n \"status\": \"active\",\n \"subjectType\": [\n \"Patient\"\n ],\n \"date\": \"2012-01\",\n \"item\": [\n {\n \"linkId\": \"1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"COMORBIDITY\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMORB\"\n }\n ],\n \"prefix\": \"1\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\",\n \"item\": [\n {\n \"linkId\": \"1.1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"CARDIAL\"\n }\n ],\n \"type\": \"group\",\n \"enableWhen\": [\n {\n \"question\": \"1.1\",\n \"operator\": \"=\",\n \"answerCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v2-0136\",\n \"code\": \"Y\"\n }\n }\n ],\n \"item\": [\n {\n \"linkId\": \"1.1.1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMORBCAR\"\n }\n ],\n \"prefix\": \"1.1\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\",\n \"item\": [\n {\n \"linkId\": \"1.1.1.1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMCAR00\",\n \"display\": \"Angina Pectoris\"\n },\n {\n \"system\": \"http://snomed.info/sct\",\n \"code\": \"194828000\",\n \"display\": \"Angina (disorder)\"\n }\n ],\n \"prefix\": \"1.1.1\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\"\n },\n {\n \"linkId\": \"1.1.1.1.2\",\n \"code\": [\n {\n \"system\": \"http://snomed.info/sct\",\n \"code\": \"22298006\",\n \"display\": \"Myocardial infarction (disorder)\"\n }\n ],\n \"prefix\": \"1.1.2\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\"\n }\n ]\n },\n {\n \"linkId\": \"1.1.1.2\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMORBVAS\"\n }\n ],\n \"prefix\": \"1.2\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\"\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"2\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"HISTOPATHOLOGY\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"2.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"ABDOMINAL\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"2.1.2\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"STADPT\",\n \"display\": \"pT category\"\n }\n ],\n \"type\": \"choice\"\n }\n ]\n }\n ]\n }\n ]\n },\n \"extension\": {\n \"davinci-crd.if-none-exist\": \"url=<%= Inferno::Application['base_url'] %>/custom/crd_server_v221/fhir/Questionnaire?url=http://inferno.healthit.gov/davinci-crd-test-kit/forms/XYZ\\u0026version=2\"\n }\n },\n {\n \"type\": \"create\",\n \"description\": \"Add 'Complete ABC form' to the task list\",\n \"resource\": {\n \"resourceType\": \"Task\",\n \"status\": \"ready\",\n \"intent\": \"order\",\n \"code\": {\n \"coding\": [\n {\n \"system\": \"http://hl7.org/fhir/uv/sdc/CodeSystem/temp\",\n \"code\": \"complete-questionnaire\"\n }\n ]\n },\n \"description\": \"Complete XYZ form for local retention\",\n \"for\": {\n \"reference\": \"Patient/{{context.patientId}}\"\n },\n \"authoredOn\": \"{{today()}}\",\n \"requester\": {\n \"reference\": \"Organization/crd221-demo-payer-complete-prefetch\"\n },\n \"input\": [\n {\n \"type\": {\n \"text\": \"questionnaire\",\n \"coding\": [\n {\n \"system\": \"http://hl7.org/fhir/uv/sdc/CodeSystem/temp\",\n \"code\": \"questionnaire\"\n }\n ]\n },\n \"valueCanonical\": \"http://inferno.healthit.gov/davinci-crd-test-kit/forms/XYZ\"\n }\n ],\n \"id\": \"779579bd-2a55-41a1-8487-c372fd02e9e8\"\n }\n }\n ]\n }\n ],\n \"uuid\": \"5abc166b-c50f-4df4-bdb1-2b0b62cb8e45\",\n \"extension\": {\n \"com.inferno.includeForServices\": \"encounter-start-service\"\n }\n },\n {\n \"summary\": \"Encounter Start Request Form Completion Card (Subset Prefetch)\",\n \"detail\": \"This is a Request Form Completion Card which indicates that there are forms that need to be completed.\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/cdshooks-card-type\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\n }\n },\n \"selectionBehavior\": \"any\",\n \"suggestions\": [\n {\n \"label\": \"Add 'completion of the ABC form' to your task list (possibly for reassignment)\",\n \"uuid\": \"5abc166b-c51f-4df4-bdb1-2b0b62cb8e45\",\n \"actions\": [\n {\n \"type\": \"create\",\n \"description\": \"Add version 2 of the XYZ form to the clinical system's repository (if it doesn't already exist)\",\n \"resource\": {\n \"resourceType\": \"Questionnaire\",\n \"id\": \"XYZ\",\n \"url\": \"http://inferno.healthit.gov/davinci-crd-test-kit/forms/XYZ\",\n \"title\": \"Cancer Quality Forum Questionnaire XYZ\",\n \"version\": \"2\",\n \"status\": \"active\",\n \"subjectType\": [\n \"Patient\"\n ],\n \"date\": \"2012-01\",\n \"item\": [\n {\n \"linkId\": \"1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"COMORBIDITY\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMORB\"\n }\n ],\n \"prefix\": \"1\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\",\n \"item\": [\n {\n \"linkId\": \"1.1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"CARDIAL\"\n }\n ],\n \"type\": \"group\",\n \"enableWhen\": [\n {\n \"question\": \"1.1\",\n \"operator\": \"=\",\n \"answerCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v2-0136\",\n \"code\": \"Y\"\n }\n }\n ],\n \"item\": [\n {\n \"linkId\": \"1.1.1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMORBCAR\"\n }\n ],\n \"prefix\": \"1.1\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\",\n \"item\": [\n {\n \"linkId\": \"1.1.1.1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMCAR00\",\n \"display\": \"Angina Pectoris\"\n },\n {\n \"system\": \"http://snomed.info/sct\",\n \"code\": \"194828000\",\n \"display\": \"Angina (disorder)\"\n }\n ],\n \"prefix\": \"1.1.1\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\"\n },\n {\n \"linkId\": \"1.1.1.1.2\",\n \"code\": [\n {\n \"system\": \"http://snomed.info/sct\",\n \"code\": \"22298006\",\n \"display\": \"Myocardial infarction (disorder)\"\n }\n ],\n \"prefix\": \"1.1.2\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\"\n }\n ]\n },\n {\n \"linkId\": \"1.1.1.2\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMORBVAS\"\n }\n ],\n \"prefix\": \"1.2\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\"\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"2\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"HISTOPATHOLOGY\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"2.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"ABDOMINAL\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"2.1.2\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"STADPT\",\n \"display\": \"pT category\"\n }\n ],\n \"type\": \"choice\"\n }\n ]\n }\n ]\n }\n ]\n },\n \"extension\": {\n \"davinci-crd.if-none-exist\": \"url=<%= Inferno::Application['base_url'] %>/custom/crd_server_v221/fhir/Questionnaire?url=http://inferno.healthit.gov/davinci-crd-test-kit/forms/XYZ\\u0026version=2\"\n }\n },\n {\n \"type\": \"create\",\n \"description\": \"Add 'Complete ABC form' to the task list\",\n \"resource\": {\n \"resourceType\": \"Task\",\n \"status\": \"ready\",\n \"intent\": \"order\",\n \"code\": {\n \"coding\": [\n {\n \"system\": \"http://hl7.org/fhir/uv/sdc/CodeSystem/temp\",\n \"code\": \"complete-questionnaire\"\n }\n ]\n },\n \"description\": \"Complete XYZ form for local retention\",\n \"for\": {\n \"reference\": \"Patient/{{context.patientId}}\"\n },\n \"authoredOn\": \"{{today()}}\",\n \"requester\": {\n \"reference\": \"Organization/crd221-demo-payer-subset-prefetch\"\n },\n \"input\": [\n {\n \"type\": {\n \"text\": \"questionnaire\",\n \"coding\": [\n {\n \"system\": \"http://hl7.org/fhir/uv/sdc/CodeSystem/temp\",\n \"code\": \"questionnaire\"\n }\n ]\n },\n \"valueCanonical\": \"http://inferno.healthit.gov/davinci-crd-test-kit/forms/XYZ\"\n }\n ],\n \"id\": \"779579bd-2a55-41a1-8487-c372fd02e9e8\"\n }\n }\n ]\n }\n ],\n \"uuid\": \"5abc166b-c50f-4df4-bdb1-2b0b62cb8e45\",\n \"extension\": {\n \"com.inferno.includeForServices\": \"encounter-start-subset\"\n }\n }\n ],\n \"systemActions\": [\n {\n \"type\": \"update\",\n \"description\": \"Added pa satisfied coverage information to Encounter resource (Complete Prefetch).\",\n \"resource\": {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"coverage\",\n \"valueReference\": {\n \"reference\": \"Coverage/crd221-demo-coverage-complete-prefetch\"\n }\n },\n {\n \"url\": \"covered\",\n \"valueCode\": \"covered\"\n },\n {\n \"url\": \"pa-needed\",\n \"valueCode\": \"satisfied\"\n },\n {\n \"url\": \"billingCode\",\n \"valueCoding\": {\n \"system\": \"http://www.ama-assn.org/go/cpt\",\n \"code\": \"77067\"\n }\n },\n {\n \"extension\": [\n {\n \"url\": \"category\",\n \"valueCode\": \"cat-other\"\n },\n {\n \"url\": \"code\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/crd-coverage-detail\",\n \"code\": \"instructions\"\n }\n ]\n }\n },\n {\n \"url\": \"value\",\n \"valueUrl\": \"https://github.com/inferno-framework/davinci-crd-test-kit/wiki\"\n },\n {\n \"url\": \"qualification\",\n \"valueString\": \"CRD Test Kit Wiki\"\n }\n ],\n \"url\": \"detail\"\n },\n {\n \"url\": \"date\",\n \"valueDate\": \"{{today()}}\"\n },\n {\n \"url\": \"coverage-assertion-id\",\n \"valueString\": \"0730da9e5a13eededb08999dcc06b89f22bdf797fa2457fc0d7c330599da1311\"\n },\n {\n \"url\": \"satisfied-pa-id\",\n \"valueString\": \"XXYYZ\"\n },\n {\n \"url\": \"contact\",\n \"valueContactDetail\": {\n \"name\": \"CRD Test Kit Wiki\",\n \"telecom\": [\n {\n \"system\": \"url\",\n \"value\": \"https://github.com/inferno-framework/davinci-crd-test-kit/wiki\"\n }\n ]\n }\n },\n {\n \"url\": \"expiry-date\",\n \"valueDate\": \"{{today() + 7 days}}\"\n }\n ],\n \"url\": \"http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information\"\n }\n ]\n },\n \"extension\": {\n \"com.inferno.includeForServices\": \"encounter-start-service\",\n \"com.inferno.resourceSelectionCriteria\": \"prefetch.encounter\"\n }\n },\n {\n \"type\": \"update\",\n \"description\": \"Added auth needed coverage information to Encounter resource (Subset Prefetch).\",\n \"resource\": {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"coverage\",\n \"valueReference\": {\n \"reference\": \"Coverage/crd221-demo-coverage-subset-prefetch\"\n }\n },\n {\n \"url\": \"covered\",\n \"valueCode\": \"conditional\"\n },\n {\n \"url\": \"pa-needed\",\n \"valueCode\": \"auth-needed\"\n },\n {\n \"url\": \"doc-needed\",\n \"valueCode\": \"clinical\"\n },\n {\n \"url\": \"doc-purpose\",\n \"valueCode\": \"withorder\"\n },\n {\n \"url\": \"billingCode\",\n \"valueCoding\": {\n \"system\": \"http://www.ama-assn.org/go/cpt\",\n \"code\": \"77067\"\n }\n },\n {\n \"url\": \"reason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp\",\n \"code\": \"auth-out-network\"\n }\n ],\n \"text\": \"Authorization is necessary if out-of-network.\"\n }\n },\n {\n \"extension\": [\n {\n \"url\": \"category\",\n \"valueCode\": \"cat-other\"\n },\n {\n \"url\": \"code\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/crd-coverage-detail\",\n \"code\": \"instructions\"\n }\n ]\n }\n },\n {\n \"url\": \"value\",\n \"valueUrl\": \"https://github.com/inferno-framework/davinci-crd-test-kit/wiki\"\n },\n {\n \"url\": \"qualification\",\n \"valueString\": \"CRD Test Kit Wiki\"\n }\n ],\n \"url\": \"detail\"\n },\n {\n \"url\": \"questionnaire\",\n \"valueCanonical\": \"http://inferno.healthit.gov/davinci-crd-test-kit/forms/XYZ\"\n },\n {\n \"url\": \"dependency\",\n \"valueReference\": {\n \"reference\": \"Encounter/crd221-demo-encounter-with-performer-loc-and-org\",\n \"display\": \"non-sensical self dependency\"\n }\n },\n {\n \"url\": \"info-needed\",\n \"valueCode\": \"performer\"\n },\n {\n \"url\": \"date\",\n \"valueDate\": \"{{today()}}\"\n },\n {\n \"url\": \"coverage-assertion-id\",\n \"valueString\": \"0730da9e5a13eededb08999dcc06b89f22adf797fa2457fc0d7c330599da1311\"\n },\n {\n \"url\": \"contact\",\n \"valueContactDetail\": {\n \"name\": \"CRD Test Kit Wiki\",\n \"telecom\": [\n {\n \"system\": \"url\",\n \"value\": \"https://github.com/inferno-framework/davinci-crd-test-kit/wiki\"\n }\n ]\n }\n },\n {\n \"url\": \"expiry-date\",\n \"valueDate\": \"{{today() + 7 days}}\"\n }\n ],\n \"url\": \"http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information\"\n }\n ]\n },\n \"extension\": {\n \"com.inferno.includeForServices\": \"encounter-start-subset\",\n \"com.inferno.resourceSelectionCriteria\": \"prefetch.enc\"\n }\n }\n ]\n}"
49
- },
50
- {
51
- "name": "encounter_discharge_response_approach",
52
- "description": "Determines how Inferno will generate response for encounter-discharge hook invocations.",
53
- "title": "Response generation approach for encounter-discharge",
54
- "type": "radio",
55
- "value": "custom"
56
- },
57
- {
58
- "name": "encounter_discharge_custom_response_template",
59
- "description": "Provide a [custom response template](https://github.com/inferno-framework/davinci-crd-test-kit/wiki/Controlling-Simulated-Responses#tester-directed-custom-responses) in JSON form for Inferno to use when responding to hook invocations.",
60
- "title": "Custom response template for encounter-discharge hook requests",
61
- "type": "textarea",
62
- "value": "{\n \"cards\": [\n {\n \"summary\": \"Encounter Discharge Launch SMART Application Card\",\n \"detail\": \"This is a Launch SMART Application Card which can cause the launching of SMART apps to occur in the context in which they are relevant to patient care and/or to payment-related decision-making.\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/cdshooks-card-type\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\n }\n },\n \"selectionBehavior\": \"any\",\n \"suggestions\": [\n {\n \"label\": \"Inferno placeholder suggestion\",\n \"uuid\": \"5abc166b-c50f-4df4-bdb1-2b0b62cb8e56\"\n }\n ],\n \"links\": [\n {\n \"label\": \"Inferno\",\n \"url\": \"<%= Inferno::Application['base_url'] %>/custom/smart/launch\",\n \"type\": \"smart\"\n }\n ],\n \"uuid\": \"daf166dd-d7fa-4c74-ba80-71bc41c9efc1\"\n },\n {\n \"summary\": \"Encounter Discharge External Reference Card\",\n \"detail\": \"This is an External Reference Card containing one or more links to external web pages, PDFs, or other resources that provide relevant coverage information.\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/cdshooks-card-type\",\n \"code\": \"guideline\",\n \"display\": \"Guideline\"\n }\n },\n \"links\": [\n {\n \"label\": \"CRD IG External Reference Card Info\",\n \"url\": \"https://build.fhir.org/ig/HL7/davinci-crd/cards.html#external-reference\",\n \"type\": \"absolute\"\n }\n ],\n \"uuid\": \"c7bd850d-9d83-4056-aa0d-d887e6b68aed\"\n },\n {\n \"summary\": \"Encounter Discharge Instructions Card\",\n \"detail\": \"This is an Instructions card containing textual guidance to display to the user making the decisions.\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/cdshooks-card-type\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\n }\n },\n \"uuid\": \"1ab5f527-b173-4e5c-ad1f-56b4c4fe439a\"\n },\n {\n \"summary\": \"Encounter Discharge Create/Update Coverage Information Card (Complete Prefetch)\",\n \"detail\": \"This is an update to the coverage indicating an end date one year from today\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/cdshooks-card-type\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\n }\n },\n \"selectionBehavior\": \"any\",\n \"suggestions\": [\n {\n \"label\": \"Create/Update coverage information\",\n \"uuid\": \"5abc166b-c51f-4df4-bdb1-2b0b62bb8e45\",\n \"actions\": [\n {\n \"type\": \"update\",\n \"description\": \"Update current coverage record\",\n \"resource\": {\n \"resourceType\": \"Coverage\",\n \"id\": \"crd221-demo-coverage-complete-prefetch\",\n \"subscriberId\": \"10A3D58WH456\",\n \"relationship\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/subscriber-relationship\",\n \"code\": \"self\"\n }\n ]\n },\n \"beneficiary\": {\n \"reference\": \"Patient/crd221-demo-patient\"\n },\n \"status\": \"active\",\n \"class\": [\n {\n \"type\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/coverage-class\",\n \"code\": \"plan\"\n }\n ]\n },\n \"value\": \"Medicare Part A\"\n }\n ],\n \"period\": {\n \"end\": \"{{today() + 365 days}}\"\n },\n \"payor\": [\n {\n \"reference\": \"Organization/crd221-demo-payer-complete-prefetch\"\n }\n ]\n }\n }\n ]\n }\n ],\n \"uuid\": \"ac669633-6c4f-4599-b60b-e840ce0be625\",\n \"extension\": {\n \"com.inferno.includeForServices\": \"encounter-discharge-service\"\n }\n },\n {\n \"summary\": \"Encounter Discharge Create/Update Coverage Information Card (Subset Prefetch)\",\n \"detail\": \"This is an update to the coverage indicating an end date one year from today\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/cdshooks-card-type\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\n }\n },\n \"selectionBehavior\": \"any\",\n \"suggestions\": [\n {\n \"label\": \"Create/Update coverage information\",\n \"uuid\": \"5abc166b-c51f-4df4-bdb1-2b0b62bb8e45\",\n \"actions\": [\n {\n \"type\": \"update\",\n \"description\": \"Update current coverage record\",\n \"resource\": {\n \"resourceType\": \"Coverage\",\n \"id\": \"crd221-demo-coverage-subset-prefetch\",\n \"subscriberId\": \"10A3D58WH456\",\n \"relationship\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/subscriber-relationship\",\n \"code\": \"self\"\n }\n ]\n },\n \"beneficiary\": {\n \"reference\": \"Patient/crd221-demo-patient\"\n },\n \"status\": \"active\",\n \"class\": [\n {\n \"type\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/coverage-class\",\n \"code\": \"plan\"\n }\n ]\n },\n \"value\": \"Medicare Part A\"\n }\n ],\n \"period\": {\n \"end\": \"{{today() + 365 days}}\"\n },\n \"payor\": [\n {\n \"reference\": \"Organization/crd221-demo-payer-subset-prefetch\"\n }\n ]\n }\n }\n ]\n }\n ],\n \"uuid\": \"ac669633-6c4f-4599-b60b-e840ce0be625\",\n \"extension\": {\n \"com.inferno.includeForServices\": \"encounter-discharge-subset\"\n }\n },\n {\n \"summary\": \"Encounter Discharge Request Form Completion Card (Complete Prefetch)\",\n \"detail\": \"This is a Request Form Completion Card which indicates that there are forms that need to be completed.\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/cdshooks-card-type\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\n }\n },\n \"selectionBehavior\": \"any\",\n \"suggestions\": [\n {\n \"label\": \"Add 'completion of the ABC form' to your task list (possibly for reassignment)\",\n \"uuid\": \"5abc166b-c51f-4df4-bdb1-2b0b62cb8e45\",\n \"actions\": [\n {\n \"type\": \"create\",\n \"description\": \"Add version 2 of the XYZ form to the clinical system's repository (if it doesn't already exist)\",\n \"resource\": {\n \"resourceType\": \"Questionnaire\",\n \"id\": \"XYZ\",\n \"url\": \"http://inferno.healthit.gov/davinci-crd-test-kit/forms/XYZ\",\n \"title\": \"Cancer Quality Forum Questionnaire XYZ\",\n \"version\": \"2\",\n \"status\": \"active\",\n \"subjectType\": [\n \"Patient\"\n ],\n \"date\": \"2012-01\",\n \"item\": [\n {\n \"linkId\": \"1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"COMORBIDITY\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMORB\"\n }\n ],\n \"prefix\": \"1\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\",\n \"item\": [\n {\n \"linkId\": \"1.1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"CARDIAL\"\n }\n ],\n \"type\": \"group\",\n \"enableWhen\": [\n {\n \"question\": \"1.1\",\n \"operator\": \"=\",\n \"answerCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v2-0136\",\n \"code\": \"Y\"\n }\n }\n ],\n \"item\": [\n {\n \"linkId\": \"1.1.1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMORBCAR\"\n }\n ],\n \"prefix\": \"1.1\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\",\n \"item\": [\n {\n \"linkId\": \"1.1.1.1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMCAR00\",\n \"display\": \"Angina Pectoris\"\n },\n {\n \"system\": \"http://snomed.info/sct\",\n \"code\": \"194828000\",\n \"display\": \"Angina (disorder)\"\n }\n ],\n \"prefix\": \"1.1.1\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\"\n },\n {\n \"linkId\": \"1.1.1.1.2\",\n \"code\": [\n {\n \"system\": \"http://snomed.info/sct\",\n \"code\": \"22298006\",\n \"display\": \"Myocardial infarction (disorder)\"\n }\n ],\n \"prefix\": \"1.1.2\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\"\n }\n ]\n },\n {\n \"linkId\": \"1.1.1.2\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMORBVAS\"\n }\n ],\n \"prefix\": \"1.2\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\"\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"2\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"HISTOPATHOLOGY\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"2.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"ABDOMINAL\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"2.1.2\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"STADPT\",\n \"display\": \"pT category\"\n }\n ],\n \"type\": \"choice\"\n }\n ]\n }\n ]\n }\n ]\n },\n \"extension\": {\n \"davinci-crd.if-none-exist\": \"url=<%= Inferno::Application['base_url'] %>/custom/crd_server_v221/fhir/Questionnaire?url=http://inferno.healthit.gov/davinci-crd-test-kit/forms/XYZ\\u0026version=2\"\n }\n },\n {\n \"type\": \"create\",\n \"description\": \"Add 'Complete ABC form' to the task list\",\n \"resource\": {\n \"resourceType\": \"Task\",\n \"status\": \"ready\",\n \"intent\": \"order\",\n \"code\": {\n \"coding\": [\n {\n \"system\": \"http://hl7.org/fhir/uv/sdc/CodeSystem/temp\",\n \"code\": \"complete-questionnaire\"\n }\n ]\n },\n \"description\": \"Complete XYZ form for local retention\",\n \"for\": {\n \"reference\": \"Patient/{{context.patientId}}\"\n },\n \"authoredOn\": \"{{today()}}\",\n \"requester\": {\n \"reference\": \"Organization/crd221-demo-payer-complete-prefetch\"\n },\n \"input\": [\n {\n \"type\": {\n \"text\": \"questionnaire\",\n \"coding\": [\n {\n \"system\": \"http://hl7.org/fhir/uv/sdc/CodeSystem/temp\",\n \"code\": \"questionnaire\"\n }\n ]\n },\n \"valueCanonical\": \"http://inferno.healthit.gov/davinci-crd-test-kit/forms/XYZ\"\n }\n ],\n \"id\": \"779579bd-2a55-41a1-8487-c372fd02e9e8\"\n }\n }\n ]\n }\n ],\n \"uuid\": \"5abc166b-c50f-4df4-bdb1-2b0b62cb8e45\",\n \"extension\": {\n \"com.inferno.includeForServices\": \"encounter-discharge-service\"\n }\n },\n {\n \"summary\": \"Encounter Discharge Request Form Completion Card (Subset Prefetch)\",\n \"detail\": \"This is a Request Form Completion Card which indicates that there are forms that need to be completed.\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/cdshooks-card-type\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\n }\n },\n \"selectionBehavior\": \"any\",\n \"suggestions\": [\n {\n \"label\": \"Add 'completion of the ABC form' to your task list (possibly for reassignment)\",\n \"uuid\": \"5abc166b-c51f-4df4-bdb1-2b0b62cb8e45\",\n \"actions\": [\n {\n \"type\": \"create\",\n \"description\": \"Add version 2 of the XYZ form to the clinical system's repository (if it doesn't already exist)\",\n \"resource\": {\n \"resourceType\": \"Questionnaire\",\n \"id\": \"XYZ\",\n \"url\": \"http://inferno.healthit.gov/davinci-crd-test-kit/forms/XYZ\",\n \"title\": \"Cancer Quality Forum Questionnaire XYZ\",\n \"version\": \"2\",\n \"status\": \"active\",\n \"subjectType\": [\n \"Patient\"\n ],\n \"date\": \"2012-01\",\n \"item\": [\n {\n \"linkId\": \"1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"COMORBIDITY\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMORB\"\n }\n ],\n \"prefix\": \"1\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\",\n \"item\": [\n {\n \"linkId\": \"1.1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"CARDIAL\"\n }\n ],\n \"type\": \"group\",\n \"enableWhen\": [\n {\n \"question\": \"1.1\",\n \"operator\": \"=\",\n \"answerCoding\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v2-0136\",\n \"code\": \"Y\"\n }\n }\n ],\n \"item\": [\n {\n \"linkId\": \"1.1.1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMORBCAR\"\n }\n ],\n \"prefix\": \"1.1\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\",\n \"item\": [\n {\n \"linkId\": \"1.1.1.1.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMCAR00\",\n \"display\": \"Angina Pectoris\"\n },\n {\n \"system\": \"http://snomed.info/sct\",\n \"code\": \"194828000\",\n \"display\": \"Angina (disorder)\"\n }\n ],\n \"prefix\": \"1.1.1\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\"\n },\n {\n \"linkId\": \"1.1.1.1.2\",\n \"code\": [\n {\n \"system\": \"http://snomed.info/sct\",\n \"code\": \"22298006\",\n \"display\": \"Myocardial infarction (disorder)\"\n }\n ],\n \"prefix\": \"1.1.2\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\"\n }\n ]\n },\n {\n \"linkId\": \"1.1.1.2\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"COMORBVAS\"\n }\n ],\n \"prefix\": \"1.2\",\n \"type\": \"choice\",\n \"answerValueSet\": \"http://hl7.org/fhir/ValueSet/yesnodontknow\"\n }\n ]\n }\n ]\n }\n ]\n },\n {\n \"linkId\": \"2\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"HISTOPATHOLOGY\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"2.1\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/sections\",\n \"code\": \"ABDOMINAL\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"2.1.2\",\n \"code\": [\n {\n \"system\": \"http://inferno.healthit.gov/davinci-crd-test-kit/code/questions\",\n \"code\": \"STADPT\",\n \"display\": \"pT category\"\n }\n ],\n \"type\": \"choice\"\n }\n ]\n }\n ]\n }\n ]\n },\n \"extension\": {\n \"davinci-crd.if-none-exist\": \"url=<%= Inferno::Application['base_url'] %>/custom/crd_server_v221/fhir/Questionnaire?url=http://inferno.healthit.gov/davinci-crd-test-kit/forms/XYZ\\u0026version=2\"\n }\n },\n {\n \"type\": \"create\",\n \"description\": \"Add 'Complete ABC form' to the task list\",\n \"resource\": {\n \"resourceType\": \"Task\",\n \"status\": \"ready\",\n \"intent\": \"order\",\n \"code\": {\n \"coding\": [\n {\n \"system\": \"http://hl7.org/fhir/uv/sdc/CodeSystem/temp\",\n \"code\": \"complete-questionnaire\"\n }\n ]\n },\n \"description\": \"Complete XYZ form for local retention\",\n \"for\": {\n \"reference\": \"Patient/{{context.patientId}}\"\n },\n \"authoredOn\": \"{{today()}}\",\n \"requester\": {\n \"reference\": \"Organization/crd221-demo-payer-subset-prefetch\"\n },\n \"input\": [\n {\n \"type\": {\n \"text\": \"questionnaire\",\n \"coding\": [\n {\n \"system\": \"http://hl7.org/fhir/uv/sdc/CodeSystem/temp\",\n \"code\": \"questionnaire\"\n }\n ]\n },\n \"valueCanonical\": \"http://inferno.healthit.gov/davinci-crd-test-kit/forms/XYZ\"\n }\n ],\n \"id\": \"779579bd-2a55-41a1-8487-c372fd02e9e8\"\n }\n }\n ]\n }\n ],\n \"uuid\": \"5abc166b-c50f-4df4-bdb1-2b0b62cb8e45\",\n \"extension\": {\n \"com.inferno.includeForServices\": \"encounter-discharge-subset\"\n }\n }\n ],\n \"systemActions\": [\n {\n \"type\": \"update\",\n \"description\": \"Added auth needed coverage information to Encounter resource (Complete Prefetch).\",\n \"resource\": {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"coverage\",\n \"valueReference\": {\n \"reference\": \"Coverage/crd221-demo-coverage-complete-prefetch\"\n }\n },\n {\n \"url\": \"covered\",\n \"valueCode\": \"conditional\"\n },\n {\n \"url\": \"pa-needed\",\n \"valueCode\": \"auth-needed\"\n },\n {\n \"url\": \"doc-needed\",\n \"valueCode\": \"clinical\"\n },\n {\n \"url\": \"doc-purpose\",\n \"valueCode\": \"withorder\"\n },\n {\n \"url\": \"billingCode\",\n \"valueCoding\": {\n \"system\": \"http://www.ama-assn.org/go/cpt\",\n \"code\": \"77067\"\n }\n },\n {\n \"url\": \"reason\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp\",\n \"code\": \"auth-out-network\"\n }\n ],\n \"text\": \"Authorization is necessary if out-of-network.\"\n }\n },\n {\n \"extension\": [\n {\n \"url\": \"category\",\n \"valueCode\": \"cat-other\"\n },\n {\n \"url\": \"code\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/crd-coverage-detail\",\n \"code\": \"instructions\"\n }\n ]\n }\n },\n {\n \"url\": \"value\",\n \"valueUrl\": \"https://github.com/inferno-framework/davinci-crd-test-kit/wiki\"\n },\n {\n \"url\": \"qualification\",\n \"valueString\": \"CRD Test Kit Wiki\"\n }\n ],\n \"url\": \"detail\"\n },\n {\n \"url\": \"questionnaire\",\n \"valueCanonical\": \"http://inferno.healthit.gov/davinci-crd-test-kit/forms/XYZ\"\n },\n {\n \"url\": \"dependency\",\n \"valueReference\": {\n \"reference\": \"Encounter/crd221-demo-encounter-with-performer-loc-and-org\",\n \"display\": \"non-sensical self dependency\"\n }\n },\n {\n \"url\": \"info-needed\",\n \"valueCode\": \"performer\"\n },\n {\n \"url\": \"date\",\n \"valueDate\": \"{{today()}}\"\n },\n {\n \"url\": \"coverage-assertion-id\",\n \"valueString\": \"0730da9e5a13eededb08999dcc06b89f22adf797fa2457fc0d7c330599da1311\"\n },\n {\n \"url\": \"contact\",\n \"valueContactDetail\": {\n \"name\": \"CRD Test Kit Wiki\",\n \"telecom\": [\n {\n \"system\": \"url\",\n \"value\": \"https://github.com/inferno-framework/davinci-crd-test-kit/wiki\"\n }\n ]\n }\n },\n {\n \"url\": \"expiry-date\",\n \"valueDate\": \"{{today() + 7 days}}\"\n }\n ],\n \"url\": \"http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information\"\n }\n ]\n },\n \"extension\": {\n \"com.inferno.includeForServices\": \"encounter-discharge-service\",\n \"com.inferno.resourceSelectionCriteria\": \"prefetch.encounter\"\n }\n },\n {\n \"type\": \"update\",\n \"description\": \"Added pa satisfied coverage information to Encounter resource (Subset Prefetch).\",\n \"resource\": {\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"coverage\",\n \"valueReference\": {\n \"reference\": \"Coverage/crd221-demo-coverage-subset-prefetch\"\n }\n },\n {\n \"url\": \"covered\",\n \"valueCode\": \"covered\"\n },\n {\n \"url\": \"pa-needed\",\n \"valueCode\": \"satisfied\"\n },\n {\n \"url\": \"billingCode\",\n \"valueCoding\": {\n \"system\": \"http://www.ama-assn.org/go/cpt\",\n \"code\": \"77067\"\n }\n },\n {\n \"extension\": [\n {\n \"url\": \"category\",\n \"valueCode\": \"cat-other\"\n },\n {\n \"url\": \"code\",\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/crd-coverage-detail\",\n \"code\": \"instructions\"\n }\n ]\n }\n },\n {\n \"url\": \"value\",\n \"valueUrl\": \"https://github.com/inferno-framework/davinci-crd-test-kit/wiki\"\n },\n {\n \"url\": \"qualification\",\n \"valueString\": \"CRD Test Kit Wiki\"\n }\n ],\n \"url\": \"detail\"\n },\n {\n \"url\": \"date\",\n \"valueDate\": \"{{today()}}\"\n },\n {\n \"url\": \"coverage-assertion-id\",\n \"valueString\": \"0730da9e5a13eededb08999dcc06b89f22bdf797fa2457fc0d7c330599da1311\"\n },\n {\n \"url\": \"satisfied-pa-id\",\n \"valueString\": \"XXYYZ\"\n },\n {\n \"url\": \"contact\",\n \"valueContactDetail\": {\n \"name\": \"CRD Test Kit Wiki\",\n \"telecom\": [\n {\n \"system\": \"url\",\n \"value\": \"https://github.com/inferno-framework/davinci-crd-test-kit/wiki\"\n }\n ]\n }\n },\n {\n \"url\": \"expiry-date\",\n \"valueDate\": \"{{today() + 7 days}}\"\n }\n ],\n \"url\": \"http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information\"\n }\n ]\n },\n \"extension\": {\n \"com.inferno.includeForServices\": \"encounter-discharge-subset\",\n \"com.inferno.resourceSelectionCriteria\": \"prefetch.enc\"\n }\n }\n ]\n}"
63
- },
64
- {
65
- "name": "order_select_selected_response_types",
66
- "description": "Select the cards/action response types that the Inferno hook request endpoints will return. The default response type that will be returned for this hook is the `Instructions` card type.",
67
- "title": "Response types to return from order-select hook requests",
68
- "type": "checkbox",
69
- "value": "[\"external_reference\",\"instructions\",\"coverage_information\",\"request_form_completion\",\"create_update_coverage_info\",\"launch_smart_app\",\"propose_alternate_request\",\"companions_prerequisites\"]"
70
- },
71
- {
72
- "name": "order_dispatch_selected_response_types",
73
- "description": "Select the cards/action response types that the Inferno hook request endpoints will return. The default response type that will be returned for this hook is the `Coverage Information` card type.",
74
- "title": "Response types to return from order-dispatch hook requests",
75
- "type": "checkbox",
76
- "value": "[\"external_reference\",\"instructions\",\"coverage_information\",\"request_form_completion\",\"create_update_coverage_info\",\"launch_smart_app\",\"propose_alternate_request\",\"companions_prerequisites\"]"
77
- },
78
- {
79
- "name": "order_sign_selected_response_types",
80
- "description": "Select the cards/action response types that the Inferno hook request endpoints will return. The default response type that will be returned for this hook is the `Coverage Information` card type.",
81
- "title": "Response types to return from order-sign hook requests",
82
- "type": "checkbox",
83
- "value": "[\"external_reference\",\"instructions\",\"coverage_information\",\"request_form_completion\",\"create_update_coverage_info\",\"launch_smart_app\",\"propose_alternate_request\",\"companions_prerequisites\"]"
84
- },
85
- {
86
- "name": "patient_ids",
87
- "description": "Comma separated list of Patient IDs that in sum contain all MUST SUPPORT elements",
88
- "optional": true,
89
- "title": "Patient IDs",
90
- "type": "text",
91
- "value": "85,355,907"
92
- }
93
- ]
94
- }
@@ -1,57 +0,0 @@
1
- require_relative '../../server_test_helper'
2
- require_relative '../../server_hook_request_validation'
3
- require_relative '../../../cross_suite/cards_validation'
4
-
5
- module DaVinciCRDTestKit
6
- module V221
7
- class CardOptionalFieldsValidationTest < Inferno::Test
8
- include DaVinciCRDTestKit::ServerTestHelper
9
- include DaVinciCRDTestKit::ServerHookRequestValidation
10
- include DaVinciCRDTestKit::CardsValidation
11
-
12
- title 'Cards contain valid optional fields'
13
- id :crd_v221_card_optional_fields_validation
14
- description %(
15
- This test checks for the presence and validity of optional fields in a card,
16
- but only if the card's required fields are valid. As specified in the
17
- [CDS Hooks specification section on Card Attributes](https://cds-hooks.hl7.org/2.0/#card-attributes),
18
- the optional fields include `uuid`, `detail`, `suggestions`, `overrideReasons`, and `links`.
19
-
20
- Additionally, the test validates the presence of the conditional field `selectionBehavior`
21
- only if the `suggestions` field is present.
22
- )
23
- optional
24
- input :valid_cards
25
- output :valid_cards_with_links, :valid_cards_with_suggestions
26
-
27
- verifies_requirements 'hl7.fhir.us.davinci-crd_2.2.1@resp-3',
28
- 'hl7.fhir.us.davinci-crd_2.2.1@resp-13',
29
- 'hl7.fhir.us.davinci-crd_2.2.1@resp-18',
30
- 'hl7.fhir.us.davinci-crd_2.2.1@resp-19',
31
- 'hl7.fhir.us.davinci-crd_2.2.1@resp-22'
32
-
33
- def cards_with_suggestions
34
- @cards_with_suggestions ||= []
35
- end
36
-
37
- def cards_with_links
38
- @cards_with_links ||= []
39
- end
40
-
41
- run do
42
- parsed_cards = parse_json(valid_cards)
43
- parsed_cards.each do |card|
44
- if valid_card_with_optionals?(card, 'v221')
45
- cards_with_links << card if card['links']
46
- cards_with_suggestions << card if card['suggestions']
47
- end
48
- end
49
-
50
- output valid_cards_with_links: cards_with_links.to_json
51
- output valid_cards_with_suggestions: cards_with_suggestions.to_json
52
-
53
- no_error_validation('Some cards with valid required fields have invalid optional fields.')
54
- end
55
- end
56
- end
57
- end
@@ -1,65 +0,0 @@
1
- require_relative '../../server_test_helper'
2
- require_relative '../../server_hook_helper'
3
- require_relative '../../../cross_suite/cards_identification'
4
-
5
- module DaVinciCRDTestKit
6
- module V221
7
- class CoverageInformationSystemActionReceivedTest < Inferno::Test
8
- include DaVinciCRDTestKit::ServerTestHelper
9
- include DaVinciCRDTestKit::ServerHookHelper
10
- include DaVinciCRDTestKit::CardsIdentification
11
-
12
- title 'Server returns a Coverage Information system action'
13
- id :crd_v221_coverage_info_system_action_received
14
- description %(
15
- This test validates that a [Coverage Information](https://hl7.org/fhir/us/davinci-crd/STU2/cards.html#coverage-information)
16
- system action was returned. It does so by:
17
- - First checking for the presence of actions with a `resource` element of the following types:
18
- - For `appointment-book`: Appointment
19
- - For `order-sign` or `order-dispatch`: DeviceRequest, MedicationRequest, NutritionOrder,
20
- ServiceRequest, or VisionPrescription
21
- - Then, among the target actions, checking if their resource has the [coverage-information extension](http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information).
22
- )
23
- # verifies_requirements 'hl7.fhir.us.davinci-crd_2.0.1@272', 'hl7.fhir.us.davinci-crd_2.0.1@273',
24
- # 'hl7.fhir.us.davinci-crd_2.0.1@274', 'hl7.fhir.us.davinci-crd_2.0.1@275',
25
- # 'hl7.fhir.us.davinci-crd_2.0.1@276', 'hl7.fhir.us.davinci-crd_2.0.1@277'
26
-
27
- input :valid_system_actions, :invoked_hook
28
- output :coverage_info
29
-
30
- def resources_by_hook
31
- shared_resources = [
32
- 'DeviceRequest', 'MedicationRequest', 'NutritionOrder',
33
- 'ServiceRequest', 'VisionPrescription'
34
- ]
35
- {
36
- 'appointment-book' => ['Appointment'],
37
- 'order-sign' => shared_resources,
38
- 'order-dispatch' => shared_resources,
39
- 'order-select' => shared_resources,
40
- 'encounter-start' => ['Encounter'],
41
- 'encounter-discharge' => ['Encounter']
42
- }
43
- end
44
-
45
- run do
46
- parsed_actions = parse_json(valid_system_actions)
47
- target_resources = resources_by_hook[invoked_hook]
48
-
49
- target_actions = parsed_actions.select do |action|
50
- resource = FHIR.from_contents(action['resource'].to_json)
51
- target_resources.include?(resource&.resourceType)
52
- end
53
-
54
- coverage_info_system_actions = target_actions.select do |action|
55
- coverage_information_response_type?(action)
56
- end
57
-
58
- assert coverage_info_system_actions.present?,
59
- "Coverage Information system action was not returned in the #{tested_hook_name} hook response."
60
-
61
- output coverage_info: coverage_info_system_actions.to_json
62
- end
63
- end
64
- end
65
- end