davinci_dtr_test_kit 0.17.0 → 0.18.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 (311) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/v220_full_ehr_suite_run_against_payer_suite.json.erb +19 -0
  3. data/config/presets/v220_payer_suite_run_against_full_ehr_suite.json.erb +76 -0
  4. data/lib/davinci_dtr_test_kit/cross_suite/fhirpath_utils.rb +52 -0
  5. data/lib/davinci_dtr_test_kit/cross_suite/generated/v2.2.0/dtr_base_questionnaire/metadata.yml +212 -0
  6. data/lib/davinci_dtr_test_kit/cross_suite/generated/v2.2.0/dtr_q_package_bundle/metadata.yml +39 -0
  7. data/lib/davinci_dtr_test_kit/cross_suite/generated/v2.2.0/dtr_qpackage_output_parameters/metadata.yml +30 -0
  8. data/lib/davinci_dtr_test_kit/cross_suite/generated/v2.2.0/dtr_questionnaire_adapt/metadata.yml +17 -0
  9. data/lib/davinci_dtr_test_kit/cross_suite/generated/v2.2.0/dtr_questionnaire_adapt_search/metadata.yml +91 -0
  10. data/lib/davinci_dtr_test_kit/cross_suite/generated/v2.2.0/dtr_std_questionnaire/metadata.yml +17 -0
  11. data/lib/davinci_dtr_test_kit/cross_suite/generated/v2.2.0/metadata.yml +403 -0
  12. data/lib/davinci_dtr_test_kit/cross_suite/generated_profile_metadata.rb +22 -0
  13. data/lib/davinci_dtr_test_kit/cross_suite/response_selection_utils.rb +85 -0
  14. data/lib/davinci_dtr_test_kit/{cql_test.rb → cross_suite/v2.0.1/cql_test.rb} +3 -3
  15. data/lib/davinci_dtr_test_kit/cross_suite/v2.2.0/dtr_conformance_verification.rb +21 -0
  16. data/lib/davinci_dtr_test_kit/cross_suite/v2.2.0/multi_request_message_helper.rb +35 -0
  17. data/lib/davinci_dtr_test_kit/cross_suite/v2.2.0/questionnaire_helper.rb +162 -0
  18. data/lib/davinci_dtr_test_kit/{dtr_client_options.rb → full_ehr/dtr_full_ehr_options.rb} +1 -1
  19. data/lib/davinci_dtr_test_kit/{endpoints → full_ehr/endpoints}/mock_payer.rb +9 -3
  20. data/lib/davinci_dtr_test_kit/{endpoints → full_ehr/endpoints}/mock_udap_smart_server/token_endpoint.rb +2 -2
  21. data/lib/davinci_dtr_test_kit/full_ehr/fixture_loader.rb +37 -0
  22. data/lib/davinci_dtr_test_kit/full_ehr/fixtures/dinner_adaptive/dinner_order_adaptive_next_question_template.json +243 -0
  23. data/lib/davinci_dtr_test_kit/full_ehr/fixtures/dinner_adaptive/parameters_questionnaire_dinner_order_adaptive.json +104 -0
  24. data/lib/davinci_dtr_test_kit/full_ehr/fixtures/dinner_static/parameters_questionnaire_dinner_order_static.json +291 -0
  25. data/lib/davinci_dtr_test_kit/full_ehr/fixtures/empty_templates/next_question_template_empty.json +1 -0
  26. data/lib/davinci_dtr_test_kit/full_ehr/fixtures/empty_templates/parameters_questionnaire_package_empty.json +9 -0
  27. data/lib/davinci_dtr_test_kit/full_ehr/short_circuit_interaction_verification.rb +73 -0
  28. data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire/custom → full_ehr/v2.0.1/adaptive_custom}/dtr_custom_next_question_response_validation_test.rb +2 -1
  29. data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire/custom → full_ehr/v2.0.1/adaptive_custom}/dtr_full_ehr_custom_adaptive_request_test.rb +1 -1
  30. data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire/dinner_order → full_ehr/v2.0.1/adaptive_dinner}/dtr_adaptive_next_question_retrieval_group.rb +3 -3
  31. data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire/dinner_order → full_ehr/v2.0.1/adaptive_dinner}/dtr_full_ehr_adaptive_initial_retrieval_group.rb +5 -5
  32. data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire → full_ehr/v2.0.1/adaptive_interaction}/dtr_adaptive_next_question_request_test.rb +1 -1
  33. data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire → full_ehr/v2.0.1/adaptive_interaction}/dtr_adaptive_next_question_request_validation_test.rb +1 -1
  34. data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire → full_ehr/v2.0.1/adaptive_interaction}/dtr_adaptive_response_validation_test.rb +2 -2
  35. data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire/dinner_order → full_ehr/v2.0.1}/dtr_full_ehr_adaptive_dinner_workflow_group.rb +7 -7
  36. data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire/custom → full_ehr/v2.0.1}/dtr_full_ehr_custom_adaptive_workflow_group.rb +18 -16
  37. data/lib/davinci_dtr_test_kit/{client_groups/custom_static → full_ehr/v2.0.1}/dtr_full_ehr_custom_static_workflow_group.rb +11 -11
  38. data/lib/davinci_dtr_test_kit/{client_groups/must_support → full_ehr/v2.0.1}/dtr_full_ehr_questionnaire_must_support_group.rb +8 -7
  39. data/lib/davinci_dtr_test_kit/{client_groups/dinner_static → full_ehr/v2.0.1}/dtr_full_ehr_static_dinner_workflow_group.rb +7 -7
  40. data/lib/davinci_dtr_test_kit/{dtr_full_ehr_suite.rb → full_ehr/v2.0.1/dtr_full_ehr_suite.rb} +23 -20
  41. data/lib/davinci_dtr_test_kit/{client_groups/payer_registration/dtr_client_registration_group.rb → full_ehr/v2.0.1/dtr_payer_registration_group.rb} +8 -8
  42. data/lib/davinci_dtr_test_kit/{endpoints/mock_payer/next_question_endpoint.rb → full_ehr/v2.0.1/full_ehr_next_question_endpoint.rb} +18 -7
  43. data/lib/davinci_dtr_test_kit/{endpoints/mock_payer/questionnaire_package_endpoint.rb → full_ehr/v2.0.1/full_ehr_questionnaire_package_endpoint.rb} +22 -7
  44. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/must_support/dtr_full_ehr_ms_questionnaire_package_request_test.rb +1 -1
  45. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/must_support/dtr_must_support_attestation_test.rb +2 -1
  46. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/must_support/dtr_questionnaire_must_support_test.rb +3 -2
  47. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/payer_registration/configuration_display_smart_test.rb +1 -1
  48. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/payer_registration/configuration_display_udap_test.rb +1 -1
  49. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_custom_questionnaire_expressions_test.rb +3 -2
  50. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_custom_questionnaire_extensions_test.rb +3 -2
  51. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_custom_questionnaire_libraries_test.rb +3 -2
  52. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_custom_questionnaire_package_validation_test.rb +3 -2
  53. data/lib/davinci_dtr_test_kit/{client_groups/full_ehr → full_ehr/v2.0.1/shared}/dtr_full_ehr_adaptive_request_test.rb +1 -1
  54. data/lib/davinci_dtr_test_kit/{client_groups/full_ehr → full_ehr/v2.0.1/shared}/dtr_full_ehr_launch_attestation_test.rb +1 -1
  55. data/lib/davinci_dtr_test_kit/{client_groups/full_ehr → full_ehr/v2.0.1/shared}/dtr_full_ehr_prepopulation_attestation_test.rb +1 -1
  56. data/lib/davinci_dtr_test_kit/{client_groups/full_ehr → full_ehr/v2.0.1/shared}/dtr_full_ehr_prepopulation_override_attestation_test.rb +1 -1
  57. data/lib/davinci_dtr_test_kit/{client_groups/full_ehr → full_ehr/v2.0.1/shared}/dtr_full_ehr_questionnaire_package_request_test.rb +1 -1
  58. data/lib/davinci_dtr_test_kit/{client_groups/full_ehr → full_ehr/v2.0.1/shared}/dtr_full_ehr_questionnaire_response_conformance_test.rb +1 -1
  59. data/lib/davinci_dtr_test_kit/{client_groups/full_ehr → full_ehr/v2.0.1/shared}/dtr_full_ehr_questionnaire_response_correctness_test.rb +1 -1
  60. data/lib/davinci_dtr_test_kit/{client_groups/full_ehr → full_ehr/v2.0.1/shared}/dtr_full_ehr_store_attestation_test.rb +1 -1
  61. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_prepopulation_attestation_test.rb +1 -1
  62. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_prepopulation_override_attestation_test.rb +1 -1
  63. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_questionnaire_package_request_validation_test.rb +1 -1
  64. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_questionnaire_response_basic_conformance_test.rb +2 -2
  65. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_questionnaire_response_prepopulation_test.rb +1 -1
  66. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_rendering_attestation_test.rb +1 -1
  67. data/lib/davinci_dtr_test_kit/{client_groups/dinner_static → full_ehr/v2.0.1/static_dinner}/dtr_static_dinner_enabled_questions_attestation_test.rb +1 -1
  68. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/dtr_full_ehr_abstract_adaptive_group.rb +87 -0
  69. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/dtr_full_ehr_abstract_standard_group.rb +59 -0
  70. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/dtr_full_ehr_suite.rb +145 -0
  71. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/dtr_full_ehr_suite_description_v220.md +254 -0
  72. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/full_ehr_next_question_endpoint.rb +391 -0
  73. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/full_ehr_questionnaire_package_endpoint.rb +206 -0
  74. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/interaction/adaptive_questionnaires_completed_test.rb +108 -0
  75. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/interaction/interaction_wait_test.rb +177 -0
  76. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/interaction/ui_display_and_interaction_attestation_test.rb +132 -0
  77. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/must_support/dtr_additional_questionnaires_interaction_group.rb +74 -0
  78. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/must_support/dtr_questionnaire_adaptive_must_support_test.rb +45 -0
  79. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/must_support/dtr_questionnaire_base_must_support_test.rb +43 -0
  80. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/must_support/dtr_questionnaire_standard_must_support_test.rb +45 -0
  81. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/next_question_template_questionnaires.rb +21 -0
  82. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/request/dtr_next_question_request_validation_test.rb +85 -0
  83. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/request/dtr_questionnaire_package_request_validation_test.rb +89 -0
  84. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/response/dtr_next_question_response_validation_test.rb +85 -0
  85. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/response/dtr_questionnaire_package_response_validation_test.rb +77 -0
  86. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/workflows/dtr_full_ehr_workflow_adaptive_group.rb +24 -0
  87. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/workflows/dtr_full_ehr_workflow_standard_group.rb +21 -0
  88. data/lib/davinci_dtr_test_kit/generator/ig_metadata.rb +21 -0
  89. data/lib/davinci_dtr_test_kit/generator/profile_metadata_extractor.rb +57 -0
  90. data/lib/davinci_dtr_test_kit/generator.rb +117 -0
  91. data/lib/davinci_dtr_test_kit/igs/davinci_dtr_2.2.0.tgz +0 -0
  92. data/lib/davinci_dtr_test_kit/{dtr_options.rb → light_ehr/dtr_light_ehr_options.rb} +1 -1
  93. data/lib/davinci_dtr_test_kit/{dtr_light_ehr_suite.rb → light_ehr/v2.0.1/dtr_light_ehr_suite.rb} +21 -10
  94. data/lib/davinci_dtr_test_kit/{client_groups/light_ehr → light_ehr/v2.0.1}/dtr_light_ehr_supported_endpoints_group.rb +5 -5
  95. data/lib/davinci_dtr_test_kit/{client_groups/light_ehr → light_ehr/v2.0.1}/dtr_smart_ehr_launch.rb +3 -3
  96. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/communication_request/communication_request_read.rb +1 -1
  97. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/coverage/coverage_read.rb +1 -1
  98. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/device_request/device_request_read.rb +1 -1
  99. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/encounter/encounter_read.rb +1 -1
  100. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/medication_request/medication_request_read.rb +1 -1
  101. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/nutrition_order/nutrition_order_read.rb +1 -1
  102. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/questionnaire_response_create.rb +1 -1
  103. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/questionnaire_response_update.rb +1 -1
  104. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/service_request/service_request_read.rb +1 -1
  105. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/task/task_create.rb +1 -1
  106. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/task/task_read.rb +1 -1
  107. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/task/task_update.rb +1 -1
  108. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/vision_prescription/vision_prescription_read.rb +1 -1
  109. data/lib/davinci_dtr_test_kit/{client_groups/light_ehr → light_ehr/v2.0.1/supported_endpoints}/dtr_light_ehr_supported_payers_accept_header_test.rb +3 -2
  110. data/lib/davinci_dtr_test_kit/{client_groups/light_ehr → light_ehr/v2.0.1/supported_endpoints}/dtr_light_ehr_supported_payers_config_test.rb +2 -1
  111. data/lib/davinci_dtr_test_kit/{client_groups/light_ehr → light_ehr/v2.0.1/supported_endpoints}/dtr_light_ehr_supported_payers_endpoint_test.rb +2 -1
  112. data/lib/davinci_dtr_test_kit/{client_groups/light_ehr → light_ehr/v2.0.1/supported_endpoints}/dtr_light_ehr_supported_payers_use_test.rb +2 -1
  113. data/lib/davinci_dtr_test_kit/{client_groups/light_ehr → light_ehr/v2.0.1/supported_endpoints}/dtr_light_ehr_supported_payers_user_response_test.rb +5 -3
  114. data/lib/davinci_dtr_test_kit/metadata.rb +13 -68
  115. data/lib/davinci_dtr_test_kit/requirements/davinci_dtr_test_kit_requirements.csv +216 -0
  116. data/lib/davinci_dtr_test_kit/requirements/generated/dtr_full_ehr_requirements_coverage.csv +1 -1
  117. data/lib/davinci_dtr_test_kit/requirements/generated/dtr_full_ehr_v220_requirements_coverage.csv +1 -0
  118. data/lib/davinci_dtr_test_kit/requirements/generated/dtr_light_ehr_requirements_coverage.csv +1 -1
  119. data/lib/davinci_dtr_test_kit/requirements/generated/dtr_payer_server_requirements_coverage.csv +1 -1
  120. data/lib/davinci_dtr_test_kit/requirements/generated/dtr_payer_server_v220_requirements_coverage.csv +114 -0
  121. data/lib/davinci_dtr_test_kit/requirements/generated/dtr_smart_app_requirements_coverage.csv +1 -1
  122. data/lib/davinci_dtr_test_kit/requirements/hl7.fhir.us.davinci-dtr_2.2.0_requirements.xlsx +0 -0
  123. data/lib/davinci_dtr_test_kit/{endpoints/mock_payer → server/endpoints}/next_question_proxy_endpoint.rb +2 -0
  124. data/lib/davinci_dtr_test_kit/{endpoints/mock_payer → server/endpoints}/questionnaire_package_proxy_endpoint.rb +2 -0
  125. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/adaptive_form_libraries_test.rb +2 -1
  126. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/adaptive_form_questionnaire_expressions_test.rb +2 -1
  127. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/adaptive_form_questionnaire_extensions_test.rb +2 -1
  128. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/adaptive_next_questionnaire_expressions_test.rb +2 -1
  129. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/adaptive_next_questionnaire_extensions_test.rb +2 -1
  130. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_adaptive_request_test.rb +2 -1
  131. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_adaptive_request_validation_test.rb +3 -1
  132. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_adaptive_response_bundles_validation_test.rb +3 -1
  133. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_adaptive_response_search_validation_test.rb +3 -1
  134. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_adaptive_response_validation_test.rb +4 -2
  135. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_next_request_validation_test.rb +3 -1
  136. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_next_response_validation_test.rb +3 -1
  137. data/lib/davinci_dtr_test_kit/{dtr_payer_server_suite.rb → server/v2.0.1/dtr_payer_server_suite.rb} +13 -10
  138. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1}/payer_server_adaptive_group.rb +13 -13
  139. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1}/payer_server_static_group.rb +6 -6
  140. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/static_forms}/static_form_libraries_test.rb +2 -1
  141. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/static_forms}/static_form_questionnaire_expressions_test.rb +2 -1
  142. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/static_forms}/static_form_questionnaire_extensions_test.rb +2 -1
  143. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/static_forms}/static_form_request_test.rb +4 -2
  144. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/static_forms}/static_form_request_validation_test.rb +3 -2
  145. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/static_forms}/static_form_response_validation_test.rb +5 -3
  146. data/lib/davinci_dtr_test_kit/server/v2.2.0/client_simulation.rb +297 -0
  147. data/lib/davinci_dtr_test_kit/server/v2.2.0/dtr_payer_server_capability_statement_test.rb +73 -0
  148. data/lib/davinci_dtr_test_kit/server/v2.2.0/dtr_payer_server_suite.rb +322 -0
  149. data/lib/davinci_dtr_test_kit/server/v2.2.0/dtr_payer_server_suite_description_v220.md +37 -0
  150. data/lib/davinci_dtr_test_kit/server/v2.2.0/interaction_test.rb +97 -0
  151. data/lib/davinci_dtr_test_kit/server/v2.2.0/log_questionnaire_errors_support_test.rb +57 -0
  152. data/lib/davinci_dtr_test_kit/server/v2.2.0/must_support/questionnaire_adaptive_must_support_test.rb +47 -0
  153. data/lib/davinci_dtr_test_kit/server/v2.2.0/must_support/questionnaire_adaptive_search_must_support_test.rb +40 -0
  154. data/lib/davinci_dtr_test_kit/server/v2.2.0/must_support/questionnaire_base_must_support_test.rb +40 -0
  155. data/lib/davinci_dtr_test_kit/server/v2.2.0/must_support/questionnaire_package_bundle_must_support_test.rb +38 -0
  156. data/lib/davinci_dtr_test_kit/server/v2.2.0/must_support/questionnaire_package_output_parameters_must_support_test.rb +37 -0
  157. data/lib/davinci_dtr_test_kit/server/v2.2.0/must_support/questionnaire_standard_must_support_test.rb +39 -0
  158. data/lib/davinci_dtr_test_kit/server/v2.2.0/next_question_request_validation_test.rb +45 -0
  159. data/lib/davinci_dtr_test_kit/server/v2.2.0/next_question_support/adaptive_questionnaire_endpoint_test.rb +98 -0
  160. data/lib/davinci_dtr_test_kit/server/v2.2.0/next_question_support/invalid_questionnaire_response_test.rb +43 -0
  161. data/lib/davinci_dtr_test_kit/server/v2.2.0/next_question_support/next_contained_questionnaire_response_references_test.rb +46 -0
  162. data/lib/davinci_dtr_test_kit/server/v2.2.0/next_question_support/next_question_response_references_test.rb +56 -0
  163. data/lib/davinci_dtr_test_kit/server/v2.2.0/next_question_support/next_question_response_validation_test.rb +67 -0
  164. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/contained_binary_test.rb +58 -0
  165. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/contained_binary_validation.rb +128 -0
  166. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/cql_library_validation_test.rb +58 -0
  167. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/questionnaire_design_support.rb +65 -0
  168. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/questionnaire_expression_elm_test.rb +81 -0
  169. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/questionnaire_expression_language_test.rb +63 -0
  170. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/questionnaire_prepopulation_test.rb +42 -0
  171. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/questionnaire_relevance_logic_test.rb +40 -0
  172. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_operation_validation.rb +440 -0
  173. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_request_validation_test.rb +42 -0
  174. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/adaptive_questionnaire_response_contained_questionnaire_test.rb +127 -0
  175. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/adaptive_questionnaire_response_validation_test.rb +61 -0
  176. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/contained_questionnaire_response_references_test.rb +42 -0
  177. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/dtr_server_no_custom_extension_test.rb +184 -0
  178. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/dtr_server_questionnaire_not_found_test.rb +76 -0
  179. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/dtr_server_questionnaire_package_contents_test.rb +89 -0
  180. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/initial_questionnaire_response_test.rb +132 -0
  181. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/questionnaire_package_input_type_test.rb +110 -0
  182. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/questionnaire_references_version_specific_test.rb +79 -0
  183. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/questionnaire_response_questionnaire_canonical_test.rb +89 -0
  184. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/questionnaire_response_references_test.rb +51 -0
  185. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/questionnaire_response_validation_test.rb +63 -0
  186. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/source_data_error_test.rb +43 -0
  187. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/value_set_validation_test.rb +90 -0
  188. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_response_reference_validation.rb +133 -0
  189. data/lib/davinci_dtr_test_kit/server/v2.2.0/value_set_expand_support/small_value_set_expansion_test.rb +120 -0
  190. data/lib/davinci_dtr_test_kit/server/v2.2.0/value_set_expand_support/value_set_expansion_test.rb +51 -0
  191. data/lib/davinci_dtr_test_kit/server/v2.2.0/value_set_expand_support/value_set_expansion_validation.rb +58 -0
  192. data/lib/davinci_dtr_test_kit/{endpoints → smart_app/endpoints}/mock_authorization/token_endpoint.rb +1 -1
  193. data/lib/davinci_dtr_test_kit/{endpoints → smart_app/endpoints}/mock_ehr/fhir_get_endpoint.rb +1 -1
  194. data/lib/davinci_dtr_test_kit/smart_app/endpoints/mock_payer/smart_app_next_question_endpoint.rb +12 -0
  195. data/lib/davinci_dtr_test_kit/smart_app/endpoints/mock_payer/smart_app_questionnaire_package_endpoint.rb +12 -0
  196. data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire/custom → smart_app/v2.0.1/adaptive_custom}/dtr_smart_app_custom_adaptive_workflow_group.rb +17 -15
  197. data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire/dinner_order → smart_app/v2.0.1/adaptive_dinner}/dtr_smart_app_adaptive_dinner_workflow_group.rb +5 -5
  198. data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire/dinner_order → smart_app/v2.0.1/adaptive_dinner}/dtr_smart_app_adaptive_initial_retrieval_group.rb +4 -4
  199. data/lib/davinci_dtr_test_kit/{auth_groups → smart_app/v2.0.1/auth}/token_request_test.rb +1 -1
  200. data/lib/davinci_dtr_test_kit/{client_groups/custom_static → smart_app/v2.0.1}/dtr_smart_app_custom_static_workflow_group.rb +11 -11
  201. data/lib/davinci_dtr_test_kit/{client_groups/must_support → smart_app/v2.0.1}/dtr_smart_app_questionnaire_must_support_group.rb +8 -7
  202. data/lib/davinci_dtr_test_kit/{client_groups/respiratory → smart_app/v2.0.1}/dtr_smart_app_respiratory_workflow_group.rb +3 -3
  203. data/lib/davinci_dtr_test_kit/{client_groups/dinner_static → smart_app/v2.0.1}/dtr_smart_app_static_dinner_workflow_group.rb +7 -7
  204. data/lib/davinci_dtr_test_kit/{dtr_smart_app_suite.rb → smart_app/v2.0.1/dtr_smart_app_suite.rb} +25 -21
  205. data/lib/davinci_dtr_test_kit/{docs → smart_app/v2.0.1}/dtr_smart_app_suite_description_v201.md +8 -0
  206. data/lib/davinci_dtr_test_kit/{client_groups → smart_app/v2.0.1}/must_support/dtr_smart_app_ms_questionnaire_package_request_test.rb +2 -2
  207. data/lib/davinci_dtr_test_kit/{auth_groups → smart_app/v2.0.1}/oauth2_authentication_group.rb +2 -2
  208. data/lib/davinci_dtr_test_kit/{client_groups/respiratory → smart_app/v2.0.1/static_respiratory}/dtr_respiratory_questionnaire_package_group.rb +1 -1
  209. data/lib/davinci_dtr_test_kit/{client_groups/respiratory → smart_app/v2.0.1/static_respiratory}/dtr_respiratory_questionnaire_package_request_test.rb +1 -1
  210. data/lib/davinci_dtr_test_kit/{client_groups/respiratory → smart_app/v2.0.1/static_respiratory}/dtr_respiratory_questionnaire_response_group.rb +2 -2
  211. data/lib/davinci_dtr_test_kit/{client_groups/respiratory → smart_app/v2.0.1/static_respiratory}/dtr_respiratory_questionnaire_response_save_test.rb +1 -1
  212. data/lib/davinci_dtr_test_kit/{client_groups/respiratory → smart_app/v2.0.1/static_respiratory}/dtr_respiratory_rendering_attestation_test.rb +1 -1
  213. data/lib/davinci_dtr_test_kit/{client_groups/smart_app → smart_app/v2.0.1/tests}/dtr_smart_app_adaptive_request_test.rb +1 -1
  214. data/lib/davinci_dtr_test_kit/{client_groups/smart_app → smart_app/v2.0.1/tests}/dtr_smart_app_prepopulation_attestation_test.rb +1 -1
  215. data/lib/davinci_dtr_test_kit/{client_groups/smart_app → smart_app/v2.0.1/tests}/dtr_smart_app_prepopulation_override_attestation_test.rb +1 -1
  216. data/lib/davinci_dtr_test_kit/{client_groups/smart_app → smart_app/v2.0.1/tests}/dtr_smart_app_questionnaire_package_request_test.rb +1 -1
  217. data/lib/davinci_dtr_test_kit/{client_groups/smart_app → smart_app/v2.0.1/tests}/dtr_smart_app_questionnaire_response_correctness_test.rb +1 -1
  218. data/lib/davinci_dtr_test_kit/{client_groups/smart_app → smart_app/v2.0.1/tests}/dtr_smart_app_questionnaire_response_save_test.rb +1 -1
  219. data/lib/davinci_dtr_test_kit/{client_groups/smart_app → smart_app/v2.0.1/tests}/dtr_smart_app_saving_questionnaire_response_group.rb +1 -1
  220. data/lib/davinci_dtr_test_kit/tags.rb +2 -0
  221. data/lib/davinci_dtr_test_kit/version.rb +2 -2
  222. data/lib/davinci_dtr_test_kit.rb +6 -4
  223. metadata +329 -215
  224. data/lib/davinci_dtr_test_kit/certs/InfernoCA.key +0 -52
  225. data/lib/davinci_dtr_test_kit/certs/InfernoCA.pem +0 -35
  226. data/lib/davinci_dtr_test_kit/certs/TestKit.pem +0 -32
  227. data/lib/davinci_dtr_test_kit/certs/TestKitPrivateKey.key +0 -28
  228. data/lib/davinci_dtr_test_kit/endpoints/mock_payer/full_ehr_next_question_endpoint.rb +0 -30
  229. data/lib/davinci_dtr_test_kit/endpoints/mock_payer/full_ehr_questionnaire_package_endpoint.rb +0 -31
  230. data/lib/davinci_dtr_test_kit/fixture_loader.rb +0 -21
  231. /data/lib/davinci_dtr_test_kit/{endpoints → cross_suite}/cors.rb +0 -0
  232. /data/lib/davinci_dtr_test_kit/{dtr_questionnaire_response_validation.rb → cross_suite/v2.0.1/dtr_questionnaire_response_validation.rb} +0 -0
  233. /data/lib/davinci_dtr_test_kit/{descriptions.rb → full_ehr/descriptions.rb} +0 -0
  234. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/dinner_adaptive/dinner_order_adaptive_next_question_burrito.json +0 -0
  235. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/dinner_adaptive/dinner_order_adaptive_next_question_hamburger.json +0 -0
  236. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/dinner_adaptive/dinner_order_adaptive_next_question_initial.json +0 -0
  237. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/dinner_adaptive/questionnaire_dinner_order_adaptive.json +0 -0
  238. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/dinner_static/questionnaire_dinner_order_static.json +0 -0
  239. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/dinner_static/questionnaire_response_dinner_order_static.json +0 -0
  240. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/respiratory_assist_device/pre_populated_questionnaire_response.json +0 -0
  241. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/respiratory_assist_device/questionnaire_package.json +0 -0
  242. /data/lib/davinci_dtr_test_kit/{fixtures.rb → full_ehr/fixtures.rb} +0 -0
  243. /data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire/dinner_order → full_ehr/v2.0.1/adaptive_dinner}/dtr_adaptive_completion_group.rb +0 -0
  244. /data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire/dinner_order → full_ehr/v2.0.1/adaptive_dinner}/dtr_adaptive_followup_questions_group.rb +0 -0
  245. /data/lib/davinci_dtr_test_kit/{client_groups/auth → full_ehr/v2.0.1}/dtr_client_payer_auth_smart_group.rb +0 -0
  246. /data/lib/davinci_dtr_test_kit/{client_groups/auth → full_ehr/v2.0.1}/dtr_client_payer_auth_udap_group.rb +0 -0
  247. /data/lib/davinci_dtr_test_kit/{docs → full_ehr/v2.0.1}/dtr_full_ehr_suite_description_v201.md +0 -0
  248. /data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/must_support/questionnaire_must_support_elements.rb +0 -0
  249. /data/lib/davinci_dtr_test_kit/{client_groups/full_ehr → full_ehr/v2.0.1/shared}/dtr_full_ehr_saving_questionnaire_response_group.rb +0 -0
  250. /data/lib/davinci_dtr_test_kit/{create_test.rb → light_ehr/create_test.rb} +0 -0
  251. /data/lib/davinci_dtr_test_kit/{endpoints/mock_payer → light_ehr/endpoints}/light_ehr_supported_payer_endpoint.rb +0 -0
  252. /data/lib/davinci_dtr_test_kit/{read_test.rb → light_ehr/read_test.rb} +0 -0
  253. /data/lib/davinci_dtr_test_kit/{update_test.rb → light_ehr/update_test.rb} +0 -0
  254. /data/lib/davinci_dtr_test_kit/{docs → light_ehr/v2.0.1}/dtr_light_ehr_suite_description_v201.md +0 -0
  255. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/communication_request/communication_request_must_support_test.rb +0 -0
  256. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/communication_request/communication_request_validation.rb +0 -0
  257. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/communication_request/metadata.yml +0 -0
  258. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/communication_request_group.rb +0 -0
  259. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/coverage/coverage_must_support_test.rb +0 -0
  260. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/coverage/coverage_validation.rb +0 -0
  261. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/coverage/metadata.yml +0 -0
  262. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/coverage_group.rb +0 -0
  263. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/device_request/device_request_must_support_test.rb +0 -0
  264. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/device_request/device_request_validation.rb +0 -0
  265. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/device_request/metadata.yml +0 -0
  266. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/device_request_group.rb +0 -0
  267. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/encounter/encounter_must_support_test.rb +0 -0
  268. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/encounter/encounter_validation.rb +0 -0
  269. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/encounter/metadata.yml +0 -0
  270. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/encounter_group.rb +0 -0
  271. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/medication_request/medication_request_must_support_test.rb +0 -0
  272. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/medication_request/medication_request_validation.rb +0 -0
  273. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/medication_request/metadata.yml +0 -0
  274. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/medication_request_group.rb +0 -0
  275. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/nutrition_order/metadata.yml +0 -0
  276. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/nutrition_order/nutrition_order_must_support_test.rb +0 -0
  277. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/nutrition_order/nutrition_order_validation.rb +0 -0
  278. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/nutrition_order_group.rb +0 -0
  279. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/metadata.yml +0 -0
  280. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/questionnaire_response_context_search.rb +0 -0
  281. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/questionnaire_response_must_support_test.rb +0 -0
  282. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/questionnaire_response_patient_search.rb +0 -0
  283. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/questionnaire_response_read.rb +0 -0
  284. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/questionnaire_response_validation.rb +0 -0
  285. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response_group.rb +0 -0
  286. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/service_request/metadata.yml +0 -0
  287. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/service_request/service_request_must_support_test.rb +0 -0
  288. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/service_request/service_request_validation.rb +0 -0
  289. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/service_request_group.rb +0 -0
  290. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/task/metadata.yml +0 -0
  291. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/task/task_must_support_test.rb +0 -0
  292. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/task/task_validation.rb +0 -0
  293. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/task_group.rb +0 -0
  294. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/vision_prescription/metadata.yml +0 -0
  295. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/vision_prescription/vision_prescription_must_support_test.rb +0 -0
  296. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/vision_prescription/vision_prescription_validation.rb +0 -0
  297. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/vision_prescription_group.rb +0 -0
  298. /data/lib/davinci_dtr_test_kit/{client_groups/light_ehr → light_ehr/v2.0.1/smart_ehr_launch}/fhir_context_coverage_test.rb +0 -0
  299. /data/lib/davinci_dtr_test_kit/{client_groups/light_ehr → light_ehr/v2.0.1/smart_ehr_launch}/fhir_context_references_test.rb +0 -0
  300. /data/lib/davinci_dtr_test_kit/{client_groups/light_ehr → light_ehr/v2.0.1/smart_ehr_launch}/fhir_launch_context_test.rb +0 -0
  301. /data/lib/davinci_dtr_test_kit/{endpoints/mock_authorization → server/endpoints}/simple_token_endpoint.rb +0 -0
  302. /data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_next_response_complete_test.rb +0 -0
  303. /data/lib/davinci_dtr_test_kit/{docs → server/v2.0.1}/dtr_payer_server_suite_description_v201.md +0 -0
  304. /data/lib/davinci_dtr_test_kit/{validation_test.rb → server/validation_test.rb} +0 -0
  305. /data/lib/davinci_dtr_test_kit/{endpoints → smart_app/endpoints}/mock_authorization/authorize_endpoint.rb +0 -0
  306. /data/lib/davinci_dtr_test_kit/{endpoints → smart_app/endpoints}/mock_authorization.rb +0 -0
  307. /data/lib/davinci_dtr_test_kit/{endpoints → smart_app/endpoints}/mock_ehr/questionnaire_response_endpoint.rb +0 -0
  308. /data/lib/davinci_dtr_test_kit/{endpoints → smart_app/endpoints}/mock_ehr.rb +0 -0
  309. /data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire/custom → smart_app/v2.0.1/adaptive_custom}/dtr_smart_app_custom_adaptive_request_test.rb +0 -0
  310. /data/lib/davinci_dtr_test_kit/{auth_groups → smart_app/v2.0.1/auth}/token_validation_test.rb +0 -0
  311. /data/lib/davinci_dtr_test_kit/{client_groups/respiratory → smart_app/v2.0.1/static_respiratory}/dtr_respiratory_rendering_group.rb +0 -0
