davinci_dtr_test_kit 0.17.1 → 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/cross_suite/v2.2.0/dtr_conformance_verification.rb +21 -0
  15. data/lib/davinci_dtr_test_kit/cross_suite/v2.2.0/multi_request_message_helper.rb +35 -0
  16. data/lib/davinci_dtr_test_kit/cross_suite/v2.2.0/questionnaire_helper.rb +162 -0
  17. data/lib/davinci_dtr_test_kit/{dtr_client_options.rb → full_ehr/dtr_full_ehr_options.rb} +1 -1
  18. data/lib/davinci_dtr_test_kit/{endpoints → full_ehr/endpoints}/mock_payer.rb +9 -3
  19. data/lib/davinci_dtr_test_kit/{endpoints → full_ehr/endpoints}/mock_udap_smart_server/token_endpoint.rb +2 -2
  20. data/lib/davinci_dtr_test_kit/full_ehr/fixture_loader.rb +37 -0
  21. data/lib/davinci_dtr_test_kit/full_ehr/fixtures/dinner_adaptive/dinner_order_adaptive_next_question_template.json +243 -0
  22. data/lib/davinci_dtr_test_kit/full_ehr/fixtures/dinner_adaptive/parameters_questionnaire_dinner_order_adaptive.json +104 -0
  23. data/lib/davinci_dtr_test_kit/full_ehr/fixtures/dinner_static/parameters_questionnaire_dinner_order_static.json +291 -0
  24. data/lib/davinci_dtr_test_kit/full_ehr/fixtures/empty_templates/next_question_template_empty.json +1 -0
  25. data/lib/davinci_dtr_test_kit/full_ehr/fixtures/empty_templates/parameters_questionnaire_package_empty.json +9 -0
  26. data/lib/davinci_dtr_test_kit/full_ehr/short_circuit_interaction_verification.rb +73 -0
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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
  32. 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
  33. 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
  34. data/lib/davinci_dtr_test_kit/{client_groups/adaptive_questionnaire/custom → full_ehr/v2.0.1}/dtr_full_ehr_custom_adaptive_workflow_group.rb +14 -14
  35. 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
  36. data/lib/davinci_dtr_test_kit/{client_groups/must_support → full_ehr/v2.0.1}/dtr_full_ehr_questionnaire_must_support_group.rb +6 -6
  37. 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
  38. data/lib/davinci_dtr_test_kit/{dtr_full_ehr_suite.rb → full_ehr/v2.0.1/dtr_full_ehr_suite.rb} +19 -20
  39. 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
  40. 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
  41. 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
  42. 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
  43. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/must_support/dtr_must_support_attestation_test.rb +1 -1
  44. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/must_support/dtr_questionnaire_must_support_test.rb +1 -1
  45. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/payer_registration/configuration_display_smart_test.rb +1 -1
  46. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/payer_registration/configuration_display_udap_test.rb +1 -1
  47. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_custom_questionnaire_expressions_test.rb +1 -1
  48. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_custom_questionnaire_extensions_test.rb +1 -1
  49. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_custom_questionnaire_libraries_test.rb +1 -1
  50. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_custom_questionnaire_package_validation_test.rb +1 -1
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_prepopulation_attestation_test.rb +1 -1
  60. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_prepopulation_override_attestation_test.rb +1 -1
  61. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_questionnaire_package_request_validation_test.rb +1 -1
  62. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_questionnaire_response_basic_conformance_test.rb +2 -2
  63. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_questionnaire_response_prepopulation_test.rb +1 -1
  64. data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/shared/dtr_rendering_attestation_test.rb +1 -1
  65. 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
  66. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/dtr_full_ehr_abstract_adaptive_group.rb +87 -0
  67. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/dtr_full_ehr_abstract_standard_group.rb +59 -0
  68. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/dtr_full_ehr_suite.rb +145 -0
  69. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/dtr_full_ehr_suite_description_v220.md +254 -0
  70. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/full_ehr_next_question_endpoint.rb +391 -0
  71. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/full_ehr_questionnaire_package_endpoint.rb +206 -0
  72. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/interaction/adaptive_questionnaires_completed_test.rb +108 -0
  73. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/interaction/interaction_wait_test.rb +177 -0
  74. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/interaction/ui_display_and_interaction_attestation_test.rb +132 -0
  75. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/must_support/dtr_additional_questionnaires_interaction_group.rb +74 -0
  76. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/must_support/dtr_questionnaire_adaptive_must_support_test.rb +45 -0
  77. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/must_support/dtr_questionnaire_base_must_support_test.rb +43 -0
  78. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/must_support/dtr_questionnaire_standard_must_support_test.rb +45 -0
  79. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/next_question_template_questionnaires.rb +21 -0
  80. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/request/dtr_next_question_request_validation_test.rb +85 -0
  81. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/request/dtr_questionnaire_package_request_validation_test.rb +89 -0
  82. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/response/dtr_next_question_response_validation_test.rb +85 -0
  83. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/response/dtr_questionnaire_package_response_validation_test.rb +77 -0
  84. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/workflows/dtr_full_ehr_workflow_adaptive_group.rb +24 -0
  85. data/lib/davinci_dtr_test_kit/full_ehr/v2.2.0/workflows/dtr_full_ehr_workflow_standard_group.rb +21 -0
  86. data/lib/davinci_dtr_test_kit/generator/ig_metadata.rb +21 -0
  87. data/lib/davinci_dtr_test_kit/generator/profile_metadata_extractor.rb +57 -0
  88. data/lib/davinci_dtr_test_kit/generator.rb +117 -0
  89. data/lib/davinci_dtr_test_kit/igs/davinci_dtr_2.2.0.tgz +0 -0
  90. data/lib/davinci_dtr_test_kit/{dtr_options.rb → light_ehr/dtr_light_ehr_options.rb} +1 -1
  91. data/lib/davinci_dtr_test_kit/{dtr_light_ehr_suite.rb → light_ehr/v2.0.1/dtr_light_ehr_suite.rb} +8 -9
  92. data/lib/davinci_dtr_test_kit/{client_groups/light_ehr → light_ehr/v2.0.1}/dtr_light_ehr_supported_endpoints_group.rb +5 -5
  93. data/lib/davinci_dtr_test_kit/{client_groups/light_ehr → light_ehr/v2.0.1}/dtr_smart_ehr_launch.rb +3 -3
  94. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/communication_request/communication_request_read.rb +1 -1
  95. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/coverage/coverage_read.rb +1 -1
  96. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/device_request/device_request_read.rb +1 -1
  97. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/encounter/encounter_read.rb +1 -1
  98. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/medication_request/medication_request_read.rb +1 -1
  99. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/nutrition_order/nutrition_order_read.rb +1 -1
  100. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/questionnaire_response_create.rb +1 -1
  101. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/questionnaire_response_update.rb +1 -1
  102. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/service_request/service_request_read.rb +1 -1
  103. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/task/task_create.rb +1 -1
  104. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/task/task_read.rb +1 -1
  105. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/task/task_update.rb +1 -1
  106. data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/vision_prescription/vision_prescription_read.rb +1 -1
  107. 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 +2 -2
  108. 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 +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_endpoint_test.rb +1 -1
  110. 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 +1 -1
  111. 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 +2 -2
  112. data/lib/davinci_dtr_test_kit/metadata.rb +13 -68
  113. data/lib/davinci_dtr_test_kit/requirements/davinci_dtr_test_kit_requirements.csv +216 -0
  114. data/lib/davinci_dtr_test_kit/requirements/generated/dtr_full_ehr_requirements_coverage.csv +1 -1
  115. data/lib/davinci_dtr_test_kit/requirements/generated/dtr_full_ehr_v220_requirements_coverage.csv +1 -0
  116. data/lib/davinci_dtr_test_kit/requirements/generated/dtr_light_ehr_requirements_coverage.csv +1 -1
  117. data/lib/davinci_dtr_test_kit/requirements/generated/dtr_payer_server_requirements_coverage.csv +1 -1
  118. data/lib/davinci_dtr_test_kit/requirements/generated/dtr_payer_server_v220_requirements_coverage.csv +114 -0
  119. data/lib/davinci_dtr_test_kit/requirements/generated/dtr_smart_app_requirements_coverage.csv +1 -1
  120. data/lib/davinci_dtr_test_kit/requirements/hl7.fhir.us.davinci-dtr_2.2.0_requirements.xlsx +0 -0
  121. data/lib/davinci_dtr_test_kit/{endpoints/mock_payer → server/endpoints}/next_question_proxy_endpoint.rb +2 -0
  122. data/lib/davinci_dtr_test_kit/{endpoints/mock_payer → server/endpoints}/questionnaire_package_proxy_endpoint.rb +2 -0
  123. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/adaptive_form_libraries_test.rb +2 -1
  124. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/adaptive_form_questionnaire_expressions_test.rb +2 -1
  125. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/adaptive_form_questionnaire_extensions_test.rb +2 -1
  126. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/adaptive_next_questionnaire_expressions_test.rb +2 -1
  127. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/adaptive_next_questionnaire_extensions_test.rb +2 -1
  128. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_adaptive_request_test.rb +1 -1
  129. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_adaptive_request_validation_test.rb +2 -1
  130. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_adaptive_response_bundles_validation_test.rb +2 -1
  131. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_adaptive_response_search_validation_test.rb +2 -1
  132. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_adaptive_response_validation_test.rb +3 -2
  133. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_next_request_validation_test.rb +2 -1
  134. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_next_response_validation_test.rb +2 -1
  135. data/lib/davinci_dtr_test_kit/{dtr_payer_server_suite.rb → server/v2.0.1/dtr_payer_server_suite.rb} +9 -10
  136. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1}/payer_server_adaptive_group.rb +13 -13
  137. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1}/payer_server_static_group.rb +6 -6
  138. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/static_forms}/static_form_libraries_test.rb +2 -1
  139. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/static_forms}/static_form_questionnaire_expressions_test.rb +2 -1
  140. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/static_forms}/static_form_questionnaire_extensions_test.rb +2 -1
  141. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/static_forms}/static_form_request_test.rb +3 -2
  142. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/static_forms}/static_form_request_validation_test.rb +3 -2
  143. data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/static_forms}/static_form_response_validation_test.rb +4 -3
  144. data/lib/davinci_dtr_test_kit/server/v2.2.0/client_simulation.rb +297 -0
  145. data/lib/davinci_dtr_test_kit/server/v2.2.0/dtr_payer_server_capability_statement_test.rb +73 -0
  146. data/lib/davinci_dtr_test_kit/server/v2.2.0/dtr_payer_server_suite.rb +322 -0
  147. data/lib/davinci_dtr_test_kit/server/v2.2.0/dtr_payer_server_suite_description_v220.md +37 -0
  148. data/lib/davinci_dtr_test_kit/server/v2.2.0/interaction_test.rb +97 -0
  149. data/lib/davinci_dtr_test_kit/server/v2.2.0/log_questionnaire_errors_support_test.rb +57 -0
  150. data/lib/davinci_dtr_test_kit/server/v2.2.0/must_support/questionnaire_adaptive_must_support_test.rb +47 -0
  151. data/lib/davinci_dtr_test_kit/server/v2.2.0/must_support/questionnaire_adaptive_search_must_support_test.rb +40 -0
  152. data/lib/davinci_dtr_test_kit/server/v2.2.0/must_support/questionnaire_base_must_support_test.rb +40 -0
  153. data/lib/davinci_dtr_test_kit/server/v2.2.0/must_support/questionnaire_package_bundle_must_support_test.rb +38 -0
  154. data/lib/davinci_dtr_test_kit/server/v2.2.0/must_support/questionnaire_package_output_parameters_must_support_test.rb +37 -0
  155. data/lib/davinci_dtr_test_kit/server/v2.2.0/must_support/questionnaire_standard_must_support_test.rb +39 -0
  156. data/lib/davinci_dtr_test_kit/server/v2.2.0/next_question_request_validation_test.rb +45 -0
  157. data/lib/davinci_dtr_test_kit/server/v2.2.0/next_question_support/adaptive_questionnaire_endpoint_test.rb +98 -0
  158. data/lib/davinci_dtr_test_kit/server/v2.2.0/next_question_support/invalid_questionnaire_response_test.rb +43 -0
  159. data/lib/davinci_dtr_test_kit/server/v2.2.0/next_question_support/next_contained_questionnaire_response_references_test.rb +46 -0
  160. data/lib/davinci_dtr_test_kit/server/v2.2.0/next_question_support/next_question_response_references_test.rb +56 -0
  161. data/lib/davinci_dtr_test_kit/server/v2.2.0/next_question_support/next_question_response_validation_test.rb +67 -0
  162. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/contained_binary_test.rb +58 -0
  163. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/contained_binary_validation.rb +128 -0
  164. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/cql_library_validation_test.rb +58 -0
  165. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/questionnaire_design_support.rb +65 -0
  166. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/questionnaire_expression_elm_test.rb +81 -0
  167. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/questionnaire_expression_language_test.rb +63 -0
  168. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/questionnaire_prepopulation_test.rb +42 -0
  169. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_design/questionnaire_relevance_logic_test.rb +40 -0
  170. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_operation_validation.rb +440 -0
  171. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_request_validation_test.rb +42 -0
  172. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/adaptive_questionnaire_response_contained_questionnaire_test.rb +127 -0
  173. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/adaptive_questionnaire_response_validation_test.rb +61 -0
  174. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/contained_questionnaire_response_references_test.rb +42 -0
  175. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/dtr_server_no_custom_extension_test.rb +184 -0
  176. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/dtr_server_questionnaire_not_found_test.rb +76 -0
  177. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/dtr_server_questionnaire_package_contents_test.rb +89 -0
  178. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/initial_questionnaire_response_test.rb +132 -0
  179. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/questionnaire_package_input_type_test.rb +110 -0
  180. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/questionnaire_references_version_specific_test.rb +79 -0
  181. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/questionnaire_response_questionnaire_canonical_test.rb +89 -0
  182. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/questionnaire_response_references_test.rb +51 -0
  183. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/questionnaire_response_validation_test.rb +63 -0
  184. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/source_data_error_test.rb +43 -0
  185. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_package_support/value_set_validation_test.rb +90 -0
  186. data/lib/davinci_dtr_test_kit/server/v2.2.0/questionnaire_response_reference_validation.rb +133 -0
  187. data/lib/davinci_dtr_test_kit/server/v2.2.0/value_set_expand_support/small_value_set_expansion_test.rb +120 -0
  188. data/lib/davinci_dtr_test_kit/server/v2.2.0/value_set_expand_support/value_set_expansion_test.rb +51 -0
  189. data/lib/davinci_dtr_test_kit/server/v2.2.0/value_set_expand_support/value_set_expansion_validation.rb +58 -0
  190. data/lib/davinci_dtr_test_kit/{endpoints → smart_app/endpoints}/mock_authorization/token_endpoint.rb +1 -1
  191. data/lib/davinci_dtr_test_kit/{endpoints → smart_app/endpoints}/mock_ehr/fhir_get_endpoint.rb +1 -1
  192. data/lib/davinci_dtr_test_kit/smart_app/endpoints/mock_payer/smart_app_next_question_endpoint.rb +12 -0
  193. data/lib/davinci_dtr_test_kit/smart_app/endpoints/mock_payer/smart_app_questionnaire_package_endpoint.rb +12 -0
  194. 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 +12 -12
  195. 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
  196. 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
  197. data/lib/davinci_dtr_test_kit/{auth_groups → smart_app/v2.0.1/auth}/token_request_test.rb +1 -1
  198. 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
  199. data/lib/davinci_dtr_test_kit/{client_groups/must_support → smart_app/v2.0.1}/dtr_smart_app_questionnaire_must_support_group.rb +6 -6
  200. data/lib/davinci_dtr_test_kit/{client_groups/respiratory → smart_app/v2.0.1}/dtr_smart_app_respiratory_workflow_group.rb +3 -3
  201. 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
  202. data/lib/davinci_dtr_test_kit/{dtr_smart_app_suite.rb → smart_app/v2.0.1/dtr_smart_app_suite.rb} +21 -21
  203. 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
  204. data/lib/davinci_dtr_test_kit/{auth_groups → smart_app/v2.0.1}/oauth2_authentication_group.rb +2 -2
  205. data/lib/davinci_dtr_test_kit/{client_groups/respiratory → smart_app/v2.0.1/static_respiratory}/dtr_respiratory_questionnaire_package_group.rb +1 -1
  206. 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
  207. data/lib/davinci_dtr_test_kit/{client_groups/respiratory → smart_app/v2.0.1/static_respiratory}/dtr_respiratory_questionnaire_response_group.rb +2 -2
  208. 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
  209. data/lib/davinci_dtr_test_kit/{client_groups/respiratory → smart_app/v2.0.1/static_respiratory}/dtr_respiratory_rendering_attestation_test.rb +1 -1
  210. 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
  211. 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
  212. 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
  213. 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
  214. 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
  215. 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
  216. 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
  217. data/lib/davinci_dtr_test_kit/tags.rb +2 -0
  218. data/lib/davinci_dtr_test_kit/version.rb +2 -2
  219. data/lib/davinci_dtr_test_kit.rb +6 -4
  220. metadata +299 -209
  221. data/lib/davinci_dtr_test_kit/certs/InfernoCA.key +0 -52
  222. data/lib/davinci_dtr_test_kit/certs/InfernoCA.pem +0 -35
  223. data/lib/davinci_dtr_test_kit/certs/TestKit.pem +0 -32
  224. data/lib/davinci_dtr_test_kit/certs/TestKitPrivateKey.key +0 -28
  225. data/lib/davinci_dtr_test_kit/endpoints/mock_payer/full_ehr_next_question_endpoint.rb +0 -30
  226. data/lib/davinci_dtr_test_kit/endpoints/mock_payer/full_ehr_questionnaire_package_endpoint.rb +0 -31
  227. data/lib/davinci_dtr_test_kit/fixture_loader.rb +0 -21
  228. /data/lib/davinci_dtr_test_kit/{endpoints → cross_suite}/cors.rb +0 -0
  229. /data/lib/davinci_dtr_test_kit/{cql_test.rb → cross_suite/v2.0.1/cql_test.rb} +0 -0
  230. /data/lib/davinci_dtr_test_kit/{dtr_questionnaire_response_validation.rb → cross_suite/v2.0.1/dtr_questionnaire_response_validation.rb} +0 -0
  231. /data/lib/davinci_dtr_test_kit/{descriptions.rb → full_ehr/descriptions.rb} +0 -0
  232. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/dinner_adaptive/dinner_order_adaptive_next_question_burrito.json +0 -0
  233. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/dinner_adaptive/dinner_order_adaptive_next_question_hamburger.json +0 -0
  234. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/dinner_adaptive/dinner_order_adaptive_next_question_initial.json +0 -0
  235. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/dinner_adaptive/questionnaire_dinner_order_adaptive.json +0 -0
  236. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/dinner_static/questionnaire_dinner_order_static.json +0 -0
  237. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/dinner_static/questionnaire_response_dinner_order_static.json +0 -0
  238. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/respiratory_assist_device/pre_populated_questionnaire_response.json +0 -0
  239. /data/lib/davinci_dtr_test_kit/{fixtures → full_ehr/fixtures}/respiratory_assist_device/questionnaire_package.json +0 -0
  240. /data/lib/davinci_dtr_test_kit/{fixtures.rb → full_ehr/fixtures.rb} +0 -0
  241. /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 +0 -0
  242. /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
  243. /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
  244. /data/lib/davinci_dtr_test_kit/{client_groups/auth → full_ehr/v2.0.1}/dtr_client_payer_auth_smart_group.rb +0 -0
  245. /data/lib/davinci_dtr_test_kit/{client_groups/auth → full_ehr/v2.0.1}/dtr_client_payer_auth_udap_group.rb +0 -0
  246. /data/lib/davinci_dtr_test_kit/{docs → full_ehr/v2.0.1}/dtr_full_ehr_suite_description_v201.md +0 -0
  247. /data/lib/davinci_dtr_test_kit/{client_groups → full_ehr/v2.0.1}/must_support/questionnaire_must_support_elements.rb +0 -0
  248. /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
  249. /data/lib/davinci_dtr_test_kit/{create_test.rb → light_ehr/create_test.rb} +0 -0
  250. /data/lib/davinci_dtr_test_kit/{endpoints/mock_payer → light_ehr/endpoints}/light_ehr_supported_payer_endpoint.rb +0 -0
  251. /data/lib/davinci_dtr_test_kit/{read_test.rb → light_ehr/read_test.rb} +0 -0
  252. /data/lib/davinci_dtr_test_kit/{update_test.rb → light_ehr/update_test.rb} +0 -0
  253. /data/lib/davinci_dtr_test_kit/{docs → light_ehr/v2.0.1}/dtr_light_ehr_suite_description_v201.md +0 -0
  254. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/communication_request/communication_request_must_support_test.rb +0 -0
  255. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/communication_request/communication_request_validation.rb +0 -0
  256. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/communication_request/metadata.yml +0 -0
  257. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/communication_request_group.rb +0 -0
  258. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/coverage/coverage_must_support_test.rb +0 -0
  259. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/coverage/coverage_validation.rb +0 -0
  260. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/coverage/metadata.yml +0 -0
  261. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/coverage_group.rb +0 -0
  262. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/device_request/device_request_must_support_test.rb +0 -0
  263. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/device_request/device_request_validation.rb +0 -0
  264. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/device_request/metadata.yml +0 -0
  265. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/device_request_group.rb +0 -0
  266. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/encounter/encounter_must_support_test.rb +0 -0
  267. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/encounter/encounter_validation.rb +0 -0
  268. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/encounter/metadata.yml +0 -0
  269. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/encounter_group.rb +0 -0
  270. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/medication_request/medication_request_must_support_test.rb +0 -0
  271. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/medication_request/medication_request_validation.rb +0 -0
  272. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/medication_request/metadata.yml +0 -0
  273. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/medication_request_group.rb +0 -0
  274. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/nutrition_order/metadata.yml +0 -0
  275. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/nutrition_order/nutrition_order_must_support_test.rb +0 -0
  276. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/nutrition_order/nutrition_order_validation.rb +0 -0
  277. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/nutrition_order_group.rb +0 -0
  278. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/metadata.yml +0 -0
  279. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/questionnaire_response_context_search.rb +0 -0
  280. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/questionnaire_response_must_support_test.rb +0 -0
  281. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/questionnaire_response_patient_search.rb +0 -0
  282. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/questionnaire_response_read.rb +0 -0
  283. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response/questionnaire_response_validation.rb +0 -0
  284. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/questionnaire_response_group.rb +0 -0
  285. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/service_request/metadata.yml +0 -0
  286. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/service_request/service_request_must_support_test.rb +0 -0
  287. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/service_request/service_request_validation.rb +0 -0
  288. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/service_request_group.rb +0 -0
  289. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/task/metadata.yml +0 -0
  290. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/task/task_must_support_test.rb +0 -0
  291. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/task/task_validation.rb +0 -0
  292. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/task_group.rb +0 -0
  293. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/vision_prescription/metadata.yml +0 -0
  294. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/vision_prescription/vision_prescription_must_support_test.rb +0 -0
  295. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/vision_prescription/vision_prescription_validation.rb +0 -0
  296. /data/lib/davinci_dtr_test_kit/{profiles → light_ehr/v2.0.1/profiles}/vision_prescription_group.rb +0 -0
  297. /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
  298. /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
  299. /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
  300. /data/lib/davinci_dtr_test_kit/{endpoints/mock_authorization → server/endpoints}/simple_token_endpoint.rb +0 -0
  301. /data/lib/davinci_dtr_test_kit/{payer_server_groups → server/v2.0.1/adaptive_forms}/payer_server_next_response_complete_test.rb +0 -0
  302. /data/lib/davinci_dtr_test_kit/{docs → server/v2.0.1}/dtr_payer_server_suite_description_v201.md +0 -0
  303. /data/lib/davinci_dtr_test_kit/{validation_test.rb → server/validation_test.rb} +0 -0
  304. /data/lib/davinci_dtr_test_kit/{endpoints → smart_app/endpoints}/mock_authorization/authorize_endpoint.rb +0 -0
  305. /data/lib/davinci_dtr_test_kit/{endpoints → smart_app/endpoints}/mock_authorization.rb +0 -0
  306. /data/lib/davinci_dtr_test_kit/{endpoints → smart_app/endpoints}/mock_ehr/questionnaire_response_endpoint.rb +0 -0
  307. /data/lib/davinci_dtr_test_kit/{endpoints → smart_app/endpoints}/mock_ehr.rb +0 -0
  308. /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
  309. /data/lib/davinci_dtr_test_kit/{auth_groups → smart_app/v2.0.1/auth}/token_validation_test.rb +0 -0
  310. /data/lib/davinci_dtr_test_kit/{docs → smart_app/v2.0.1}/dtr_smart_app_suite_description_v201.md +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
