davinci_crd_test_kit 0.12.2 → 0.14.0

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 (341) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/inferno_crd_client_suite.json.erb +20 -14
  3. data/config/presets/inferno_crd_client_suite_prefetch_subset_v221.json.erb +125 -0
  4. data/config/presets/inferno_crd_client_suite_v221.json.erb +124 -0
  5. data/config/presets/inferno_crd_server_suite.json.erb +59 -2
  6. data/config/presets/inferno_crd_server_suite_v221.json.erb +94 -0
  7. data/config/presets/ri_crd_request_generator.json_v221.json.erb +13 -0
  8. data/config/presets/ri_crd_server.json.erb +19 -19
  9. data/lib/davinci_crd_test_kit/client/client_base_urls.rb +80 -0
  10. data/lib/davinci_crd_test_kit/{client_hook_request_validation.rb → client/client_hook_request_validation.rb} +1 -1
  11. data/lib/davinci_crd_test_kit/client/crd_client_options.rb +30 -0
  12. data/lib/davinci_crd_test_kit/client/endpoints/cds_services_discovery_handler.rb +34 -0
  13. data/lib/davinci_crd_test_kit/client/endpoints/custom_service_response.rb +342 -0
  14. data/lib/davinci_crd_test_kit/client/endpoints/gather_response_generation_data.rb +410 -0
  15. data/lib/davinci_crd_test_kit/client/endpoints/hook_request_endpoint.rb +233 -0
  16. data/lib/davinci_crd_test_kit/{mock_service_response.rb → client/endpoints/mock_service_response.rb} +165 -59
  17. data/lib/davinci_crd_test_kit/{card_responses → client/endpoints/mocked_card_responses}/companions_prerequisites.json +1 -0
  18. data/lib/davinci_crd_test_kit/{card_responses → client/endpoints/mocked_card_responses}/create_update_coverage_information.json +3 -2
  19. data/lib/davinci_crd_test_kit/{card_responses → client/endpoints/mocked_card_responses}/launch_smart_app.json +8 -1
  20. data/lib/davinci_crd_test_kit/{card_responses → client/endpoints/mocked_card_responses}/propose_alternate_request.json +1 -0
  21. data/lib/davinci_crd_test_kit/{card_responses → client/endpoints/mocked_card_responses}/request_form_completion.json +17 -16
  22. data/lib/davinci_crd_test_kit/client/multi_request_message_helper.rb +35 -0
  23. data/lib/davinci_crd_test_kit/client/tagged_request_load_helper.rb +38 -0
  24. data/lib/davinci_crd_test_kit/client/v2.0.1/api/client_fhir_api_create_test.rb +43 -0
  25. data/lib/davinci_crd_test_kit/client/v2.0.1/api/client_fhir_api_read_test.rb +43 -0
  26. data/lib/davinci_crd_test_kit/client/v2.0.1/api/client_fhir_api_search_test.rb +234 -0
  27. data/lib/davinci_crd_test_kit/client/v2.0.1/api/client_fhir_api_update_test.rb +43 -0
  28. data/lib/davinci_crd_test_kit/client/v2.0.1/api/client_fhir_api_validation_test.rb +63 -0
  29. data/lib/davinci_crd_test_kit/client/v2.0.1/auth/decode_auth_token_test.rb +65 -0
  30. data/lib/davinci_crd_test_kit/client/v2.0.1/auth/retrieve_jwks_test.rb +109 -0
  31. data/lib/davinci_crd_test_kit/client/v2.0.1/auth/token_header_test.rb +70 -0
  32. data/lib/davinci_crd_test_kit/client/v2.0.1/auth/token_payload_test.rb +85 -0
  33. data/lib/davinci_crd_test_kit/{routes/cds-services.json → client/v2.0.1/cds-services-v201.json} +1 -1
  34. data/lib/davinci_crd_test_kit/client/v2.0.1/client_appointment_book_group.rb +108 -0
  35. data/lib/davinci_crd_test_kit/client/v2.0.1/client_card_must_support_group.rb +31 -0
  36. data/lib/davinci_crd_test_kit/client/v2.0.1/client_encounter_discharge_group.rb +105 -0
  37. data/lib/davinci_crd_test_kit/client/v2.0.1/client_encounter_start_group.rb +105 -0
  38. data/lib/davinci_crd_test_kit/client/v2.0.1/client_fhir_api_group.rb +790 -0
  39. data/lib/davinci_crd_test_kit/client/v2.0.1/client_hooks_group.rb +74 -0
  40. data/lib/davinci_crd_test_kit/client/v2.0.1/client_order_dispatch_group.rb +111 -0
  41. data/lib/davinci_crd_test_kit/client/v2.0.1/client_order_select_group.rb +116 -0
  42. data/lib/davinci_crd_test_kit/client/v2.0.1/client_order_sign_group.rb +113 -0
  43. data/lib/davinci_crd_test_kit/{client_registration_group.rb → client/v2.0.1/client_registration_group.rb} +12 -8
  44. data/lib/davinci_crd_test_kit/client/v2.0.1/client_urls.rb +13 -0
  45. data/lib/davinci_crd_test_kit/client/v2.0.1/crd_client_suite.rb +134 -0
  46. data/lib/davinci_crd_test_kit/client/v2.0.1/invocation/appointment_book_receive_request_test.rb +129 -0
  47. data/lib/davinci_crd_test_kit/client/v2.0.1/invocation/encounter_discharge_receive_request_test.rb +126 -0
  48. data/lib/davinci_crd_test_kit/client/v2.0.1/invocation/encounter_start_receive_request_test.rb +126 -0
  49. data/lib/davinci_crd_test_kit/client/v2.0.1/invocation/order_dispatch_receive_request_test.rb +138 -0
  50. data/lib/davinci_crd_test_kit/client/v2.0.1/invocation/order_select_receive_request_test.rb +134 -0
  51. data/lib/davinci_crd_test_kit/client/v2.0.1/invocation/order_sign_receive_request_test.rb +136 -0
  52. data/lib/davinci_crd_test_kit/client/v2.0.1/must_support/client_card_must_support_coverage_information.rb +93 -0
  53. data/lib/davinci_crd_test_kit/client/v2.0.1/must_support/client_card_must_support_external_reference.rb +62 -0
  54. data/lib/davinci_crd_test_kit/client/v2.0.1/must_support/client_card_must_support_instructions.rb +62 -0
  55. data/lib/davinci_crd_test_kit/client/v2.0.1/registration/client_registration_verification_test.rb +94 -0
  56. data/lib/davinci_crd_test_kit/client/v2.0.1/registration/client_service_registration_attestation_test.rb +40 -0
  57. data/lib/davinci_crd_test_kit/client/v2.0.1/verify_request/hook_request_fetched_data_test.rb +86 -0
  58. data/lib/davinci_crd_test_kit/client/v2.0.1/verify_request/hook_request_optional_fields_test.rb +63 -0
  59. data/lib/davinci_crd_test_kit/client/v2.0.1/verify_request/hook_request_prefetch_equals_queried_test.rb +96 -0
  60. data/lib/davinci_crd_test_kit/client/v2.0.1/verify_request/hook_request_required_fields_test.rb +55 -0
  61. data/lib/davinci_crd_test_kit/client/v2.0.1/verify_request/hook_request_valid_context_test.rb +70 -0
  62. data/lib/davinci_crd_test_kit/client/v2.0.1/verify_request/hook_request_valid_prefetch_test.rb +62 -0
  63. data/lib/davinci_crd_test_kit/client/v2.0.1/verify_response/client_display_cards_attest.rb +83 -0
  64. data/lib/davinci_crd_test_kit/client/v2.0.1/verify_response/inferno_response_validation.rb +79 -0
  65. data/lib/davinci_crd_test_kit/client/v2.2.1/api/client_coverage_info_update_test.rb +212 -0
  66. data/lib/davinci_crd_test_kit/client/v2.2.1/api/client_crd_update_verification_group.rb +18 -0
  67. data/lib/davinci_crd_test_kit/client/v2.2.1/auth/decode_auth_token_test.rb +69 -0
  68. data/lib/davinci_crd_test_kit/client/v2.2.1/auth/retrieve_jwks_test.rb +120 -0
  69. data/lib/davinci_crd_test_kit/client/v2.2.1/auth/token_header_test.rb +92 -0
  70. data/lib/davinci_crd_test_kit/client/v2.2.1/auth/token_payload_test.rb +93 -0
  71. data/lib/davinci_crd_test_kit/client/v2.2.1/cds-services-prefetch-subset-v221.json +198 -0
  72. data/lib/davinci_crd_test_kit/client/v2.2.1/cds-services-v221.json +202 -0
  73. data/lib/davinci_crd_test_kit/client/v2.2.1/client_appointment_book_group.rb +102 -0
  74. data/lib/davinci_crd_test_kit/client/v2.2.1/client_cross_hook_group.rb +28 -0
  75. data/lib/davinci_crd_test_kit/client/v2.2.1/client_encounter_discharge_group.rb +96 -0
  76. data/lib/davinci_crd_test_kit/client/v2.2.1/client_encounter_start_group.rb +95 -0
  77. data/lib/davinci_crd_test_kit/client/v2.2.1/client_fhir_api_group.rb +88 -0
  78. data/lib/davinci_crd_test_kit/client/v2.2.1/client_hooks_group.rb +64 -0
  79. data/lib/davinci_crd_test_kit/client/v2.2.1/client_long_running_hook_group.rb +32 -0
  80. data/lib/davinci_crd_test_kit/client/v2.2.1/client_order_dispatch_group.rb +101 -0
  81. data/lib/davinci_crd_test_kit/client/v2.2.1/client_order_select_group.rb +102 -0
  82. data/lib/davinci_crd_test_kit/client/v2.2.1/client_order_sign_group.rb +107 -0
  83. data/lib/davinci_crd_test_kit/client/v2.2.1/client_registration_group.rb +27 -0
  84. data/lib/davinci_crd_test_kit/client/v2.2.1/client_urls.rb +27 -0
  85. data/lib/davinci_crd_test_kit/client/v2.2.1/crd_client_suite.rb +229 -0
  86. data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_card_must_support_coverage_information_test.rb +63 -0
  87. data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_fhirpath_collection_as_comma_delimited_string_test.rb +60 -0
  88. data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_hook_instances_unique_test.rb +45 -0
  89. data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_location_address_propagation_test.rb +135 -0
  90. data/lib/davinci_crd_test_kit/client/v2.2.1/cross_hook/client_prefetch_complete_and_subset_test.rb +103 -0
  91. data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/appointment_book_receive_request_test.rb +156 -0
  92. data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/encounter_discharge_receive_request_test.rb +157 -0
  93. data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/encounter_start_receive_request_test.rb +157 -0
  94. data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/order_dispatch_receive_request_test.rb +165 -0
  95. data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/order_select_receive_request_test.rb +165 -0
  96. data/lib/davinci_crd_test_kit/client/v2.2.1/invocation/order_sign_receive_request_test.rb +165 -0
  97. data/lib/davinci_crd_test_kit/client/v2.2.1/long_running/client_long_running_receive_request_test.rb +64 -0
  98. data/lib/davinci_crd_test_kit/client/v2.2.1/long_running/client_skip_long_running_attestation_test.rb +49 -0
  99. data/lib/davinci_crd_test_kit/client/v2.2.1/registration/client_registration_verification_test.rb +161 -0
  100. data/lib/davinci_crd_test_kit/client/v2.2.1/registration/client_service_registration_attestation_test.rb +107 -0
  101. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_conformance_test.rb +47 -0
  102. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_coverage_verification_test.rb +152 -0
  103. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_data_fetch_verification_test.rb +55 -0
  104. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_granted_scopes_test.rb +123 -0
  105. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_prefetch_complete_test.rb +127 -0
  106. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_prefetch_profiles_test.rb +55 -0
  107. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_requested_version_test.rb +54 -0
  108. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_request/hook_request_secured_transport_test.rb +48 -0
  109. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_response/client_display_cards_attest.rb +74 -0
  110. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_response/hook_response_support_coverage_information_test.rb +30 -0
  111. data/lib/davinci_crd_test_kit/client/v2.2.1/verify_response/inferno_response_validation.rb +77 -0
  112. data/lib/davinci_crd_test_kit/cross_suite/base_urls.rb +20 -0
  113. data/lib/davinci_crd_test_kit/cross_suite/cards_identification.rb +312 -0
  114. data/lib/davinci_crd_test_kit/{cards_validation.rb → cross_suite/cards_validation.rb} +104 -47
  115. data/lib/davinci_crd_test_kit/cross_suite/coverage-information_stu201_metadata.yml +27 -0
  116. data/lib/davinci_crd_test_kit/cross_suite/coverage-information_stu221_metadata.yml +60 -0
  117. data/lib/davinci_crd_test_kit/cross_suite/fhirpath_on_cds_request.rb +177 -0
  118. data/lib/davinci_crd_test_kit/{hook_request_field_validation.rb → cross_suite/hook_request_field_validation.rb} +282 -203
  119. data/lib/davinci_crd_test_kit/cross_suite/logical_models_override_helper.rb +220 -0
  120. data/lib/davinci_crd_test_kit/cross_suite/prefetch_completeness_checker.rb +462 -0
  121. data/lib/davinci_crd_test_kit/cross_suite/prefetch_contents_validation.rb +81 -0
  122. data/lib/davinci_crd_test_kit/cross_suite/prefetch_profile_validation.rb +48 -0
  123. data/lib/davinci_crd_test_kit/cross_suite/profiles_and_resource_types.rb +63 -0
  124. data/lib/davinci_crd_test_kit/cross_suite/replace_tokens.rb +38 -0
  125. data/lib/davinci_crd_test_kit/cross_suite/requests_logical_model_validation.rb +202 -0
  126. data/lib/davinci_crd_test_kit/cross_suite/response_logical_model_validation.rb +274 -0
  127. data/lib/davinci_crd_test_kit/{suggestion_actions_validation.rb → cross_suite/suggestion_actions_validation.rb} +70 -50
  128. data/lib/davinci_crd_test_kit/cross_suite/tags.rb +42 -0
  129. data/lib/davinci_crd_test_kit/metadata.rb +10 -44
  130. data/lib/davinci_crd_test_kit/requirements/cds-hooks-library_1.0.1_requirements.xlsx +0 -0
  131. data/lib/davinci_crd_test_kit/requirements/cds-hooks_2.0_requirements.xlsx +0 -0
  132. data/lib/davinci_crd_test_kit/requirements/cds-hooks_3.0.0-ballot_requirements.xlsx +0 -0
  133. data/lib/davinci_crd_test_kit/requirements/davinci_crd_test_kit_requirements.csv +742 -65
  134. data/lib/davinci_crd_test_kit/requirements/generated/crd_client_requirements_coverage.csv +279 -54
  135. data/lib/davinci_crd_test_kit/requirements/generated/crd_client_v221_requirements_coverage.csv +1430 -0
  136. data/lib/davinci_crd_test_kit/requirements/generated/crd_server_requirements_coverage.csv +36 -45
  137. data/lib/davinci_crd_test_kit/requirements/generated/crd_server_v221_requirements_coverage.csv +143 -0
  138. data/lib/davinci_crd_test_kit/requirements/hl7.fhir.us.davinci-crd_2.0.1_requirements.xlsx +0 -0
  139. data/lib/davinci_crd_test_kit/requirements/hl7.fhir.us.davinci-crd_2.2.1_requirements.xlsx +0 -0
  140. data/lib/davinci_crd_test_kit/server/endpoints/jwk_set_endpoint_handler.rb +13 -0
  141. data/lib/davinci_crd_test_kit/server/endpoints/mock_ehr/fhir_create_endpoint.rb +23 -0
  142. data/lib/davinci_crd_test_kit/server/endpoints/mock_ehr/fhir_delete_endpoint.rb +30 -0
  143. data/lib/davinci_crd_test_kit/server/endpoints/mock_ehr/fhir_metadata_endpoint.rb +112 -0
  144. data/lib/davinci_crd_test_kit/server/endpoints/mock_ehr/fhir_read_endpoint.rb +21 -0
  145. data/lib/davinci_crd_test_kit/server/endpoints/mock_ehr/fhir_request_handler.rb +261 -0
  146. data/lib/davinci_crd_test_kit/server/endpoints/mock_ehr/fhir_search_endpoint.rb +561 -0
  147. data/lib/davinci_crd_test_kit/server/endpoints/mock_ehr/fhir_update_endpoint.rb +24 -0
  148. data/lib/davinci_crd_test_kit/server/endpoints/mock_ehr/stress-test-Bundle.json +54687 -0
  149. data/lib/davinci_crd_test_kit/server/endpoints/mock_ehr_endpoints.rb +95 -0
  150. data/lib/davinci_crd_test_kit/server/jobs/invoke_hook.rb +225 -0
  151. data/lib/davinci_crd_test_kit/{jwt_helper.rb → server/jwt_helper.rb} +1 -12
  152. data/lib/davinci_crd_test_kit/server/resource_extractor.rb +68 -0
  153. data/lib/davinci_crd_test_kit/server/server_abstract_invoke_hook_test.rb +165 -0
  154. data/lib/davinci_crd_test_kit/server/server_base_urls.rb +30 -0
  155. data/lib/davinci_crd_test_kit/{server_hook_helper.rb → server/server_hook_helper.rb} +1 -1
  156. data/lib/davinci_crd_test_kit/{server_hook_request_validation.rb → server/server_hook_request_validation.rb} +1 -1
  157. data/lib/davinci_crd_test_kit/{test_helper.rb → server/server_test_helper.rb} +7 -3
  158. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/Appointment.yml +5 -0
  159. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/ClaimResponse.yml +5 -0
  160. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/CommunicationRequest.yml +5 -0
  161. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/Coverage.yml +21 -0
  162. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/Device.yml +5 -0
  163. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/DeviceRequest.yml +5 -0
  164. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/Encounter.yml +7 -0
  165. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/Location.yml +5 -0
  166. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/MedicationRequest.yml +5 -0
  167. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/NutritionOrder.yml +5 -0
  168. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/Organization.yml +5 -0
  169. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/Patient.yml +5 -0
  170. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/Practitioner.yml +5 -0
  171. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/PractitionerRole.yml +40 -0
  172. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/ServiceRequest.yml +5 -0
  173. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/Task.yml +5 -0
  174. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_metadata/VisionPrescription.yml +5 -0
  175. data/lib/davinci_crd_test_kit/server/v2.0.1/crd_server_suite.rb +99 -0
  176. data/lib/davinci_crd_test_kit/server/v2.0.1/discovery/discovery_endpoint_test.rb +90 -0
  177. data/lib/davinci_crd_test_kit/server/v2.0.1/discovery/discovery_services_validation_test.rb +67 -0
  178. data/lib/davinci_crd_test_kit/server/v2.0.1/interaction/server_invoke_hook_test.rb +12 -0
  179. data/lib/davinci_crd_test_kit/server/v2.0.1/must_support/coverage_information_system_action_across_hooks_validation_test.rb +34 -0
  180. data/lib/davinci_crd_test_kit/server/v2.0.1/must_support/external_reference_card_across_hooks_validation_test.rb +30 -0
  181. data/lib/davinci_crd_test_kit/server/v2.0.1/must_support/instructions_card_received_across_hooks_test.rb +27 -0
  182. data/lib/davinci_crd_test_kit/server/v2.0.1/server_appointment_book_group.rb +191 -0
  183. data/lib/davinci_crd_test_kit/server/v2.0.1/server_demonstrate_hook_response_group.rb +93 -0
  184. data/lib/davinci_crd_test_kit/server/v2.0.1/server_discovery_group.rb +62 -0
  185. data/lib/davinci_crd_test_kit/server/v2.0.1/server_encounter_discharge_group.rb +186 -0
  186. data/lib/davinci_crd_test_kit/server/v2.0.1/server_encounter_start_group.rb +186 -0
  187. data/lib/davinci_crd_test_kit/server/v2.0.1/server_hooks_group.rb +73 -0
  188. data/lib/davinci_crd_test_kit/server/v2.0.1/server_order_dispatch_group.rb +191 -0
  189. data/lib/davinci_crd_test_kit/server/v2.0.1/server_order_select_group.rb +211 -0
  190. data/lib/davinci_crd_test_kit/server/v2.0.1/server_order_sign_group.rb +216 -0
  191. data/lib/davinci_crd_test_kit/server/v2.0.1/server_required_card_response_validation_group.rb +28 -0
  192. data/lib/davinci_crd_test_kit/server/v2.0.1/server_urls.rb +13 -0
  193. data/lib/davinci_crd_test_kit/server/v2.0.1/verify_request/service_request_context_validation_test.rb +30 -0
  194. data/lib/davinci_crd_test_kit/server/v2.0.1/verify_request/service_request_optional_fields_validation_test.rb +39 -0
  195. data/lib/davinci_crd_test_kit/server/v2.0.1/verify_request/service_request_required_fields_validation_test.rb +40 -0
  196. data/lib/davinci_crd_test_kit/server/v2.0.1/verify_response/additional_orders_validation_test.rb +59 -0
  197. data/lib/davinci_crd_test_kit/server/v2.0.1/verify_response/card_optional_fields_validation_test.rb +51 -0
  198. data/lib/davinci_crd_test_kit/server/v2.0.1/verify_response/coverage_information_system_action_received_test.rb +65 -0
  199. data/lib/davinci_crd_test_kit/server/v2.0.1/verify_response/coverage_information_system_action_validation_test.rb +120 -0
  200. data/lib/davinci_crd_test_kit/server/v2.0.1/verify_response/create_or_update_coverage_info_response_validation_test.rb +70 -0
  201. data/lib/davinci_crd_test_kit/server/v2.0.1/verify_response/external_reference_card_validation_test.rb +37 -0
  202. data/lib/davinci_crd_test_kit/server/v2.0.1/verify_response/form_completion_response_validation_test.rb +67 -0
  203. data/lib/davinci_crd_test_kit/server/v2.0.1/verify_response/instructions_card_received_test.rb +30 -0
  204. data/lib/davinci_crd_test_kit/server/v2.0.1/verify_response/launch_smart_app_card_validation_test.rb +39 -0
  205. data/lib/davinci_crd_test_kit/server/v2.0.1/verify_response/propose_alternate_request_card_validation_test.rb +46 -0
  206. data/lib/davinci_crd_test_kit/server/v2.0.1/verify_response/service_response_validation_test.rb +83 -0
  207. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/Appointment_withorder.yml +5 -0
  208. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/Appointment_withoutorder.yml +5 -0
  209. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/CommunicationRequest.yml +5 -0
  210. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/Coverage.yml +5 -0
  211. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/Device.yml +5 -0
  212. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/DeviceRequest.yml +5 -0
  213. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/Encounter.yml +5 -0
  214. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/Location.yml +5 -0
  215. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/MedicationRequest.yml +5 -0
  216. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/NutritionOrder.yml +5 -0
  217. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/Organization.yml +5 -0
  218. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/Patient.yml +5 -0
  219. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/PractitionerRole.yml +5 -0
  220. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/ServiceRequest.yml +5 -0
  221. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_metadata/VisionPrescription.yml +5 -0
  222. data/lib/davinci_crd_test_kit/server/v2.2.1/crd_server_suite.rb +115 -0
  223. data/lib/davinci_crd_test_kit/server/v2.2.1/discovery/discovery_configuration_test.rb +159 -0
  224. data/lib/davinci_crd_test_kit/server/v2.2.1/discovery/discovery_endpoint_test.rb +90 -0
  225. data/lib/davinci_crd_test_kit/server/v2.2.1/discovery/discovery_prefetch_support_test.rb +43 -0
  226. data/lib/davinci_crd_test_kit/server/v2.2.1/discovery/discovery_services_validation_test.rb +121 -0
  227. data/lib/davinci_crd_test_kit/server/v2.2.1/interaction/server_invoke_hook_test.rb +17 -0
  228. data/lib/davinci_crd_test_kit/server/v2.2.1/must_support/coverage_information_must_support_test.rb +71 -0
  229. data/lib/davinci_crd_test_kit/server/v2.2.1/must_support/coverage_information_system_action_across_hooks_validation_test.rb +36 -0
  230. data/lib/davinci_crd_test_kit/server/v2.2.1/must_support/supported_us_core_versions_test.rb +118 -0
  231. data/lib/davinci_crd_test_kit/server/v2.2.1/server_appointment_book_group.rb +213 -0
  232. data/lib/davinci_crd_test_kit/server/v2.2.1/server_demonstrate_hook_response_group.rb +93 -0
  233. data/lib/davinci_crd_test_kit/server/v2.2.1/server_discovery_group.rb +69 -0
  234. data/lib/davinci_crd_test_kit/server/v2.2.1/server_encounter_discharge_group.rb +194 -0
  235. data/lib/davinci_crd_test_kit/server/v2.2.1/server_encounter_start_group.rb +194 -0
  236. data/lib/davinci_crd_test_kit/server/v2.2.1/server_hooks_group.rb +73 -0
  237. data/lib/davinci_crd_test_kit/server/v2.2.1/server_order_dispatch_group.rb +214 -0
  238. data/lib/davinci_crd_test_kit/server/v2.2.1/server_order_select_group.rb +219 -0
  239. data/lib/davinci_crd_test_kit/server/v2.2.1/server_order_sign_group.rb +241 -0
  240. data/lib/davinci_crd_test_kit/server/v2.2.1/server_required_card_response_validation_group.rb +30 -0
  241. data/lib/davinci_crd_test_kit/server/v2.2.1/server_urls.rb +13 -0
  242. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_context_validation_test.rb +30 -0
  243. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_no_custom_extensions_test.rb +120 -0
  244. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_optional_fields_validation_test.rb +39 -0
  245. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_request/service_request_required_fields_validation_test.rb +40 -0
  246. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/additional_orders_validation_test.rb +66 -0
  247. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/all_responses_include_coverage_information_test.rb +123 -0
  248. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/card_optional_fields_validation_test.rb +57 -0
  249. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_info_configuration_test.rb +83 -0
  250. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_information_system_action_received_test.rb +65 -0
  251. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/coverage_information_system_action_validation_test.rb +184 -0
  252. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/create_or_update_coverage_info_response_validation_test.rb +75 -0
  253. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/external_reference_card_validation_test.rb +47 -0
  254. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/form_completion_response_validation_test.rb +91 -0
  255. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/hook_request_resource_resolution.rb +137 -0
  256. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/instructions_card_received_test.rb +32 -0
  257. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/launch_smart_app_card_validation_test.rb +49 -0
  258. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/order_dispatch_coverage_information_test.rb +38 -0
  259. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/propose_alternate_request_card_validation_test.rb +54 -0
  260. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/service_response_validation_test.rb +97 -0
  261. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/unknown_cds_hooks_elements_test.rb +78 -0
  262. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/unknown_configuration_test.rb +78 -0
  263. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/unknown_context_test.rb +78 -0
  264. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/verify_response_without_billing_options_test.rb +43 -0
  265. data/lib/davinci_crd_test_kit/server/v2.2.1/verify_response/verify_response_without_configuration_test.rb +44 -0
  266. data/lib/davinci_crd_test_kit/version.rb +2 -2
  267. data/lib/davinci_crd_test_kit.rb +4 -2
  268. metadata +308 -101
  269. data/lib/davinci_crd_test_kit/client_fhir_api_group.rb +0 -785
  270. data/lib/davinci_crd_test_kit/client_hooks_group.rb +0 -75
  271. data/lib/davinci_crd_test_kit/client_tests/appointment_book_receive_request_test.rb +0 -93
  272. data/lib/davinci_crd_test_kit/client_tests/client_appointment_book_group.rb +0 -75
  273. data/lib/davinci_crd_test_kit/client_tests/client_display_cards_attest.rb +0 -48
  274. data/lib/davinci_crd_test_kit/client_tests/client_encounter_discharge_group.rb +0 -73
  275. data/lib/davinci_crd_test_kit/client_tests/client_encounter_start_group.rb +0 -73
  276. data/lib/davinci_crd_test_kit/client_tests/client_fhir_api_create_test.rb +0 -41
  277. data/lib/davinci_crd_test_kit/client_tests/client_fhir_api_read_test.rb +0 -39
  278. data/lib/davinci_crd_test_kit/client_tests/client_fhir_api_search_test.rb +0 -232
  279. data/lib/davinci_crd_test_kit/client_tests/client_fhir_api_update_test.rb +0 -41
  280. data/lib/davinci_crd_test_kit/client_tests/client_fhir_api_validation_test.rb +0 -60
  281. data/lib/davinci_crd_test_kit/client_tests/client_order_dispatch_group.rb +0 -79
  282. data/lib/davinci_crd_test_kit/client_tests/client_order_select_group.rb +0 -82
  283. data/lib/davinci_crd_test_kit/client_tests/client_order_sign_group.rb +0 -81
  284. data/lib/davinci_crd_test_kit/client_tests/client_registration_verification_test.rb +0 -88
  285. data/lib/davinci_crd_test_kit/client_tests/decode_auth_token_test.rb +0 -60
  286. data/lib/davinci_crd_test_kit/client_tests/encounter_discharge_receive_request_test.rb +0 -90
  287. data/lib/davinci_crd_test_kit/client_tests/encounter_start_receive_request_test.rb +0 -90
  288. data/lib/davinci_crd_test_kit/client_tests/hook_request_optional_fields_test.rb +0 -57
  289. data/lib/davinci_crd_test_kit/client_tests/hook_request_required_fields_test.rb +0 -49
  290. data/lib/davinci_crd_test_kit/client_tests/hook_request_valid_context_test.rb +0 -68
  291. data/lib/davinci_crd_test_kit/client_tests/hook_request_valid_prefetch_test.rb +0 -69
  292. data/lib/davinci_crd_test_kit/client_tests/order_dispatch_receive_request_test.rb +0 -102
  293. data/lib/davinci_crd_test_kit/client_tests/order_select_receive_request_test.rb +0 -98
  294. data/lib/davinci_crd_test_kit/client_tests/order_sign_receive_request_test.rb +0 -101
  295. data/lib/davinci_crd_test_kit/client_tests/retrieve_jwks_test.rb +0 -105
  296. data/lib/davinci_crd_test_kit/client_tests/submitted_response_validation.rb +0 -44
  297. data/lib/davinci_crd_test_kit/client_tests/token_header_test.rb +0 -65
  298. data/lib/davinci_crd_test_kit/client_tests/token_payload_test.rb +0 -78
  299. data/lib/davinci_crd_test_kit/crd_client_suite.rb +0 -185
  300. data/lib/davinci_crd_test_kit/crd_options.rb +0 -9
  301. data/lib/davinci_crd_test_kit/crd_server_suite.rb +0 -125
  302. data/lib/davinci_crd_test_kit/igs/davinci-crd-2.0.1.tgz +0 -0
  303. data/lib/davinci_crd_test_kit/routes/cds_services_discovery_handler.rb +0 -18
  304. data/lib/davinci_crd_test_kit/routes/hook_request_endpoint.rb +0 -77
  305. data/lib/davinci_crd_test_kit/routes/jwk_set_endpoint_handler.rb +0 -15
  306. data/lib/davinci_crd_test_kit/server_appointment_book_group.rb +0 -176
  307. data/lib/davinci_crd_test_kit/server_demonstrate_hook_response_group.rb +0 -77
  308. data/lib/davinci_crd_test_kit/server_discovery_group.rb +0 -60
  309. data/lib/davinci_crd_test_kit/server_encounter_discharge_group.rb +0 -170
  310. data/lib/davinci_crd_test_kit/server_encounter_start_group.rb +0 -170
  311. data/lib/davinci_crd_test_kit/server_hooks_group.rb +0 -71
  312. data/lib/davinci_crd_test_kit/server_order_dispatch_group.rb +0 -176
  313. data/lib/davinci_crd_test_kit/server_order_select_group.rb +0 -195
  314. data/lib/davinci_crd_test_kit/server_order_sign_group.rb +0 -201
  315. data/lib/davinci_crd_test_kit/server_required_card_response_validation_group.rb +0 -26
  316. data/lib/davinci_crd_test_kit/server_tests/additional_orders_validation_test.rb +0 -68
  317. data/lib/davinci_crd_test_kit/server_tests/card_optional_fields_validation_test.rb +0 -47
  318. data/lib/davinci_crd_test_kit/server_tests/coverage_information_system_action_across_hooks_validation_test.rb +0 -32
  319. data/lib/davinci_crd_test_kit/server_tests/coverage_information_system_action_received_test.rb +0 -63
  320. data/lib/davinci_crd_test_kit/server_tests/coverage_information_system_action_validation_test.rb +0 -118
  321. data/lib/davinci_crd_test_kit/server_tests/create_or_update_coverage_info_response_validation_test.rb +0 -71
  322. data/lib/davinci_crd_test_kit/server_tests/discovery_endpoint_test.rb +0 -88
  323. data/lib/davinci_crd_test_kit/server_tests/discovery_services_validation_test.rb +0 -65
  324. data/lib/davinci_crd_test_kit/server_tests/external_reference_card_across_hooks_validation_test.rb +0 -28
  325. data/lib/davinci_crd_test_kit/server_tests/external_reference_card_validation_test.rb +0 -36
  326. data/lib/davinci_crd_test_kit/server_tests/form_completion_response_validation_test.rb +0 -78
  327. data/lib/davinci_crd_test_kit/server_tests/instructions_card_received_across_hooks_test.rb +0 -25
  328. data/lib/davinci_crd_test_kit/server_tests/instructions_card_received_test.rb +0 -26
  329. data/lib/davinci_crd_test_kit/server_tests/launch_smart_app_card_validation_test.rb +0 -38
  330. data/lib/davinci_crd_test_kit/server_tests/propose_alternate_request_card_validation_test.rb +0 -63
  331. data/lib/davinci_crd_test_kit/server_tests/service_call_test.rb +0 -101
  332. data/lib/davinci_crd_test_kit/server_tests/service_request_context_validation_test.rb +0 -28
  333. data/lib/davinci_crd_test_kit/server_tests/service_request_optional_fields_validation_test.rb +0 -37
  334. data/lib/davinci_crd_test_kit/server_tests/service_request_required_fields_validation_test.rb +0 -38
  335. data/lib/davinci_crd_test_kit/server_tests/service_response_validation_test.rb +0 -81
  336. data/lib/davinci_crd_test_kit/tags.rb +0 -10
  337. data/lib/davinci_crd_test_kit/urls.rb +0 -52
  338. /data/lib/davinci_crd_test_kit/{card_responses → client/endpoints/mocked_card_responses}/external_reference.json +0 -0
  339. /data/lib/davinci_crd_test_kit/{card_responses → client/endpoints/mocked_card_responses}/instructions.json +0 -0
  340. /data/lib/davinci_crd_test_kit/{crd_jwks.json → server/endpoints/crd_jwks.json} +0 -0
  341. /data/lib/davinci_crd_test_kit/{jwks.rb → server/endpoints/jwks.rb} +0 -0