@@ -1,5 +1,5 @@
1
1
  require_relative '../../descriptions'
2
- require_relative '../../urls'
2
+ require_relative '../../../urls'
3
3
 
4
4
  module DaVinciDTRTestKit
5
5
  class DTRAdaptiveNextQuestionRequestTest < Inferno::Test
@@ -1,4 +1,4 @@
1
- require_relative '../../urls'
1
+ require_relative '../../../urls'
2
2
 
3
3
  module DaVinciDTRTestKit
4
4
  class DTRAdaptiveNextQuestionRequestValidationTest < Inferno::Test
@@ -1,5 +1,5 @@
1
- require_relative '../../urls'
2
- require_relative '../../dtr_questionnaire_response_validation'
1
+ require_relative '../../../urls'
2
+ require_relative '../../../cross_suite/v2.0.1/dtr_questionnaire_response_validation'
3
3
 
4
4
  module DaVinciDTRTestKit
5
5
  class DTRAdaptiveResponseValidationTest < Inferno::Test
@@ -1,10 +1,10 @@
1
- require_relative '../../../tags'
2
- require_relative 'dtr_full_ehr_adaptive_initial_retrieval_group'
3
- require_relative '../../full_ehr/dtr_full_ehr_prepopulation_attestation_test'
4
- require_relative '../../full_ehr/dtr_full_ehr_prepopulation_override_attestation_test'
5
- require_relative 'dtr_adaptive_followup_questions_group'
6
- require_relative 'dtr_adaptive_completion_group'
7
- require_relative '../../full_ehr/dtr_full_ehr_store_attestation_test'
1
+ require_relative '../../tags'
2
+ require_relative 'adaptive_dinner/dtr_full_ehr_adaptive_initial_retrieval_group'
3
+ require_relative 'shared/dtr_full_ehr_prepopulation_attestation_test'
4
+ require_relative 'shared/dtr_full_ehr_prepopulation_override_attestation_test'
5
+ require_relative 'adaptive_dinner/dtr_adaptive_followup_questions_group'
6
+ require_relative 'adaptive_dinner/dtr_adaptive_completion_group'
7
+ require_relative 'shared/dtr_full_ehr_store_attestation_test'
8
8
 