@@ -390,3 +390,219 @@ hl7.fhir.us.davinci-dtr_2.0.1,369,https://hl7.org/fhir/us/davinci-hrex/STU1/conf
390
390
  hl7.fhir.us.davinci-dtr_2.0.1,370,https://hl7.org/fhir/us/davinci-hrex/STU1/conformance.html,[R]eceivers **SHOULD NOT** reject instances that contain unexpected [non-must support] data elements if those elements are not [modifier elements](http://hl7.org/fhir/R4/conformance-rules.html#isModifier).,SHOULD NOT,"Full EHR, Light EHR, SMART Client",,true,,
391
391
  hl7.fhir.us.davinci-dtr_2.0.1,371,https://hl7.org/fhir/us/davinci-hrex/STU1/conformance.html,"[Data Sources] should be aware that they can't count on receivers storing, processing or doing anything other than ignoring data that is not marked as mustSupport.",SHOULD,"Light EHR, SMART Client, Payer Service",,true,,
392
392
  hl7.fhir.us.davinci-dtr_2.0.1,372,https://hl7.org/fhir/us/davinci-hrex/STU1/conformance.html,"Many of the profiles in this guide reference other FHIR resources that are US Core profiles. This is defined in the formal profile definitions. For example, US Core Patient. For any other references not formally defined in a US Core profiles, the referenced resource **SHOULD** be a US Core profile if a US Core profile exists for the resource type.",SHOULD,"Light EHR, SMART Client, Payer Service",,true,,
