davinci_dtr_test_kit 0.14.2 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/full_ehr_postman_dinner_order_example_postman.json +19 -0
  3. data/config/presets/full_ehr_postman_respiratory_device_example.json +15 -0
  4. data/config/presets/light_ehr_ref_server_local.json +105 -0
  5. data/config/presets/light_ehr_ref_server_prod.json +85 -0
  6. data/config/presets/payer_server_adaptive_client_flow.json +37 -0
  7. data/config/presets/payer_server_adaptive_manual_flow.json +44 -0
  8. data/config/presets/payer_server_run_against_smart_app_tests.json +35 -0
  9. data/config/presets/smart_app_postman_dinner_order_example.json +44 -0
  10. data/config/presets/smart_app_postman_respiratory_device_example.json +43 -0
  11. data/lib/davinci_dtr_test_kit/auth_groups/token_validation_test.rb +1 -1
  12. data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_custom_questionnaire_expressions_test.rb +22 -0
  13. data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_custom_questionnaire_extensions_test.rb +19 -0
  14. data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_custom_questionnaire_libraries_test.rb +21 -0
  15. data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_custom_questionnaire_package_validation_test.rb +39 -0
  16. data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_full_ehr_custom_static_workflow_group.rb +122 -0
  17. data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_smart_app_custom_static_workflow_group.rb +91 -0
  18. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_adaptive_questionnaire_completion_group.rb → dtr_adaptive_completion_group.rb} +4 -4
  19. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_adaptive_questionnaire_followup_questions_group.rb → dtr_adaptive_followup_questions_group.rb} +4 -4
  20. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_adaptive_questionnaire_next_question_request_test.rb → dtr_adaptive_next_question_request_test.rb} +3 -2
  21. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_adaptive_questionnaire_next_question_request_validation_test.rb → dtr_adaptive_next_question_request_validation_test.rb} +3 -2
  22. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_adaptive_questionnaire_next_question_retrieval_group.rb → dtr_adaptive_next_question_retrieval_group.rb} +8 -8
  23. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_adaptive_questionnaire_response_validation_test.rb → dtr_adaptive_response_validation_test.rb} +6 -4
  24. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_full_ehr_adaptive_dinner_questionnaire_workflow_group.rb → dtr_full_ehr_adaptive_dinner_workflow_group.rb} +14 -12
  25. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_full_ehr_adaptive_questionnaire_initial_retrieval_group.rb → dtr_full_ehr_adaptive_initial_retrieval_group.rb} +10 -10
  26. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_full_ehr_adaptive_questionnaire_request_test.rb → dtr_full_ehr_adaptive_request_test.rb} +4 -2
  27. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_smart_app_questionnaire_workflow_group.rb → dtr_smart_app_adaptive_dinner_workflow_group.rb} +25 -19
  28. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_smart_app_adaptive_initial_retrieval_group.rb +24 -0
  29. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_smart_app_adaptive_questionnaire_request_test.rb → dtr_smart_app_adaptive_request_test.rb} +2 -2
  30. data/lib/davinci_dtr_test_kit/client_groups/dinner_static/{dtr_full_ehr_questionnaire_workflow_group.rb → dtr_full_ehr_static_dinner_workflow_group.rb} +15 -14
  31. data/lib/davinci_dtr_test_kit/client_groups/dinner_static/{dtr_smart_app_questionnaire_workflow_group.rb → dtr_smart_app_static_dinner_workflow_group.rb} +18 -13
  32. data/lib/davinci_dtr_test_kit/client_groups/{full_ehr/dtr_full_ehr_rendering_enabled_questions_attestation_test.rb → dinner_static/dtr_static_dinner_enabled_questions_attestation_test.rb} +2 -2
  33. data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_launch_attestation_test.rb +8 -3
  34. data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_prepopulation_attestation_test.rb +3 -1
  35. data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_prepopulation_override_attestation_test.rb +2 -1
  36. data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_questionnaire_package_request_test.rb +2 -1
  37. data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_questionnaire_response_conformance_test.rb +6 -1
  38. data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_questionnaire_response_correctness_test.rb +11 -22
  39. data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_saving_questionnaire_response_group.rb +4 -4
  40. data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_store_attestation_test.rb +2 -1
  41. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_endpoints_group.rb +22 -0
  42. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_payers_accept_header_test.rb +26 -0
  43. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_payers_config_test.rb +34 -0
  44. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_payers_endpoint_test.rb +44 -0
  45. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_payers_use_test.rb +32 -0
  46. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_payers_user_response_test.rb +70 -0
  47. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_smart_ehr_launch.rb +18 -0
  48. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/fhir_context_coverage_test.rb +42 -0
  49. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/fhir_context_references_test.rb +59 -0
  50. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/fhir_launch_context_test.rb +23 -0
  51. data/lib/davinci_dtr_test_kit/client_groups/{resp_assist_device/dtr_questionnaire_package_group.rb → respiratory/dtr_respiratory_questionnaire_package_group.rb} +5 -5
  52. data/lib/davinci_dtr_test_kit/client_groups/{resp_assist_device/dtr_resp_questionnaire_package_request_test.rb → respiratory/dtr_respiratory_questionnaire_package_request_test.rb} +2 -2
  53. data/lib/davinci_dtr_test_kit/client_groups/{resp_assist_device/dtr_questionnaire_response_group.rb → respiratory/dtr_respiratory_questionnaire_response_group.rb} +7 -7
  54. data/lib/davinci_dtr_test_kit/client_groups/{resp_assist_device/dtr_questionnaire_response_save_test.rb → respiratory/dtr_respiratory_questionnaire_response_save_test.rb} +2 -2
  55. data/lib/davinci_dtr_test_kit/client_groups/{resp_assist_device/dtr_questionnaire_rendering_attestation_test.rb → respiratory/dtr_respiratory_rendering_attestation_test.rb} +2 -2
  56. data/lib/davinci_dtr_test_kit/client_groups/respiratory/dtr_respiratory_rendering_group.rb +14 -0
  57. data/lib/davinci_dtr_test_kit/client_groups/{resp_assist_device/dtr_smart_app_questionnaire_workflow_group.rb → respiratory/dtr_smart_app_respiratory_workflow_group.rb} +8 -8
  58. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_prepopulation_attestation_test.rb +33 -0
  59. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_prepopulation_override_attestation_test.rb +36 -0
  60. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_questionnaire_package_request_validation_test.rb +3 -1
  61. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_questionnaire_response_basic_conformance_test.rb +8 -4
  62. data/lib/davinci_dtr_test_kit/client_groups/shared/{dtr_questionnaire_response_pre_population_test.rb → dtr_questionnaire_response_prepopulation_test.rb} +5 -2
  63. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_rendering_attestation_test.rb +32 -0
  64. data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_prepopulation_attestation_test.rb +3 -1
  65. data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_prepopulation_override_attestation_test.rb +1 -1
  66. data/lib/davinci_dtr_test_kit/client_groups/{dinner_static/dtr_smart_app_dinner_questionnaire_package_request_test.rb → smart_app/dtr_smart_app_questionnaire_package_request_test.rb} +6 -6
  67. data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_questionnaire_response_correctness_test.rb +30 -0
  68. data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_questionnaire_response_save_test.rb +2 -2
  69. data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_saving_questionnaire_response_group.rb +3 -7
  70. data/lib/davinci_dtr_test_kit/cql_test.rb +58 -0
  71. data/lib/davinci_dtr_test_kit/docs/dtr_light_ehr_suite_description_v201.md +9 -6
  72. data/lib/davinci_dtr_test_kit/dtr_full_ehr_suite.rb +19 -6
  73. data/lib/davinci_dtr_test_kit/dtr_light_ehr_suite.rb +60 -40
  74. data/lib/davinci_dtr_test_kit/dtr_payer_server_suite.rb +0 -2
  75. data/lib/davinci_dtr_test_kit/dtr_questionnaire_response_validation.rb +50 -4
  76. data/lib/davinci_dtr_test_kit/dtr_smart_app_suite.rb +9 -9
  77. data/lib/davinci_dtr_test_kit/endpoints/mock_authorization.rb +10 -2
  78. data/lib/davinci_dtr_test_kit/endpoints/mock_ehr.rb +17 -1
  79. data/lib/davinci_dtr_test_kit/endpoints/mock_payer/light_ehr_supported_payer_endpoint.rb +44 -0
  80. data/lib/davinci_dtr_test_kit/endpoints/mock_payer/questionnaire_package_endpoint.rb +7 -1
  81. data/lib/davinci_dtr_test_kit/fixtures.rb +6 -6
  82. data/lib/davinci_dtr_test_kit/igs/davinci_dtr_2.0.1.tgz +0 -0
  83. data/lib/davinci_dtr_test_kit/metadata.rb +104 -0
  84. data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_form_libraries_test.rb +4 -1
  85. data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_form_questionnaire_expressions_test.rb +2 -1
  86. data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_form_questionnaire_extensions_test.rb +4 -1
  87. data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_next_questionnaire_expressions_test.rb +1 -0
  88. data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_next_questionnaire_extensions_test.rb +4 -1
  89. data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_adaptive_request_test.rb +2 -0
  90. data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_adaptive_response_bundles_validation_test.rb +3 -2
  91. data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_adaptive_response_search_validation_test.rb +8 -3
  92. data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_adaptive_response_validation_test.rb +6 -15
  93. data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_next_response_complete_test.rb +1 -0
  94. data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_static_group.rb +1 -1
  95. data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_libraries_test.rb +4 -1
  96. data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_questionnaire_expressions_test.rb +2 -1
  97. data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_questionnaire_extensions_test.rb +4 -1
  98. data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_request_test.rb +3 -1
  99. data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_response_validation_test.rb +6 -15
  100. data/lib/davinci_dtr_test_kit/profiles/communication_request/communication_request_must_support_test.rb +46 -0
  101. data/lib/davinci_dtr_test_kit/profiles/communication_request/communication_request_read.rb +6 -3
  102. data/lib/davinci_dtr_test_kit/profiles/communication_request/communication_request_validation.rb +9 -8
  103. data/lib/davinci_dtr_test_kit/profiles/communication_request/metadata.yml +135 -0
  104. data/lib/davinci_dtr_test_kit/profiles/communication_request_group.rb +9 -0
  105. data/lib/davinci_dtr_test_kit/profiles/coverage/coverage_must_support_test.rb +54 -0
  106. data/lib/davinci_dtr_test_kit/profiles/coverage/coverage_read.rb +5 -3
  107. data/lib/davinci_dtr_test_kit/profiles/coverage/coverage_validation.rb +9 -8
  108. data/lib/davinci_dtr_test_kit/profiles/coverage/metadata.yml +133 -0
  109. data/lib/davinci_dtr_test_kit/profiles/coverage_group.rb +8 -0
  110. data/lib/davinci_dtr_test_kit/profiles/device_request/device_request_must_support_test.rb +45 -0
  111. data/lib/davinci_dtr_test_kit/profiles/device_request/device_request_read.rb +6 -3
  112. data/lib/davinci_dtr_test_kit/profiles/device_request/device_request_validation.rb +9 -8
  113. data/lib/davinci_dtr_test_kit/profiles/device_request/metadata.yml +130 -0
  114. data/lib/davinci_dtr_test_kit/profiles/device_request_group.rb +9 -0
  115. data/lib/davinci_dtr_test_kit/profiles/encounter/encounter_must_support_test.rb +58 -0
  116. data/lib/davinci_dtr_test_kit/profiles/encounter/encounter_read.rb +6 -3
  117. data/lib/davinci_dtr_test_kit/profiles/encounter/encounter_validation.rb +9 -8
  118. data/lib/davinci_dtr_test_kit/profiles/encounter/metadata.yml +169 -0
  119. data/lib/davinci_dtr_test_kit/profiles/encounter_group.rb +9 -0
  120. data/lib/davinci_dtr_test_kit/profiles/medication_request/medication_request_must_support_test.rb +50 -0
  121. data/lib/davinci_dtr_test_kit/profiles/medication_request/medication_request_read.rb +6 -3
  122. data/lib/davinci_dtr_test_kit/profiles/medication_request/medication_request_validation.rb +9 -8
  123. data/lib/davinci_dtr_test_kit/profiles/medication_request/metadata.yml +159 -0
  124. data/lib/davinci_dtr_test_kit/profiles/medication_request_group.rb +9 -0
  125. data/lib/davinci_dtr_test_kit/profiles/nutrition_order/metadata.yml +94 -0
  126. data/lib/davinci_dtr_test_kit/profiles/nutrition_order/nutrition_order_must_support_test.rb +45 -0
  127. data/lib/davinci_dtr_test_kit/profiles/nutrition_order/nutrition_order_read.rb +6 -3
  128. data/lib/davinci_dtr_test_kit/profiles/nutrition_order/nutrition_order_validation.rb +9 -8
  129. data/lib/davinci_dtr_test_kit/profiles/nutrition_order_group.rb +9 -0
  130. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_context_search.rb +3 -1
  131. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_create.rb +1 -0
  132. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_must_support_test.rb +54 -0
  133. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_patient_search.rb +3 -1
  134. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_read.rb +2 -1
  135. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_update.rb +1 -0
  136. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_validation.rb +1 -1
  137. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response_group.rb +11 -1
  138. data/lib/davinci_dtr_test_kit/profiles/service_request/metadata.yml +140 -0
  139. data/lib/davinci_dtr_test_kit/profiles/service_request/service_request_must_support_test.rb +47 -0
  140. data/lib/davinci_dtr_test_kit/profiles/service_request/service_request_read.rb +6 -3
  141. data/lib/davinci_dtr_test_kit/profiles/service_request/service_request_validation.rb +9 -8
  142. data/lib/davinci_dtr_test_kit/profiles/service_request_group.rb +9 -0
  143. data/lib/davinci_dtr_test_kit/profiles/task/metadata.yml +165 -0
  144. data/lib/davinci_dtr_test_kit/profiles/task/task_create.rb +1 -0
  145. data/lib/davinci_dtr_test_kit/profiles/task/task_must_support_test.rb +46 -0
  146. data/lib/davinci_dtr_test_kit/profiles/task/task_read.rb +6 -3
  147. data/lib/davinci_dtr_test_kit/profiles/task/task_update.rb +1 -0
  148. data/lib/davinci_dtr_test_kit/profiles/task/task_validation.rb +9 -8
  149. data/lib/davinci_dtr_test_kit/profiles/task_group.rb +11 -1
  150. data/lib/davinci_dtr_test_kit/profiles/vision_prescription/metadata.yml +107 -0
  151. data/lib/davinci_dtr_test_kit/profiles/vision_prescription/vision_prescription_must_support_test.rb +54 -0
  152. data/lib/davinci_dtr_test_kit/profiles/vision_prescription/vision_prescription_read.rb +6 -3
  153. data/lib/davinci_dtr_test_kit/profiles/vision_prescription/vision_prescription_validation.rb +9 -8
  154. data/lib/davinci_dtr_test_kit/profiles/vision_prescription_group.rb +9 -0
  155. data/lib/davinci_dtr_test_kit/read_test.rb +5 -0
  156. data/lib/davinci_dtr_test_kit/requirements/davinci-dtr-test-kit_out_of_scope_requirements.csv +13 -0
  157. data/lib/davinci_dtr_test_kit/requirements/davinci-dtr-test-kit_requirements.csv +374 -0
  158. data/lib/davinci_dtr_test_kit/requirements/generated/davinci-dtr-test-kit_requirements_coverage.csv +372 -0
  159. data/lib/davinci_dtr_test_kit/tags.rb +1 -0
  160. data/lib/davinci_dtr_test_kit/urls.rb +6 -0
  161. data/lib/davinci_dtr_test_kit/version.rb +2 -1
  162. data/lib/davinci_dtr_test_kit.rb +2 -0
  163. data/lib/inferno_requirements_tools/ext/inferno_core/runnable.rb +22 -0
  164. data/lib/inferno_requirements_tools/rake/rakefile_template +31 -0
  165. data/lib/inferno_requirements_tools/tasks/requirements_coverage.rb +284 -0
  166. data/lib/requirements_config.yaml +25 -0
  167. metadata +95 -37
  168. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_smart_app_adaptive_questionnaire_initial_retrieval_group.rb +0 -24
  169. data/lib/davinci_dtr_test_kit/client_groups/resp_assist_device/dtr_questionnaire_rendering_group.rb +0 -14
  170. data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_rendering_enabled_questions_attestation_test.rb +0 -30
