davinci_dtr_test_kit 0.14.2 → 0.15.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 (158) 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 +121 -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} +2 -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} +2 -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} +3 -3
  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} +12 -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} +2 -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} +24 -18
  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} +13 -13
  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 +1 -1
  35. data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_prepopulation_override_attestation_test.rb +1 -1
  36. data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_questionnaire_package_request_test.rb +1 -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 +10 -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 +1 -1
  41. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_smart_ehr_launch.rb +18 -0
  42. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/fhir_context_coverage_test.rb +42 -0
  43. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/fhir_context_references_test.rb +60 -0
  44. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/fhir_launch_context_test.rb +23 -0
  45. 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
  46. 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
  47. 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
  48. 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
  49. 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
  50. data/lib/davinci_dtr_test_kit/client_groups/respiratory/dtr_respiratory_rendering_group.rb +14 -0
  51. 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
  52. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_prepopulation_attestation_test.rb +31 -0
  53. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_prepopulation_override_attestation_test.rb +35 -0
  54. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_questionnaire_package_request_validation_test.rb +1 -1
  55. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_questionnaire_response_basic_conformance_test.rb +8 -4
  56. data/lib/davinci_dtr_test_kit/client_groups/shared/{dtr_questionnaire_response_pre_population_test.rb → dtr_questionnaire_response_prepopulation_test.rb} +2 -2
  57. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_rendering_attestation_test.rb +30 -0
  58. data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_prepopulation_attestation_test.rb +1 -1
  59. data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_prepopulation_override_attestation_test.rb +1 -1
  60. 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
  61. data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_questionnaire_response_correctness_test.rb +28 -0
  62. data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_questionnaire_response_save_test.rb +2 -2
  63. data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_saving_questionnaire_response_group.rb +3 -7
  64. data/lib/davinci_dtr_test_kit/cql_test.rb +58 -0
  65. data/lib/davinci_dtr_test_kit/docs/dtr_light_ehr_suite_description_v201.md +9 -6
  66. data/lib/davinci_dtr_test_kit/dtr_full_ehr_suite.rb +19 -6
  67. data/lib/davinci_dtr_test_kit/dtr_light_ehr_suite.rb +42 -36
  68. data/lib/davinci_dtr_test_kit/dtr_payer_server_suite.rb +0 -2
  69. data/lib/davinci_dtr_test_kit/dtr_questionnaire_response_validation.rb +50 -4
  70. data/lib/davinci_dtr_test_kit/dtr_smart_app_suite.rb +9 -9
  71. data/lib/davinci_dtr_test_kit/endpoints/mock_authorization.rb +10 -2
  72. data/lib/davinci_dtr_test_kit/endpoints/mock_ehr.rb +17 -1
  73. data/lib/davinci_dtr_test_kit/endpoints/mock_payer/questionnaire_package_endpoint.rb +7 -1
  74. data/lib/davinci_dtr_test_kit/fixtures.rb +6 -6
  75. data/lib/davinci_dtr_test_kit/igs/davinci_dtr_2.0.1.tgz +0 -0
  76. data/lib/davinci_dtr_test_kit/metadata.rb +104 -0
  77. data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_form_libraries_test.rb +1 -1
  78. data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_form_questionnaire_expressions_test.rb +1 -1
  79. data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_form_questionnaire_extensions_test.rb +1 -1
  80. data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_adaptive_response_bundles_validation_test.rb +1 -1
  81. data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_adaptive_response_search_validation_test.rb +1 -1
  82. data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_adaptive_response_validation_test.rb +4 -15
  83. data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_static_group.rb +1 -1
  84. data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_libraries_test.rb +1 -1
  85. data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_questionnaire_expressions_test.rb +1 -1
  86. data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_questionnaire_extensions_test.rb +1 -1
  87. data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_request_test.rb +1 -1
  88. data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_response_validation_test.rb +4 -15
  89. data/lib/davinci_dtr_test_kit/profiles/communication_request/communication_request_must_support_test.rb +46 -0
  90. data/lib/davinci_dtr_test_kit/profiles/communication_request/communication_request_read.rb +6 -3
  91. data/lib/davinci_dtr_test_kit/profiles/communication_request/communication_request_validation.rb +9 -8
  92. data/lib/davinci_dtr_test_kit/profiles/communication_request/metadata.yml +135 -0
  93. data/lib/davinci_dtr_test_kit/profiles/communication_request_group.rb +9 -0
  94. data/lib/davinci_dtr_test_kit/profiles/coverage/coverage_must_support_test.rb +54 -0
  95. data/lib/davinci_dtr_test_kit/profiles/coverage/coverage_read.rb +5 -3
  96. data/lib/davinci_dtr_test_kit/profiles/coverage/coverage_validation.rb +9 -8
  97. data/lib/davinci_dtr_test_kit/profiles/coverage/metadata.yml +133 -0
  98. data/lib/davinci_dtr_test_kit/profiles/coverage_group.rb +8 -0
  99. data/lib/davinci_dtr_test_kit/profiles/device_request/device_request_must_support_test.rb +45 -0
  100. data/lib/davinci_dtr_test_kit/profiles/device_request/device_request_read.rb +6 -3
  101. data/lib/davinci_dtr_test_kit/profiles/device_request/device_request_validation.rb +9 -8
  102. data/lib/davinci_dtr_test_kit/profiles/device_request/metadata.yml +130 -0
  103. data/lib/davinci_dtr_test_kit/profiles/device_request_group.rb +9 -0
  104. data/lib/davinci_dtr_test_kit/profiles/encounter/encounter_must_support_test.rb +58 -0
  105. data/lib/davinci_dtr_test_kit/profiles/encounter/encounter_read.rb +6 -3
  106. data/lib/davinci_dtr_test_kit/profiles/encounter/encounter_validation.rb +9 -8
  107. data/lib/davinci_dtr_test_kit/profiles/encounter/metadata.yml +169 -0
  108. data/lib/davinci_dtr_test_kit/profiles/encounter_group.rb +9 -0
  109. data/lib/davinci_dtr_test_kit/profiles/medication_request/medication_request_must_support_test.rb +50 -0
  110. data/lib/davinci_dtr_test_kit/profiles/medication_request/medication_request_read.rb +6 -3
  111. data/lib/davinci_dtr_test_kit/profiles/medication_request/medication_request_validation.rb +9 -8
  112. data/lib/davinci_dtr_test_kit/profiles/medication_request/metadata.yml +159 -0
  113. data/lib/davinci_dtr_test_kit/profiles/medication_request_group.rb +9 -0
  114. data/lib/davinci_dtr_test_kit/profiles/nutrition_order/metadata.yml +94 -0
  115. data/lib/davinci_dtr_test_kit/profiles/nutrition_order/nutrition_order_must_support_test.rb +45 -0
  116. data/lib/davinci_dtr_test_kit/profiles/nutrition_order/nutrition_order_read.rb +6 -3
  117. data/lib/davinci_dtr_test_kit/profiles/nutrition_order/nutrition_order_validation.rb +9 -8
  118. data/lib/davinci_dtr_test_kit/profiles/nutrition_order_group.rb +9 -0
  119. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_context_search.rb +3 -1
  120. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_create.rb +1 -0
  121. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_must_support_test.rb +54 -0
  122. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_patient_search.rb +3 -1
  123. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_read.rb +2 -1
  124. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_update.rb +1 -0
  125. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_validation.rb +1 -1
  126. data/lib/davinci_dtr_test_kit/profiles/questionnaire_response_group.rb +11 -1
  127. data/lib/davinci_dtr_test_kit/profiles/service_request/metadata.yml +140 -0
  128. data/lib/davinci_dtr_test_kit/profiles/service_request/service_request_must_support_test.rb +47 -0
  129. data/lib/davinci_dtr_test_kit/profiles/service_request/service_request_read.rb +6 -3
  130. data/lib/davinci_dtr_test_kit/profiles/service_request/service_request_validation.rb +9 -8
  131. data/lib/davinci_dtr_test_kit/profiles/service_request_group.rb +9 -0
  132. data/lib/davinci_dtr_test_kit/profiles/task/metadata.yml +165 -0
  133. data/lib/davinci_dtr_test_kit/profiles/task/task_create.rb +1 -0
  134. data/lib/davinci_dtr_test_kit/profiles/task/task_must_support_test.rb +46 -0
  135. data/lib/davinci_dtr_test_kit/profiles/task/task_read.rb +6 -3
  136. data/lib/davinci_dtr_test_kit/profiles/task/task_update.rb +1 -0
  137. data/lib/davinci_dtr_test_kit/profiles/task/task_validation.rb +9 -8
  138. data/lib/davinci_dtr_test_kit/profiles/task_group.rb +11 -1
  139. data/lib/davinci_dtr_test_kit/profiles/vision_prescription/metadata.yml +107 -0
  140. data/lib/davinci_dtr_test_kit/profiles/vision_prescription/vision_prescription_must_support_test.rb +54 -0
  141. data/lib/davinci_dtr_test_kit/profiles/vision_prescription/vision_prescription_read.rb +6 -3
  142. data/lib/davinci_dtr_test_kit/profiles/vision_prescription/vision_prescription_validation.rb +9 -8
  143. data/lib/davinci_dtr_test_kit/profiles/vision_prescription_group.rb +9 -0
  144. data/lib/davinci_dtr_test_kit/read_test.rb +5 -0
  145. data/lib/davinci_dtr_test_kit/requirements/davinci-dtr-test-kit_out_of_scope_requirements.csv +13 -0
  146. data/lib/davinci_dtr_test_kit/requirements/davinci-dtr-test-kit_requirements.csv +374 -0
  147. data/lib/davinci_dtr_test_kit/requirements/generated/davinci-dtr-test-kit_requirements_coverage.csv +372 -0
  148. data/lib/davinci_dtr_test_kit/urls.rb +1 -0
  149. data/lib/davinci_dtr_test_kit/version.rb +2 -1
  150. data/lib/davinci_dtr_test_kit.rb +2 -0
  151. data/lib/inferno_requirements_tools/ext/inferno_core/runnable.rb +22 -0
  152. data/lib/inferno_requirements_tools/rake/rakefile_template +31 -0
  153. data/lib/inferno_requirements_tools/tasks/requirements_coverage.rb +284 -0
  154. data/lib/requirements_config.yaml +25 -0
  155. metadata +88 -37
  156. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_smart_app_adaptive_questionnaire_initial_retrieval_group.rb +0 -24
  157. data/lib/davinci_dtr_test_kit/client_groups/resp_assist_device/dtr_questionnaire_rendering_group.rb +0 -14
  158. data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_rendering_enabled_questions_attestation_test.rb +0 -30