393
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-1,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-1,"In order to conform to this implementation guide, in addition to adhering to any relevant 'SHALL' statements, a system **SHALL** conform to at least one of the appropriate CapabilityStatements listed here:",SHALL,"DTR Client, DTR Server",,false,,
394
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-2,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-2,Da Vinci DTR implementations **SHALL** conform to the [HRex](http://hl7.org/fhir/us/davinci-hrex/1.2.0/conformance.html#mustsupport) and [US Core](http://hl7.org/fhir/us/core/STU7/must-support.html) Guidance where applicable.,SHALL,"DTR Client, DTR Server",,false,,
395
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-3,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-3,DTR apps and EHRs that take on DTR app responsibility **SHALL** be able to render Questionnaires and QuestionnaireResponses.,SHALL,DTR Client,,false,,
396
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-4,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-4,"DTR clients **MAY** adjust which client components expose which Questionnaire items, which Questionnaire items are exposed to which users and how those items are exposed as appropriate for the workflow so long as they retain the ability to render all `mustSupport` elements at least in some places within their client system(s).",MAY,DTR Client,,false,,
397
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-5,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-5,"Specifically, apps and EHRs acting as form fillers **SHALL** be able to display:",SHALL,DTR Client,,true,,
398
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-6,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-6,"They **SHALL** also handle all mustSupport elements within the Questionnaire profile and provide visual cues where those elements impact expected user action (e.g., required answers, need for signatures, etc.)",SHALL,DTR Client,,false,,
399
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-7,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-7,Those same systems **SHOULD** be able to display `QuestionnaireResponse.item.itemMedia`,SHOULD,DTR Client,,false,,
400
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-8,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-8,"When determining Questionnaire packages, processing adaptive forms via `$next-question`, or constructing population logic, DTR services **SHALL NOT** depend on or set expectations for the inclusion of resource instances not compliant with profiles defined in this guide, HRex, or US Core.",SHALL NOT,DTR Server,,false,,
401
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-9,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-9,"Similarly, they **SHALL NOT** depend on or set expectations for the inclusion of any data elements not marked as mandatory (min cardinality >= 1) or `mustSupport` in those profiles.",SHALL NOT,DTR Server,,false,,
402
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-10,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-10,DTR servers **SHALL NOT** set expectations for systems to support Questionnaire rendering or response validation capabilities above those established in the [DTR Questionnaire profiles](artifacts.html#structures-resource-profiles) and **SHALL** accept and successfully process any Questionnaire Response returned for a Questionnaire from that DTR server that is deemed valid against the rules expressed only as `mustSupport` in the Questionnaire profile.,SHALL NOT / SHALL,DTR Server,,false,,
403
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-11,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-11,"If the proposed change is adopted and published in the DTR continuous integration build or the CI build of one of its dependencies (e.g., US Core), implementations **MAY**, by mutual agreement, pre-adopt the use of those additional profiles and/or `mustSupport` data elements and not be considered in violation of #1 or #2 above.",MAY,"DTR Client, DTR Server",,true,,
404
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-12,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-12,"Where cardinality and other constraints present in profiles allow data elements to be omitted, DTR compliant systems **SHALL NOT** treat the omission of those elements as a conformance error - i.e., DTR services are expected to return appropriate questionnaire package responses, not system level errors (e.g., HTTP 4xx errors), and DTR clients are expected to render and allow completion of forms as normal.",SHALL NOT,"DTR Client, DTR Server",,true,,
405
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-13,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-13,"DTR clients and services and **SHALL** use standard DTR data elements (i.e., elements found within DTR-defined or inherited profiles and marked as mandatory or `mustSupport`) to communicate needed data if such elements are intended to convey such information.",SHALL,"DTR Client, DTR Server",,false,,
406
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-14,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-14,"Organizations implementing DTR **SHALL NOT** publish guidance setting expectations for where certain data elements are conveyed within DTR and inherited data structures, but **MAY** submit change requests to DTR, CRD, HRex, or US Core requesting that additional guidance be provided to implementers on data structure usage to increase consistency across implementations.",SHALL NOT / MAY,"DTR Client, DTR Server",,false,,
407
+ hl7.fhir.us.davinci-dtr_2.2.0,conf-15,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/confexpectations.html#ci-c-conf-15,Such enhancements **SHALL** be submitted as a ticket for consideration for inclusion in a future version of the implementation guide.,SHALL,"DTR Client, DTR Server",,false,,
408
+ hl7.fhir.us.davinci-dtr_2.2.0,opcn-1,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/operational.html#ci-c-opcn-1,"Picklist: questions that will normally not be pre-populated, **SHOULD** be answered 90% of the time from a predefined picklist supported by typeahead for long lists and allows for occasional text entries (average answer time of 5 seconds each)",SHOULD,DTR Client,,false,,
409
+ hl7.fhir.us.davinci-dtr_2.2.0,opcn-2,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/operational.html#ci-c-opcn-2,**SHOULD** be clinical questions but might include administrative questions if necessary to select appropriate clinical questions.,SHOULD,DTR Client,,false,,
410
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-1,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-log-questionnaire-errors.html#ci-c-oper-1,This operation **SHALL** be supported by payers and DTR applications.,SHALL,"DTR Client, DTR Server",,false,,
411
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-2-A,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-log-questionnaire-errors.html#ci-c-oper-2,"The input OperationOutcome resource **SHOULD** include information on the DTR application identity and version, date-time with time-zone offset, as well as the provider endpoint during which the error occurred",SHOULD,DTR Client,,false,,
412
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-2-B,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-log-questionnaire-errors.html#ci-c-oper-2,The input OperationOutcome resource … **SHALL NOT** contain information about the response or information retrieved from FHIR APIs that could potentially include PHI.,SHALL NOT,DTR Client,,false,,
413
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-3,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-log-questionnaire-errors.html#ci-c-oper-3,The Questionnaire reference **SHOULD** be version-specific.,SHOULD,DTR Client,,false,,
414
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-4,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-DTR-ValueSet-expand.html#ci-c-oper-4,The operation is called at the resource level and a url **SHALL** be provided.,SHALL,DTR Client,,false,,
415
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-5,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-DTR-ValueSet-expand.html#ci-c-oper-5,"Additionally, the valueset **SHALL** use the current date as the expansion date and **SHALL** include only active codes.",SHALL,DTR Server,,false,,
416
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-6,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-6,The operation **SHALL** take as input the Coverage resource(s) identifying the member and the type(s) of Coverage for which additional information is needed and at least one of:,SHALL,DTR Client,,false,,
417
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-7,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-7,"If multiple versions of a questionnaire are returned, each **SHALL** be associated with distinct orders or coverages in the associated QuestionnaireResponses (see below).",SHALL,DTR Server,,true,,
418
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-8,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-8,"If this operation is invoked with a context id provided by CRD where the `coverage-information` extension indicated that additional documentation was required, but no questionnaires are returned by the operation, the operation **SHALL** return an OperationOutcome with clear instructions on how else to determine needed documentation or an indication that circumstances have changed and additional documentation is no longer necessary.",SHALL,DTR Server,,true,,
419
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-9,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-9,"If any of the explicitly requested questionnaires cannot be found, a warning **SHALL** be provided in the [Outcome](StructureDefinition-dtr-qpackage-output-parameters.html) element of the outer `Parameters` resource.",SHALL,DTR Server,,true,,
420
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-10,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-10,"If the operation is successful, the response **SHALL** be a `Parameters` resource conformant to the [DTRQuestionnairePackageOutputParameters](StructureDefinition-dtr-qpackage-output-parameters.html) profile.",SHALL,DTR Server,,true,,
421
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-11,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-11,"If the operation fails, the response payload **SHOULD** be an OperationOutcome.",SHOULD,DTR Server,,true,,
422
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-12,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-12,"The Bundle **SHALL** include the Questionnaire as the first entry along with all external Libraries referenced by the Questionnaire using the [cqf-library](https://build.fhir.org/ig/HL7/fhir-extensions/StructureDefinition-cqf-library.html) extension, as well as a recursive retrieval of all `relatedArtifact` references of type 'depends-on'.",SHALL,DTR Server,,false,,
423
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-13,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-13,All Libraries **SHALL** include both CQL and EML representations.,SHALL,DTR Server,,false,,
424
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-14,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-14,The Bundle **SHALL** include all external ValueSet instances referenced by the Questionnaire.,SHALL,DTR Server,,false,,
425
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-15,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-15,All value sets with expansions under 40 entries **SHALL** be expanded as of the current date and using expansion parameters (such as SNOMED release) as deemed appropriate by the payer.,SHALL,DTR Server,,false,,
426
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-16,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-16,"All references to Questionnaires, Libraries, and ValueSets within the Bundle **SHALL** be version specific, as breaking changes may occur between versions and would likely cause failures or inconsistent data.",SHALL,DTR Server,,false,,
427
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-17,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-17,"Multiple versions of a Library **MAY** be treated as an error, or **MAY** be handled by returning the 'most recent' version of the referenced versions.",MAY,DTR Server,,false,,
428
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-18,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-18,"As well, the Questionnaire Bundle **SHALL** contain one initial draft `QuestionnaireResponse` that references the `Questionnaire` for that Bundle and populate the subject as well as repetitions of the Context extension that identify the Coverage(s) and Request or Encounter resources the `Questionnaire` is to be completed for.",SHALL,DTR Server,,false,,
429
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-19,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-19,The payer **MAY** opt to pre-populate some answers in the provided QuestionnaireResponses based on information the payer has in its own records or has from context from CRD or from other prior auth or claims submissions.,MAY,DTR Server,,false,,
430
+ hl7.fhir.us.davinci-dtr_2.2.0,oper-20,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/OperationDefinition-questionnaire-package.html#ci-c-oper-20,"When resuming a work in progress questionnaire response the DTR client **SHALL** invoke the operation with the timestamp to see if the questionnaire package has changed since it was last retrieved, presuming that the `QuestionnaireResponse.meta.lastUpdated` element corresponds to the last package retrieval time.",SHALL,DTR Client,,true,,
431
+ hl7.fhir.us.davinci-dtr_2.2.0,prof-1,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/StructureDefinition-dtr-qpackage-input-parameters.html#ci-c-prof-1,"However, the system should check that the passed orders are the same as was processed at CRD time before presuming that the questionnaires needed will be the same and if the orders have changed, or there's a possibility that the rules governing which Questionnaires are needed might have changed, the system **SHOULD** re-check to determine the needed Questionnaires.",SHOULD,DTR Server,,false,,
432
+ hl7.fhir.us.davinci-dtr_2.2.0,prof-2,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/StructureDefinition-dtr-supported-Payers.html#ci-c-prof-2,The Payer Identifier used **SHALL** be the same as the ones that are returned by the [endpoint discovery mechanism](https://build.fhir.org/ig/HL7/davinci-ehrx/endpoint-discovery.html) defined in HRex.,SHALL,DTR Client,,false,,
433
+ hl7.fhir.us.davinci-dtr_2.2.0,sec-1,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/security.html#ci-c-sec-1,Implementers **SHALL** adhere to any security and privacy rules defined by:,SHALL,"DTR Client, DTR Server",,false,,
434
+ hl7.fhir.us.davinci-dtr_2.2.0,sec-2,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/security.html#ci-c-sec-2,This scope granted **MAY** provide the SMART on FHIR application access to more data than is needed for the specific situation.,MAY,"DTR Client, DTR Server",,false,,
435
+ hl7.fhir.us.davinci-dtr_2.2.0,sec-3,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/security.html#ci-c-sec-3,"For compliance with HIPAA Minimum Necessary, the CQL included in payer-defined Questionnaires **SHALL** limit requests for information from the EHR's API to only items that are relevant to the documentation requirements for which DTR was launched (e.g., documentation requirements for a service that does require prior authorization).",SHALL,DTR Server,,false,,
436
+ hl7.fhir.us.davinci-dtr_2.2.0,sec-4,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/security.html#ci-c-sec-4,Compliant Questionnaires **SHALL NOT** include hidden or read-only questions where the data is populated from the EHR.,SHALL NOT,DTR Server,,false,,
437
+ hl7.fhir.us.davinci-dtr_2.2.0,sec-5,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/security.html#ci-c-sec-5,DTR Clients **SHALL** appropriately manage access to data that is sensitive per policy and regulatory requirements when responding to queries from a DTR app.,SHALL,DTR Client,,false,,
438
+ hl7.fhir.us.davinci-dtr_2.2.0,sec-6,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/security.html#ci-c-sec-6,Providers **SHOULD** ask the patient if they want to share the information with the payer prior to manually populating it in any QuestionnaireResponses.,SHOULD,DTR Client,,false,,
439
+ hl7.fhir.us.davinci-dtr_2.2.0,sec-7,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/security.html#ci-c-sec-7,Any EHR with SMART on FHIR support **SHOULD** be prepared to deal with the implications of providing a client with the scopes they request.,SHOULD,DTR Client,,false,,
440
+ hl7.fhir.us.davinci-dtr_2.2.0,sec-8,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/security.html#ci-c-sec-8,"For example, EHRs **SHALL** limit FHIR search capabilities for clients, requiring a patient ID in any search query to ensure the client can only access resources related to that patient.",SHALL,DTR Client,,false,,
441
+ hl7.fhir.us.davinci-dtr_2.2.0,sec-9,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/security.html#ci-c-sec-9,"Payer systems **SHALL** use information received during execution of the DTR [$questionnaire-package](OperationDefinition-questionnaire-package.html) operation solely for the purpose of satisfying the operation invoked, for audit, and to satisfy metric reporting needs.",SHALL,DTR Server,,false,,
442
+ hl7.fhir.us.davinci-dtr_2.2.0,sec-10,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/security.html#ci-c-sec-10,"If a payer uses adaptive forms to gather information, the payer **SHALL NOT** persist or use the information shared as part of the [$next-question](http://hl7.org/fhir/uv/sdc/STU3/OperationDefinition-Questionnaire-next-question.html) operation for any purpose other than:",SHALL NOT,DTR Server,,true,,
443
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-1,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-1,"Payer DTR services SHALL NOT work preferentially with their own apps for IG-defined functionality, though clients and services MAY offer additional behavior above and beyond what's covered in this specification.",SHALL NOT / MAY,DTR Server,,false,,
444
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-2,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-2,This means that EHRs are free to choose which app they prefer and **MAY** switch apps as they see fit.,MAY,DTR Client,,false,,
445
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-3,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-3,"In some cases, an EHR **MAY** opt to support multiple DTR SMART apps.",MAY,DTR Client,,true,,
446
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-4,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-4,"Similarly, all DTR apps **SHALL** be registered with the payer systems with which they communicate. If an EHR opts to interact with the payer directly without using an app, then the EHR itself will need to register.",SHALL,DTR Client,,false,,
447
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-5,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-5,Payers **MAY** have multiple back-end functions that handle different types of decision support and/or different types of services.,MAY,DTR Server,,false,,
448
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-6,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-6,"However, for the purpose of DTR conformance, payers **SHALL** have a single endpoint (managed by themselves or a delegate) that can handle responding to all DTR service calls.",SHALL,DTR Server,,false,,
449
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-7,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-7,"This registration process **SHALL** ensure that the DTR app or Full EHR (i.e., Native App):",SHALL,"DTR Client, DTR Server",,false,,
450
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-8,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-8,"Implementers of this IG **SHOULD** support the [endpoint discovery](http://hl7.org/fhir/us/davinci-hrex/1.2.0/endpoint-discovery.html) mechanism defined in the HRex specification to allow discovery of the endpoints used in this IG - specifically the [$questionnaire-package](OperationDefinition-questionnaire-package.html) operation endpoint used to retrieve the Questionnaires and associated libraries, value sets, etc. to be completed.",SHOULD,"DTR Client, DTR Server",,false,,
451
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-9,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-9,"Even after an application has been successfully registered, payers and EHRs **SHOULD** monitor the application behavior and **MAY** suspend an application's access if it is suspected of malicious behavior.",SHOULD / MAY,"DTR Client, DTR Server",,false,,
452
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-10,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-10,"Some payers MAY create Questionnaires that rely on code systems that require licensing for use where there isn’t already a cross-U.S. license in place (e.g., UB, CPT).",MAY,DTR Server,,false,,
453
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-11,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-11,The expectations around licensing requirements SHALL be established as part of the configuration process between the parties.,SHALL,"DTR Client, DTR Server",,false,,
454
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-12,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-12,"DTR services **SHOULD** have DTR questionnaires available for all covered items that require additional data collection to support prior auth submission, claim submission, or appropriate use documentation. (Future versions of this guide will likely tighten this expectation to a 'SHALL')",SHALL / SHOULD,DTR Server,,false,,
455
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-13,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-13,DTR server organizations **MAY** surface their Questionnaires via a registry or some similar mechanism that allows DTR client organizations to pre-examine/pre-process Questionnaires to allow for more optimal handling when those Questionnaires are actually solicited.,MAY,DTR Server,,false,,
456
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-14,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-14,DTR clients **SHALL NOT** be dependent on such pre-availability in order to perform form completion.,SHALL NOT,DTR Client,,false,,
457
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-15,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-15,Payers **MAY** support either approach or opt to provide some Questionnaires using one approach and others using the second based on the requirements of the form.,MAY,DTR Server,,false,,
458
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-16,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-16,DTR apps and Full EHRs **SHALL** support both types of Questionnaires.,SHALL,DTR Client,,false,,
459
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-17,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-17,"Questionnaires, whether standard or adaptive, **SHALL** also use logic that ensures that only questions and answer choices which are required for the intended clinical or administrative purposes are included, based on what answers have already been provided/populated using elements such as `enableWhen` or `enableWhenExpression`.",SHALL,DTR Server,,false,,
460
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-18,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-18,"When using elements with a data type of 'Expression' within Questionnaires to control flow or rendering, all logic **SHALL** be written in CQL.",SHALL,DTR Server,,true,,
461
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-19,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-19,The Elements flagged as mustSupport **SHALL** be supported by DTR Apps and Full EHRs.,SHALL,DTR Client,,false,,
462
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-20,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-20,"These systems **SHOULD** also support all non `mustSupport` data extensions included in the differential of the DTR Questionnaire profiles as per SDC documentation for those elements and extensions, and non-support for an element **SHALL NOT** interfere with a user's ability to complete a QuestionnaireResponse.",SHALL NOT / SHOULD,DTR Client,,false,,
463
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-21,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-21,"However, payers **SHALL NOT** rely on support for any of these elements in the design of their Questionnaire (i.e., a DTR client that ignores such elements cannot impact the successful collection of information acceptability of the information gathered).",SHALL NOT,DTR Server,,false,,
464
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-22,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-22,"If there is a need to collect both patient or clinical data as well as administrative data, forms **SHALL** be designed in one of the two the following manners:",SHALL,DTR Server,,true,,
465
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-23,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-23,"When a payer uses an Adaptive Form, they **SHALL** return a questionnaire instance compliant with the DTR [AdaptiveQuestionnaire-Search](StructureDefinition-dtr-questionnaire-adapt-search.html) profile.",SHALL,DTR Server,,true,,
466
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-24,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-24,"If present, any `questionnaireAdaptive` url **SHALL** be a sub-url under the base for the payer and able to be accessed within the same SMART Backend Services connection as was established to make the [$questionnaire-package](OperationDefinition-questionnaire-package.html) call.",SHALL,DTR Server,,true,,
467
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-25,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-25,The QuestionnaireResponse included in the [Questionnaire Package Bundle](StructureDefinition-DTR-QPackageBundle.html) accompanying an adaptive Questionnaire **SHALL** follow the convention of referencing a [contained](https://hl7.org/fhir/R4/references.html#contained) Questionnaire `derivedFrom` the canonical for the Questionnaire being completed.,SHALL,DTR Server,,false,,
468
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-26,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-26,"Typically, the QuestionnaireResponse and [contained](https://hl7.org/fhir/R4/references.html#contained) Questionnaire will contain no answers (or corresponding questions), though the payer **MAY** opt to include a few pre-populated answers for user review prior to soliciting additional questions using the [$next-question](OperationDefinition-DTR-Questionnaire-next-question.html) operation.",MAY,DTR Server,,false,,
469
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-27,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-27,"Payers **MAY** define pre-populatable questions to extract such information, using CQL to access the Questionnaire's [launchContext](https://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaire-launchContext.html) extension or performing any necessary data retrieval.",MAY,DTR Server,,false,,
470
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-28,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-28,There are three strategies payers can use – and payers **MAY** opt to combine strategies within a single Questionnaire:,MAY,DTR Server,,false,,
471
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-29,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-29,"The payer **MAY** opt to include CQL [Libraries](http://hl7.org/fhir/R4/library.html) and ValueSets in the package that are not actually referenced by any questions, on the prospect that they *might* be (or are likely to be) referenced by one of the questions at some point.",MAY,DTR Server,,false,,
472
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-30,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-30,"The payer **MAY** add CQL [Libraries](http://hl7.org/fhir/R4/library.html) and ValueSets as ['contained'](https://hl7.org/fhir/R4/references.html#contained) resources inside the QuestionnaireResponse that are relevant to the questions that are part of the Questionnaire for each [$next-question](OperationDefinition-DTR-Questionnaire-next-question.html) call, slowly building up the set of resources that happen to be relevant to the questions actually asked.",MAY,DTR Server,,false,,
473
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-31,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-31,"Finally, the payer **MAY** opt to specify the CQL and codes without using [Libraries](http://hl7.org/fhir/R4/library.html) or ValueSets at all – the CQL can be sent in-line within the various Expression elements, and the codes can be listed directly as answerOption Codings.",MAY,DTR Server,,false,,
474
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-32,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-32,Payers needing full resources to be returned **SHOULD** use the [containedReference](StructureDefinition-containedReference.html) extension to indicate that the selected resource(s) for an answer of type reference should be included as [contained](https://hl7.org/fhir/R4/references.html#contained) resources within the QuestionnaireResponse.,SHOULD,DTR Server,,true,,
475
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-33,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-33,Implementers that support Adaptive Questionnaires **SHOULD** always include a [coverage-information](https://build.fhir.org/ig/HL7/davinci-crd/StructureDefinition-ext-coverage-information.html) extension when the QuestionnaireResponse is deemed complete. (Future versions of this guide will likely tighten this expectation to a 'SHALL'),SHALL / SHOULD,DTR Server,,true,,
476
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-34,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-34,The package returned by the [$questionnaire-package](OperationDefinition-questionnaire-package.html) operation **MAY** include Library and/or ValueSet instances that are not referenced by any of the returned questionnaires if at least one of those questionnaires is adaptive.,MAY,DTR Server,,true,,
477
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-35,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-35,"In this circumstance these additional resources are being made available, and **SHALL** be retained in the session, on the likelihood that a question in one of those adaptive questionnaires returned by the [$next-question](OperationDefinition-DTR-Questionnaire-next-question.html) operation will need (and reference) these resources.",SHALL,DTR Client,,true,,
478
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-36,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-36,"When using adaptive forms, DTR servers **SHOULD** return as many items in a single call as possible (within reason), including questions that can be determined as enabled or disabled using simple 'enableWhen' logic.",SHOULD,DTR Server,,true,,
479
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-37,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-37,Calling the `$next-question` operation **SHOULD** only be necessary when the DTR client requires invocation of more complex or non-disclosable logic to determine the next set of items.,SHOULD,DTR Client,,true,,
480
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-38,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-38,Conformant systems **SHALL** meet these timing expectations at least 90% of the time.,SHALL,DTR Server,,false,,
481
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-39,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-39,"In an adaptive Questionnaire with clinical or patient questions, systems that know that, after submitting the answers to the current unanswered questions, there will be no further questions targeted to patient or clinician, those systems **SHALL** provide a display item indicating that patient/clinical questions are complete.",SHALL,DTR Server,,true,,
482
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-40,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-40,"Wherever possible, DTR services **SHOULD** leverage data retrieved from CRD and other mechanisms (claims data, PDex, etc.) to pre-populate answers in the QuestionnaireResponse returned to the client (regardless of whether the forms used are adaptive or standard).",SHOULD,DTR Server,,false,,
483
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-41,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-41,"If Adaptive Forms are being used, and a DTR service determines that prior authorization is both necessary and the requirements have been satisfied, then the final question in the form **SHALL** be a question that asks the user if they would like the prior authorization identifier to be issued, and indicate the appropriate response options.",SHALL,DTR Server,,true,,
484
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-42,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-42,DTR Servers **SHALL NOT** provide a `satisfied-pa-id` in response to a DTR invocation that was triggered by a PAS request.,SHALL NOT,DTR Server,,false,,
485
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-43,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-43,DTR payers **SHALL** ONLY use DTR adaptive forms to return a [coverage-information](https://build.fhir.org/ig/HL7/davinci-crd/StructureDefinition-ext-coverage-information.html) extension when:,SHALL,DTR Server,,false,,
486
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-44,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-44,"If an adaptive QuestionnaireResponse includes an unsolicited determination that authorization requirements have been ""satisfied"", the EHR **SHALL** allow the clinician to flag the provided determination number as ""not valid"".",SHALL,DTR Client,,true,,
487
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-45,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-45,"If a payer receives a new invocation of an adaptive form for the same order, they **SHALL** treat the result of the new completion as replacing any previous completion from a prior coverage determination process.",SHALL,DTR Server,,true,,
488
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-46,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-46,"If a final DTR QuestionnaireResponse includes a Coverage Information extension, the DTR Client **SHALL** associate the Coverage Information returned with the relevant Appointment, Encounter and/or Request resources and **SHALL** make the information provided in the extension available to their users for viewing.",SHALL,DTR Client,,true,,
489
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-47,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-47,"For the purpose of determining whether to update or replace, the combination of the 'coverage' reference and the `coverage-assertion-id` **SHALL** be treated as a primary key (i.e., if the coverage and `coverage-assertion-id` is the same, then the expectation is to replace the existing `coverage-information` repetition. If either are different then the intention is to add an additional `coverage-information` extension repetition to the list.)",SHALL,DTR Client,,false,,
490
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-48,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-48,"When updating an existing `coverage-information` instance, all elements other than the primary key may change, except that `doc-needed` and `doc-purpose` **SHOULD NOT** change to remove types of documentation needed merely to reflect forms that have already been completed.",SHOULD NOT,DTR Client,,false,,
491
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-49,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-49,"If an updated `coverage-information` lists more Questionnaires to fill out then the original, DTR clients **SHALL** expose additional forms to the user in their typical manner.",SHALL,DTR Client,,true,,
492
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-50,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-50,"In some cases, if there isn't specific data that can be retrieved computably from the EHR, it **MAY** be sufficient for a payer to merely have an attestation by the provider that certain documentation exists, that a certain patient condition exists, or that certain actions have been completed.",MAY,DTR Server,,false,,
493
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-51,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-51,Payers **SHOULD** design questionnaires to support attestation rather than discrete data where this is sufficient for the business requirements.,SHOULD,DTR Server,,true,,
494
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-52,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-52,"Questionnaires **MAY** also support attaching reports or other supporting documentation (e.g., images, pathology reports, etc.) where providing question answers is not sufficient.",MAY,DTR Server,,false,,
495
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-53,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-53,Payers **SHOULD** use the `Questionnaire.effectivePeriod` element to describe the period over which the documentation templates and rules are valid.,SHOULD,DTR Server,,false,,
496
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-54,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-54,Questionnaires **SHALL** include logic that supports population from the EHR where possible.,SHALL,DTR Server,,false,,
497
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-55,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-55,"Such logic **SHOULD** rely exclusively on data elements and search parameters defined either in US Core or [HRex](http://hl7.org/fhir/us/davinci-hrex/1.2.0/index.html) (including simple calculations there-on - e.g., age from birthdate).",SHOULD,DTR Server,,false,,
498
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-56,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-56,"Ideally, the design of questions in payer forms **SHOULD** consider what data is likely to be available for pre-population purposes, with an objective of minimizing provider data entry effort.",SHOULD,DTR Server,,false,,
499
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-57,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-57,"Due to differences in workflows or information systems, clinical information **MAY** be represented in different FHIR resources or with different codes or code systems.",MAY,"DTR Client, DTR Server",,false,,
500
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-58,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-58,"Therefore, payer CQL **MAY** have to examine different resources or use value sets to find patient information.",MAY,DTR Server,,false,,
501
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-59,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-59,Any supplied CQL **SHALL** be used as the basis for pre-populating elements using data gathered from the EHR.,SHALL,DTR Client,,false,,
502
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-60,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-60,DTR clients **SHALL** handle expressions in Questionnaires denoted as either CQL or FHIRPath (which is a proper subset of CQL).,SHALL,DTR Client,,false,,
503
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-61,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-61,DTR servers **SHOULD** identify inline expressions that are valid FHIRPath as FHIRPath rather than CQL.,SHOULD,DTR Server,,false,,
504
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-62,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-62,"Prior to exposing items from the draft QuestionnaireResponse to the user for completion and/or review, the DTR client **SHALL** attempt to perform the SDC population of all elements having [initialExpression](http://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaire-initialExpression.html), [candidateExpression](http://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaire-candidateExpression.html) and [calculatedExpression](http://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaire-calculatedExpression.html) extensions found in the Questionnaire for any enabled elements.",SHALL,DTR Client,,false,,
505
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-63,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-63,"However, clients **MAY** use alternative mechanisms that take into account the data requirements expressed by the CQL.",MAY,DTR Client,,false,,
506
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-64,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-64,Such alternative mechanisms **SHALL** provide pre-population that is overall at least as complete and accurate as would be achieved through CQL execution.,SHALL,DTR Client,,false,,
507
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-65,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-65,"All items that are pre-populated (whether by the payer in the initial QuestionnaireResponse provided in the questionnaire package, or from data retrieved from the EHR) **SHALL** have their `origin.source` set to 'auto-server' (pre-populated by Payer) or 'auto-client' (pre-populated by EHR) within the required [information-origin](StructureDefinition-information-origin.html) extension.",SHALL,DTR Client,,true,,
508
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-66,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-66,DTR clients SHALL iterate as necessary until a steady state is reached.,SHALL,DTR Client,,false,,
509
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-67,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-67,"If dependencies are such that a steady state cannot be reached (e.g., an item that is enabled causes a value to be set which causes a different item to be enabled, that then disables the first item...), then the Questionnaire SHALL be treated as erroneous and attempts at automatic population SHALL end, with the user being informed of that.",SHALL,DTR Client,,true,,
510
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-68,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-68,"If executing CQL directly, the DTR client **SHALL** retrieve the FHIR resources specified in the `dataRequirement` section of a Library.",SHALL,DTR Client,,true,,
511
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-69,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-69,"Queries **SHOULD** be constructed to minimize the retrieval of information that is not necessary to answer the relevant questions (For example, queries for medications that only require active medications should have appropriate filters to retrieve active medications and not inactive medications).",SHOULD,DTR Client,,false,,
512
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-70,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-70,DTR clients **SHALL** support such an incremental population of adaptive QuestionnaireResponses.,SHALL,DTR Client,,false,,
513
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-71,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-71,"If DTR is launched using a previously saved QuestionnaireResponse, the DTR client **SHOULD** re-execute CQL to populate all empty elements, as well as those with an [origin.source](StructureDefinition-information-origin.html) of 'auto-client' or 'auto-server'.",SHOULD,DTR Client,,true,,
514
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-72,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-72,"Any answers with an `origin.source` of 'override' or 'manual' **SHALL NOT** be changed, though if pre-population would have asserted a value for an answer with an `origin.source` of 'manual', the `origin.source` **SHALL** be changed to 'override'.",SHALL NOT / SHALL,DTR Client,,true,,
515
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-73,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-73,"When executing CQL for population, DTR clients **SHALL** replace payer-prepopulated data unless the results of the CQL population is an empty set.",SHALL,DTR Client,,true,,
516
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-74,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-74,"If executing CQL directly, the engine **SHALL** make available to the execution context all such referenced CQL [Libraries](http://hl7.org/fhir/R4/library.html).",SHALL,DTR Client,,true,,
517
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-75,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-75,"If not executing the CQL directly, alternative processes **SHOULD** consider the content of referenced libraries as well.",SHOULD,DTR Client,,true,,
518
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-76,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-76,"If the CQL is malformed (is not syntactically correct) in any way, a client directly executing the CQL **SHALL NOT** attempt any execution of the malformed CQL.",SHALL NOT,DTR Client,,true,,
519
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-77,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-77,Clients not executing the CQL **SHOULD** be tolerant of malformed CQL.,SHOULD,DTR Client,,true,,
520
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-78,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-78,"In either case, the client **SHALL** report the error to the payer using the [Log Questionnaire Errors operation](OperationDefinition-log-questionnaire-errors.html) in addition to performing its own internal logging processes.",SHALL,DTR Client,,false,,
521
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-79,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-79,"If the CQL in the Questionnaire is only used for form population purposes, the app **SHALL**:",SHALL,DTR Client,,true,,
522
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-80,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-80,"If the CQL also includes questionnaire logic, such as whether certain elements are enabled, or other validation rules, the DTR client (potentially in consultation with the user) **MAY** attempt to determine if the questionnaire is sufficiently simple that it would be reasonable to allow the user to attempt completion with potentially improperly enabled items.",MAY,DTR Client,,true,,
523
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-81,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-81,"If this is not possible, the client **SHALL** notify the user that there is an issue with the questionnaire and prohibit further completion of the form.",SHALL,DTR Client,,true,,
524
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-82,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-82,A query for data that returns no results SHALL NOT be considered a failure.,SHALL NOT,DTR Client,,false,,
525
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-83,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-83,The table below is guidance that **SHOULD** be used when constructing questions with coded answers:,SHOULD,DTR Server,,false,,
526
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-84,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-84,All value set expansions SHOULD be made by using the [DTR Valueset Expand ($expand)](OperationDefinition-DTR-ValueSet-expand.html) operation.,SHOULD,DTR Client,,false,,
527
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-85,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-85,"This CQL **MAY** query for patient observations, conditions, or other discrete information within the EHR to use as part of the population process or logic.",MAY,DTR Server,,false,,
528
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-86,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-86,"The mime type that **SHOULD** be used for a CQL Identifier is ""text/cql-identifier"" and CQL expressions embedded in the Questionnaire **SHOULD** use this type and reference CQL found in libraries rather than including CQL inline. (See supporting information [here](https://build.fhir.org/ig/HL7/cql/03-developersguide.html#identifiers))",SHOULD,DTR Server,,false,,
529
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-87,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-87,All [Libraries](http://hl7.org/fhir/R4/library.html) needed by a questionnaire **SHALL** be referenced by the [cqf-library](https://hl7.org/fhir/extensions/StructureDefinition-cqf-library.html) extension and included as part of the [$questionnaire-package](OperationDefinition-questionnaire-package.html) operation.,SHALL,DTR Server,,false,,
530
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-88,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-88,"CQL logic **SHOULD** be partitioned to be specific to groups/questions/etc., when doing so will allow it to be more efficient - though consideration should also be given to whether performing significant data gathering at the outset (even if the data is unneeded) will produce a more positive experience than intermittent data retrieval 'on demand', when such retrieval **MAY** introduce user-interface delays.",SHOULD / MAY,DTR Server,,false,,
531
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-89,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-89,This information **MAY** be gathered through a series of CQL statements.,MAY,DTR Client,,false,,
532
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-90,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-90,"When constructing this CQL for DTR, these statements **SHOULD** be nested in conditionals to first check if the patient has diabetes before checking for information dependent on that condition.",SHOULD,DTR Server,,false,,
533
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-91,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-91,"While CQL can either be embedded inline in Expression elements or packaged in [Libraries](http://hl7.org/fhir/R4/library.html), This guide strongly recommends that implementers **SHOULD** place CQL logic in libraries as it is much easier to edit and debug such logic when it is all in one place, rather than when it's scattered through many different expression elements throughout the Questionnaire.",SHOULD,DTR Server,,false,,
534
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-92,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-92,The CQL **SHALL** be compatible with version [CQL 1.5](http://cql.hl7.org/N1/).,SHALL,DTR Server,,false,,
535
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-93,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-93,"CQL **SHALL** have a context of ""Patient"".",SHALL,DTR Server,,false,,
536
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-94,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-94,"Within the Questionnaire, CQL **SHALL** follow SDC rules for determining [context](https://hl7.org/fhir/uv/sdc/STU3/populate.html).",SHALL,DTR Server,,false,,
537
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-95,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-95,"Within [Libraries](http://hl7.org/fhir/R4/library.html), both raw CQL and compiled ELM (in JSON syntax – i.e., application/elm+json) **SHALL** be provided as separate content repetitions within the library.",SHALL,DTR Server,,false,,
538
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-96,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-96,"Within Expression elements, the base expression CQL **SHALL** be accompanied by an [Alternative Expression Extension](StructureDefinition-alternativeExpression.html) containing the compiled JSON ELM for the expression.",SHALL,DTR Server,,false,,
539
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-97,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-97,"If the Questionnaire depends on multiple [Libraries](http://hl7.org/fhir/R4/library.html) (has multiple [cqf-library](https://hl7.org/fhir/extensions/StructureDefinition-cqf-library.html) elements), then any [valueExpression](https://hl7.org/fhir/extensions/StructureDefinition-variable.html) referring to defined variables **SHALL** specify the library name as well as the statement name as follows: ""LibraryName"".statementName.",SHALL,DTR Server,,true,,
540
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-98,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-98,"Library names **SHALL** be unique within a Questionnaire package and **SHOULD** be unique across all Libraries made available by the payer (e.g., ""expression"": ""LowerLimbProsthesis"".PhysicalExaminationType where LowerLimbProsthesis is the library name and PhysicalExaminationType is the expression name).",SHALL / SHOULD,DTR Server,,false,,
541
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-99,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-99,FHIR [Libraries](http://hl7.org/fhir/R4/library.html) **SHALL** send CQL and ELM using the `content.data` element.,SHALL,DTR Server,,false,,
542
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-100,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-100,CQL tools **SHOULD** support additional FHIRPath variables and functions that are [defined within SDC](https://hl7.org/fhir/uv/sdc/STU3/expressions.html#fhirpath-supplements).,SHOULD,DTR Client,,false,,
543
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-101,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-101,Entities deploying SMART on FHIR DTR apps **SHALL** define an endpoint maintaining a list of payers currently supported by that app.,SHALL,DTR Client,,true,,
544
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-102,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-102,This listing of Payers **SHALL** conform to the [DTR Supported Payers](StructureDefinition-dtr-supported-Payers.html) profile also published in this IG.,SHALL,DTR Client,,false,,
545
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-103,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-103,EHRs using external DTR apps **SHALL** support accessing the endpoint.,SHALL,DTR Client,,true,,
546
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-104,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-104,Different endpoints **SHALL** be defined for different versions of the application in situations where support for payers varies by application version.,SHALL,DTR Client,,false,,
547
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-105,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-105,It is important to note that the Payer Identifier used in this file **SHALL** be the same as the ones that are returned by the [endpoint discovery mechanism](http://hl7.org/fhir/us/davinci-hrex/1.2.0/endpoint-discovery.html) defined in [HRex](http://hl7.org/fhir/us/davinci-hrex/1.2.0/index.html).,SHALL,DTR Client,,false,,
548
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-106,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-106,Accessing the endpoint will be by a simple GET with an Accept header of application/json and **SHALL** be performed over TLS.,SHALL,"DTR Client, DTR Server",,false,,
549
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-107,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-107,The [$questionnaire-package](OperationDefinition-questionnaire-package.html) operation **SHALL** include a `coverage-assertion-id` element of the `coverage-information` as the context value.,SHALL,DTR Client,,false,,
550
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-108,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-108,DTR **MAY** error if invoked with CRD `coverage-assertion-id` where the Coverage-Information did not indicate that info was needed.,MAY,DTR Client,,true,,
551
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-109,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-109,The [$questionnaire-package](OperationDefinition-questionnaire-package.html) operation **SHALL** include the TRN associated with the LOINC code as the context value.,SHALL,DTR Client,,false,,
552
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-110,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-110,DTR **SHOULD** error if it is invoked with an unrecognized TRN value or one from a PAS response that did not specify such a LOINC code.,SHOULD,DTR Client,,true,,
553
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-111,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-111,"When the DTR process is being launched, the Electronic Health Record (EHR) system and DTR process **SHALL** follow the procedures established by the SMART App Launch Framework - specifically the [SMART App Launch Framework's EHR launch sequence](https://www.hl7.org/fhir/smart-app-launch/app-launch.html#launch-app-ehr-launch).",SHALL,DTR Client,,false,,
554
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-112,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-112,"The openId, user, and patient launch contexts **SHALL** be requested and provided.",SHALL,DTR Client,,false,,
555
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-113,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-113,"In addition, the launch context **SHOULD** include fhirContext references as follows:",SHOULD,DTR Client,,false,,
556
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-114,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-114,"If these are not passed in as part of context, then the app **MAY** either raise an error or guide the user to select the needed records.",MAY,DTR Client,,true,,
557
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-115,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-115,Payer-provided Questionnaires **MAY** require access to a wide range of resources.,MAY,DTR Server,,false,,
558
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-116,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-116,"At a minimum, the DTR app and the HIT server **SHALL** support search access to the following resources via their FHIR RESTful API using the profiles defined by or referenced by this guide:",SHALL,"DTR Client, DTR Server",,false,,
559
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-117,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-117,"Resources referenced from the above via Must Support elements, including transitive references, **SHALL** also be supported.",SHALL,DTR Client,,true,,
560
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-118,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-118,"However, apps **MAY** opt to be more restrictive in their access requests if they are confident that they can do so while meeting payer CQL needs and EHRs indicate this is desirable.",MAY,DTR Client,,false,,
561
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-119,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-119,"Regardless of the scopes asked for and granted by the user, the EHR **SHALL** limit access to only that data they deem appropriate for use in automatically populating payer forms, in particular restricting sensitive data.",SHALL,DTR Client,,false,,
562
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-120,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-120,Payers **SHALL** require DTR apps and EHRs connecting to their endpoint to authenticate using [SMART on FHIR Backend Services](https://www.hl7.org/fhir/smart-app-launch/backend-services.html).,SHALL,DTR Server,,false,,
563
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-121,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-121,"If the launch context did not include Coverages, a QuestionnaireResponse or a Request or Encounter, the DTR app **SHALL** either generate an error or allow the user to search to find one to use as context for the DTR session.",SHALL,DTR Client,,true,,
564
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-122,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-122,The `QuestionnaireResponse.questionnaire` **SHALL** point to the same canonical URL as the Questionnaire provided in the package Bundle.,SHALL,DTR Server,,true,,
565
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-123,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-123,"If any of the retrieved Questionnaires have an `effectivePeriod` that ends prior to the current date, then the DTR client **SHALL** change the status of any retrieved work-in-progress QuestionnaireResponses for the expired Questionnaires to 'stopped' and notify the user that the previously recorded content has expired.",SHALL,DTR Client,,true,,
566
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-124,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-124,"If an expired Questionnaire is retrieved when it wasn't explicitly requested by referring to a canonical version, but instead by passing in the relevant order(s) and/or context id, the DTR client **SHOULD** report an error to the payer.",SHOULD,DTR Client,,true,,
567
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-125,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-125,Previously completed QuestionnaireResponses SHALL NOT be used by DTR clients to complete Questionnaires received due to concerns about currency of clinical information.,SHALL NOT,DTR Client,,false,,
568
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-126,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-126,"When launched after CRD, the context, Request and referenced resources **SHALL** be present.",SHALL,DTR Client,,true,,
569
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-127,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-127,Questionnare canonicals **MAY** be present.,MAY,DTR Client,,false,,
570
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-128,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-128,"DTR servers **SHALL** allow for the possibility of minor changes in the order between CRD and DTR (e.g., changes to status, adding notes, etc.) that mean that the instances don't have to be identical to be considered the same order.",SHALL,DTR Server,,false,,
571
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-129,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-129,DTR servers **MAY** raise an error if they receive an order that is unrelated to the provided context id.,MAY,DTR Server,,true,,
572
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-130,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-130,"If DTR is invoked and there are issues with the source data (e.g., the coverage cannot be found, the context id can't be found, etc.), then the DTR service **SHALL** return a 4xx error with an accompanying OperationOutcome.",SHALL,DTR Server,,true,,
573
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-131,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-131,"In some cases, the population process **MAY** populate all answers to the Questionnaire.",MAY,DTR Client,,false,,
574
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-132,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-132,"The DTR client **SHALL** provide the ability, but NOT a requirement, for providers to review, and if necessary revise, pre-populated answers prior to saving the resulting response for subsequent use within the EHR.",SHALL,DTR Client,,false,,
575
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-133,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-133,"Implementers **SHOULD** review the advanced rendering, advanced behavior, population and adaptive forms portions of the SDC implementation guide, focusing on the elements and extensions included in the DTR profiles.",SHOULD,"DTR Client, DTR Server",,false,,
576
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-134,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-134,Implementers **SHOULD** also be familiar with the documentation about the Questionnaire and QuestionnaireResponse resources from the core FHIR specification.,SHOULD,"DTR Client, DTR Server",,false,,
577
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-135,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-135,All DTR applications **SHALL** support rendering according to the `mustSupport` elements in the DTR Questionnaire profile according to all CQL found within Questionnaire extensions.,SHALL,DTR Client,,false,,
578
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-136,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-136,CQL and FHIR Questionnaires **SHALL** be required even when DTR is implemented within a DTR Native App as opposed to a DTR SMART App.,SHALL,DTR Client,,false,,
579
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-137,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-137,"When a user fills in a value or changes an answer in a QuestionnaireResponse, the DTR client **SHALL** populate the [information-origin](StructureDefinition-information-origin.html) extension, setting the `author` property to the current user, and setting `source` to 'override' if the source was already 'override', 'auto-client', 'auto-server', or 'manual' otherwise.",SHALL,DTR Client,,true,,
580
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-138,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-138,DTR clients **SHALL** either provide a PractitionerRole in the SMART App launch of DTR or support transmitting the role by means of the [activeRole](StructureDefinition-activeRole.html) extension within the Practitioner resource.,SHALL,DTR Client,,false,,
581
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-139,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-139,All references within the QuestionnaireResponse **SHALL** only point to either contained resources or to resources that reside on the DTR client's FHIR endpoint.,SHALL,DTR Server,,false,,
582
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-140,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-140,The only situation where a resource can be ['contained'](https://hl7.org/fhir/R4/references.html#contained) **SHALL** be if the contained instance is provided by the payer either:,SHALL,DTR Server,,false,,
583
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-141,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-141,The only place ['contained'](https://hl7.org/fhir/R4/references.html#contained) resource references are permitted **SHALL** be in `item.answer` references.,SHALL,DTR Server,,false,,
584
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-142,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-142,The DTR client **SHALL** validate the QuestionnaireResponse on an ongoing basis as the user is reviewing and entering data.,SHALL,DTR Client,,false,,
585
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-143,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-143,The client **SHALL** visually flag any elements that require adjustment to meet validation rules.,SHALL,DTR Client,,false,,
586
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-144,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-144,"For Standard Questionnaires, when the QuestionnaireResponse is valid, the DTR client **SHALL** indicate that to the user and allow them to mark the QuestionnaireResponse as complete, though the user **MAY** opt to continue making changes or save the QuestionnaireResponse in draft form.",SHALL / MAY,DTR Client,,true,,
587
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-145,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-145,The DTR app **SHALL NOT** mark a Standard QuestionnaireResponse as 'complete' automatically.,SHALL NOT,DTR Client,,false,,
588
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-146,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-146,The DTR client **SHALL NOT** allow the user to indicate they are ready for the next question/set of questions until the answers to the current QuestionnaireResponse pass validation rules.,SHALL NOT,DTR Client,,false,,
589
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-147,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-147,"If [$next-question](OperationDefinition-DTR-Questionnaire-next-question.html) is invoked with a QuestionnaireResponse the payer determines is invalid based on the rules in the [contained](https://hl7.org/fhir/R4/references.html#contained) Questionnaire, it **SHALL** return an HTTP 400 error with an OperationOutcome indicating the circumstances where the QuestionnaireResponse is invalid.",SHALL,DTR Server,,true,,
590
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-148,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-148,"However, the QuestionnaireResponse **MAY** have a [coverage-information](https://build.fhir.org/ig/HL7/davinci-crd/StructureDefinition-ext-coverage-information.html) extension added reflecting the payer's coverage assessment based on the information gathered in the QuestionnaireResponse.",MAY,DTR Server,,false,,
591
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-149,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-149,"In some cases, the answer to a question modified by a user **MAY** be the input to an expression driving other logic within the questionnaire.",MAY,DTR Client,,false,,
592
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-150,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-150,"DTR clients **SHALL** monitor for changes to dependent questionnaire answers and re-execute logic, adjusting calculatedValues, enabling elements, adjusting validation rules, etc. based on changes made by the user.",SHALL,DTR Client,,false,,
593
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-151,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-151,"At any point prior to completion a DTR client **SHALL** be able to save the `in-progress` QuestionnaireResponse, both to ensure that work-in-progress is not lost, and to allow the user to close the session and then relaunch it later.",SHALL,DTR Client,,false,,
594
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-152,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-152,"When the QuestionnaireResponse has been marked as `completed`, the DTR client **SHALL** save the QuestionnaireResponse to the EHR.",SHALL,DTR Client,,true,,
595
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-153,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-153,"A DTR SMART App **SHALL** 'create' the record if it had not previously been stored, or 'update' if the record had already been saved at least once via the FHIR API.",SHALL,DTR Client,,true,,
596
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-154,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-154,"Upon storing a completed QuestionnaireResponse with one or more [coverage-information](https://build.fhir.org/ig/HL7/davinci-crd/StructureDefinition-ext-coverage-information.html) extensions, the EHR **SHALL** propagate the [coverage-information](https://build.fhir.org/ig/HL7/davinci-crd/StructureDefinition-ext-coverage-information.html) extensions to all non-Coverage resources included on the [qr-context](StructureDefinition-qr-context.html) extension on the QuestionnaireResponse.",SHALL,DTR Client,,false,,
597
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-155,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-155,"If a [coverage-information](https://build.fhir.org/ig/HL7/davinci-crd/StructureDefinition-ext-coverage-information.html) already exists on the target resource with the same `coverage-information.coverage` or `coverage-information.coverage-assertion-id`, it **SHALL** be overridden.",SHALL,DTR Client,,true,,
598
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-156,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-156,"In those cases where a QuestionnaireResponse is to be used to convey information either to the payer or to downstream service providers, the DTR Client **SHALL** place the QuestionnaireResponse in a 'collection' Bundle complying with the [questionnaireResponseBundle](StructureDefinition-DTR-QRBundle.html) profile.",SHALL,DTR Client,,false,,
599
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-157,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-157,This Bundle **SHALL** include no more than one QuestionnaireResponse entry and it **SHALL** be the initial entry.,SHALL,DTR Client,,false,,
600
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-158,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-158,The bundle **SHALL** also include any resources that are referenced by the QuestionnaireResponse as answerReference that are not already contained within the QuestionnaireResponse.,SHALL,DTR Client,,false,,
601
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-159,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-159,"If the initial `QuestionnaireResponse` has multiple purposes (e.g., for prior authorization, claim submission, and performer transmission), the DTR server organization **SHALL** ensure that the full completed [QuestionnaireResponse package](StructureDefinition-DTR-QPackageBundle.html) is appropriate for all uses. If there is a need to send different information to different recipients for different purposes, the DTR server organization **SHALL** produce distinct Questionnaires such that QuestionnaireResponses only contain information that can be shared without redaction for their listed purposes.",SHALL,DTR Server,,true,,
602
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-160,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-160,Such resources **SHALL** either be PDFs or XHTML pages that adhere to FHIR's ['safe' HTML rules](https://hl7.org/fhir/R4/security.html#narrative) (no active content or scripts),SHALL,DTR Server,,true,,
603
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-161,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-161,Some payers **MAY** require that attestations or other answers be 'signed' (the electronic equivalent of 'initialing' the answer).,MAY,DTR Server,,false,,
604
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-162,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-162,The DTR client **SHOULD** use result caching so that results queried by CQL (or otherwise retrieved based on CQL) previously remain available after a subsequent call to $next-question.,SHOULD,DTR Client,,true,,
605
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-163,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-163,These value sets SHOULD be expanded by the client and therefore SHOULD NOT be included in the questionnaire package.,SHOULD NOT / SHOULD,DTR Client,,false,,
606
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-164,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-164,"Payers SHOULD design their questionnaires, value sets, and libraries with the knowledge that content which is too large may cause DTR clients to fail.",SHOULD,DTR Server,,false,,
607
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-165,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-165,Such contained Binary pages **SHALL NOT** point to other contained resources unless those resources are pointed to directly by other elements in the Questionnaire.,SHALL NOT,DTR Server,,true,,
608
+ hl7.fhir.us.davinci-dtr_2.2.0,spec-166,https://hl7.org/fhir/us/davinci-dtr/2.2.0/en/specification.html#ci-c-spec-166,"Implementers **MAY** embed images or other content using the 'data' mechanism, or may opt to combine multiple files into a single instance to eliminate the need for inter-linking.",MAY,DTR Server,,true,,
@@ -1,4 +1,4 @@
1
- Req Set,ID,URL,Requirement,Conformance,Actors,Conditionality,Not Tested Reason,Not Tested Details,Da Vinci DTR Full EHR Test Suite Short ID(s),Da Vinci DTR Full EHR Test Suite Full ID(s)
1
+ Req Set,ID,URL,Requirement,Conformance,Actors,Conditionality,Not Tested Reason,Not Tested Details,Da Vinci DTR Full EHR Test Suite v2.0.1 Short ID(s),Da Vinci DTR Full EHR Test Suite v2.0.1 Full ID(s)
2
2
  hl7.fhir.us.davinci-dtr_2.0.1,4,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#must-support,DTR apps and EHRs that take on DTR app responsibility **SHALL** be able to render Questionnaires,SHALL,"Full EHR,SMART Client",false,,,2.1.2.01,dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_custom_static_rendering-dtr_rendering_attest
3
3
  hl7.fhir.us.davinci-dtr_2.0.1,5,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#must-support,DTR apps and EHRs that take on DTR app responsibility **SHALL** be able to render ... QuestionnaireResponses.,SHALL,"Full EHR,SMART Client",false,,,"",""
4
4
  hl7.fhir.us.davinci-dtr_2.0.1,6,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#must-support,[A]pps and EHRs acting as form fillers **SHALL** be able to display: ... QuestionnaireResponse.questionnaire.questionnaireDisplay,SHALL,"Full EHR,SMART Client",false,,,"",""
@@ -0,0 +1 @@
1
+ Req Set,ID,URL,Requirement,Conformance,Actors,Conditionality,Not Tested Reason,Not Tested Details,Da Vinci DTR Client Test Suite v2.2.0 Short ID(s),Da Vinci DTR Client Test Suite v2.2.0 Full ID(s)
@@ -1,4 +1,4 @@
1
- Req Set,ID,URL,Requirement,Conformance,Actors,Conditionality,Not Tested Reason,Not Tested Details,Da Vinci DTR Light EHR Test Suite Short ID(s),Da Vinci DTR Light EHR Test Suite Full ID(s)
1
+ Req Set,ID,URL,Requirement,Conformance,Actors,Conditionality,Not Tested Reason,Not Tested Details,Da Vinci DTR Light EHR Test Suite v2.0.1 Short ID(s),Da Vinci DTR Light EHR Test Suite v2.0.1 Full ID(s)
2
2
  hl7.fhir.us.davinci-dtr_2.0.1,2,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#must-support,Da Vinci DTR [Light EHR] implementations **SHALL** conform to the US Core IG [Must Support](http://hl7.org/fhir/us/core/STU3.1.1/general-guidance.html#must-support) [Responder] Guidance where US Core IG resources are used.,SHALL,Light EHR,false,,,2.1,dtr_light_ehr-Group02-us_core_v311_fhir_api
3
3
  hl7.fhir.us.davinci-dtr_2.0.1,31,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#configuring-appehr-to-payer-connectivity,"Some payers may create Questionnaires that rely on code systems that require licensing for use where there isn’t already a cross-U.S. license in place (e.g., UB, CPT). In such cases, the payer, provider, and if necessary, the SMART on FHIR app vendor will need to have the relevant licenses to display, store, and retransmit the information captured.",SHALL,"Full EHR,Light EHR,SMART Client,Payer Service",true,,,"",""
4
4
  hl7.fhir.us.davinci-dtr_2.0.1,32,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#configuring-appehr-to-payer-connectivity,The expectations around licensing requirements should be established as part of the configuration process between the parties.,SHOULD,"Full EHR,Light EHR,SMART Client,Payer Service",true,,,"",""
@@ -1,4 +1,4 @@
1
- Req Set,ID,URL,Requirement,Conformance,Actors,Conditionality,Not Tested Reason,Not Tested Details,Da Vinci DTR Payer Server Test Suite Short ID(s),Da Vinci DTR Payer Server Test Suite Full ID(s)
1
+ Req Set,ID,URL,Requirement,Conformance,Actors,Conditionality,Not Tested Reason,Not Tested Details,Da Vinci DTR Payer Server Test Suite v2.0.1 Short ID(s),Da Vinci DTR Payer Server Test Suite v2.0.1 Full ID(s)
2
2
  hl7.fhir.us.davinci-dtr_2.0.1,18,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#impact-on-payer-processes,"[Payer] assertions about coverage or prior authorization requirements … **MAY** ... be expressed conditionally. e.g., “Provided this service is billed as X, Y or Z, then prior authorization is not needed” [to account for uncertainty in their inference from clinical codes used for ordering of the billing codes that will be used on the eventual claim]",MAY,Payer Service,false,,,"",""
3
3
  hl7.fhir.us.davinci-dtr_2.0.1,23,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#configuring-appehr-to-payer-connectivity,[P]ayers **SHALL** have a single endpoint (managed by themselves or a delegate) that can handle responding to all DTR service calls.,SHALL,Payer Service,false,,,"",""
4
4
  hl7.fhir.us.davinci-dtr_2.0.1,24,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#configuring-appehr-to-payer-connectivity,This registration process will ensure the that the DTR app or Full EHR: … Is ‘trusted’ by the payer to deal with patient-identifiable data.,SHALL,Payer Service,false,,,"",""