@@ -1,5 +1,5 @@
1
1
  module DaVinciDTRTestKit
2
- class TokentRequestTest < Inferno::Test
2
+ class TokenValidationTest < Inferno::Test
3
3
  id :token_validation
4
4
  title 'Client token request is valid'
5
5
  description 'Inferno will verify that an access token was successfully returned to the client under test.'
@@ -0,0 +1,22 @@
1
+ require_relative '../../cql_test'
2
+ module DaVinciDTRTestKit
3
+ class DTRCustomQuestionnaireExpressionsTest < Inferno::Test
4
+ include DaVinciDTRTestKit::CQLTest
5
+
6
+ id :dtr_custom_questionnaire_expressions
7
+ title %(
8
+ [USER INPUT VERIFICATION] Custom static questionnaire(s) contain items with expressions
9
+ necessary for pre-population
10
+ )
11
+ description %(
12
+ Inferno checks that the custom response has appropriate expressions and that expressions are
13
+ written in cql.
14
+ )
15
+
16
+ run do
17
+ skip_if scratch[:static_questionnaire_bundles].blank?, 'No questionnaire bundle found in the custom response'
18
+ questionnaires = extract_questionnaires_from_bundles(scratch[:static_questionnaire_bundles])
19
+ verify_questionnaire_items(questionnaires, final_cql_test: true)
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,19 @@
1
+ require_relative '../../cql_test'
2
+ module DaVinciDTRTestKit
3
+ class DTRCustomQuestionnaireExtensionsTest < Inferno::Test
4
+ include DaVinciDTRTestKit::CQLTest
5
+
6
+ id :dtr_custom_questionnaire_extensions
7
+ title '[USER INPUT VERIFICATION] Custom static questionnaire(s) contain extensions necessary for pre-population'
8
+ description %(
9
+ Inferno checks that the custom response has appropriate extensions and references to libraries within
10
+ those extensions.
11
+ )
12
+
13
+ run do
14
+ skip_if scratch[:static_questionnaire_bundles].blank?, 'No questionnaire bundle found in the custom response'
15
+ questionnaires = extract_questionnaires_from_bundles(scratch[:static_questionnaire_bundles])
16
+ verify_questionnaire_extensions(questionnaires)
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,21 @@
1
+ require_relative '../../cql_test'
2
+ module DaVinciDTRTestKit
3
+ class DTRCustomQuestionnaireLibrariesTest < Inferno::Test
4
+ include DaVinciDTRTestKit::CQLTest
5
+
6
+ id :dtr_custom_questionnaire_libraries
7
+ title %(
8
+ [USER INPUT VERIFICATION] Custom Questionnaire Package response parameters contain libraries
9
+ necessary for pre-population
10
+ )
11
+ description %(
12
+ Inferno check that the custom response contains no duplicate library names
13
+ and that libraries contain cql and elm data.
14
+ )
15
+
16
+ run do
17
+ skip_if scratch[:static_questionnaire_bundles].blank?, 'No questionnaire bundle found in the custom response'
18
+ check_libraries(scratch[:static_questionnaire_bundles])
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,39 @@
1
+ require_relative '../../cql_test'
2
+ module DaVinciDTRTestKit
3
+ class DTRCustomQuestionnairePackageValidationTest < Inferno::Test
4
+ include DaVinciDTRTestKit::CQLTest
5
+
6
+ id :dtr_custom_qp_validation
7
+ title '[USER INPUT VERIFICATION] Custom Questionnaire Package response is valid'
8
+ description %(
9
+ Inferno will validate that the user provided response to the questionnaire-package operation is conformant
10
+ to the
11
+ [Questionnaire Package operation definition](https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-questionnaire-package.html).
12
+ This includes verifying that the response conforms to the
13
+ [DTR Questionnaire Package Bundle profile](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-DTR-QPackageBundle.html)
14
+ and, in the event that the server includes that Bundle in a Parameters object, the
15
+ [DTR Questionnaire Package Output Parameters profile](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-qpackage-output-parameters.html).
16
+
17
+ It verifies the presence of mandatory elements and that elements with required bindings contain appropriate
18
+ values. CodeableConcept element bindings will fail if none of their codings have a code/system belonging
19
+ to the bound ValueSet. Quantity, Coding, and code element bindings will fail if their code/system are not found in
20
+ the valueset.
21
+ )
22
+
23
+ input :custom_questionnaire_package_response,
24
+ title: 'Custom Questionnaire Package Response JSON',
25
+ description: %(
26
+ A JSON PackageBundle may be provided here to replace Inferno's response to the
27
+ $questionnaire-package request.
28
+ ),
29
+ type: 'textarea'
30
+
31
+ run do
32
+ assert_valid_json custom_questionnaire_package_response, 'Custom questionnaire package response is not valid JSON'
33
+
34
+ resource = FHIR.from_contents(custom_questionnaire_package_response)
35
+
36
+ perform_questionnaire_package_validation(resource, 'static')
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,122 @@
1
+ require_relative 'dtr_custom_questionnaire_package_validation_test'
2
+ require_relative 'dtr_custom_questionnaire_libraries_test'
3
+ require_relative 'dtr_custom_questionnaire_extensions_test'
4
+ require_relative 'dtr_custom_questionnaire_expressions_test'
5
+ require_relative '../full_ehr/dtr_full_ehr_launch_attestation_test'
6
+ require_relative '../full_ehr/dtr_full_ehr_questionnaire_package_request_test'
7
+ require_relative '../shared/dtr_questionnaire_package_request_validation_test'
8
+ require_relative '../shared/dtr_prepopulation_attestation_test'
9
+ require_relative '../shared/dtr_rendering_attestation_test'
10
+ require_relative '../shared/dtr_prepopulation_override_attestation_test'
11
+ require_relative '../full_ehr/dtr_full_ehr_saving_questionnaire_response_group'
12
+
13
+ module DaVinciDTRTestKit
14
+ class DTRFullEHRCustomStaticWorkflowGroup < Inferno::TestGroup
15
+ id :dtr_full_ehr_custom_static_workflow
16
+ title 'Static Questionnaire Workflow'
17
+ description %(
18
+ This group validates that a DTR Full EHR client can perform a full DTR Static Questionnaire workflow.
19
+ Testers will provide a custom Questionnaire package of their choice for the test and
20
+ will request and complete the Questionnaire in the context of a patient with data
21
+ for prepopulation. As a part of this workflow, the Full EHR system must demonstrate its ability to:
22
+
23
+ 1. Request the Questionnaire using the $questionnaire-package operation,
24
+ 2. Support the tester in completing the questionnaire, including
25
+ - Rendering the questionnaire.
26
+ - Pre-populating at least two answers into the questionnaire.
27
+ - Allowing the tester to manually enter responses, including overriding pre-populated answers.
28
+ 3. Complete and store the QuestionnaireResponse for future use.
29
+ )
30
+ verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@35', 'hl7.fhir.us.davinci-dtr_2.0.1@208'
31
+
32
+ group do
33
+ id :dtr_full_ehr_custom_static_retrieval
34
+ title 'Retrieving the Static Questionnaire'
35
+ description %(
36
+ During this test, DTR will be launch in the Full EHR to start the demonstration of
37
+ static Questionnaire capabilities. This launch must occur within the context of a patient
38
+ that will demonstrate the Questionnaire's pre-population logic. The patient's data needs
39
+ to support pre-population of at least two answers to allow for demonstration of both
40
+ pre-populated and manually-overridden answers in the resulting QuestionnaireResponse.
41
+
42
+ After DTR launch, Inferno will wait for the client system to request a questionnaire using the
43
+ $questionnaire-package operation and will return a static questionnaire for the
44
+ tester to complete. Inferno will then validate the the conformance of the request
45
+ and of the provided Questionnaire that Inferno responded with.
46
+ )
47
+ run_as_group
48
+
49
+ input_order :access_token, :custom_questionnaire_package_response
50
+
51
+ # Test 0: attest to launch
52
+ test from: :dtr_full_ehr_launch_attest,
53
+ config: { options: { attestation_message:
54
+ 'I attest that DTR has been launched in the context of a patient with data that will exercise pre-population logic in the provided static questionnaire resulting in at least 2 pre-populated answers.' } }, # rubocop:disable Layout/LineLength
55
+ title: 'Launch DTR (Attestation)'
56
+ # Test 1: wait for the $questionnaire-package request
57
+ test from: :dtr_full_ehr_qp_request do
58
+ input :custom_questionnaire_package_response
59
+ end
60
+ # Test 2: validate the $questionnaire-package body
61
+ test from: :dtr_qp_request_validation
62
+ # Test 3: validate the user provided $questionnaire-package response
63
+ test from: :dtr_custom_qp_validation
64
+ # Test 4: verify the custom response has the necessary libraries for pre-population
65
+ test from: :dtr_custom_questionnaire_libraries
66
+ # Test 5: verify the custom response has the necessary extensions for pre-population
67
+ test from: :dtr_custom_questionnaire_extensions
68
+ # Test 6: verify custom response has necessary expressions for pre-population
69
+ test from: :dtr_custom_questionnaire_expressions
70
+ end
71
+
72
+ group do
73
+ id :dtr_full_ehr_custom_static_rendering
74
+ title 'Filling Out the Static Questionnaire'
75
+ description %(
76
+ The tester will interact with the questionnaire within their client system
77
+ such that pre-population steps are taken, the questionnaire is rendered, and
78
+ they are able to fill it out. The tester will attest that questionnaire pre-population
79
+ and rendering directives were followed.
80
+ )
81
+ run_as_group
82
+
83
+ # Test 1: attest to proper rendering of the Questionnaire
84
+ test from: :dtr_rendering_attest
85
+ # Test 2: attest to the pre-population
86
+ test from: :dtr_prepopulation_attest
87
+ # Test 2: attest to the ability to manually complete questions
88
+ test from: :dtr_prepopulation_override_attest
89
+ end
90
+
91
+ group from: :dtr_full_ehr_saving_qr do
92
+ input :custom_questionnaire_package_response,
93
+ title: 'Custom Questionnaire Package Response JSON',
94
+ description: %(
95
+ A JSON PackageBundle may be provided here to replace Inferno's response to the
96
+ $questionnaire-package request.
97
+ ),
98
+ type: 'textarea'
99
+
100
+ config(
101
+ inputs: {
102
+ questionnaire_response: {
103
+ description: "The QuestionnaireResponse as exported from the EHR after completion of the Questionnaire.
104
+ IMPORTANT: If you have not yet run the 'Filling Out the Static Questionnaire' group, leave this blank
105
+ until you have done so. Then, run just the 'Saving the QuestionnaireResponse' group and populate
106
+ this input."
107
+ }
108
+ }
109
+ )
110
+
111
+ children.last.description(
112
+ %(
113
+ Verify that the QuestionnaireResponse
114
+ - Is for the Questionnaire provided by the tester.
115
+ - Has source extensions demonstrating answers that are manually entered,
116
+ automatically pre-populated, and manually overridden.
117
+ - Contains answers for all required items.
118
+ )
119
+ )
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,91 @@
1
+ require_relative 'dtr_custom_questionnaire_package_validation_test'
2
+ require_relative 'dtr_custom_questionnaire_libraries_test'
3
+ require_relative 'dtr_custom_questionnaire_extensions_test'
4
+ require_relative 'dtr_custom_questionnaire_expressions_test'
5
+ require_relative '../smart_app/dtr_smart_app_questionnaire_package_request_test'
6
+ require_relative '../shared/dtr_questionnaire_package_request_validation_test'
7
+ require_relative '../shared/dtr_prepopulation_attestation_test'
8
+ require_relative '../shared/dtr_rendering_attestation_test'
9
+ require_relative '../shared/dtr_prepopulation_override_attestation_test'
10
+ require_relative '../smart_app/dtr_smart_app_saving_questionnaire_response_group'
11
+ require_relative '../smart_app/dtr_smart_app_questionnaire_response_correctness_test'
12
+
13
+ module DaVinciDTRTestKit
14
+ class DTRSmartAppCustomStaticWorkflowGroup < Inferno::TestGroup
15
+ id :dtr_smart_app_custom_static_workflow
16
+ title 'Static Questionnaire Workflow'
17
+ description %(
18
+ This group validates that a DTR SMART App client can perform a full DTR Static Questionnaire workflow.
19
+ Testers will provide a custom Questionnaire package of their choice for the test and
20
+ will request and complete the Questionnaire in the context of a patient with data
21
+ for prepopulation. As a part of this workflow, the DTR SMART App client must demonstrate its ability to:
22
+
23
+ 1. Request the Questionnaire using the $questionnaire-package operation,
24
+ 2. Support the tester in completing the questionnaire, including
25
+ - Fetching additional data needed for pre-population
26
+ - Rendering the questionnaire.
27
+ - Pre-populating at least two answers into the questionnaire.
28
+ - Allowing the tester to manually enter responses, including overriding pre-populated answers.
29
+ 3. Provide the completed QuestionnaireResponse with appropriate indicators for pre-populated
30
+ and manually-entered data.
31
+ )
32
+
33
+ group do
34
+ id :dtr_smart_app_custom_static_retrieval
35
+ title 'Retrieving the Static Questionnaire'
36
+ description %(
37
+ During this test, DTR will be launch in the SMART App client to start the demonstration of
38
+ static Questionnaire capabilities. This launch must occur within the context of a patient
39
+ that will demonstrate the Questionnaire's pre-population logic. The patient's data needs
40
+ to support pre-population of at least two answers to allow for demonstration of both
41
+ pre-populated and manually-overridden answers in the resulting QuestionnaireResponse.
42
+
43
+ After DTR launch, Inferno will wait for the client system to request a questionnaire using the
44
+ $questionnaire-package operation and will return a static questionnaire for the
45
+ tester to complete. Inferno will then validate the conformance of the request
46
+ and of the provided Questionnaire that Inferno responded with.
47
+ )
48
+ run_as_group
49
+
50
+ # Test 1: wait for the $questionnaire-package request
51
+ test from: :dtr_smart_app_qp_request do
52
+ input :custom_questionnaire_package_response
53
+ end
54
+ # Test 2: validate the $questionnaire-package body
55
+ test from: :dtr_qp_request_validation
56
+ # Test 3: validate the user provided $questionnaire-package response
57
+ test from: :dtr_custom_qp_validation
58
+ # Test 4: verify the custom response has the necessary libraries for pre-population
59
+ test from: :dtr_custom_questionnaire_libraries
60
+ # Test 5: verify the custom response has the necessaru extensions for pre-population
61
+ test from: :dtr_custom_questionnaire_extensions
62
+ # Test 6: verify custom response has necessary expressions for pre-population
63
+ test from: :dtr_custom_questionnaire_expressions
64
+ end
65
+
66
+ group do
67
+ id :dtr_smart_app_custom_static_rendering
68
+ title 'Filling Out the Static Questionnaire'
69
+ description %(
70
+ The tester will interact with the questionnaire within their client system
71
+ such that pre-population steps are taken, the qustionnaire is rendered, and
72
+ they are able to fill it out. The tester will attest that questionnaire pre-population
73
+ and rendering directives were followed.
74
+ )
75
+ run_as_group
76
+
77
+ # Test 1: attest to proper rendering of the Questionnaire
78
+ test from: :dtr_rendering_attest
79
+ # Test 1: attest to the pre-population
80
+ test from: :dtr_prepopulation_attest
81
+ # Test 2: attest to the ability to manually complete questions
82
+ test from: :dtr_prepopulation_override_attest
83
+ end
84
+
85
+ group from: :dtr_smart_app_saving_qr do
86
+ config(options: { custom: true })
87
+ test from: :dtr_smart_app_qr_correctness,
88
+ uses_request: :questionnaire_response_save
89
+ end
90
+ end
91
+ end
@@ -1,8 +1,8 @@
1
- require_relative 'dtr_adaptive_questionnaire_next_question_retrieval_group'
1
+ require_relative 'dtr_adaptive_next_question_retrieval_group'
2
2
 