@@ -0,0 +1,24 @@
1
+ require_relative '../../tags'
2
+ require_relative 'dtr_smart_app_adaptive_request_test'
3
+ require_relative '../shared/dtr_questionnaire_package_request_validation_test'
4
+ require_relative 'dtr_adaptive_next_question_request_validation_test'
5
+ require_relative 'dtr_adaptive_response_validation_test'
6
+
7
+ module DaVinciDTRTestKit
8
+ class DTRSmartAppAdaptiveInitialRetrievalGroup < Inferno::TestGroup
9
+ id :dtr_smart_app_adaptive_initial_retrieval
10
+ title 'Adaptive Questionnaire Package and Initial Questions Retrieval'
11
+
12
+ config(options: { next_tag: "initial_#{CLIENT_NEXT_TAG}" })
13
+ run_as_group
14
+
15
+ # Test 1: wait for the $questionnaire-package request and initial $next-question request
16
+ test from: :dtr_smart_app_adaptive_request
17
+ # Test 2: validate the $questionnaire-package request body
18
+ test from: :dtr_qp_request_validation
19
+ # Test 3: validate the $next-question request body
20
+ test from: :dtr_adaptive_next_question_request_validation
21
+ # Test 4: validate the QuestionnaireResponse in the input parameter
22
+ test from: :dtr_adaptive_response_validation
23
+ end
24
+ end
@@ -1,10 +1,10 @@
1
1
  require_relative '../../urls'