9
9
  module DaVinciDTRTestKit
10
10
  class DTRFullEHRAdaptiveDinnerWorkflowGroup < Inferno::TestGroup
@@ -1,17 +1,17 @@
1
- require_relative '../../../tags'
2
- require_relative '../../full_ehr/dtr_full_ehr_launch_attestation_test'
3
- require_relative 'dtr_full_ehr_custom_adaptive_request_test'
4
- require_relative '../../shared/dtr_questionnaire_package_request_validation_test'
5
- require_relative '../dtr_adaptive_next_question_request_validation_test'
6
- require_relative '../dtr_adaptive_response_validation_test'
7
- require_relative '../../shared/dtr_custom_questionnaire_package_validation_test'
8
- require_relative '../../shared/dtr_custom_questionnaire_libraries_test'
9
- require_relative 'dtr_custom_next_question_response_validation_test'
10
- require_relative '../../shared/dtr_custom_questionnaire_extensions_test'
11
- require_relative '../../shared/dtr_custom_questionnaire_expressions_test'
12
- require_relative '../../shared/dtr_prepopulation_attestation_test'
13
- require_relative '../../shared/dtr_prepopulation_override_attestation_test'
14
- require_relative '../../full_ehr/dtr_full_ehr_store_attestation_test'
1
+ require_relative '../../tags'
2
+ require_relative 'shared/dtr_full_ehr_launch_attestation_test'
3
+ require_relative 'adaptive_custom/dtr_full_ehr_custom_adaptive_request_test'
4
+ require_relative 'shared/dtr_questionnaire_package_request_validation_test'
5
+ require_relative 'adaptive_interaction/dtr_adaptive_next_question_request_validation_test'
6
+ require_relative 'adaptive_interaction/dtr_adaptive_response_validation_test'
7
+ require_relative 'shared/dtr_custom_questionnaire_package_validation_test'
8
+ require_relative 'shared/dtr_custom_questionnaire_libraries_test'
9
+ require_relative 'adaptive_custom/dtr_custom_next_question_response_validation_test'
10
+ require_relative 'shared/dtr_custom_questionnaire_extensions_test'
11
+ require_relative 'shared/dtr_custom_questionnaire_expressions_test'
12
+ require_relative 'shared/dtr_prepopulation_attestation_test'
13
+ require_relative 'shared/dtr_prepopulation_override_attestation_test'
14
+ require_relative 'shared/dtr_full_ehr_store_attestation_test'
15
15
 