3
3
  module DaVinciDTRTestKit
4
- class DTRAdaptiveQuestionnaireCompletionGroup < Inferno::TestGroup
5
- id :dtr_adaptive_questionnaire_completion
4
+ class DTRAdaptiveCompletionGroup < Inferno::TestGroup
5
+ id :dtr_adaptive_completion
6
6
  title 'Completing the Adaptive Questionnaire'
7
7
  description %(
8
8
  The client makes a final $next-question call, including the answers to all required questions asked so far.
@@ -18,6 +18,6 @@ module DaVinciDTRTestKit
18
18
  )
19
19
  run_as_group
20
20
 
21
- group from: :dtr_adaptive_questionnaire_next_question_retrieval
21
+ group from: :dtr_adaptive_next_question_retrieval
22
22
  end
23
23
  end
@@ -1,8 +1,8 @@
1
- require_relative 'dtr_adaptive_questionnaire_next_question_retrieval_group'
1
+ require_relative 'dtr_adaptive_next_question_retrieval_group'
2
2
 
3
3
  module DaVinciDTRTestKit
4
- class DTRAdaptiveQuestionnaireFollowupQuestionsGroup < Inferno::TestGroup
5
- id :dtr_adaptive_questionnaire_followup_questions
4
+ class DTRAdaptiveFollowupQuestionsGroup < Inferno::TestGroup
5
+ id :dtr_adaptive_followup_questions
6
6
  title 'Retrieving the Next Question'