2
2
 
3
3
  module DaVinciDTRTestKit
4
- class DTRSmartAppAdaptiveQuestionnaireRequestTest < Inferno::Test
4
+ class DTRSmartAppAdaptiveRequestTest < Inferno::Test
5
5
  include URLs
6
6
 
7
- id :dtr_smart_app_adaptive_questionnaire_request
7
+ id :dtr_smart_app_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:
@@ -2,14 +2,14 @@ require_relative '../full_ehr/dtr_full_ehr_launch_attestation_test'
2
2
  require_relative '../full_ehr/dtr_full_ehr_questionnaire_package_request_test'
3
3
  require_relative '../shared/dtr_questionnaire_package_request_validation_test'
4
4
  require_relative '../full_ehr/dtr_full_ehr_prepopulation_attestation_test'
5
- require_relative '../full_ehr/dtr_full_ehr_rendering_enabled_questions_attestation_test'
5
+ require_relative 'dtr_static_dinner_enabled_questions_attestation_test'
6
6
  require_relative '../full_ehr/dtr_full_ehr_prepopulation_override_attestation_test'
7
7
  require_relative '../full_ehr/dtr_full_ehr_saving_questionnaire_response_group'
8
8
 
9
9
  module DaVinciDTRTestKit
10
- class DTRFullEHRStaticDinnerQuestionnaireWorkflowGroup < Inferno::TestGroup
11
- id :dtr_full_ehr_static_dinner_questionnaire_workflow
12
- title 'Static Questionnaire Workflow'
10
+ class DTRFullEHRStaticDinnerWorkflowGroup < Inferno::TestGroup
11
+ id :dtr_full_ehr_static_dinner_workflow
12
+ title 'Dinner Order Static Questionnaire Workflow'
13
13
  description %(
14
14
  This test validates that a DTR Full EHR client can perform a full DTR Static Questionnaire workflow
15
15
  using a mocked questionnaire requesting what a patient wants for dinner. The client system must
@@ -24,7 +24,7 @@ module DaVinciDTRTestKit
24
24
  )
25
25
 
26
26
  group do
27
- id :dtr_full_ehr_static_questionnaire_retrieval
27
+ id :dtr_full_ehr_static_retrieval
28
28
  title 'Retrieving the Static Questionnaire'