16
16
  module DaVinciDTRTestKit
17
17
  class DTRFullEHRCustomAdaptiveWorkflowGroup < Inferno::TestGroup
@@ -92,17 +92,19 @@ module DaVinciDTRTestKit
92
92
  # Test 8: verify the custom responses has the necessary extensions for pre-population
93
93
  test from: :dtr_custom_questionnaire_extensions do
94
94
  title %(
95
- [USER INPUT VERIFICATION] Custom Questionnaires for $next-question Responses contain extensions
95
+ Custom Questionnaires for $next-question Responses contain extensions
96
96
  necessary for pre-population
97
97
  )
98
+ simulation_verification
98
99
  input :custom_next_question_questionnaires
99
100
  end
100
101
  # Test 9: verify custom responses has necessary expressions for pre-population
101
102
  test from: :dtr_custom_questionnaire_expressions do
102
103
  title %(
103
- [USER INPUT VERIFICATION] Custom Questionnaires for $next-question Responses contain items with
104
+ Custom Questionnaires for $next-question Responses contain items with
104
105
  expressions necessary for pre-population
105
106
  )
107
+ simulation_verification
106
108
  input :custom_next_question_questionnaires
107
109
  end
108
110
  end
@@ -1,14 +1,14 @@
1
- require_relative '../shared/dtr_custom_questionnaire_package_validation_test'
2
- require_relative '../shared/dtr_custom_questionnaire_libraries_test'
3
- require_relative '../shared/dtr_custom_questionnaire_extensions_test'
4
- require_relative '../shared/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'
1
+ require_relative 'shared/dtr_custom_questionnaire_package_validation_test'
2
+ require_relative 'shared/dtr_custom_questionnaire_libraries_test'
3
+ require_relative 'shared/dtr_custom_questionnaire_extensions_test'
4
+ require_relative 'shared/dtr_custom_questionnaire_expressions_test'
5
+ require_relative 'shared/dtr_full_ehr_launch_attestation_test'
6
+ require_relative 'shared/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 'shared/dtr_full_ehr_saving_questionnaire_response_group'
12
12
 