7
7
  description %(
8
8
  The client makes a subsequent call to request the next question or set of questions
@@ -21,6 +21,6 @@ module DaVinciDTRTestKit
21
21
 
22
22
  run_as_group
23
23
 
24
- group from: :dtr_adaptive_questionnaire_next_question_retrieval
24
+ group from: :dtr_adaptive_next_question_retrieval
25
25
  end
26
26
  end
@@ -1,10 +1,10 @@
1
1
  require_relative '../../urls'
2
2
 
3
3
  module DaVinciDTRTestKit
4
- class DTRAdaptiveQuestionnaireNextQuestionRequestTest < Inferno::Test
4
+ class DTRAdaptiveNextQuestionRequestTest < Inferno::Test
5
5
  include URLs
6
6
 
7
- id :dtr_adaptive_questionnaire_next_question_request
7
+ id :dtr_adaptive_next_question_request
8
8
  title 'Invoke the $next-question operation'
9
9
  description %(
10
10
  Inferno will wait for the client to invoke the $next-question operation to retrieve the next question
@@ -12,6 +12,7 @@ module DaVinciDTRTestKit
12
12
  Inferno will validate the request body and update the contained Questionnaire to include
13
13
  the next question or set of questions.
14
14
  )
15
+ verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@264'
15
16
 
16
17
  input :access_token
17
18
 
@@ -1,10 +1,10 @@
1
1
  require_relative '../../urls'
2
2
 
3
3
  module DaVinciDTRTestKit
4
- class DTRAdaptiveQuestionnaireNextQuestionRequestValidationTest < Inferno::Test
4
+ class DTRAdaptiveNextQuestionRequestValidationTest < Inferno::Test
5
5
  include URLs
6
6
 
7
- id :dtr_next_question_request_validation
7
+ id :dtr_adaptive_next_question_request_validation
8
8
  title '$next-question request is valid'
9
9
  description %(
10
10
  Per the [OperationDefinition: Adaptive questionnaire next question](https://build.fhir.org/ig/HL7/sdc/OperationDefinition-Questionnaire-next-question.html#root)
@@ -27,6 +27,7 @@ module DaVinciDTRTestKit
27
27
  The QuestionnaireResponse resource's structure and conformance will be validated
28
28
  in the following test ('Adaptive QuestionnaireResponse is valid').
29
29
  )
30
+ verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@264'
30
31
 
31
32
  def assert_valid_resource_type(resource)
32
33
  type = resource.resourceType
@@ -1,10 +1,10 @@
1
- require_relative 'dtr_adaptive_questionnaire_next_question_request_test'
2
- require_relative 'dtr_adaptive_questionnaire_next_question_request_validation_test'
3
- require_relative 'dtr_adaptive_questionnaire_response_validation_test'
1
+ require_relative 'dtr_adaptive_next_question_request_test'
2
+ require_relative 'dtr_adaptive_next_question_request_validation_test'
3
+ require_relative 'dtr_adaptive_response_validation_test'
4
4
 
5
5
  module DaVinciDTRTestKit
6
- class DTRAdaptiveQuestionnaireNextQuestionRetrievalGroup < Inferno::TestGroup
7
- id :dtr_adaptive_questionnaire_next_question_retrieval
6
+ class DTRAdaptiveNextQuestionRetrievalGroup < Inferno::TestGroup
7
+ id :dtr_adaptive_next_question_retrieval
8
8
  title 'Next Question Request and Validation'
9
9
  description %(
10
10
  Inferno will wait for the client system to request the next question (or set of questions) using the
@@ -14,10 +14,10 @@ module DaVinciDTRTestKit
14
14
  )
15
15
 
16
16
  # Test 1: wait for the $next-question request
17
- test from: :dtr_adaptive_questionnaire_next_question_request
17
+ test from: :dtr_adaptive_next_question_request
18
18
  # Test 2: validate the $next-question request
19
- test from: :dtr_next_question_request_validation
19
+ test from: :dtr_adaptive_next_question_request_validation
20
20
  # Test 3: validate the QuestionnaireResponse in the input parameter
21
- test from: :dtr_adaptive_questionnaire_response_validation
21
+ test from: :dtr_adaptive_response_validation
22
22
  end
23
23
  end
@@ -2,19 +2,19 @@ require_relative '../../urls'
2
2
  require_relative '../../dtr_questionnaire_response_validation'
3
3
 
4
4
  module DaVinciDTRTestKit
5
- class DTRAdaptiveQuestionnaireResponseValidationTest < Inferno::Test
5
+ class DTRAdaptiveResponseValidationTest < Inferno::Test
6
6
  include URLs
7
7
  include DTRQuestionnaireResponseValidation
8
8
 
9
- id :dtr_adaptive_questionnaire_response_validation
9
+ id :dtr_adaptive_response_validation
10
10
  title 'Adaptive QuestionnaireResponse is valid'
11
11
  description %(
12
- This test validates the conformance of the Adative QuestionnaireResponse to the
12
+ This test validates the conformance of the Adaptive QuestionnaireResponse to the
13
13
  [SDCQuestionnaireResponseAdapt](http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse-adapt)
14
14
  structure. It verifies the presence of mandatory elements and that elements
15
15
  with required bindings contain appropriate values.
16
16
 
17
- It also ensures that all required questions are answered, and that the `origin.source`
17
+ It also ensures that all required questions are answered, and that the `origin.source`
18
18
  extension is correct for each answer:
19
19
  - `PBD.1` (Last Name) and `LOC.1` (Location): `auto`
20
20
  - `PBD.2` (First Name): `override`
@@ -24,6 +24,8 @@ module DaVinciDTRTestKit
24
24
  since neither the QuestionnaireResponse nor the contained Questionnaire will have any items,
25
25
  as no questions are yet known.
26
26
  )
27
+ verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@38', 'hl7.fhir.us.davinci-dtr_2.0.1@210',
28
+ 'hl7.fhir.us.davinci-dtr_2.0.1@264'
27
29
 
28
30
  def profile_url
29
31
  'http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaireresponse-adapt'
@@ -1,13 +1,13 @@
1
1
  require_relative '../../tags'
2
- require_relative 'dtr_full_ehr_adaptive_questionnaire_initial_retrieval_group'
2
+ require_relative 'dtr_full_ehr_adaptive_initial_retrieval_group'
3
3
  require_relative '../full_ehr/dtr_full_ehr_prepopulation_attestation_test'
4
4
  require_relative '../full_ehr/dtr_full_ehr_prepopulation_override_attestation_test'
5
- require_relative 'dtr_adaptive_questionnaire_followup_questions_group'
6
- require_relative 'dtr_adaptive_questionnaire_completion_group'
5
+ require_relative 'dtr_adaptive_followup_questions_group'
6
+ require_relative 'dtr_adaptive_completion_group'
7
7
 
8
8
  module DaVinciDTRTestKit
9
- class DTRFullEHRAdaptiveDinnerQuestionnaireWorkflowGroup < Inferno::TestGroup
10
- id :dtr_full_ehr_adaptive_dinner_questionnaire_workflow
9
+ class DTRFullEHRAdaptiveDinnerWorkflowGroup < Inferno::TestGroup
10
+ id :dtr_full_ehr_adaptive_dinner_workflow
11
11
  title 'Adaptive Questionnaire Workflow'
12
12
  description %(
13
13
  This test validates that a DTR Full EHR client can perform a full DTR Adaptive Questionnaire workflow
@@ -23,9 +23,11 @@ module DaVinciDTRTestKit
23
23
  4. Complete the questionnaire and provide the completed QuestionnaireResponse
24
24
  with appropriate indicators for pre-populated and manually-entered data.
25
25
  )
26
+ verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@36', 'hl7.fhir.us.davinci-dtr_2.0.1@203',
27
+ 'hl7.fhir.us.davinci-dtr_2.0.1@208'
26
28
 
27
29
  group do
28
- id :dtr_full_ehr_adaptive_questionnaire_retrieval
30
+ id :dtr_full_ehr_adaptive_retrieval
29
31
  title 'Retrieving the Adaptive Questionnaire'
30
32
  description %(
31
33
  After DTR launch, Inferno will wait for the client system to request a questionnaire using the
@@ -39,25 +41,25 @@ module DaVinciDTRTestKit
39
41
  )
40
42
  run_as_group
41
43
 
42
- group from: :dtr_full_ehr_adaptive_questionnaire_initial_retrieval
44
+ group from: :dtr_full_ehr_adaptive_initial_retrieval
43
45
  group do
44
46
  id :dtr_full_ehr_initial_questionnaire_rendering
45
47
  title 'Filling Out the Questionnaire'
46
48
  description %(
47
49
  The tester will interact with the questionnaire within their client system
48
- such that pre-population steps are taken, the qustionnaire is rendered, and
50
+ such that pre-population steps are taken, the questionnaire is rendered, and
49
51
  they are able to fill it out. The tester will attest that questionnaire pre-population
50
52
  and rendering directives were followed.
51
53
  )
52
54
 
53
55
  # Test 1: attest to the pre-population of the name fields
54
- test from: :dtr_full_ehr_prepopulation_attestation
56
+ test from: :dtr_full_ehr_prepopulation_attest
55
57
  # Test 2: attest to the pre-population and edit of the first name field
56
- test from: :dtr_full_ehr_prepopulation_override_attestation
58
+ test from: :dtr_full_ehr_prepopulation_override_attest
57
59
  end
58
60
  end
59
61
 
60
- group from: :dtr_adaptive_questionnaire_followup_questions,
62
+ group from: :dtr_adaptive_followup_questions,
61
63
  config: {
62
64
  options: {
63
65
  accepts_multiple_requests: true,
@@ -65,7 +67,7 @@ module DaVinciDTRTestKit
65
67
  }
66
68
  }
67
69
 
68
- group from: :dtr_adaptive_questionnaire_completion,
70
+ group from: :dtr_adaptive_completion,
69
71
  config: {
70
72
  options: {
71
73
  accepts_multiple_requests: true,
@@ -1,27 +1,27 @@
1
1
  require_relative '../../tags'
2
2
  require_relative '../full_ehr/dtr_full_ehr_launch_attestation_test'
3
- require_relative 'dtr_full_ehr_adaptive_questionnaire_request_test'
3
+ require_relative 'dtr_full_ehr_adaptive_request_test'
4
4
  require_relative '../shared/dtr_questionnaire_package_request_validation_test'
5
- require_relative 'dtr_adaptive_questionnaire_next_question_request_validation_test'
6
- require_relative 'dtr_adaptive_questionnaire_response_validation_test'
5
+ require_relative 'dtr_adaptive_next_question_request_validation_test'
6
+ require_relative 'dtr_adaptive_response_validation_test'
7
7
 
8
8
  module DaVinciDTRTestKit
9
- class DTRFullEHRAdaptiveQuestionnaireInitialRetrievalGroup < Inferno::TestGroup
10
- id :dtr_full_ehr_adaptive_questionnaire_initial_retrieval
9
+ class DTRFullEHRAdaptiveInitialRetrievalGroup < Inferno::TestGroup
10
+ id :dtr_full_ehr_adaptive_initial_retrieval
11
11
  title 'Adaptive Questionnaire Package and Initial Questions Retrieval'
12
12
 
13
13
  config(options: { next_tag: "initial_#{CLIENT_NEXT_TAG}" })
14
14
  run_as_group
15
15
 
16
16
  # Test 0: attest to launch
17
- test from: :dtr_full_ehr_launch_attestation
17
+ test from: :dtr_full_ehr_launch_attest
18
18
  # Test 1: wait for the $questionnaire-package request and initial $next-question request
19
- test from: :dtr_full_ehr_adaptive_questionnaire_request
19
+ test from: :dtr_full_ehr_adaptive_request
20
20
  # Test 2: validate the $questionnaire-package request body
21
- test from: :dtr_questionnaire_package_request_validation
21
+ test from: :dtr_qp_request_validation
22
22
  # Test 3: validate the $next-question request body
23
- test from: :dtr_next_question_request_validation
23
+ test from: :dtr_adaptive_next_question_request_validation
24
24
  # Test 4: validate the QuestionnaireResponse in the input parameter
25
- test from: :dtr_adaptive_questionnaire_response_validation
25
+ test from: :dtr_adaptive_response_validation
26
26
  end
27
27
  end
@@ -1,10 +1,10 @@
1
1
  require_relative '../../urls'
2
2
 
3
3
  module DaVinciDTRTestKit
4
- class DTRFullEHRAdaptiveQuestionnaireRequestTest < Inferno::Test
4
+ class DTRFullEHRAdaptiveRequestTest < Inferno::Test
5
5
  include URLs
6
6
 
7
- id :dtr_full_ehr_adaptive_questionnaire_request
7
+ id :dtr_full_ehr_adaptive_request
8
8
  title 'Invoke the Questionnaire Package and Initial Next Question Operation'
9
9
  description %(
10
10
  This test waits for two sequential client requests:
@@ -16,6 +16,8 @@ module DaVinciDTRTestKit
16
16
  2. **Initial Next Question Request**: After receiving the package, the client should invoke the
17
17
  `$next-question` operation. Inferno will respond by providing the first set of questions.
18
18
  )
19
+ verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@165', 'hl7.fhir.us.davinci-dtr_2.0.1@262',
20
+ 'hl7.fhir.us.davinci-dtr_2.0.1@264'
19
21
 
20
22
  config options: { accepts_multiple_requests: true }
21
23
  input :access_token