29
29
  description %(
30
30
  After DTR launch, Inferno will wait for the client system to request a questionnaire using the
@@ -34,15 +34,15 @@ module DaVinciDTRTestKit
34
34
  run_as_group
35
35
 
36
36
  # Test 0: attest to launch
37
- test from: :dtr_full_ehr_launch_attestation
37
+ test from: :dtr_full_ehr_launch_attest
38
38
  # Test 1: wait for the $questionnaire-package request
39
- test from: :dtr_full_ehr_questionnaire_package_request
39
+ test from: :dtr_full_ehr_qp_request
40
40
  # Test 2: validate the $questionnaire-package body
41
- test from: :dtr_questionnaire_package_request_validation
41
+ test from: :dtr_qp_request_validation
42
42
  end
43
43
 
44
44
  group do
45
- id :dtr_full_ehr_static_questionnaire_rendering
45
+ id :dtr_full_ehr_static_rendering
46
46
  title 'Filling Out the Static Questionnaire'
47
47
  description %(
48
48
  The tester will interact with the questionnaire within their client system
@@ -53,14 +53,14 @@ module DaVinciDTRTestKit
53
53
  run_as_group
54
54
 
55
55
  # Test 1: attest to the pre-population of the name fields
56
- test from: :dtr_full_ehr_prepopulation_attestation
56
+ test from: :dtr_full_ehr_prepopulation_attest
57
57
  # Test 2: attest to the pre-population and edit of the first name field
58
- test from: :dtr_full_ehr_prepopulation_override_attestation
58
+ test from: :dtr_full_ehr_prepopulation_override_attest
59
59
  # Test 3: attest to the display of the toppings questions only when a dinner answer is selected
60
- test from: :dtr_full_ehr_rendering_enabled_questions_attestation
60
+ test from: :dtr_static_dinner_enabled_questions_attest
61
61
  end
62
62
 
63
- group from: :dtr_full_ehr_saving_questionnaire_response,
63
+ group from: :dtr_full_ehr_saving_qr,
64
64
  config: {
65
65
  inputs: {
66
66
  questionnaire_response: {
@@ -1,14 +1,15 @@
1
- require_relative 'dtr_smart_app_dinner_questionnaire_package_request_test'
1
+ require_relative '../smart_app/dtr_smart_app_questionnaire_package_request_test'
2
2
  require_relative '../shared/dtr_questionnaire_package_request_validation_test'
3
3
  require_relative '../smart_app/dtr_smart_app_prepopulation_attestation_test'
4
4
  require_relative '../smart_app/dtr_smart_app_prepopulation_override_attestation_test'
5
- require_relative '../smart_app/dtr_smart_app_rendering_enabled_questions_attestation_test'
5
+ require_relative 'dtr_static_dinner_enabled_questions_attestation_test'
6
6
  require_relative '../smart_app/dtr_smart_app_saving_questionnaire_response_group'
7
+ require_relative '../shared/dtr_questionnaire_response_prepopulation_test'
7
8
 
8
9
  module DaVinciDTRTestKit
9
- class DTRSmartAppStaticDinnerQuestionnaireWorkflowGroup < Inferno::TestGroup
10
- id :dtr_smart_app_static_dinner_questionnaire_workflow
11
- title 'Static Questionnaire Workflow'
10
+ class DTRSmartAppStaticDinnerWorkflowGroup < Inferno::TestGroup
11
+ id :dtr_smart_app_static_dinner_workflow
12
+ title 'Dinner Order Static Questionnaire Workflow'
12
13
  description %(
13
14
  This test validates that a DTR SMART App client can perform a full DTR Static Questionnaire workflow
14
15
  using a mocked questionnaire requesting what a patient wants for dinner. The client system must
@@ -25,7 +26,7 @@ module DaVinciDTRTestKit
25
26
  )
26
27
 
27
28
  group do
28
- id :dtr_smart_app_static_questionnaire_retrieval
29
+ id :dtr_smart_app_static_retrieval
29
30
  title 'Retrieving the Static Questionnaire'
30
31
  description %(
31
32
  Inferno will wait for the client system to request a questionnaire using the
@@ -35,13 +36,13 @@ module DaVinciDTRTestKit
35
36
  run_as_group
36
37
 
37
38
  # Test 1: wait for the $questionnaire-package request
38
- test from: :dtr_smart_app_dinner_questionnaire_package_request
39
+ test from: :dtr_smart_app_qp_request
39
40
  # Test 2: validate the $questionnaire-package body
40
- test from: :dtr_questionnaire_package_request_validation
41
+ test from: :dtr_qp_request_validation
41
42
  end
42
43
 
43
44
  group do
44
- id :dtr_smart_app_static_questionnaire_rendering
45
+ id :dtr_smart_app_static_rendering
45
46
  title 'Filling Out the Static Questionnaire'
46
47
  description %(
47
48
  The tester will interact with the questionnaire within their client system
@@ -56,13 +57,17 @@ module DaVinciDTRTestKit
56
57
  # since the questionnaire asks them to
57
58
  # TODO: once Tom has gotten the reference server hooked up
58
59
  # Test 2: attest to the pre-population of the name fields
59
- test from: :dtr_smart_app_prepopulation_attestation
60
+ test from: :dtr_smart_app_prepopulation_attest
60
61
  # Test 3: attest to the pre-population and edit of the location field
61
- test from: :dtr_smart_app_prepopulation_override_attestation
62
+ test from: :dtr_smart_app_prepopulation_override_attest
62
63
  # Test 4: attest to the display of the toppings questions only when a dinner answer is selected
63
- test from: :dtr_smart_app_rendering_enabled_questions_attestation
64
+ test from: :dtr_static_dinner_enabled_questions_attest
64
65
  end
65
66
 
66
- group from: :dtr_smart_app_saving_questionnaire_response
67
+ group from: :dtr_smart_app_saving_qr do
68
+ # Test 3: validate workflow-specific details such as pre-population and overrides
69
+ test from: :dtr_qr_prepopulation,
70
+ uses_request: :questionnaire_response_save
71
+ end
67
72
  end
68
73
  end
@@ -2,10 +2,10 @@ require 'securerandom'
2
2
  require_relative '../../urls'
3
3
 
4
4
  module DaVinciDTRTestKit
5
- class DTRFullEHRRenderingEnabledQuestionsAttestationTest < Inferno::Test
5
+ class DTRStaticDinnerEnabledQuestionsAttestationTest < Inferno::Test
6
6
  include URLs
7
7
 
8
- id :dtr_full_ehr_rendering_enabled_questions_attestation
8
+ id :dtr_static_dinner_enabled_questions_attest
9
9
  title 'Check that the client renders enabled questions appropriately (Attestation)'
10
10
  description %(
11
11
  Validate that the rendering of the questionnaire includes only the "What would you like on..."
@@ -5,19 +5,24 @@ module DaVinciDTRTestKit
5
5
  class DTRFullEHRLaunchAttestationTest < Inferno::Test
6
6
  include URLs
7
7
 
8
- id :dtr_full_ehr_launch_attestation
8
+ id :dtr_full_ehr_launch_attest
9
9
  title 'Launch DTR for a patient that has an official name (Attestation)'
10
10
  description %(
11
11
  Attest that DTR has been launched for a patient with data that will be used for prepopulation.
12
12
  )
13
13
 
14
+ def attestation_message
15
+ return config.options[:attestation_message] if config.options.key?(:attestation_message)
16
+
17
+ 'I attest that DTR has been launched in the context of a patient with an official name, including first and last.'
18
+ end
19
+
14
20
  run do
15
21
  random_id = SecureRandom.uuid
16
22
  wait(
17
23
  identifier: random_id,
18
24
  message: %(
19
- I attest that DTR has been launched in the context of a patient with an official name, including
20
- first and last.
25
+ #{attestation_message}
21
26
 
22
27
  [Click here](#{resume_pass_url}?token=#{random_id}) if the above statement is **true**.
23
28
 
@@ -5,7 +5,7 @@ module DaVinciDTRTestKit
5
5
  class DTRFullEHRPrepopulationAttestationTest < Inferno::Test
6
6
  include URLs
7
7
 
8
- id :dtr_full_ehr_prepopulation_attestation
8
+ id :dtr_full_ehr_prepopulation_attest
9
9
  title 'Check that the client pre-populates the questionnaire (Attestation)'
10
10
  description %(
11
11
  Validate that pre-population of patient name information occurs as expected.
@@ -5,7 +5,7 @@ module DaVinciDTRTestKit
5
5
  class DTRFullEHRPrepopulationOverrideAttestationTest < Inferno::Test
6
6
  include URLs
7
7
 
8
- id :dtr_full_ehr_prepopulation_override_attestation
8
+ id :dtr_full_ehr_prepopulation_override_attest
9
9
  title 'Validate the user can override pre-populated data (Attestation)'
10
10
  description %(
11
11
  Validate that the user can edit a pre-populated item and replace it with another value.
@@ -4,7 +4,7 @@ module DaVinciDTRTestKit
4
4
  class DTRFullEHRQuestionnairePackageRequestTest < Inferno::Test
5
5
  include URLs
6
6
 
7
- id :dtr_full_ehr_questionnaire_package_request
7
+ id :dtr_full_ehr_qp_request
8
8
  title 'Invoke the DTR Questionnaire Package operation'
9
9
  description %(
10
10
  Inferno will wait for a DTR questionnaire package request from the client. Upon receipt, Inferno will generate and
@@ -4,8 +4,13 @@ module DaVinciDTRTestKit
4
4
  class DTRFullEHRQuestionnaireResponseConformanceTest < Inferno::Test
5
5
  include DTRQuestionnaireResponseValidation
6
6
 
7
- id :dtr_full_ehr_questionnaire_response_conformance
7
+ id :dtr_full_ehr_qr_conformance
8
8
  title 'QuestionnaireResponse is conformant'
9
+ description %(
10
+ Verify that the provided QuestionnaireResponse is conformant to the [DTR
11
+ QuestionnaireResponse](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-questionnaireresponse.html)
12
+ profile.
13
+ )
9
14
 
10
15
  def profile_url
11
16
  config.options[:qr_profile_url]
@@ -4,34 +4,22 @@ module DaVinciDTRTestKit
4
4
  class DTRFullEHRQuestionnaireResponseCorrectnessTest < Inferno::Test
5
5
  include DTRQuestionnaireResponseValidation
6
6
 
7
- id :dtr_full_ehr_questionnaire_response_correctness
7
+ id :dtr_full_ehr_qr_correctness
8
8
  title 'QuestionnaireResponse is correct for the workflow'
9
9
  description %(
10
- The QuestionnaireResponse aligns with the following expectations for the workflow. This includes checks for
11
- the presence of the following answers and their appropriate origin source extensions:
12
-
13
- - `PBD.1` (Last Name) and `LOC.1` (Location): `auto`
14
- - PBD.2 (First Name): `override`
15
- - `3` (all nested dinner questions): `manual`
10
+ Verify that the QuestionnaireResponse meets the expected workflow requirements by verifying the following:
11
+ This includes:
12
+ - **Completion Check**: Confirm that all required questions have been answered.
13
+ - **Origin Source Validation**: Verify that specific answers are derived from the correct sources:
14
+ - `PBD.1` (Last Name) and `LOC.1` (Location): `auto`
15
+ - `PBD.2` (First Name): `override`
16
+ - `3` (all nested dinner questions): `manual`
16
17
  )
17
18
 
18
19
  run do
19
- skip_if questionnaire_response.nil?, 'Completed QuestionnaireResponse input was blank'
20
- check_is_questionnaire_response(questionnaire_response)
20
+ skip_if questionnaire_response.blank?, 'Completed QuestionnaireResponse input was blank'
21
21
 
22
- qr = FHIR.from_contents(questionnaire_response)
23
- questionnaire = if config.options[:adaptive]
24
- qr.contained.find do |res|
25
- res.resourceType == 'Questionnaire'
26
- end
27
- else
28
- Fixtures.questionnaire_for_test(id)
29
- end
30
- # questionnaire = Fixtures.find_questionnaire('DinnerOrderStatic')
31
- check_origin_sources(questionnaire.item, qr.item, expected_overrides: ['PBD.2'])
32
- required_link_ids = extract_required_link_ids(questionnaire.item)
33
- check_answer_presence(qr.item, required_link_ids)
34
- assert(messages.none? { |m| m[:type] == 'error' }, 'QuestionnaireResponse is not correct, see error message(s)')
22
+ validate_questionnaire_response_correctness(questionnaire_response, try(:custom_questionnaire_package_response))
35
23
  end
36
24
  end
37
25
  end
@@ -4,7 +4,7 @@ require_relative 'dtr_full_ehr_questionnaire_response_correctness_test'
4
4
 
5
5
  module DaVinciDTRTestKit
6
6
  class DTRFullEHRSavingQuestionnaireResponseGroup < Inferno::TestGroup
7
- id :dtr_full_ehr_saving_questionnaire_response
7
+ id :dtr_full_ehr_saving_qr
8
8
  title 'Saving the QuestionnaireResponse'
9
9
  description %(
10
10
  The tester will attest to the completion of the questionnaire such that
@@ -20,10 +20,10 @@ module DaVinciDTRTestKit
20
20
  run_as_group
21
21
 
22
22
  # Test 1: attest QuestionnaireResponse saved
23
- test from: :dtr_full_ehr_store_attestation
23
+ test from: :dtr_full_ehr_store_attest
24
24
  # Test 2: verify basic conformance of the QuestionnaireResponse
25
- test from: :dtr_full_ehr_questionnaire_response_conformance
25
+ test from: :dtr_full_ehr_qr_conformance
26
26
  # Test 3: check workflow-specific details such as pre-population and overrides
27
- test from: :dtr_full_ehr_questionnaire_response_correctness
27
+ test from: :dtr_full_ehr_qr_correctness
28
28
  end
29
29
  end
@@ -5,7 +5,7 @@ module DaVinciDTRTestKit
5
5
  class DTRFullEHRStoreAttestationTest < Inferno::Test
6
6
  include URLs
7
7
 
8
- id :dtr_full_ehr_store_attestation
8
+ id :dtr_full_ehr_store_attest
9
9
  title 'Complete and Store the QuestionnaireResponse (Attestation)'
10
10
  description %(
11
11
  Attest that the questionnaire has been completed and the response has been persisted
@@ -0,0 +1,18 @@
1
+ require_relative 'fhir_launch_context_test'
2
+ require_relative 'fhir_context_coverage_test'
3
+ require_relative 'fhir_context_references_test'
4
+ require 'smart_app_launch/ehr_launch_group_stu2'
5
+
6
+ module DaVinciDTRTestKit
7
+ class DTRSMARTEHRLaunch < SMARTAppLaunch::EHRLaunchGroupSTU2
8
+ title 'DTR SMART EHR Launch'
9
+ verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@117'
10
+
11
+ id :dtr_smart_ehr_launch
12
+ run_as_group
13
+
14
+ test from: :fhir_launch_context
15
+ test from: :fhir_context_coverage
16
+ test from: :fhir_context_references
17
+ end
18
+ end
@@ -0,0 +1,42 @@
1
+ module DaVinciDTRTestKit
2
+ class FhirContextCoverageTest < Inferno::Test
3
+ include DaVinciDTRTestKit::ReadTest
4
+
5
+ id :fhir_context_coverage
6
+ title 'fhirContext Coverage Reference Test'
7
+ description %(
8
+ This test validates that when the light EHR launches a DTR SMART App, the launch context includes
9
+ a `fhirContext` with one active Coverage resource and that the referenced Coverage can be read from
10
+ the light DTR EHR. See the [Launching DTR](https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#launching-dtr)
11
+ section of the DTR IG for details.
12
+ )
13
+ verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@126'
14
+ optional
15
+
16
+ uses_request :token
17
+
18
+ fhir_client do
19
+ url :url
20
+ bearer_token JSON.parse(request.response_body)['access_token']
21
+ end
22
+
23
+ def scratch_resources
24
+ scratch[:coverage_references] ||= {}
25
+ end
26
+
27
+ run do
28
+ token_response_params = JSON.parse(request.response_body)
29
+
30
+ skip_if(!token_response_params['fhirContext'].present?,
31
+ %(fhirContext not present on the passed launch context, skipping test.'))
32
+
33
+ coverage = token_response_params['fhirContext'].find { |c| c.split('/')[0] == 'Coverage' }
34
+ assert coverage.present?, 'Coverage resource not present on fhirContext'
35
+
36
+ coverage_array = [coverage.split('/')[1]]
37
+ assert coverage_array.present?, 'Coverage resource not present on fhirContext in proper format'
38
+
39
+ perform_read_test(coverage_array, 'Coverage')
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,60 @@
1
+ module DaVinciDTRTestKit
2
+ class FhirContextReferencesTest < Inferno::Test
3
+ include DaVinciDTRTestKit::ReadTest
4
+
5
+ id :fhir_context_references
6
+ title 'fhirContext Request, QuestionnaireResponse, or Task References Test'
7
+ description %(
8
+ This test validates that when the light EHR launches a DTR SMART App, the launch context includes
9
+ a `fhirContext` with exactly one of the following references and that the referenced resource can be read from
10
+ the light DTR EHR:
11
+ - A CRD-type Request or Encounter resource
12
+ - An existing incomplete QuestionnaireResponse previously created with DTR
13
+ - A Questionnaire Task
14
+
15
+ See the [Launching DTR](https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#launching-dtr)
16
+ section of the DTR IG for details.
17
+ )
18
+ verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@127'
19
+ verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@128'
20
+ verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@129'
21
+ optional
22
+
23
+ uses_request :token
24
+
25
+ fhir_client do
26
+ url :url
27
+ bearer_token JSON.parse(request.response_body)['access_token']
28
+ end
29
+
30
+ def scratch_resources
31
+ scratch[:crd_request_resources] ||= {}
32
+ end
33
+
34
+ run do
35
+ token_response_params = JSON.parse(request.response_body)
36
+
37
+ skip_if(!token_response_params['fhirContext'].present?,
38
+ %(fhirContext not present on the passed launch context, skipping test.))
39
+
40
+ context_reference = token_response_params['fhirContext'].filter do |c|
41
+ c.split('/')[0] == 'DeviceRequest' || c.split('/')[0] == 'ServiceRequest' ||
42
+ c.split('/')[0] == 'CommunicationRequest' || c.split('/')[0] == 'MedicationRequest' ||
43
+ c.split('/')[0] == 'Encounter' || c.split('/')[0] == 'Task' || c.split('/')[0] == 'QuestionnaireResponse'
44
+ end
45
+
46
+ assert context_reference.present?,
47
+ 'fhirContext does not contain a CRD-type request, QuestionnaireResponse, or Task resource'
48
+
49
+ context_reference_amount = context_reference.length
50
+ assert context_reference_amount == 1,
51
+ 'fhirContext should only contain one CRD-type request, QuestionnaireResponse, or Task'
52
+
53
+ crd_request_array = [(context_reference[0]).split('/')[1]]
54
+ assert crd_request_array.present?,
55
+ 'fhirContext does not contain a CRD-type request, QuestionnaireResponse, or Task resource in proper format'
56
+
57
+ perform_read_test(crd_request_array, (context_reference[0]).split('/')[0])
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,23 @@
1
+ module DaVinciDTRTestKit
2
+ class FhirLaunchContextTest < Inferno::Test
3
+ include SMARTAppLaunch::TokenPayloadValidation
4
+
5
+ id :fhir_launch_context
6
+ title 'Token exchange response body contains fhirContext'
7
+ description %(
8
+ This test validates that when the light EHR launches a DTR SMART App, the launch context
9
+ includes a `fhirContext`. See the [Launching DTR](https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#launching-dtr)
10
+ section of the DTR IG for details.
11
+ )
12
+ optional
13
+
14
+ uses_request :token
15
+
16
+ run do
17
+ token_response_params = JSON.parse(request.response_body)
18
+ assert token_response_params['fhirContext'].present?, 'fhirContext not present on the passed launch context'
19
+
20
+ validate_fhir_context(token_response_params['fhirContext'])
21
+ end
22
+ end
23
+ end
@@ -1,16 +1,16 @@
1
- require_relative 'dtr_resp_questionnaire_package_request_test'
1
+ require_relative 'dtr_respiratory_questionnaire_package_request_test'
2
2
  require_relative '../shared/dtr_questionnaire_package_request_validation_test'
3
3
 
4
4
  module DaVinciDTRTestKit
5
- class DTRQuestionnairePackageGroup < Inferno::TestGroup
6
- id :dtr_questionnaire_package
5
+ class DTRRespiratoryQuestionnairePackageGroup < Inferno::TestGroup
6
+ id :dtr_resp_qp
7
7
  title 'Questionnaire Package Retrieval'
8
8
  description %(
9
9
  Demonstrate the ability to request the Respiratory Assist Device Questionnaire Package from the payer.
10
10
  )
11
11
  run_as_group
12
12
 
13
- test from: :dtr_resp_questionnaire_package_request
14
- test from: :dtr_questionnaire_package_request_validation
13
+ test from: :dtr_resp_qp_request
14
+ test from: :dtr_qp_request_validation
15
15
  end
16
16
  end
@@ -1,10 +1,10 @@
1
1
  require_relative '../../urls'
2
2
 
3
3
  module DaVinciDTRTestKit
4
- class DTRRespQuestionnairePackageRequestTest < Inferno::Test
4
+ class DTRRespiratoryQuestionnairePackageRequestTest < Inferno::Test
5
5
  include URLs
6
6
 
7
- id :dtr_resp_questionnaire_package_request
7
+ id :dtr_resp_qp_request
8
8
  title 'Invoke the DTR Questionnaire Package operation'
9
9
  description %(
10
10
  Inferno will wait for a DTR questionnaire package request from the client. Upon receipt, Inferno will generate and
@@ -1,23 +1,23 @@
1
- require_relative 'dtr_questionnaire_response_save_test'
1
+ require_relative 'dtr_respiratory_questionnaire_response_save_test'
2
2
  require_relative '../shared/dtr_questionnaire_response_basic_conformance_test'
3
- require_relative '../shared/dtr_questionnaire_response_pre_population_test'
3
+ require_relative '../shared/dtr_questionnaire_response_prepopulation_test'
4
4
 
5
5
  module DaVinciDTRTestKit
6
- class DTRQuestionnaireResponseGroup < Inferno::TestGroup
7
- id :dtr_questionnaire_response
6
+ class DTRRespiratoryQuestionnaireResponseGroup < Inferno::TestGroup
7
+ id :dtr_resp_qr
8
8
  title 'Questionnaire Response'
9
9
  description %(
10
10
  Demonstrate the ability to pre-populate and respond to the Respiratory Assist Device Questionnaire.
11
11
  )
12
12
  run_as_group
13
13
 
14
- test from: :dtr_resp_assist_questionnaire_response_save,
14
+ test from: :dtr_resp_qr_save,
15
15
  receives_request: :questionnaire_response_save
16
16
 
17
- test from: :dtr_questionnaire_response_basic_conformance,
17
+ test from: :dtr_qr_basic_conformance,
18
18
  uses_request: :questionnaire_response_save
19
19
 
20
- test from: :dtr_questionnaire_response_pre_population,
20
+ test from: :dtr_qr_prepopulation,
21
21
  uses_request: :questionnaire_response_save
22
22
  end
23
23
  end
@@ -1,10 +1,10 @@
1
1
  require_relative '../../urls'
2
2
 
3
3
  module DaVinciDTRTestKit
4
- class DTRRespAssistQuestionnaireResponseSaveTest < Inferno::Test
4
+ class DTRRespiratoryQuestionnaireResponseSaveTest < Inferno::Test
5
5
  include URLs
6
6
 
7
- id :dtr_resp_assist_questionnaire_response_save
7
+ id :dtr_resp_qr_save
8
8
  title 'Save the QuestionnaireResponse after completing it'
9
9
  description %(
10
10
  Inferno, acting as the EHR, will wait for a request to save the QuestionnaireResponse from the client.
@@ -2,10 +2,10 @@ require 'securerandom'
2
2
  require_relative '../../urls'
3
3
 
4
4
  module DaVinciDTRTestKit
5
- class DTRQuestionnaireRenderingAttestationTest < Inferno::Test
5
+ class DTRRespiratoryRenderingAttestationTest < Inferno::Test
6
6
  include URLs
7
7
 
8
- id :dtr_questionnaire_rendering_attestation
8
+ id :dtr_resp_rendering_attest
9
9
  title 'Check that the client renders the questionnaire (Attestation)'
10
10
  description %(
11
11
  This test provides the tester an opportunity to observe their client application following the receipt of the
@@ -0,0 +1,14 @@
1
+ require_relative 'dtr_respiratory_rendering_attestation_test'
2
+
3
+ module DaVinciDTRTestKit
4
+ class DTRRespiratoryRenderingGroup < Inferno::TestGroup
5
+ id :dtr_resp_rendering
6
+ title 'Questionnaire Rendering'
7
+ description %(
8
+ Demonstrate the ability to render the Respiratory Assist Device Questionnaire.
9
+ )
10
+ run_as_group
11
+
12
+ test from: :dtr_resp_rendering_attest
13
+ end
14
+ end
@@ -1,10 +1,10 @@
1
- require_relative 'dtr_questionnaire_package_group'
2
- require_relative 'dtr_questionnaire_rendering_group'
3
- require_relative 'dtr_questionnaire_response_group'
1
+ require_relative 'dtr_respiratory_questionnaire_package_group'
2
+ require_relative 'dtr_respiratory_rendering_group'
3
+ require_relative 'dtr_respiratory_questionnaire_response_group'
4
4
 
5
5
  module DaVinciDTRTestKit
6
- class DTRSmartAppQuestionnaireWorkflowGroup < Inferno::TestGroup
7
- id :dtr_smart_app_questionnaire_workflow
6
+ class DTRSmartAppRespiratoryWorkflowGroup < Inferno::TestGroup
7
+ id :dtr_smart_app_resp_workflow
8
8
  title 'Respiratory Assist Device Questionnaire Workflow'
9
9
  description %(
10
10
  This workflow validates that a DTR SMART App can perform a full DTR
@@ -16,8 +16,8 @@ module DaVinciDTRTestKit
16
16
  3. Pre-populate the questionnaire response
17
17
  )
18
18
 
19
- group from: :dtr_questionnaire_package
20
- group from: :dtr_questionnaire_rendering
21
- group from: :dtr_questionnaire_response
19
+ group from: :dtr_resp_qp
20
+ group from: :dtr_resp_rendering
21
+ group from: :dtr_resp_qr
22
22
  end
23
23
  end