@@ -1,5 +1,5 @@
1
1
  {
2
- "title": "Inferno CRD Server Suite",
2
+ "title": "Run Against the CRD Server Suite",
3
3
  "id": "inferno-crd-server-suite",
4
4
  "test_suite_id": "crd_client",
5
5
  "inputs": [
@@ -14,12 +14,69 @@
14
14
  "type": "textarea",
15
15
  "value": "<%= Inferno::Application['base_url'] %>/custom/crd_server/jwks.json"
16
16
  },
17
+ {
18
+ "name": "appointment_book_selected_response_types",
19
+ "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.",
20
+ "title": "Response types to return from appointment-book hook requests",
21
+ "type": "checkbox",
22
+ "value": "[\"external_reference\",\"instructions\",\"coverage_information\",\"request_form_completion\",\"create_update_coverage_info\",\"launch_smart_app\"]"
23
+ },
24
+ {
25
+ "name": "encounter_start_selected_response_types",
26
+ "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.",
27
+ "title": "Response types to return from encounter-start hook requests",
28
+ "type": "checkbox",
29
+ "value": "[\"external_reference\",\"instructions\",\"coverage_information\",\"request_form_completion\",\"create_update_coverage_info\",\"launch_smart_app\"]"
30
+ },
31
+ {
32
+ "name": "encounter_discharge_selected_response_types",
33
+ "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.",
34
+ "title": "Response types to return from encounter-discharge hook requests",
35
+ "type": "checkbox",
36
+ "value": "[\"external_reference\",\"instructions\",\"coverage_information\",\"request_form_completion\",\"create_update_coverage_info\",\"launch_smart_app\"]"
37
+ },
38
+ {
39
+ "name": "encounter_discharge_response_approach",
40
+ "description": "Determines how Inferno will generate response for encounter-discharge hook invocations.",
41
+ "title": "Response generation approach for encounter-discharge",
42
+ "type": "radio",
43
+ "value": "custom"
44
+ },
45
+ {
46
+ "name": "encounter_discharge_custom_response_template",
47
+ "description": "A JSON string may be provided here to replace the normal response from the hook request endpoint",
48
+ "optional": true,
49
+ "title": "Custom response for encounter-discharge hook requests",
50
+ "type": "textarea",
51
+ "value": "{\n \"cards\": [\n {\n \"summary\": \"Encounter Discharge Request Form Completion Card\",\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://hl7.org/fhir/us/davinci-crd/CodeSystem/temp\",\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 \"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://example.org/Questionnaire/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://example.org/system/code/sections\",\n \"code\": \"COMORBIDITY\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"1.1\",\n \"code\": [\n {\n \"system\": \"http://example.org/system/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://example.org/system/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://example.org/system/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://example.org/system/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://example.org/system/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://example.org/system/code/sections\",\n \"code\": \"HISTOPATHOLOGY\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"2.1\",\n \"code\": [\n {\n \"system\": \"http://example.org/system/code/sections\",\n \"code\": \"ABDOMINAL\"\n }\n ],\n \"type\": \"group\",\n \"item\": [\n {\n \"linkId\": \"2.1.2\",\n \"code\": [\n {\n \"system\": \"http://example.org/system/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=http://example.org/Questionnaire/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/pat015\"\n },\n \"authoredOn\": \"2026-03-09\",\n \"requester\": {\n \"reference\": \"http://example.org/fhir/Organization/payer\"\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://example.org/Questionnaire/XYZ\"\n },\n {\n \"type\": {\n \"text\": \"afterCompletion\",\n \"coding\": [\n {\n \"system\": \"http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp\",\n \"code\": \"after-completion-action\"\n }\n ]\n },\n \"valueCodeableConcept\": {\n \"coding\": [\n {\n \"system\": \"http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp\",\n \"code\": \"prior-auth-include\",\n \"display\": \"Include in prior authorization\"\n }\n ]\n }\n }\n ]\n }\n }\n ]\n }\n ],\n \"uuid\": \"b76ed092-4c6f-4e5f-b1b3-0c7ceb915308\"\n },\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://hl7.org/fhir/us/davinci-crd/CodeSystem/temp\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\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://hl7.org/fhir/us/davinci-crd/CodeSystem/temp\",\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 Create/Update Coverage Information Card\",\n \"detail\": \"This is a Create/Update Coverage Information Card which is sent when the CRD server is aware of additional coverage that is relevant to the current/proposed activity or has updates/corrections to make to the information held by the CRD Client\",\n \"indicator\": \"info\",\n \"source\": {\n \"label\": \"Inferno\",\n \"url\": \"https://inferno.healthit.gov/\",\n \"topic\": {\n \"system\": \"http://hl7.org/fhir/us/davinci-crd/CodeSystem/temp\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\n }\n },\n \"selectionBehavior\": \"any\",\n \"suggestions\": [\n {\n \"label\": \"Create/Update coverage information\",\n \"actions\": [\n {\n \"type\": \"update\",\n \"description\": \"Update current coverage record\",\n \"resource\": {\n \"id\": \"cov015\",\n \"meta\": {\n \"versionId\": \"1\",\n \"lastUpdated\": \"2025-08-14T00:52:07.566+00:00\"\n },\n \"status\": \"active\",\n \"subscriberId\": \"10A3D58WH456\",\n \"beneficiary\": {\n \"reference\": \"Patient/pat015\"\n },\n \"period\": {\n \"start\": \"2026-03-09\",\n \"end\": \"2026-04-09\"\n },\n \"payor\": [\n {\n \"reference\": \"Organization/org1234\"\n }\n ],\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 \"resourceType\": \"Coverage\"\n }\n }\n ]\n }\n ],\n \"uuid\": \"ac669633-6c4f-4599-b60b-e840ce0be625\"\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://hl7.org/fhir/us/davinci-crd/CodeSystem/temp\",\n \"code\": \"coverage-info\",\n \"display\": \"Coverage Information\"\n }\n },\n \"uuid\": \"1ab5f527-b173-4e5c-ad1f-56b4c4fe439a\"\n }\n ],\n \"systemActions\": [\n {\n \"type\": \"update\",\n \"description\": \"Added coverage information to Encounter resource.\",\n \"resource\": {\n \"id\": \"pat015-rad-encounter\",\n \"extension\": [\n {\n \"extension\": [\n {\n \"url\": \"coverage\",\n \"valueReference\": {\n \"reference\": \"Coverage/cov015\"\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\": \"info-needed\",\n \"valueCode\": \"performer\"\n },\n {\n \"url\": \"date\",\n \"valueDate\": \"2026-03-09\"\n },\n {\n \"url\": \"coverage-assertion-id\",\n \"valueString\": \"0730da9e5a13eededb08999dcc06b89f22adf797fa2457fc0d7c330599da1311\"\n }\n ],\n \"url\": \"http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information\"\n }\n ],\n \"status\": \"finished\",\n \"class\": {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\": \"HH\",\n \"display\": \"home health\"\n },\n \"type\": [\n {\n \"coding\": [\n {\n \"system\": \"http://snomed.info/sct\",\n \"code\": \"185345009\",\n \"display\": \"Encounter for symptom\"\n }\n ]\n }\n ],\n \"priority\": {\n \"coding\": [\n {\n \"system\": \"http://snomed.info/sct\",\n \"code\": \"709122007\",\n \"display\": \"As soon as possible (qualifier value)\"\n }\n ]\n },\n \"subject\": {\n \"reference\": \"Patient/pat015\",\n \"display\": \"Roosevelt Theodore\"\n },\n \"participant\": [\n {\n \"type\": [\n {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/v3-ParticipationType\",\n \"code\": \"PPRF\",\n \"display\": \"primary performer\"\n }\n ]\n }\n ],\n \"individual\": {\n \"reference\": \"Practitioner/pra1234\",\n \"display\": \"Dr. Jane Doe\"\n }\n }\n ],\n \"period\": {\n \"start\": \"2020-07-01T10:40:10+01:00\",\n \"end\": \"2020-07-01T12:40:10+01:00\"\n },\n \"length\": {\n \"value\": 56,\n \"unit\": \"minutes\",\n \"system\": \"http://unitsofmeasure.org\",\n \"code\": \"min\"\n },\n \"reasonCode\": [\n {\n \"coding\": [\n {\n \"system\": \"http://hl7.org/fhir/sid/icd-10-cm\",\n \"code\": \"J44.9\",\n \"display\": \"Chronic obstructive pulmonary disease, unspecified\"\n }\n ]\n }\n ],\n \"diagnosis\": [\n {\n \"condition\": {\n \"reference\": \"Condition/cond015a\",\n \"display\": \"The patient is hospitalized for stroke\"\n },\n \"use\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/diagnosis-role\",\n \"code\": \"AD\",\n \"display\": \"Admission diagnosis\"\n }\n ]\n },\n \"rank\": 2\n },\n {\n \"condition\": {\n \"reference\": \"Condition/cond015a\",\n \"display\": \"The patient is hospitalized for lung condition\"\n },\n \"use\": {\n \"coding\": [\n {\n \"system\": \"http://terminology.hl7.org/CodeSystem/diagnosis-role\",\n \"code\": \"CC\",\n \"display\": \"Chief complaint\"\n }\n ]\n },\n \"rank\": 1\n }\n ],\n \"location\": [\n {\n \"location\": {\n \"display\": \"observation2c\"\n }\n }\n ],\n \"resourceType\": \"Encounter\"\n }\n }\n ]\n}"
52
+ },
53
+ {
54
+ "name": "order_select_selected_response_types",
55
+ "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.",
56
+ "title": "Response types to return from order-select hook requests",
57
+ "type": "checkbox",
58
+ "value": "[\"external_reference\",\"instructions\",\"coverage_information\",\"request_form_completion\",\"create_update_coverage_info\",\"launch_smart_app\",\"propose_alternate_request\",\"companions_prerequisites\"]"
59
+ },
60
+ {
61
+ "name": "order_dispatch_selected_response_types",
62
+ "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.",
63
+ "title": "Response types to return from order-dispatch hook requests",
64
+ "type": "checkbox",
65
+ "value": "[\"external_reference\",\"instructions\",\"coverage_information\",\"request_form_completion\",\"create_update_coverage_info\",\"launch_smart_app\",\"propose_alternate_request\",\"companions_prerequisites\"]"
66
+ },
67
+ {
68
+ "name": "order_sign_selected_response_types",
69
+ "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.",
70
+ "title": "Response types to return from order-sign hook requests",
71
+ "type": "checkbox",
72
+ "value": "[\"external_reference\",\"instructions\",\"coverage_information\",\"request_form_completion\",\"create_update_coverage_info\",\"launch_smart_app\",\"propose_alternate_request\",\"companions_prerequisites\"]"
73
+ },
17
74
  {
18
75
  "name": "url",
19
76
  "description": "URL of the FHIR endpoint used by SMART applications",
20
77
  "title": "FHIR Endpoint",
21
78
  "type": "text",
22
- "value": "<%= ENV.fetch('INFERNO_REFERENCE_SERVER_URI', 'https://inferno-qa.healthit.gov') %>/reference-server/r4"
79
+ "value": "<%= ENV.fetch('INFERNO_REFERENCE_SERVER_URI', 'https://inferno.healthit.gov') %>/reference-server/r4"
23
80
  },
24
81
  {
25
82
  "name": "smart_auth_info",
@@ -0,0 +1,94 @@
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
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "title": "CRD Request Generator RI",
3
+ "id": "ri_crd_request_generator_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": "<%= ENV.fetch('RI_CRD_REQUEST_GENERATOR_URI', 'https://crd-test.davinci.hl7.org') %>/test-ehr/r4"
11
+ }
12
+ ]
13
+ }