13
13
  module DaVinciDTRTestKit
14
14
  class DTRFullEHRCustomStaticWorkflowGroup < Inferno::TestGroup
@@ -1,10 +1,10 @@
1
1
  require_relative '../../urls'
2
- require_relative 'dtr_full_ehr_ms_questionnaire_package_request_test'
3
- require_relative '../shared/dtr_questionnaire_package_request_validation_test'
4
- require_relative '../shared/dtr_custom_questionnaire_package_validation_test'
5
- require_relative 'dtr_must_support_attestation_test'
6
- require_relative 'dtr_questionnaire_must_support_test'
7
- require_relative 'questionnaire_must_support_elements'
2
+ require_relative 'must_support/dtr_full_ehr_ms_questionnaire_package_request_test'
3
+ require_relative 'shared/dtr_questionnaire_package_request_validation_test'
4
+ require_relative 'shared/dtr_custom_questionnaire_package_validation_test'
5
+ require_relative 'must_support/dtr_must_support_attestation_test'
6
+ require_relative 'must_support/dtr_questionnaire_must_support_test'
7
+ require_relative 'must_support/questionnaire_must_support_elements'
8
8
 
9
9
  module DaVinciDTRTestKit
10
10
  class DTRFullEHRQuestionnaireMustSupportGroup < Inferno::TestGroup
@@ -70,7 +70,8 @@ module DaVinciDTRTestKit
70
70
  test from: :dtr_custom_qp_validation
71
71
  # Test 4: must support test
72
72
  test from: :dtr_questionnaire_must_support,
73
- title: '[USER INPUT VALIDATION] All must support elements are provided in the static Questionnaire resources provided', # rubocop:disable Layout/LineLength
73
+ title: 'All must support elements are provided in the static Questionnaire resources provided',
74
+ simulation_verification: true,
74
75
  description: <<~DESCRIPTION
75
76
  The DTR client SHALL be able to handle all `mustSupport` elements defined in the
76
77
  [DTR Standard Questionnaire](http://hl7.org/fhir/us/davinci-dtr/StructureDefinition/dtr-std-questionnaire)
@@ -1,10 +1,10 @@
1
- require_relative '../full_ehr/dtr_full_ehr_launch_attestation_test'
2
- require_relative '../full_ehr/dtr_full_ehr_questionnaire_package_request_test'
3
- require_relative '../shared/dtr_questionnaire_package_request_validation_test'
4
- require_relative '../full_ehr/dtr_full_ehr_prepopulation_attestation_test'
5
- require_relative 'dtr_static_dinner_enabled_questions_attestation_test'
6
- require_relative '../full_ehr/dtr_full_ehr_prepopulation_override_attestation_test'
7
- require_relative '../full_ehr/dtr_full_ehr_saving_questionnaire_response_group'
1
+ require_relative 'shared/dtr_full_ehr_launch_attestation_test'
2
+ require_relative 'shared/dtr_full_ehr_questionnaire_package_request_test'
3
+ require_relative 'shared/dtr_questionnaire_package_request_validation_test'
4
+ require_relative 'shared/dtr_full_ehr_prepopulation_attestation_test'
5
+ require_relative 'static_dinner/dtr_static_dinner_enabled_questions_attestation_test'
6
+ require_relative 'shared/dtr_full_ehr_prepopulation_override_attestation_test'
7
+ require_relative 'shared/dtr_full_ehr_saving_questionnaire_response_group'
8
8
 
9
9
  module DaVinciDTRTestKit
10
10
  class DTRFullEHRStaticDinnerWorkflowGroup < Inferno::TestGroup
@@ -1,27 +1,26 @@
1
1
  require 'udap_security_test_kit'
2
2
  require 'smart_app_launch_test_kit'
3
- require_relative 'client_groups/custom_static/dtr_full_ehr_custom_static_workflow_group'
4
- require_relative 'client_groups/dinner_static/dtr_full_ehr_static_dinner_workflow_group'
5
- require_relative 'client_groups/adaptive_questionnaire/dinner_order/dtr_full_ehr_adaptive_dinner_workflow_group'
6
- require_relative 'client_groups/adaptive_questionnaire/custom/dtr_full_ehr_custom_adaptive_workflow_group'
7
- require_relative 'client_groups/payer_registration/dtr_client_registration_group'
8
- require_relative 'client_groups/must_support/dtr_full_ehr_questionnaire_must_support_group'
9
- require_relative 'client_groups/auth/dtr_client_payer_auth_smart_group'
10
- require_relative 'client_groups/auth/dtr_client_payer_auth_udap_group'
11
- require_relative 'endpoints/cors'
12
- require_relative 'endpoints/mock_udap_smart_server/token_endpoint'
13
- require_relative 'endpoints/mock_payer/full_ehr_questionnaire_package_endpoint'
14
- require_relative 'endpoints/mock_payer/full_ehr_next_question_endpoint'
15
- require_relative 'version'
16
- require_relative 'dtr_client_options'
3
+ require_relative 'dtr_full_ehr_custom_static_workflow_group'
4
+ require_relative 'dtr_full_ehr_static_dinner_workflow_group'
5
+ require_relative 'dtr_full_ehr_adaptive_dinner_workflow_group'
6
+ require_relative 'dtr_full_ehr_custom_adaptive_workflow_group'
7
+ require_relative 'dtr_payer_registration_group'
8
+ require_relative 'dtr_full_ehr_questionnaire_must_support_group'
9
+ require_relative 'dtr_client_payer_auth_smart_group'
10
+ require_relative 'dtr_client_payer_auth_udap_group'
11
+ require_relative '../../cross_suite/cors'
12
+ require_relative '../endpoints/mock_udap_smart_server/token_endpoint'
13
+ require_relative 'full_ehr_questionnaire_package_endpoint'
14
+ require_relative 'full_ehr_next_question_endpoint'
15
+ require_relative '../dtr_full_ehr_options'
17
16
 
18
17
  module DaVinciDTRTestKit
19
18
  class DTRFullEHRSuite < Inferno::TestSuite
20
19
  extend CORS
21
20
 
22
21
  id :dtr_full_ehr
23
- title 'Da Vinci DTR Full EHR Test Suite'
24
- description File.read(File.join(__dir__, 'docs', 'dtr_full_ehr_suite_description_v201.md'))
22
+ title 'Da Vinci DTR Full EHR Test Suite v2.0.1'
23
+ description File.read(File.join(__dir__, 'dtr_full_ehr_suite_description_v201.md'))
25
24
 
26
25
  links [
27
26
  {
@@ -55,11 +54,11 @@ module DaVinciDTRTestKit
55
54
  list_options: [
56
55
  {
57
56
  label: 'SMART Backend Services',
58
- value: DTRClientOptions::SMART_BACKEND_SERVICES_CONFIDENTIAL_ASYMMETRIC
57
+ value: DTRFullEHROptions::SMART_BACKEND_SERVICES_CONFIDENTIAL_ASYMMETRIC
59
58
  },
60
59
  {
61
60
  label: 'UDAP B2B Client Credentials',
62
- value: DTRClientOptions::UDAP_CLIENT_CREDENTIALS
61
+ value: DTRFullEHROptions::UDAP_CLIENT_CREDENTIALS
63
62
  }
64
63
  ]
65
64
 
@@ -70,6 +69,10 @@ module DaVinciDTRTestKit
70
69
  exclude_message do |message|
71
70
  message.message.match?(/\A\S+: \S+: URL value '.*' does not resolve/)
72
71
  end
72
+
73
+ validation_context do
74
+ snomedCT '731000124108'
75
+ end
73
76
  end
74
77
 
75
78
  allow_cors QUESTIONNAIRE_PACKAGE_PATH, NEXT_PATH
@@ -118,11 +121,11 @@ module DaVinciDTRTestKit
118
121
 
119
122
  group from: :dtr_client_payer_auth_smart,
120
123
  required_suite_options: {
121
- client_type: DTRClientOptions::SMART_BACKEND_SERVICES_CONFIDENTIAL_ASYMMETRIC
124
+ client_type: DTRFullEHROptions::SMART_BACKEND_SERVICES_CONFIDENTIAL_ASYMMETRIC
122
125
  }
123
126
  group from: :dtr_client_payer_auth_udap,
124
127
  required_suite_options: {
125
- client_type: DTRClientOptions::UDAP_CLIENT_CREDENTIALS
128
+ client_type: DTRFullEHROptions::UDAP_CLIENT_CREDENTIALS
126
129
  }
127
130
  end
128
131
  end
@@ -1,8 +1,8 @@
1
1
  require 'udap_security_test_kit'
2
2
  require 'smart_app_launch_test_kit'
3
- require_relative '../../dtr_client_options'
4
- require_relative 'configuration_display_smart_test'
5
- require_relative 'configuration_display_udap_test'
3
+ require_relative '../dtr_full_ehr_options'
4
+ require_relative 'payer_registration/configuration_display_smart_test'
5
+ require_relative 'payer_registration/configuration_display_udap_test'
6
6
 
7
7
  module DaVinciDTRTestKit
8
8
  class DTRPayerRegistrationGroup < Inferno::TestGroup
@@ -18,31 +18,31 @@ module DaVinciDTRTestKit
18
18
  # smart registration tests
19
19
  test from: :smart_client_registration_bsca_verification,
20
20
  required_suite_options: {
21
- client_type: DTRClientOptions::SMART_BACKEND_SERVICES_CONFIDENTIAL_ASYMMETRIC
21
+ client_type: DTRFullEHROptions::SMART_BACKEND_SERVICES_CONFIDENTIAL_ASYMMETRIC
22
22
  }
23
23
  test from: :dtr_client_payer_reg_smart_config_display,
24
24
  required_suite_options: {
25
- client_type: DTRClientOptions::SMART_BACKEND_SERVICES_CONFIDENTIAL_ASYMMETRIC
25
+ client_type: DTRFullEHROptions::SMART_BACKEND_SERVICES_CONFIDENTIAL_ASYMMETRIC
26
26
  }
27
27
 
28
28
  # udap registration tests
29
29
  test from: :udap_client_registration_interaction,
30
30
  required_suite_options: {
31
- client_type: DTRClientOptions::UDAP_CLIENT_CREDENTIALS
31
+ client_type: DTRFullEHROptions::UDAP_CLIENT_CREDENTIALS
32
32
  },
33
33
  config: {
34
34
  options: { endpoint_suite_id: :dtr_full_ehr }
35
35
  }
36
36
  test from: :udap_client_registration_cc_verification,
37
37
  required_suite_options: {
38
- client_type: DTRClientOptions::UDAP_CLIENT_CREDENTIALS
38
+ client_type: DTRFullEHROptions::UDAP_CLIENT_CREDENTIALS
39
39
  },
40
40
  config: {
41
41
  options: { endpoint_suite_id: :dtr_full_ehr }
42
42
  }
43
43
  test from: :dtr_client_payer_reg_udap_config_display,
44
44
  required_suite_options: {
45
- client_type: DTRClientOptions::UDAP_CLIENT_CREDENTIALS
45
+ client_type: DTRFullEHROptions::UDAP_CLIENT_CREDENTIALS
46
46
  }
47
47
  end
48
48
  end
@@ -1,14 +1,18 @@
1
- require_relative '../mock_authorization'
2
- require_relative '../mock_payer'
3
- require_relative '../../fixtures'
1
+ require 'udap_security_test_kit'
2
+ require_relative '../endpoints/mock_payer'
3
+ require_relative '../fixtures'
4
4
 
5
5
  module DaVinciDTRTestKit
6
6
  module MockPayer
7
- class NextQuestionEndpoint < Inferno::DSL::SuiteEndpoint
7
+ class FullEHRNextQuestionEndpoint < Inferno::DSL::SuiteEndpoint
8
8
  include MockPayer
9
9
 
10
10
  def test_run_identifier
11
- MockAuthorization.extract_client_id_from_bearer_token(request)
11
+ return request.params[:session_path] if request.params[:session_path].present?
12
+
13
+ UDAPSecurityTestKit::MockUDAPServer.issued_token_to_client_id(
14
+ request.headers['authorization']&.delete_prefix('Bearer ')
15
+ )
12
16
  end
13
17
 
14
18
  def tags
@@ -16,6 +20,8 @@ module DaVinciDTRTestKit
16
20
  end
17
21
 
18
22
  def make_response
23
+ return if response.status == 401 # set in update_result (expired token handling there)
24
+
19
25
  response.status = 200
20
26
  response.format = 'application/fhir+json'
21
27
  response.headers['Access-Control-Allow-Origin'] = '*'
@@ -46,6 +52,11 @@ module DaVinciDTRTestKit
46
52
  end
47
53
 
48
54
  def update_result
55
+ if UDAPSecurityTestKit::MockUDAPServer.request_has_expired_token?(request)
56
+ UDAPSecurityTestKit::MockUDAPServer.update_response_for_expired_token(response, 'Bearer token')
57
+ return
58
+ end
59
+
49
60
  results_repo.update_result(result.id, 'pass') unless test.config.options[:accepts_multiple_requests]
50
61
  end
51
62
 
@@ -57,8 +68,6 @@ module DaVinciDTRTestKit
57
68
 
58
69
  def build_questionnaire_next_response
59
70
  input_parameters = parse_fhir_object(request.body.string)
60
- return input_parameters if input_parameters.is_a?(FHIR::OperationOutcome)
61
-
62
71
  questionnaire_response = extract_questionnaire_response(input_parameters)
63
72
  return questionnaire_response if questionnaire_response.is_a?(FHIR::OperationOutcome)
64
73
 
@@ -83,6 +92,8 @@ module DaVinciDTRTestKit
83
92
  end
84
93
 
85
94
  questionnaire_response
95
+ rescue MockPayer::ParseError => e
96
+ operation_outcome('error', 'invalid', e.message)
86
97
  end
87
98
 
88
99
  def extract_questionnaire_response(input_parameters)
@@ -1,14 +1,18 @@
1
- require_relative '../mock_authorization'
2
- require_relative '../mock_payer'
3
- require_relative '../../fixtures'
1
+ require 'udap_security_test_kit'
2
+ require_relative '../endpoints/mock_payer'
3
+ require_relative '../fixtures'
4
4
 
5
5
  module DaVinciDTRTestKit
6
6
  module MockPayer
7
- class QuestionnairePackageEndpoint < Inferno::DSL::SuiteEndpoint
7
+ class FullEHRQuestionnairePackageEndpoint < Inferno::DSL::SuiteEndpoint
8
8
  include MockPayer
9
9
 
10
10
  def test_run_identifier
11
- MockAuthorization.extract_client_id_from_bearer_token(request)
11
+ return request.params[:session_path] if request.params[:session_path].present?
12
+
13
+ UDAPSecurityTestKit::MockUDAPServer.issued_token_to_client_id(
14
+ request.headers['authorization']&.delete_prefix('Bearer ')
15
+ )
12
16
  end
13
17
 
14
18
  def tags
@@ -16,6 +20,8 @@ module DaVinciDTRTestKit
16
20
  end
17
21
 
18
22
  def make_response
23
+ return if response.status == 401 # set in update_result (expired token handling there)
24
+
19
25
  response.status = 200
20
26
  response.format = 'application/fhir+json'
21
27
  response.headers['Access-Control-Allow-Origin'] = '*'
@@ -29,14 +35,21 @@ module DaVinciDTRTestKit
29
35
  end
30
36
 
31
37
  def update_result
38
+ if UDAPSecurityTestKit::MockUDAPServer.request_has_expired_token?(request)
39
+ UDAPSecurityTestKit::MockUDAPServer.update_response_for_expired_token(response, 'Bearer token')
40
+ return
41
+ end
42
+
32
43
  results_repo.update_result(result.id, 'pass') unless test.config.options[:accepts_multiple_requests]
33
44
  end
34
45
 
35
46
  private
36
47
 
37
- def build_questionnaire_package_response
48
+ def build_questionnaire_package_response # rubocop:disable Metrics/CyclomaticComplexity
38
49
  input_parameters = parse_fhir_object(request.body.string)
39
- return input_parameters if input_parameters.is_a?(FHIR::OperationOutcome)
50
+ unless input_parameters.is_a?(FHIR::Parameters)
51
+ return operation_outcome('error', 'invalid', 'Request body must be a FHIR Parameters resource.')
52
+ end
40
53
 
41
54
  questionnaire_package = Fixtures.questionnaire_package_for_test(test.id)
42
55
  unless questionnaire_package
@@ -58,6 +71,8 @@ module DaVinciDTRTestKit
58
71
  outcome_param = build_outcome_param(issues)
59
72
 
60
73
  FHIR::Parameters.new(parameter: [package_bundle_param, outcome_param])
74
+ rescue MockPayer::ParseError => e
75
+ operation_outcome('error', 'invalid', e.message)
61
76
  end
62
77
 
63
78
  def find_questionnaire_canonical(questionnaire_package)
@@ -1,5 +1,5 @@
1
1
  require_relative '../../descriptions'
2
- require_relative '../../urls'
2
+ require_relative '../../../urls'
3
3
  require_relative 'questionnaire_must_support_elements'
4
4
 
5
5
  module DaVinciDTRTestKit
@@ -1,8 +1,9 @@
1
1
  require 'securerandom'
2
- require_relative '../../urls'
2
+ require_relative '../../../urls'
3
3
  module DaVinciDTRTestKit
4
4
  class DTRMustSupportAttestationTest < Inferno::Test
5
5
  include URLs
6
+
6
7
  id :dtr_must_support_attest
7
8
  title 'Support for mustSupport Elements in Questionnaire (Attestation)'
8
9
  description %(
@@ -1,8 +1,9 @@
1
- require_relative '../../cql_test'
1
+ require_relative '../../../cross_suite/v2.0.1/cql_test'
2
2
 
3
3
  module DaVinciDTRTestKit
4
4
  class DTRQuestionnaireMustSupportTes < Inferno::Test
5
5
  include DaVinciDTRTestKit::CQLTest
6
+
6
7
  id :dtr_questionnaire_must_support
7
8
  verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@15', 'hl7.fhir.us.davinci-dtr_2.0.1@65',
8
9
  'hl7.fhir.us.davinci-dtr_2.0.1@66', 'hl7.fhir.us.davinci-dtr_2.0.1@206'
@@ -33,7 +34,7 @@ module DaVinciDTRTestKit
33
34
  questionnaires = custom_questionnaires.map { |q| FHIR.from_contents(q.to_json) }.compact
34
35
  end
35
36
 
36
- skip_if questionnaires.blank? || questionnaires.none? { |q| q.is_a?(FHIR::Questionnaire) },
37
+ skip_if questionnaires.blank? || questionnaires.none?(FHIR::Questionnaire),
37
38
  'No Questionnaire resources found.'
38
39
 
39
40
  skip { assert_must_support_elements_present(questionnaires, profile_url) }
@@ -1,4 +1,4 @@
1
- require_relative '../../urls'
1
+ require_relative '../../../urls'
2
2
 
3
3
  module DaVinciDTRTestKit
4
4
  class DTRPayerRegistrationConfigurationSMARTDisplay < Inferno::Test
@@ -1,4 +1,4 @@
1
- require_relative '../../urls'
1
+ require_relative '../../../urls'
2
2
 
3
3
  module DaVinciDTRTestKit
4
4
  class DTRPayerRegistrationConfigurationUDAPDisplay < Inferno::Test
@@ -1,17 +1,18 @@
1
- require_relative '../../cql_test'
1
+ require_relative '../../../cross_suite/v2.0.1/cql_test'
2
2
  module DaVinciDTRTestKit
3
3
  class DTRCustomQuestionnaireExpressionsTest < Inferno::Test
4
4
  include DaVinciDTRTestKit::CQLTest
5
5
 
6
6
  id :dtr_custom_questionnaire_expressions
7
7
  title %(
8
- [USER INPUT VERIFICATION] Custom questionnaire(s) contain items with expressions
8
+ Custom questionnaire(s) contain items with expressions
9
9
  necessary for pre-population
10
10
  )
11
11
  description %(
12
12
  Inferno checks that the custom response has appropriate expressions and that expressions are
13
13
  written in cql.
14
14
  )
15
+ simulation_verification
15
16
 
16
17
  def form_type
17
18
  config.options[:form_type] || 'static'
@@ -1,14 +1,15 @@
1
- require_relative '../../cql_test'
1
+ require_relative '../../../cross_suite/v2.0.1/cql_test'
2
2
  module DaVinciDTRTestKit
3
3
  class DTRCustomQuestionnaireExtensionsTest < Inferno::Test
4
4
  include DaVinciDTRTestKit::CQLTest
5
5
 
6
6
  id :dtr_custom_questionnaire_extensions
7
- title '[USER INPUT VERIFICATION] Custom questionnaire(s) contain extensions necessary for pre-population'
7
+ title 'Custom questionnaire(s) contain extensions necessary for pre-population'
8
8
  description %(
9
9
  Inferno checks that the custom response has appropriate extensions and references to libraries within
10
10
  those extensions.
11
11
  )
12
+ simulation_verification
12
13
 
13
14
  def form_type
14
15
  config.options[:form_type] || 'static'
@@ -1,17 +1,18 @@
1
- require_relative '../../cql_test'
1
+ require_relative '../../../cross_suite/v2.0.1/cql_test'
2
2
  module DaVinciDTRTestKit
3
3
  class DTRCustomQuestionnaireLibrariesTest < Inferno::Test
4
4
  include DaVinciDTRTestKit::CQLTest
5
5
 
6
6
  id :dtr_custom_questionnaire_libraries
7
7
  title %(
8
- [USER INPUT VERIFICATION] Custom Questionnaire Package response parameters contain libraries
8
+ Custom Questionnaire Package response parameters contain libraries
9
9
  necessary for pre-population
10
10
  )
11
11
  description %(
12
12
  Inferno check that the custom response contains no duplicate library names
13
13
  and that libraries contain cql and elm data.
14
14
  )
15
+ simulation_verification
15
16
 
16
17
  def form_type
17
18
  config.options[:form_type] || 'static'
@@ -1,10 +1,10 @@
1
- require_relative '../../cql_test'
1
+ require_relative '../../../cross_suite/v2.0.1/cql_test'
2
2
  module DaVinciDTRTestKit
3
3
  class DTRCustomQuestionnairePackageValidationTest < Inferno::Test
4
4
  include DaVinciDTRTestKit::CQLTest
5
5
 
6
6
  id :dtr_custom_qp_validation
7
- title '[USER INPUT VERIFICATION] Custom Questionnaire Package response is valid'
7
+ title 'Custom Questionnaire Package response is valid'
8
8
  description %(
9
9
  Inferno will validate that the user provided response to the questionnaire-package operation is conformant
10
10
  to the
@@ -19,6 +19,7 @@ module DaVinciDTRTestKit
19
19
  to the bound ValueSet. Quantity, Coding, and code element bindings will fail if their code/system are not found in
20
20
  the valueset.
21
21
  )
22
+ simulation_verification
22
23
 
23
24
  input :custom_questionnaire_package_response,
24
25
  title: 'Custom Questionnaire Package Response JSON',
@@ -1,5 +1,5 @@
1
1
  require_relative '../../descriptions'
2
- require_relative '../../urls'
2
+ require_relative '../../../urls'
3
3
 
4
4
  module DaVinciDTRTestKit
5
5
  class DTRFullEHRAdaptiveRequestTest < Inferno::Test
@@ -1,5 +1,5 @@
1
1
  require 'securerandom'
2
- require_relative '../../urls'
2
+ require_relative '../../../urls'
3
3
 
4
4
  module DaVinciDTRTestKit
5
5
  class DTRFullEHRLaunchAttestationTest < Inferno::Test
@@ -1,5 +1,5 @@
1
1
  require 'securerandom'
2
- require_relative '../../urls'
2
+ require_relative '../../../urls'
3
3
 
4
4
  module DaVinciDTRTestKit
5
5
  class DTRFullEHRPrepopulationAttestationTest < Inferno::Test
@@ -1,5 +1,5 @@
1
1
  require 'securerandom'
2
- require_relative '../../urls'
2
+ require_relative '../../../urls'
3
3
 
4
4
  module DaVinciDTRTestKit
5
5
  class DTRFullEHRPrepopulationOverrideAttestationTest < Inferno::Test
@@ -1,5 +1,5 @@
1
1
  require_relative '../../descriptions'
2
- require_relative '../../urls'
2
+ require_relative '../../../urls'
3
3
 
4
4
  module DaVinciDTRTestKit
5
5
  class DTRFullEHRQuestionnairePackageRequestTest < Inferno::Test
@@ -1,4 +1,4 @@
1
- require_relative '../../dtr_questionnaire_response_validation'
1
+ require_relative '../../../cross_suite/v2.0.1/dtr_questionnaire_response_validation'
2
2
 
3
3
  module DaVinciDTRTestKit
4
4
  class DTRFullEHRQuestionnaireResponseConformanceTest < Inferno::Test
@@ -1,4 +1,4 @@
1
- require_relative '../../dtr_questionnaire_response_validation'
1
+ require_relative '../../../cross_suite/v2.0.1/dtr_questionnaire_response_validation'
2
2
 
3
3
  module DaVinciDTRTestKit
4
4
  class DTRFullEHRQuestionnaireResponseCorrectnessTest < Inferno::Test