davinci_dtr_test_kit 0.16.0 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/full_ehr_postman_dinner_order_example.json.erb +41 -0
  3. data/config/presets/full_ehr_postman_respiratory_device_example.json +1 -1
  4. data/config/presets/smart_app_postman_dinner_order_example.json +8 -1
  5. data/config/presets/smart_app_postman_respiratory_device_example.json +1 -1
  6. data/lib/davinci_dtr_test_kit/certs/InfernoCA.key +52 -0
  7. data/lib/davinci_dtr_test_kit/certs/InfernoCA.pem +35 -0
  8. data/lib/davinci_dtr_test_kit/certs/TestKit.pem +32 -0
  9. data/lib/davinci_dtr_test_kit/certs/TestKitPrivateKey.key +28 -0
  10. data/lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/custom/dtr_custom_next_question_response_validation_test.rb +95 -0
  11. data/lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/custom/dtr_full_ehr_custom_adaptive_request_test.rb +87 -0
  12. data/lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/custom/dtr_full_ehr_custom_adaptive_workflow_group.rb +136 -0
  13. data/lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/custom/dtr_smart_app_custom_adaptive_request_test.rb +171 -0
  14. data/lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/custom/dtr_smart_app_custom_adaptive_workflow_group.rb +146 -0
  15. data/lib/davinci_dtr_test_kit/client_groups/{dinner_adaptive → adaptive_questionnaire/dinner_order}/dtr_adaptive_next_question_retrieval_group.rb +3 -3
  16. data/lib/davinci_dtr_test_kit/client_groups/{dinner_adaptive → adaptive_questionnaire/dinner_order}/dtr_full_ehr_adaptive_dinner_workflow_group.rb +21 -11
  17. data/lib/davinci_dtr_test_kit/client_groups/{dinner_adaptive → adaptive_questionnaire/dinner_order}/dtr_full_ehr_adaptive_initial_retrieval_group.rb +6 -6
  18. data/lib/davinci_dtr_test_kit/client_groups/{dinner_adaptive → adaptive_questionnaire/dinner_order}/dtr_smart_app_adaptive_dinner_workflow_group.rb +5 -5
  19. data/lib/davinci_dtr_test_kit/client_groups/{dinner_adaptive → adaptive_questionnaire/dinner_order}/dtr_smart_app_adaptive_initial_retrieval_group.rb +5 -5
  20. data/lib/davinci_dtr_test_kit/client_groups/{dinner_adaptive → adaptive_questionnaire}/dtr_adaptive_next_question_request_test.rb +9 -24
  21. data/lib/davinci_dtr_test_kit/client_groups/{dinner_adaptive → adaptive_questionnaire}/dtr_adaptive_next_question_request_validation_test.rb +36 -17
  22. data/lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/dtr_adaptive_response_validation_test.rb +130 -0
  23. data/lib/davinci_dtr_test_kit/client_groups/auth/dtr_client_payer_auth_smart_group.rb +29 -0
  24. data/lib/davinci_dtr_test_kit/client_groups/auth/dtr_client_payer_auth_udap_group.rb +29 -0
  25. data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_full_ehr_custom_static_workflow_group.rb +15 -14
  26. data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_smart_app_custom_static_workflow_group.rb +5 -5
  27. data/lib/davinci_dtr_test_kit/client_groups/dinner_static/dtr_full_ehr_static_dinner_workflow_group.rb +14 -10
  28. data/lib/davinci_dtr_test_kit/client_groups/dinner_static/dtr_smart_app_static_dinner_workflow_group.rb +1 -1
  29. data/lib/davinci_dtr_test_kit/client_groups/{dinner_adaptive → full_ehr}/dtr_full_ehr_adaptive_request_test.rb +11 -14
  30. data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_questionnaire_package_request_test.rb +9 -17
  31. data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_questionnaire_response_correctness_test.rb +10 -1
  32. data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_store_attestation_test.rb +3 -3
  33. data/lib/davinci_dtr_test_kit/client_groups/light_ehr/fhir_context_references_test.rb +4 -5
  34. data/lib/davinci_dtr_test_kit/client_groups/must_support/dtr_full_ehr_ms_questionnaire_package_request_test.rb +75 -0
  35. data/lib/davinci_dtr_test_kit/client_groups/must_support/dtr_full_ehr_questionnaire_must_support_group.rb +85 -0
  36. data/lib/davinci_dtr_test_kit/client_groups/must_support/dtr_must_support_attestation_test.rb +39 -0
  37. data/lib/davinci_dtr_test_kit/client_groups/must_support/dtr_questionnaire_must_support_test.rb +42 -0
  38. data/lib/davinci_dtr_test_kit/client_groups/must_support/dtr_smart_app_ms_questionnaire_package_request_test.rb +148 -0
  39. data/lib/davinci_dtr_test_kit/client_groups/must_support/dtr_smart_app_questionnaire_must_support_group.rb +85 -0
  40. data/lib/davinci_dtr_test_kit/client_groups/must_support/questionnaire_must_support_elements.rb +55 -0
  41. data/lib/davinci_dtr_test_kit/client_groups/payer_registration/configuration_display_smart_test.rb +35 -0
  42. data/lib/davinci_dtr_test_kit/client_groups/payer_registration/configuration_display_udap_test.rb +35 -0
  43. data/lib/davinci_dtr_test_kit/client_groups/payer_registration/dtr_client_registration_group.rb +48 -0
  44. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_custom_questionnaire_expressions_test.rb +36 -0
  45. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_custom_questionnaire_extensions_test.rb +32 -0
  46. data/lib/davinci_dtr_test_kit/client_groups/{custom_static → shared}/dtr_custom_questionnaire_libraries_test.rb +7 -2
  47. data/lib/davinci_dtr_test_kit/client_groups/{custom_static → shared}/dtr_custom_questionnaire_package_validation_test.rb +6 -2
  48. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_questionnaire_package_request_validation_test.rb +6 -2
  49. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_questionnaire_response_prepopulation_test.rb +7 -1
  50. data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_questionnaire_response_correctness_test.rb +4 -3
  51. data/lib/davinci_dtr_test_kit/descriptions.rb +8 -0
  52. data/lib/davinci_dtr_test_kit/docs/dtr_full_ehr_suite_description_v201.md +145 -78
  53. data/lib/davinci_dtr_test_kit/docs/dtr_smart_app_suite_description_v201.md +4 -3
  54. data/lib/davinci_dtr_test_kit/dtr_client_options.rb +13 -0
  55. data/lib/davinci_dtr_test_kit/dtr_full_ehr_suite.rb +47 -7
  56. data/lib/davinci_dtr_test_kit/dtr_questionnaire_response_validation.rb +33 -21
  57. data/lib/davinci_dtr_test_kit/dtr_smart_app_suite.rb +7 -4
  58. data/lib/davinci_dtr_test_kit/endpoints/mock_ehr.rb +1 -1
  59. data/lib/davinci_dtr_test_kit/endpoints/mock_payer/full_ehr_next_question_endpoint.rb +20 -1
  60. data/lib/davinci_dtr_test_kit/endpoints/mock_payer/full_ehr_questionnaire_package_endpoint.rb +21 -1
  61. data/lib/davinci_dtr_test_kit/endpoints/mock_payer/next_question_endpoint.rb +29 -4
  62. data/lib/davinci_dtr_test_kit/endpoints/mock_payer/questionnaire_package_endpoint.rb +1 -1
  63. data/lib/davinci_dtr_test_kit/endpoints/mock_udap_smart_server/token_endpoint.rb +36 -0
  64. data/lib/davinci_dtr_test_kit/requirements/davinci-dtr-test-kit_out_of_scope_requirements.csv +6 -5
  65. data/lib/davinci_dtr_test_kit/requirements/davinci-dtr-test-kit_requirements.csv +10 -9
  66. data/lib/davinci_dtr_test_kit/requirements/generated/davinci-dtr-test-kit_requirements_coverage.csv +21 -21
  67. data/lib/davinci_dtr_test_kit/urls.rb +21 -4
  68. data/lib/davinci_dtr_test_kit/version.rb +2 -2
  69. metadata +59 -21
  70. data/config/presets/full_ehr_postman_dinner_order_example_postman.json +0 -19
  71. data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_custom_questionnaire_expressions_test.rb +0 -22
  72. data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_custom_questionnaire_extensions_test.rb +0 -19
  73. data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_adaptive_response_validation_test.rb +0 -68
  74. /data/lib/davinci_dtr_test_kit/client_groups/{dinner_adaptive → adaptive_questionnaire/dinner_order}/dtr_adaptive_completion_group.rb +0 -0
  75. /data/lib/davinci_dtr_test_kit/client_groups/{dinner_adaptive → adaptive_questionnaire/dinner_order}/dtr_adaptive_followup_questions_group.rb +0 -0
  76. /data/lib/davinci_dtr_test_kit/client_groups/{dinner_adaptive → smart_app}/dtr_smart_app_adaptive_request_test.rb +0 -0
@@ -12,8 +12,8 @@ hl7.fhir.us.davinci-dtr_2.0.1,11,https://hl7.org/fhir/us/davinci-dtr/STU2/specif
12
12
  hl7.fhir.us.davinci-dtr_2.0.1,12,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.item.value - all data types,SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
13
13
  hl7.fhir.us.davinci-dtr_2.0.1,13,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: … The same [item.text] for all nested items,SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
14
14
  hl7.fhir.us.davinci-dtr_2.0.1,14,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: … The same [all data types of item.value] for all nested items,SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
15
- hl7.fhir.us.davinci-dtr_2.0.1,15,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#must-support,[Form filling systems] **SHALL** also handle all mustSupport elements within the Questionnaire profile,SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
16
- hl7.fhir.us.davinci-dtr_2.0.1,16,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#must-support,"[Form filling systems] **SHALL** … provide visual cues where those elements impact expected user action (e.g., required answers, need for signatures, etc.)",SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
15
+ hl7.fhir.us.davinci-dtr_2.0.1,15,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#must-support,[Form filling systems] **SHALL** also handle all mustSupport elements within the Questionnaire profile,SHALL,"Full EHR, SMART Client",,false,"4.04, 4.05","dtr_full_ehr-dtr_full_ehr_questionnaire_ms-dtr_questionnaire_must_support, dtr_full_ehr-dtr_full_ehr_questionnaire_ms-dtr_must_support_attest","3.04, 3.05","dtr_smart_app-dtr_smart_app_questionnaire_ms-dtr_questionnaire_must_support, dtr_smart_app-dtr_smart_app_questionnaire_ms-dtr_must_support_attest",NA,NA,NA,NA
16
+ hl7.fhir.us.davinci-dtr_2.0.1,16,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#must-support,"[Form filling systems] **SHALL** … provide visual cues where those elements impact expected user action (e.g., required answers, need for signatures, etc.)",SHALL,"Full EHR, SMART Client",,false,4.05,dtr_full_ehr-dtr_full_ehr_questionnaire_ms-dtr_must_support_attest,3.05,dtr_smart_app-dtr_smart_app_questionnaire_ms-dtr_must_support_attest,NA,NA,NA,NA
17
17
  hl7.fhir.us.davinci-dtr_2.0.1,17,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#must-support,[Form filling] systems **SHOULD** be able to display Q[uestionnaire]R[esponse].item.itemMedia,SHOULD,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
18
18
  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,NA,NA,NA,NA,NA,NA,,
19
19
  hl7.fhir.us.davinci-dtr_2.0.1,19,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#impact-on-payer-processes,"In situations where the DTR App is aware of the likely billing codes at the time of ordering, it might send these codes as additional CodeableConcept.coding repetitions to assist in server processing.",MAY,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
@@ -33,9 +33,9 @@ hl7.fhir.us.davinci-dtr_2.0.1,32,https://hl7.org/fhir/us/davinci-dtr/STU2/specif
33
33
  hl7.fhir.us.davinci-dtr_2.0.1,33,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-use,Payers **MAY** support either [the [standard questionnaire](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-std-questionnaire.html) or [adaptive questionnaire](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-questionnaire-adapt.html)] approach,MAY,Payer Service,,false,NA,NA,NA,NA,NA,NA,,
34
34
  hl7.fhir.us.davinci-dtr_2.0.1,34,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-use,Payers ... **MAY** opt to provide some Questionnaires using [the [standard questionnaire](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-std-questionnaire.html) … and others using the [[adaptive questionnaire](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-questionnaire-adapt.html)] ... based on the requirements of the form,MAY,Payer Service,,false,NA,NA,NA,NA,NA,NA,,
35
35
  hl7.fhir.us.davinci-dtr_2.0.1,35,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-use,DTR apps and Full EHRs **SHALL** support ... [[standard](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-std-questionnaire.html) ... Questionnaires.,SHALL,"Full EHR, SMART Client",,false,"2.1, 3.1","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow","","",NA,NA,NA,NA
36
- hl7.fhir.us.davinci-dtr_2.0.1,36,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-use,DTR apps and Full EHRs **SHALL** support ... [adaptive](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-questionnaire-adapt.html)] ... Questionnaires.,SHALL,"Full EHR, SMART Client",,false,2.2,dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow,"","",NA,NA,NA,NA
36
+ hl7.fhir.us.davinci-dtr_2.0.1,36,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-use,DTR apps and Full EHRs **SHALL** support ... [adaptive](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-questionnaire-adapt.html)] ... Questionnaires.,SHALL,"Full EHR, SMART Client",,false,3.2,dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow,"","",NA,NA,NA,NA
37
37
  hl7.fhir.us.davinci-dtr_2.0.1,37,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#adaptive-form-considerations,"When a payer uses an Adaptive Form, they **SHALL** return [in response to a [`$questionnaire-package`](https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-questionnaire-package.html) request] a questionnaire instance compliant with the [DTR AdaptiveQuestionnaire-Search] (https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-questionnaire-adapt-search.html) profile.",SHALL,Payer Service,,true,NA,NA,NA,NA,NA,NA,2.08,dtr_payer_server-payer_server_adaptive_questionnaire-payer_server_adaptive_response_search_validation_test
38
- hl7.fhir.us.davinci-dtr_2.0.1,38,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#adaptive-form-considerations,"If the [[`questionnaire-adaptive`](http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive)] extension is simply a boolean value of ‘true’, then the [[`$next-question`](http://hl7.org/fhir/uv/sdc/STU3/OperationDefinition-Questionnaire-next-question.html)] operation endpoint [for the client to use] is the payer base URL. (i.e., [base]/$next-question).",SHALL,"Full EHR, SMART Client",,true,"2.2.1.1.05, 2.2.2.1.03, 2.2.3.1.03","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_followup_questions-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_completion-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation","1.2.1.1.04, 1.2.2.1.03, 1.2.3.1.03","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_adaptive_retrieval-dtr_smart_app_adaptive_initial_retrieval-dtr_adaptive_response_validation, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_adaptive_followup_questions-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_adaptive_completion-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation",NA,NA,NA,NA
38
+ hl7.fhir.us.davinci-dtr_2.0.1,38,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#adaptive-form-considerations,"If the [[`questionnaire-adaptive`](http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive)] extension is simply a boolean value of ‘true’, then the [[`$next-question`](http://hl7.org/fhir/uv/sdc/STU3/OperationDefinition-Questionnaire-next-question.html)] operation endpoint [for the client to use] is the payer base URL. (i.e., [base]/$next-question).",SHALL,"Full EHR, SMART Client",,true,"2.2.1.05, 3.2.1.1.05, 3.2.2.1.03, 3.2.3.1.03","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_adaptive_workflow-dtr_full_ehr_custom_adaptive_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_followup_questions-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_completion-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation","1.2.1.04, 2.3.1.1.04, 2.3.2.1.03, 2.3.3.1.03","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_adaptive_workflow-dtr_smart_app_custom_adaptive_retrieval-dtr_adaptive_response_validation, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_adaptive_retrieval-dtr_smart_app_adaptive_initial_retrieval-dtr_adaptive_response_validation, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_adaptive_followup_questions-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_adaptive_completion-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation",NA,NA,NA,NA
39
39
  hl7.fhir.us.davinci-dtr_2.0.1,39,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#adaptive-form-considerations,"If the [[`questionnaire-adaptive`](http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-questionnaireAdaptive)] extension is a url, then that is the base for the next question [[operation](http://hl7.org/fhir/uv/sdc/STU3/OperationDefinition-Questionnaire-next-question.html) endpoint for the client to use] (i.e., [url]/$next-question).",SHALL,"Full EHR, SMART Client",,true,,,,,NA,NA,NA,NA
40
40
  hl7.fhir.us.davinci-dtr_2.0.1,40,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#adaptive-form-considerations,"If present, any questionnaire-adaptive url **SHALL** be a sub-url under the base for the payer",SHALL,Payer Service,,true,NA,NA,NA,NA,NA,NA,,
41
41
  hl7.fhir.us.davinci-dtr_2.0.1,41,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#adaptive-form-considerations,"If present, any questionnaire-adaptive url **SHALL** be ... able to be accessed within the same SMART Backend Services connection as was established to make the [`$questionnaire-package`](https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-questionnaire-package.html) call.",SHALL,Payer Service,,true,NA,NA,NA,NA,NA,NA,,
@@ -66,8 +66,8 @@ hl7.fhir.us.davinci-dtr_2.0.1,61,https://hl7.org/fhir/us/davinci-dtr/STU2/specif
66
66
  hl7.fhir.us.davinci-dtr_2.0.1,62,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#population,"CQL **SHALL** be used when pre-populating elements using data gathered from the EHR. This will mean using the launchContext, [variable](https://hl7.org/fhir/extensions/StructureDefinition-variable.html) and the [initialExpression](http://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaire-initialExpression.html), [contextExpression](http://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaire-contextExpression.html) or [calculatedExpression](http://hl7.org/fhir/uv/sdc/STU3/StructureDefinition-sdc-questionnaire-calculatedExpression.html) extensions together with logic in [Libraries](http://hl7.org/fhir/R4/library.html) referenced by the [cqf-library](https://hl7.org/fhir/extensions/StructureDefinition-cqf-library.html) extension to help populate the QuestionnaireResponse.",SHALL,Payer Service,,false,NA,NA,NA,NA,NA,NA,"1.05, 2.05, 2.11","dtr_payer_server-payer_server_static_package-dtr_v201_payer_static_form_extensions_test, dtr_payer_server-payer_server_adaptive_questionnaire-dtr_v201_payer_adaptive_form_extensions_test, dtr_payer_server-payer_server_adaptive_questionnaire-dtr_v201_payer_adaptive_next_question_extensions_test"
67
67
  hl7.fhir.us.davinci-dtr_2.0.1,63,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-design,"Questionnaires, whether standard or adaptive, **SHOULD** also use logic that ensures that only ‘relevant’ questions and answer choices are displayed, based on what answers have already been provided/populated using elements such as enableWhen or enableWhenExpression.",SHOULD,Payer Service,,false,NA,NA,NA,NA,NA,NA,,
68
68
  hl7.fhir.us.davinci-dtr_2.0.1,64,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-design,"When using elements with a data type of ‘Expression’ within Questionnaires to control flow or rendering, all logic **SHALL** be written in CQL.",SHALL,Payer Service,,true,NA,NA,NA,NA,NA,NA,"1.06, 2.06, 2.12","dtr_payer_server-payer_server_static_package-dtr_v201_payer_static_form_expressions_test, dtr_payer_server-payer_server_adaptive_questionnaire-dtr_v201_payer_adaptive_form_expressions_test, dtr_payer_server-payer_server_adaptive_questionnaire-dtr_v201_payer_adaptive_next_question_expressions_test"
69
- hl7.fhir.us.davinci-dtr_2.0.1,65,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-design,Elements flagged as mustSupport [in the [Standard Questionnaire profile](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-std-questionnaire.html)] **SHALL** be supported by DTR Apps and Full EHRs.,SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
70
- hl7.fhir.us.davinci-dtr_2.0.1,66,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-design,Elements flagged as mustSupport [in the [[Adaptive Questionnaire profile](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-questionnaire-adapt.html)] **SHALL** be supported by DTR Apps and Full EHRs.,SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
69
+ hl7.fhir.us.davinci-dtr_2.0.1,65,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-design,Elements flagged as mustSupport [in the [Standard Questionnaire profile](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-std-questionnaire.html)] **SHALL** be supported by DTR Apps and Full EHRs.,SHALL,"Full EHR, SMART Client",,false,"4.04, 4.05","dtr_full_ehr-dtr_full_ehr_questionnaire_ms-dtr_questionnaire_must_support, dtr_full_ehr-dtr_full_ehr_questionnaire_ms-dtr_must_support_attest","3.04, 3.05","dtr_smart_app-dtr_smart_app_questionnaire_ms-dtr_questionnaire_must_support, dtr_smart_app-dtr_smart_app_questionnaire_ms-dtr_must_support_attest",NA,NA,NA,NA
70
+ hl7.fhir.us.davinci-dtr_2.0.1,66,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-design,Elements flagged as mustSupport [in the [[Adaptive Questionnaire profile](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-questionnaire-adapt.html)] **SHALL** be supported by DTR Apps and Full EHRs.,SHALL,"Full EHR, SMART Client",,false,"4.04, 4.05","dtr_full_ehr-dtr_full_ehr_questionnaire_ms-dtr_questionnaire_must_support, dtr_full_ehr-dtr_full_ehr_questionnaire_ms-dtr_must_support_attest","3.04, 3.05","dtr_smart_app-dtr_smart_app_questionnaire_ms-dtr_questionnaire_must_support, dtr_smart_app-dtr_smart_app_questionnaire_ms-dtr_must_support_attest",NA,NA,NA,NA
71
71
  hl7.fhir.us.davinci-dtr_2.0.1,67,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-design,[Questionnaire client] 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,SHOULD,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
72
72
  hl7.fhir.us.davinci-dtr_2.0.1,68,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-design,"[Questionnaire client] systems … **SHALL** gracefully handle the presence of these [Qestionnaire mustSupport] elements if not supported (i.e., non-support for an element **SHALL NOT** interfere with a user’s ability to complete a QuestionnaireResponse.)",SHALL,"Full EHR, SMART Client",,true,,,,,NA,NA,NA,NA
73
73
  hl7.fhir.us.davinci-dtr_2.0.1,69,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-design,"payers **SHALL NOT** rely on support for any of these [Questionnaire MustSupport] 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,Payer Service,,false,NA,NA,NA,NA,NA,NA,,
@@ -169,20 +169,20 @@ hl7.fhir.us.davinci-dtr_2.0.1,161,https://hl7.org/fhir/us/davinci-dtr/STU2/speci
169
169
  hl7.fhir.us.davinci-dtr_2.0.1,162,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieving-launch-context-information,[DTR SMART Clients should] Look in the Request or Encounter resources (if any) passed from context or referenced by a QuestionnaireResponse (if any) to see if there is an existing [coverage-information}(https://build.fhir.org/ig/HL7/davinci-crd/StructureDefinition-ext-coverage-information.html) extension,SHOULD,SMART Client,,false,NA,NA,,,NA,NA,NA,NA
170
170
  hl7.fhir.us.davinci-dtr_2.0.1,163,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieving-launch-context-information,"If [coverage information is] found, [DTR SMART Clients should] look at the Coverages as well as the coverage-assertion-id in such extensions.",SHOULD,SMART Client,,true,NA,NA,,,NA,NA,NA,NA
171
171
  hl7.fhir.us.davinci-dtr_2.0.1,164,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieving-launch-context-information,"[DTR SMART Clients should] Determine which payers are associated with the coverages found, and then retrieve Questionnaire packages from each payer using the context information found.",SHOULD,SMART Client,,false,NA,NA,,,NA,NA,NA,NA
172
- hl7.fhir.us.davinci-dtr_2.0.1,165,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieving-questionnaire-packages,The [[`$questionnaire-package`](https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-questionnaire-package.html)] operation will be invoked with a ‘POST’,SHALL,"Full EHR, SMART Client",,false,"2.1.1.02, 2.2.1.1.02, 3.1.1.02","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_custom_static_retrieval-dtr_full_ehr_qp_request, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_full_ehr_adaptive_request, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_static_retrieval-dtr_full_ehr_qp_request","","",NA,NA,NA,NA
172
+ hl7.fhir.us.davinci-dtr_2.0.1,165,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieving-questionnaire-packages,The [[`$questionnaire-package`](https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-questionnaire-package.html)] operation will be invoked with a ‘POST’,SHALL,"Full EHR, SMART Client",,false,"2.1.1.02, 2.2.1.02, 3.1.1.02, 3.2.1.1.02, 4.01","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_custom_static_retrieval-dtr_full_ehr_qp_request, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_adaptive_workflow-dtr_full_ehr_custom_adaptive_retrieval-dtr_full_ehr_custom_adative_request, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_static_retrieval-dtr_full_ehr_qp_request, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_full_ehr_adaptive_request, dtr_full_ehr-dtr_full_ehr_questionnaire_ms-dtr_full_ehr_ms_qp_request","","",NA,NA,NA,NA
173
173
  hl7.fhir.us.davinci-dtr_2.0.1,166,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieving-questionnaire-packages,The [[`$questionnaire-package`](https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-questionnaire-package.html)] operation will … [target] the base endpoint associated with the coverages provided based on payer configuration.,SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
174
174
  hl7.fhir.us.davinci-dtr_2.0.1,167,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieving-questionnaire-packages,"If multiple Coverages are provided that are associated with payers having different endpoints, then the operation will be invoked once per payer endpoint. e.g., POST [base]/$questionnaire-package",SHALL,"Full EHR, SMART Client",,true,,,,,NA,NA,NA,NA
175
- hl7.fhir.us.davinci-dtr_2.0.1,168,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieving-questionnaire-packages,The operation will be invoked passing a [DTR Questionnaire Package Input Parameters](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-qpackage-input-parameters.html),SHALL,"Full EHR, SMART Client",,false,"2.1.1.03, 2.2.1.1.03, 3.1.1.03","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_custom_static_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_static_retrieval-dtr_qp_request_validation","1.1.1.02, 1.2.1.1.02, 2.1.1.02, 2.2.1.02","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_static_workflow-dtr_smart_app_custom_static_retrieval-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_adaptive_retrieval-dtr_smart_app_adaptive_initial_retrieval-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_resp_workflow-dtr_resp_qp-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_static_dinner_workflow-dtr_smart_app_static_retrieval-dtr_qp_request_validation",NA,NA,NA,NA
175
+ hl7.fhir.us.davinci-dtr_2.0.1,168,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieving-questionnaire-packages,The operation will be invoked passing a [DTR Questionnaire Package Input Parameters](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-qpackage-input-parameters.html),SHALL,"Full EHR, SMART Client",,false,"2.1.1.03, 2.2.1.03, 3.1.1.03, 3.2.1.1.03, 4.02","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_custom_static_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_adaptive_workflow-dtr_full_ehr_custom_adaptive_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_static_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_ms-dtr_qp_request_validation","1.1.1.02, 1.2.1.02, 2.1.1.02, 2.2.1.02, 2.3.1.1.02, 3.02","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_static_workflow-dtr_smart_app_custom_static_retrieval-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_adaptive_workflow-dtr_smart_app_custom_adaptive_retrieval-dtr_qp_request_validation, dtr_smart_app-Group02-dtr_smart_app_resp_workflow-dtr_resp_qp-dtr_qp_request_validation, dtr_smart_app-Group02-dtr_smart_app_static_dinner_workflow-dtr_smart_app_static_retrieval-dtr_qp_request_validation, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_adaptive_retrieval-dtr_smart_app_adaptive_initial_retrieval-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_questionnaire_ms-dtr_qp_request_validation",NA,NA,NA,NA
176
176
  hl7.fhir.us.davinci-dtr_2.0.1,169,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieving-questionnaire-packages,The result [of the [`$questionnaire-package`](https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-questionnaire-package.html) operation] will be a response with one or more Questionnaire package Bundles,SHALL,Payer Service,,false,NA,NA,NA,NA,NA,NA,"1.03, 2.03","dtr_payer_server-payer_server_static_package-dtr_v201_payer_static_form_response_test, dtr_payer_server-payer_server_adaptive_questionnaire-payer_server_adaptive_response_validation_test"
177
177
  hl7.fhir.us.davinci-dtr_2.0.1,170,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieving-questionnaire-packages,"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’",SHALL,"Full EHR, SMART Client",,true,,,,,NA,NA,NA,NA
178
178
  hl7.fhir.us.davinci-dtr_2.0.1,171,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieving-questionnaire-packages,"If any of the retrieved Questionnaires have an effectivePeriod that ends prior to the current date, then the DTR client **SHALL** ... notify the user that the previously recorded content has expired.",SHALL,"Full EHR, SMART Client",,true,,,,,NA,NA,NA,NA
179
179
  hl7.fhir.us.davinci-dtr_2.0.1,172,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieving-questionnaire-packages,"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,"Full EHR, SMART Client",,true,,,,,NA,NA,NA,NA
180
- hl7.fhir.us.davinci-dtr_2.0.1,173,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#pre-populating-questionnaireresponses,"Prior to exposing the draft QuestionnaireResponse to the user for completion and/or review, the DTR client **SHALL** execute all CQL necessary to resolve the initialExpression, candidateExpression and calculatedExpression extensions found in the Questionnaire for any enabled elements.",SHALL,"Full EHR, SMART Client",,false,"","","1.2.4.03, 2.1.3.03, 2.2.3.03","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_resp_workflow-dtr_resp_qr-dtr_qr_prepopulation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_static_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation",NA,NA,NA,NA
181
- hl7.fhir.us.davinci-dtr_2.0.1,174,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#pre-populating-questionnaireresponses,All items that are pre-populated … from data retrieved from the EHR ... **SHALL** have their origin.source set to ‘auto’.,SHALL,"Full EHR, SMART Client",,false,"","","1.2.4.03, 2.1.3.03, 2.2.3.03","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_resp_workflow-dtr_resp_qr-dtr_qr_prepopulation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_static_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation",NA,NA,NA,NA
180
+ hl7.fhir.us.davinci-dtr_2.0.1,173,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#pre-populating-questionnaireresponses,"Prior to exposing the draft QuestionnaireResponse to the user for completion and/or review, the DTR client **SHALL** execute all CQL necessary to resolve the initialExpression, candidateExpression and calculatedExpression extensions found in the Questionnaire for any enabled elements.",SHALL,"Full EHR, SMART Client",,false,"","","1.2.3.03, 2.1.3.03, 2.2.3.03, 2.3.4.03","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_adaptive_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_resp_workflow-dtr_resp_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_static_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation",NA,NA,NA,NA
181
+ hl7.fhir.us.davinci-dtr_2.0.1,174,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#pre-populating-questionnaireresponses,All items that are pre-populated … from data retrieved from the EHR ... **SHALL** have their origin.source set to ‘auto’.,SHALL,"Full EHR, SMART Client",,false,"","","1.2.3.03, 2.1.3.03, 2.2.3.03, 2.3.4.03","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_adaptive_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_resp_workflow-dtr_resp_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_static_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation",NA,NA,NA,NA
182
182
  hl7.fhir.us.davinci-dtr_2.0.1,175,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#pre-populating-questionnaireresponses,All items that are pre-populated ... by the payer in the initial QuestionnaireResponse provided in the questionnaire package ... **SHALL** have their origin.source set to ‘auto’.,SHALL,Payer Service,,false,NA,NA,NA,NA,NA,NA,,
183
- hl7.fhir.us.davinci-dtr_2.0.1,176,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#execution-sequence,"The client will proceed through the Questionnaire, and for any question that is associated with the result of a CQL expression, that specific CQL statement will be executed.",SHALL,"Full EHR, SMART Client",,false,"","","1.2.4.03, 2.1.3.03, 2.2.3.03","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_resp_workflow-dtr_resp_qr-dtr_qr_prepopulation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_static_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation",NA,NA,NA,NA
183
+ hl7.fhir.us.davinci-dtr_2.0.1,176,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#execution-sequence,"The client will proceed through the Questionnaire, and for any question that is associated with the result of a CQL expression, that specific CQL statement will be executed.",SHALL,"Full EHR, SMART Client",,false,"","","1.2.3.03, 2.1.3.03, 2.2.3.03, 2.3.4.03","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_adaptive_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_resp_workflow-dtr_resp_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_static_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation",NA,NA,NA,NA
184
184
  hl7.fhir.us.davinci-dtr_2.0.1,177,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#execution-sequence,The DTR client **SHALL** use result caching so that [CQL execution] results that are already available will be reused without requesting them again.,SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
185
- hl7.fhir.us.davinci-dtr_2.0.1,178,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#execution-sequence,DTR clients **SHALL** iterate as necessary [executing CQL to prepopulate a enabled elements] until a steady state is reached.,SHALL,"Full EHR, SMART Client",,false,"","","1.2.4.03, 2.1.3.03, 2.2.3.03","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_resp_workflow-dtr_resp_qr-dtr_qr_prepopulation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_static_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation",NA,NA,NA,NA
185
+ hl7.fhir.us.davinci-dtr_2.0.1,178,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#execution-sequence,DTR clients **SHALL** iterate as necessary [executing CQL to prepopulate a enabled elements] until a steady state is reached.,SHALL,"Full EHR, SMART Client",,false,"","","1.2.3.03, 2.1.3.03, 2.2.3.03, 2.3.4.03","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_adaptive_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_resp_workflow-dtr_resp_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_static_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation",NA,NA,NA,NA
186
186
  hl7.fhir.us.davinci-dtr_2.0.1,179,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#execution-sequence,"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,"Full EHR, SMART Client",,true,,,,,NA,NA,NA,NA
187
187
  hl7.fhir.us.davinci-dtr_2.0.1,180,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieval-of-patient-fhir-resources-to-supply-to-cql-execution-engine,The DTR client **SHALL** retrieve the FHIR resources specified in the dataRequirement section of a Library.,SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
188
188
  hl7.fhir.us.davinci-dtr_2.0.1,181,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#retrieval-of-patient-fhir-resources-to-supply-to-cql-execution-engine,SMART apps will … [retrieve resources in the dataRequiements section of Library] using the access token provided [by the Light EHR] on launch.,SHALL,SMART Client,,false,NA,NA,,,NA,NA,NA,NA
@@ -207,14 +207,14 @@ hl7.fhir.us.davinci-dtr_2.0.1,199,https://hl7.org/fhir/us/davinci-dtr/STU2/speci
207
207
  hl7.fhir.us.davinci-dtr_2.0.1,200,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#behavior-when-encountering-execution-errors,"If any errors are encountered during [CQL] execution … The user should have the option to complete the Questionnaire if possible, despite the error.",SHOULD,"Full EHR, SMART Client",,true,,,,,NA,NA,NA,NA
208
208
  hl7.fhir.us.davinci-dtr_2.0.1,201,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#behavior-when-encountering-execution-errors,The app **SHALL** log failures and ensure the maintainer of the CQL/Questionnaire package is notified using the [DTR Log Questionnaire Errors](https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-log-questionnaire-errors.html) operation.,SHALL,"Full EHR, SMART Client",,true,,,,,NA,NA,NA,NA
209
209
  hl7.fhir.us.davinci-dtr_2.0.1,202,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#behavior-when-encountering-execution-errors,A query for data that returns no results **SHALL NOT** be considered a failure.,SHALL NOT,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
210
- hl7.fhir.us.davinci-dtr_2.0.1,203,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#user-interaction-with-questionnaires,"Therefore, the system acting as a form filler is responsible for displaying all ‘enabled’ questions, groups, and display items to the end user for completion and/or review",SHALL,"Full EHR, SMART Client",,false,2.2,dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow,"","",NA,NA,NA,NA
210
+ hl7.fhir.us.davinci-dtr_2.0.1,203,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#user-interaction-with-questionnaires,"Therefore, the system acting as a form filler is responsible for displaying all ‘enabled’ questions, groups, and display items to the end user for completion and/or review",SHALL,"Full EHR, SMART Client",,false,3.2,dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow,"","",NA,NA,NA,NA
211
211
  hl7.fhir.us.davinci-dtr_2.0.1,204,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#user-interaction-with-questionnaires,"In some cases, the population process **MAY** populate all answers to the Questionnaire. The DTR client **SHALL** provide the ability, but NOT a requirement, for providers to review pre-populated answers prior to saving the resulting response for subsequent use within the EHR.",SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
212
212
  hl7.fhir.us.davinci-dtr_2.0.1,205,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-rendering,[Client] Conformance with DTR requires conformance with the relevant portions of the SDC implementation guide [related to Questionnaire rendering].,SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
213
- hl7.fhir.us.davinci-dtr_2.0.1,206,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-rendering,All DTR applications **SHALL** support rendering according to the mustSupport elements in the DTR Questionnaire profile,SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
214
- hl7.fhir.us.davinci-dtr_2.0.1,207,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-rendering,All DTR applications **SHALL** support … executing all CQL found within Questionnaire extensions.,SHALL,"Full EHR, SMART Client",,false,"2.1.2.02, 2.2.1.2.01, 3.1.2.01","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_custom_static_rendering-dtr_prepopulation_attest, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_initial_questionnaire_rendering-dtr_full_ehr_prepopulation_attest, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_static_rendering-dtr_full_ehr_prepopulation_attest","1.1.2.02, 1.2.1.2.01, 1.2.4.03, 2.1.3.03, 2.2.2.01, 2.2.3.03","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_static_workflow-dtr_smart_app_custom_static_rendering-dtr_prepopulation_attest, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_adaptive_retrieval-dtr_smart_app_initial_questionnaire_rendering-dtr_smart_app_prepopulation_attest, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_resp_workflow-dtr_resp_qr-dtr_qr_prepopulation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_static_dinner_workflow-dtr_smart_app_static_rendering-dtr_smart_app_prepopulation_attest, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_static_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation",NA,NA,NA,NA
215
- hl7.fhir.us.davinci-dtr_2.0.1,208,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-rendering,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,Full EHR,,false,"2.1, 2.2, 3.1","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow",NA,NA,NA,NA,NA,NA
213
+ hl7.fhir.us.davinci-dtr_2.0.1,206,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-rendering,All DTR applications **SHALL** support rendering according to the mustSupport elements in the DTR Questionnaire profile,SHALL,"Full EHR, SMART Client",,false,"4.04, 4.05","dtr_full_ehr-dtr_full_ehr_questionnaire_ms-dtr_questionnaire_must_support, dtr_full_ehr-dtr_full_ehr_questionnaire_ms-dtr_must_support_attest","3.04, 3.05","dtr_smart_app-dtr_smart_app_questionnaire_ms-dtr_questionnaire_must_support, dtr_smart_app-dtr_smart_app_questionnaire_ms-dtr_must_support_attest",NA,NA,NA,NA
214
+ hl7.fhir.us.davinci-dtr_2.0.1,207,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-rendering,All DTR applications **SHALL** support … executing all CQL found within Questionnaire extensions.,SHALL,"Full EHR, SMART Client",,false,"2.1.2.02, 2.2.2.01, 3.1.2.01, 3.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_prepopulation_attest, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_adaptive_workflow-Group02-dtr_prepopulation_attest, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_static_rendering-dtr_full_ehr_prepopulation_attest, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_initial_questionnaire_rendering-dtr_full_ehr_prepopulation_attest","1.1.2.02, 1.2.2.01, 1.2.3.03, 2.1.3.03, 2.2.2.01, 2.2.3.03, 2.3.1.2.01, 2.3.4.03","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_static_workflow-dtr_smart_app_custom_static_rendering-dtr_prepopulation_attest, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_adaptive_workflow-Group02-dtr_prepopulation_attest, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_adaptive_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_resp_workflow-dtr_resp_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_static_dinner_workflow-dtr_smart_app_static_rendering-dtr_smart_app_prepopulation_attest, dtr_smart_app-Group02-dtr_smart_app_static_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_adaptive_retrieval-dtr_smart_app_initial_questionnaire_rendering-dtr_smart_app_prepopulation_attest, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_saving_qr-dtr_qr_prepopulation",NA,NA,NA,NA
215
+ hl7.fhir.us.davinci-dtr_2.0.1,208,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaire-rendering,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,Full EHR,,false,"2.1, 3.1, 3.2","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow",NA,NA,NA,NA,NA,NA
216
216
  hl7.fhir.us.davinci-dtr_2.0.1,209,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#separating-user-provided-information-from-cql-retrieved-information,"When a user fills in a value or changes an answer in a QuestionnaireResponse, the DTR client **SHALL** populate the InformationOrigin extension, setting the ‘author’ property to the current user",SHALL,"Full EHR, SMART Client",,false,"2.1.3.03, 3.1.3.03","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_saving_qr-dtr_full_ehr_qr_correctness, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_saving_qr-dtr_full_ehr_qr_correctness",1.1.3.03,dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_static_workflow-dtr_smart_app_saving_qr-dtr_smart_app_qr_correctness,NA,NA,NA,NA
217
- hl7.fhir.us.davinci-dtr_2.0.1,210,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#separating-user-provided-information-from-cql-retrieved-information,"When a user fills in a value or changes an answer in a QuestionnaireResponse, the DTR client **SHALL** populate the InformationOrigin extension, … setting ‘source’ to ‘override’ if the source was already ‘override’ or ‘auto’, or ‘manual’ otherwise.",SHALL,"Full EHR, SMART Client",,false,"2.1.3.03, 2.2.1.1.05, 2.2.2.1.03, 2.2.3.1.03, 3.1.3.03","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_saving_qr-dtr_full_ehr_qr_correctness, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_followup_questions-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_completion-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_saving_qr-dtr_full_ehr_qr_correctness","1.1.3.03, 1.2.1.1.04, 1.2.2.1.03, 1.2.3.1.03","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_static_workflow-dtr_smart_app_saving_qr-dtr_smart_app_qr_correctness, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_adaptive_retrieval-dtr_smart_app_adaptive_initial_retrieval-dtr_adaptive_response_validation, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_adaptive_followup_questions-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_adaptive_completion-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation",NA,NA,NA,NA
217
+ hl7.fhir.us.davinci-dtr_2.0.1,210,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#separating-user-provided-information-from-cql-retrieved-information,"When a user fills in a value or changes an answer in a QuestionnaireResponse, the DTR client **SHALL** populate the InformationOrigin extension, … setting ‘source’ to ‘override’ if the source was already ‘override’ or ‘auto’, or ‘manual’ otherwise.",SHALL,"Full EHR, SMART Client",,false,"2.1.3.03, 2.2.1.05, 3.1.3.03, 3.2.1.1.05, 3.2.2.1.03, 3.2.3.1.03","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_saving_qr-dtr_full_ehr_qr_correctness, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_adaptive_workflow-dtr_full_ehr_custom_adaptive_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_saving_qr-dtr_full_ehr_qr_correctness, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_followup_questions-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_completion-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation","1.1.3.03, 1.2.1.04, 2.3.1.1.04, 2.3.2.1.03, 2.3.3.1.03","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_static_workflow-dtr_smart_app_saving_qr-dtr_smart_app_qr_correctness, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_adaptive_workflow-dtr_smart_app_custom_adaptive_retrieval-dtr_adaptive_response_validation, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_adaptive_retrieval-dtr_smart_app_adaptive_initial_retrieval-dtr_adaptive_response_validation, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_adaptive_followup_questions-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_adaptive_completion-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation",NA,NA,NA,NA
218
218
  hl7.fhir.us.davinci-dtr_2.0.1,211,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#separating-user-provided-information-from-cql-retrieved-information,DTR clients **SHALL** either provide a PractitionerRole in the SMART App launch of DTR or support transmitting the role by means of the [Active Role](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-activeRole.html) extension within the Practitioner resource.,SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
219
219
  hl7.fhir.us.davinci-dtr_2.0.1,212,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaireresponse-validation,The DTR client **SHALL** validate the QuestionnaireResponse on an ongoing basis as the user is reviewing and entering data.,SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
220
220
  hl7.fhir.us.davinci-dtr_2.0.1,213,https://hl7.org/fhir/us/davinci-dtr/STU2/specification.html#questionnaireresponse-validation,The client **SHALL** visually flag any elements that require adjustment to meet validation rules.,SHALL,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
@@ -266,9 +266,9 @@ hl7.fhir.us.davinci-dtr_2.0.1,258,https://hl7.org/fhir/us/davinci-dtr/STU2/Capab
266
266
  hl7.fhir.us.davinci-dtr_2.0.1,259,https://hl7.org/fhir/us/davinci-dtr/STU2/CapabilityStatement-dtr-smart-client.html,[SMART Clients] **SHALL** support the create interaction for Task resources,SHALL,SMART Client,,false,NA,NA,,,NA,NA,NA,NA
267
267
  hl7.fhir.us.davinci-dtr_2.0.1,260,https://hl7.org/fhir/us/davinci-dtr/STU2/CapabilityStatement-dtr-smart-client.html,[SMART Clients] **SHALL** support the update interaction for Task resources,SHALL,SMART Client,,false,NA,NA,,,NA,NA,NA,NA
268
268
  hl7.fhir.us.davinci-dtr_2.0.1,261,https://hl7.org/fhir/us/davinci-dtr/STU2/CapabilityStatement-dtr-smart-client.html,[SMART Clients] **SHALL** comply with requirements in http://hl7.org/fhir/us/core/CapabilityStatement/us-core-client [[version 3.1.1](https://hl7.org/fhir/us/core/STU3.1.1/CapabilityStatement-us-core-client.html)],SHALL,SMART Client,,false,NA,NA,,,NA,NA,NA,NA
269
- hl7.fhir.us.davinci-dtr_2.0.1,262,https://hl7.org/fhir/us/davinci-dtr/STU2/CapabilityStatement-full-dtr-ehr.html#behavior,[Full EHRs] **SHALL** support the [`$questionnaire-package`](http://hl7.org/fhir/us/davinci-dtr/OperationDefinition/questionnaire-package) operation.,SHALL,Full EHR,,false,"2.1.1.02, 2.2.1.1.02, 3.1.1.02","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_custom_static_retrieval-dtr_full_ehr_qp_request, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_full_ehr_adaptive_request, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_static_retrieval-dtr_full_ehr_qp_request",NA,NA,NA,NA,NA,NA
269
+ hl7.fhir.us.davinci-dtr_2.0.1,262,https://hl7.org/fhir/us/davinci-dtr/STU2/CapabilityStatement-full-dtr-ehr.html#behavior,[Full EHRs] **SHALL** support the [`$questionnaire-package`](http://hl7.org/fhir/us/davinci-dtr/OperationDefinition/questionnaire-package) operation.,SHALL,Full EHR,,false,"2.1.1.02, 2.2.1.02, 3.1.1.02, 3.2.1.1.02, 4.01","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_custom_static_retrieval-dtr_full_ehr_qp_request, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_adaptive_workflow-dtr_full_ehr_custom_adaptive_retrieval-dtr_full_ehr_custom_adative_request, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_static_retrieval-dtr_full_ehr_qp_request, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_full_ehr_adaptive_request, dtr_full_ehr-dtr_full_ehr_questionnaire_ms-dtr_full_ehr_ms_qp_request",NA,NA,NA,NA,NA,NA
270
270
  hl7.fhir.us.davinci-dtr_2.0.1,263,https://hl7.org/fhir/us/davinci-dtr/STU2/CapabilityStatement-full-dtr-ehr.html#behavior,[Full EHRs] **SHALL** support the [`$expand`]http://hl7.org/fhir/OperationDefinition/ValueSet-expand) operation.,SHALL,Full EHR,,false,,,NA,NA,NA,NA,NA,NA
271
- hl7.fhir.us.davinci-dtr_2.0.1,264,https://hl7.org/fhir/us/davinci-dtr/STU2/CapabilityStatement-full-dtr-ehr.html#behavior,[Full EHRs] **SHALL** support the [`$next-question`](http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-next-question) operation.,SHALL,Full EHR,,false,"2.2.1.1.02, 2.2.1.1.04, 2.2.1.1.05, 2.2.2.1.01, 2.2.2.1.02, 2.2.2.1.03, 2.2.3.1.01, 2.2.3.1.02, 2.2.3.1.03","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_full_ehr_adaptive_request, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_adaptive_next_question_request_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_followup_questions-dtr_adaptive_next_question_retrieval-dtr_adaptive_next_question_request, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_followup_questions-dtr_adaptive_next_question_retrieval-dtr_adaptive_next_question_request_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_followup_questions-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_completion-dtr_adaptive_next_question_retrieval-dtr_adaptive_next_question_request, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_completion-dtr_adaptive_next_question_retrieval-dtr_adaptive_next_question_request_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_completion-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation",NA,NA,NA,NA,NA,NA
271
+ hl7.fhir.us.davinci-dtr_2.0.1,264,https://hl7.org/fhir/us/davinci-dtr/STU2/CapabilityStatement-full-dtr-ehr.html#behavior,[Full EHRs] **SHALL** support the [`$next-question`](http://hl7.org/fhir/uv/sdc/OperationDefinition/Questionnaire-next-question) operation.,SHALL,Full EHR,,false,"2.2.1.02, 2.2.1.04, 2.2.1.05, 3.2.1.1.02, 3.2.1.1.04, 3.2.1.1.05, 3.2.2.1.01, 3.2.2.1.02, 3.2.2.1.03, 3.2.3.1.01, 3.2.3.1.02, 3.2.3.1.03","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_adaptive_workflow-dtr_full_ehr_custom_adaptive_retrieval-dtr_full_ehr_custom_adative_request, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_adaptive_workflow-dtr_full_ehr_custom_adaptive_retrieval-dtr_adaptive_next_question_request_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_adaptive_workflow-dtr_full_ehr_custom_adaptive_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_full_ehr_adaptive_request, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_adaptive_next_question_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_followup_questions-dtr_adaptive_next_question_retrieval-dtr_adaptive_next_question_request, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_followup_questions-dtr_adaptive_next_question_retrieval-dtr_adaptive_next_question_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_followup_questions-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_completion-dtr_adaptive_next_question_retrieval-dtr_adaptive_next_question_request, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_completion-dtr_adaptive_next_question_retrieval-dtr_adaptive_next_question_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_adaptive_completion-dtr_adaptive_next_question_retrieval-dtr_adaptive_response_validation",NA,NA,NA,NA,NA,NA
272
272
  hl7.fhir.us.davinci-dtr_2.0.1,265,https://hl7.org/fhir/us/davinci-dtr/STU2/CapabilityStatement-light-dtr-ehr.html,[Light EHRs] **SHALL** support the read interaction for … [QuestionnaireResponse] resources,SHALL,Light EHR,,false,NA,NA,NA,NA,2.2.1.03,dtr_light_ehr-Group02-Group02-questionnaire_response_group-questionnaire_response_read,NA,NA
273
273
  hl7.fhir.us.davinci-dtr_2.0.1,266,https://hl7.org/fhir/us/davinci-dtr/STU2/CapabilityStatement-light-dtr-ehr.html,[Light EHRs] **SHALL** support the create interaction for … [QuestionnaireResponse] resources,SHALL,Light EHR,,false,NA,NA,NA,NA,2.2.1.05,dtr_light_ehr-Group02-Group02-questionnaire_response_group-questionnaire_response_create,NA,NA
274
274
  hl7.fhir.us.davinci-dtr_2.0.1,267,https://hl7.org/fhir/us/davinci-dtr/STU2/CapabilityStatement-light-dtr-ehr.html,[Light EHRs] **SHALL** support the update interaction for … [QuestionnaireResponse] resources,SHALL,Light EHR,,false,NA,NA,NA,NA,2.2.1.06,dtr_light_ehr-Group02-Group02-questionnaire_response_group-questionnaire_response_update,NA,NA
@@ -297,10 +297,10 @@ hl7.fhir.us.davinci-dtr_2.0.1,289,https://hl7.org/fhir/us/davinci-dtr/STU2/Opera
297
297
  hl7.fhir.us.davinci-dtr_2.0.1,290,https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-log-questionnaire-errors.html,The input OperationOutcome resource [to the `$log-questionnaire-errors` operation] ... **SHALL NOT** contain information about the response or information retrieved from FHIR APIs that could potentially include PHI,SHALL NOT,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
298
298
  hl7.fhir.us.davinci-dtr_2.0.1,291,https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-log-questionnaire-errors.html,The [input] Questionnaire reference [to the `$log-questionnaire-errors` operation] **SHOULD** be version-specific,SHOULD,"Full EHR, SMART Client",,false,,,,,NA,NA,NA,NA
299
299
  hl7.fhir.us.davinci-dtr_2.0.1,292,https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-questionnaire-package.html,Payers **SHALL** expose the questionnaire package operation at url: [base]/Questionnaire/$questionnaire-package,SHALL,Payer Service,,false,NA,NA,NA,NA,NA,NA,"1.01, 2.01","dtr_payer_server-payer_server_static_package-dtr_v201_payer_static_request_test, dtr_payer_server-payer_server_adaptive_questionnaire-payer_server_questionnaire_request"
300
- hl7.fhir.us.davinci-dtr_2.0.1,293,https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-questionnaire-package.html,DTR Applications **SHALL** submit to the questionnaire package operation inputs conforming to the [DTR Questionnaire Package Input Parameters](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-qpackage-input-parameters.html) Profile,SHALL,"Full EHR, SMART Client",,false,"2.1.1.03, 2.2.1.1.03, 3.1.1.03","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_custom_static_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_static_retrieval-dtr_qp_request_validation","1.1.1.02, 1.2.1.1.02, 2.1.1.02, 2.2.1.02","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_static_workflow-dtr_smart_app_custom_static_retrieval-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_adaptive_retrieval-dtr_smart_app_adaptive_initial_retrieval-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_resp_workflow-dtr_resp_qp-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_static_dinner_workflow-dtr_smart_app_static_retrieval-dtr_qp_request_validation",NA,NA,NA,NA
300
+ hl7.fhir.us.davinci-dtr_2.0.1,293,https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-questionnaire-package.html,DTR Applications **SHALL** submit to the questionnaire package operation inputs conforming to the [DTR Questionnaire Package Input Parameters](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-qpackage-input-parameters.html) Profile,SHALL,"Full EHR, SMART Client",,false,"2.1.1.03, 2.2.1.03, 3.1.1.03, 3.2.1.1.03, 4.02","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_custom_static_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_adaptive_workflow-dtr_full_ehr_custom_adaptive_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_static_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_ms-dtr_qp_request_validation","1.1.1.02, 1.2.1.02, 2.1.1.02, 2.2.1.02, 2.3.1.1.02, 3.02","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_static_workflow-dtr_smart_app_custom_static_retrieval-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_adaptive_workflow-dtr_smart_app_custom_adaptive_retrieval-dtr_qp_request_validation, dtr_smart_app-Group02-dtr_smart_app_resp_workflow-dtr_resp_qp-dtr_qp_request_validation, dtr_smart_app-Group02-dtr_smart_app_static_dinner_workflow-dtr_smart_app_static_retrieval-dtr_qp_request_validation, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_adaptive_retrieval-dtr_smart_app_adaptive_initial_retrieval-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_questionnaire_ms-dtr_qp_request_validation",NA,NA,NA,NA
301
301
  hl7.fhir.us.davinci-dtr_2.0.1,294,https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-questionnaire-package.html,"Payers **SHALL** return in response to the questionnaire package operation outputs conforming to the [DTR Questionnaire Package Output Parameters
302
302
  ](https://hl7.org/fhir/us/davinci-dtr/STU2/StructureDefinition-dtr-qpackage-output-parameters.html) Profile",SHALL,Payer Service,,false,NA,NA,NA,NA,NA,NA,"1.03, 2.03","dtr_payer_server-payer_server_static_package-dtr_v201_payer_static_form_response_test, dtr_payer_server-payer_server_adaptive_questionnaire-payer_server_adaptive_response_validation_test"
303
- hl7.fhir.us.davinci-dtr_2.0.1,295,https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-questionnaire-package.html,The [DTR questionnaire package] operation **SHALL** take as input the Coverage resource(s) identifying the member and the type(s) of Coverage for which additional information is needed,SHALL,"Full EHR, SMART Client",,false,"2.1.1.03, 2.2.1.1.03, 3.1.1.03","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_custom_static_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_static_retrieval-dtr_qp_request_validation","1.1.1.02, 1.2.1.1.02, 2.1.1.02, 2.2.1.02","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_static_workflow-dtr_smart_app_custom_static_retrieval-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_adaptive_retrieval-dtr_smart_app_adaptive_initial_retrieval-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_resp_workflow-dtr_resp_qp-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_questionnaire_functionality-dtr_smart_app_static_dinner_workflow-dtr_smart_app_static_retrieval-dtr_qp_request_validation",NA,NA,NA,NA
303
+ hl7.fhir.us.davinci-dtr_2.0.1,295,https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-questionnaire-package.html,The [DTR questionnaire package] operation **SHALL** take as input the Coverage resource(s) identifying the member and the type(s) of Coverage for which additional information is needed,SHALL,"Full EHR, SMART Client",,false,"2.1.1.03, 2.2.1.03, 3.1.1.03, 3.2.1.1.03, 4.02","dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_static_workflow-dtr_full_ehr_custom_static_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_basic_workflows-dtr_full_ehr_custom_adaptive_workflow-dtr_full_ehr_custom_adaptive_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_static_dinner_workflow-dtr_full_ehr_static_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_functionality-dtr_full_ehr_adaptive_dinner_workflow-dtr_full_ehr_adaptive_retrieval-dtr_full_ehr_adaptive_initial_retrieval-dtr_qp_request_validation, dtr_full_ehr-dtr_full_ehr_questionnaire_ms-dtr_qp_request_validation","1.1.1.02, 1.2.1.02, 2.1.1.02, 2.2.1.02, 2.3.1.1.02, 3.02","dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_static_workflow-dtr_smart_app_custom_static_retrieval-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_basic_workflows-dtr_smart_app_custom_adaptive_workflow-dtr_smart_app_custom_adaptive_retrieval-dtr_qp_request_validation, dtr_smart_app-Group02-dtr_smart_app_resp_workflow-dtr_resp_qp-dtr_qp_request_validation, dtr_smart_app-Group02-dtr_smart_app_static_dinner_workflow-dtr_smart_app_static_retrieval-dtr_qp_request_validation, dtr_smart_app-Group02-dtr_smart_app_adaptive_dinner_workflow-dtr_smart_app_adaptive_retrieval-dtr_smart_app_adaptive_initial_retrieval-dtr_qp_request_validation, dtr_smart_app-dtr_smart_app_questionnaire_ms-dtr_qp_request_validation",NA,NA,NA,NA
304
304
  hl7.fhir.us.davinci-dtr_2.0.1,296,https://hl7.org/fhir/us/davinci-dtr/STU2/OperationDefinition-questionnaire-package.html,"The [DTR questionnaire package] operation **SHALL** take as input … at least one of:
305
305
 
306
306
  - Zero or more canonicals specifying the URL and, (optionally) the version of the Questionnaire(s) to retrieve;
@@ -17,12 +17,21 @@ module DaVinciDTRTestKit
17
17
  SUPPORTED_PAYER_PATH = '/:tester_url_id/supported-payers'
18
18
  RESUME_PASS_PATH = '/resume_pass'
19
19
  RESUME_FAIL_PATH = '/resume_fail'
20
+ AUTH_SERVER_PATH = '/auth'
21
+ SMART_DISCOVERY_PATH = "#{FHIR_BASE_PATH}/.well-known/smart-configuration".freeze
22
+ UDAP_DISCOVERY_PATH = "#{FHIR_BASE_PATH}/.well-known/udap".freeze
23
+ TOKEN_PATH = "#{AUTH_SERVER_PATH}/token".freeze
24
+ REGISTRATION_PATH = "#{AUTH_SERVER_PATH}/register".freeze
20
25
 
21
26
  module URLs
22
27
  def base_url
23
28
  @base_url ||= "#{Inferno::Application['base_url']}/custom/#{suite_id}"
24
29
  end
25
30
 
31
+ def fhir_base_url
32
+ @fhir_base_url ||= base_url + FHIR_BASE_PATH
33
+ end
34
+
26
35
  def ehr_authorize_url
27
36
  @ehr_authorize_url ||= base_url + EHR_AUTHORIZE_PATH
28
37
  end
@@ -47,10 +56,6 @@ module DaVinciDTRTestKit
47
56
  @questionnaire_response_url ||= base_url + QUESTIONNAIRE_RESPONSE_PATH
48
57
  end
49
58
 
50
- def fhir_base_url
51
- @fhir_base_url ||= base_url + FHIR_BASE_PATH
52
- end
53
-
54
59
  def supported_payer_url(unique_url_id)
55
60
  @supported_payer_url ||= base_url + SUPPORTED_PAYER_PATH.gsub(':tester_url_id', unique_url_id)
56
61
  end
@@ -63,6 +68,18 @@ module DaVinciDTRTestKit
63
68
  @resume_fail_url ||= base_url + RESUME_FAIL_PATH
64
69
  end
65
70
 
71
+ def udap_discovery_url
72
+ @udap_discovery_url ||= base_url + UDAP_DISCOVERY_PATH
73
+ end
74
+
75
+ def token_url
76
+ @token_url ||= base_url + TOKEN_PATH
77
+ end
78
+
79
+ def registration_url
80
+ @registration_url ||= base_url + REGISTRATION_PATH
81
+ end
82
+
66
83
  def suite_id
67
84
  self.class.suite.id
68
85
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DaVinciDTRTestKit
4
- VERSION = '0.16.0'
5
- LAST_UPDATED = '2025-03-21'
4
+ VERSION = '0.16.1'
5
+ LAST_UPDATED = '2025-05-20'
6
6
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: davinci_dtr_test_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.16.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karl Naden
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2025-03-21 00:00:00.000000000 Z
13
+ date: 2025-05-20 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: inferno_core
@@ -46,14 +46,14 @@ dependencies:
46
46
  requirements:
47
47
  - - "~>"
48
48
  - !ruby/object:Gem::Version
49
- version: 0.6.0
49
+ version: 0.6.2
50
50
  type: :runtime
51
51
  prerelease: false
52
52
  version_requirements: !ruby/object:Gem::Requirement
53
53
  requirements:
54
54
  - - "~>"
55
55
  - !ruby/object:Gem::Version
56
- version: 0.6.0
56
+ version: 0.6.2
57
57
  - !ruby/object:Gem::Dependency
58
58
  name: tls_test_kit
59
59
  requirement: !ruby/object:Gem::Requirement
@@ -68,6 +68,20 @@ dependencies:
68
68
  - - "~>"
69
69
  - !ruby/object:Gem::Version
70
70
  version: 0.3.0
71
+ - !ruby/object:Gem::Dependency
72
+ name: udap_security_test_kit
73
+ requirement: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - "~>"
76
+ - !ruby/object:Gem::Version
77
+ version: 0.11.4
78
+ type: :runtime
79
+ prerelease: false
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - "~>"
83
+ - !ruby/object:Gem::Version
84
+ version: 0.11.4
71
85
  - !ruby/object:Gem::Dependency
72
86
  name: us_core_test_kit
73
87
  requirement: !ruby/object:Gem::Requirement
@@ -91,7 +105,7 @@ extensions: []
91
105
  extra_rdoc_files: []
92
106
  files:
93
107
  - LICENSE
94
- - config/presets/full_ehr_postman_dinner_order_example_postman.json
108
+ - config/presets/full_ehr_postman_dinner_order_example.json.erb
95
109
  - config/presets/full_ehr_postman_respiratory_device_example.json
96
110
  - config/presets/light_ehr_ref_server_prod.json
97
111
  - config/presets/payer_server_run_against_smart_app_tests.json
@@ -101,27 +115,33 @@ files:
101
115
  - lib/davinci_dtr_test_kit/auth_groups/oauth2_authentication_group.rb
102
116
  - lib/davinci_dtr_test_kit/auth_groups/token_request_test.rb
103
117
  - lib/davinci_dtr_test_kit/auth_groups/token_validation_test.rb
104
- - lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_custom_questionnaire_expressions_test.rb
105
- - lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_custom_questionnaire_extensions_test.rb
106
- - lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_custom_questionnaire_libraries_test.rb
107
- - lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_custom_questionnaire_package_validation_test.rb
118
+ - lib/davinci_dtr_test_kit/certs/InfernoCA.key
119
+ - lib/davinci_dtr_test_kit/certs/InfernoCA.pem
120
+ - lib/davinci_dtr_test_kit/certs/TestKit.pem
121
+ - lib/davinci_dtr_test_kit/certs/TestKitPrivateKey.key
122
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/custom/dtr_custom_next_question_response_validation_test.rb
123
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/custom/dtr_full_ehr_custom_adaptive_request_test.rb
124
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/custom/dtr_full_ehr_custom_adaptive_workflow_group.rb
125
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/custom/dtr_smart_app_custom_adaptive_request_test.rb
126
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/custom/dtr_smart_app_custom_adaptive_workflow_group.rb
127
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/dinner_order/dtr_adaptive_completion_group.rb
128
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/dinner_order/dtr_adaptive_followup_questions_group.rb
129
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/dinner_order/dtr_adaptive_next_question_retrieval_group.rb
130
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/dinner_order/dtr_full_ehr_adaptive_dinner_workflow_group.rb
131
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/dinner_order/dtr_full_ehr_adaptive_initial_retrieval_group.rb
132
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/dinner_order/dtr_smart_app_adaptive_dinner_workflow_group.rb
133
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/dinner_order/dtr_smart_app_adaptive_initial_retrieval_group.rb
134
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/dtr_adaptive_next_question_request_test.rb
135
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/dtr_adaptive_next_question_request_validation_test.rb
136
+ - lib/davinci_dtr_test_kit/client_groups/adaptive_questionnaire/dtr_adaptive_response_validation_test.rb
137
+ - lib/davinci_dtr_test_kit/client_groups/auth/dtr_client_payer_auth_smart_group.rb
138
+ - lib/davinci_dtr_test_kit/client_groups/auth/dtr_client_payer_auth_udap_group.rb
108
139
  - lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_full_ehr_custom_static_workflow_group.rb
109
140
  - lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_smart_app_custom_static_workflow_group.rb
110
- - lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_adaptive_completion_group.rb
111
- - lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_adaptive_followup_questions_group.rb
112
- - lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_adaptive_next_question_request_test.rb
113
- - lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_adaptive_next_question_request_validation_test.rb
114
- - lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_adaptive_next_question_retrieval_group.rb
115
- - lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_adaptive_response_validation_test.rb
116
- - lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_full_ehr_adaptive_dinner_workflow_group.rb
117
- - lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_full_ehr_adaptive_initial_retrieval_group.rb
118
- - lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_full_ehr_adaptive_request_test.rb
119
- - lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_smart_app_adaptive_dinner_workflow_group.rb
120
- - lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_smart_app_adaptive_initial_retrieval_group.rb
121
- - lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_smart_app_adaptive_request_test.rb
122
141
  - lib/davinci_dtr_test_kit/client_groups/dinner_static/dtr_full_ehr_static_dinner_workflow_group.rb
123
142
  - lib/davinci_dtr_test_kit/client_groups/dinner_static/dtr_smart_app_static_dinner_workflow_group.rb
124
143
  - lib/davinci_dtr_test_kit/client_groups/dinner_static/dtr_static_dinner_enabled_questions_attestation_test.rb
144
+ - lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_adaptive_request_test.rb
125
145
  - lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_launch_attestation_test.rb
126
146
  - lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_prepopulation_attestation_test.rb
127
147
  - lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_prepopulation_override_attestation_test.rb
@@ -140,6 +160,16 @@ files:
140
160
  - lib/davinci_dtr_test_kit/client_groups/light_ehr/fhir_context_coverage_test.rb
141
161
  - lib/davinci_dtr_test_kit/client_groups/light_ehr/fhir_context_references_test.rb
142
162
  - lib/davinci_dtr_test_kit/client_groups/light_ehr/fhir_launch_context_test.rb
163
+ - lib/davinci_dtr_test_kit/client_groups/must_support/dtr_full_ehr_ms_questionnaire_package_request_test.rb
164
+ - lib/davinci_dtr_test_kit/client_groups/must_support/dtr_full_ehr_questionnaire_must_support_group.rb
165
+ - lib/davinci_dtr_test_kit/client_groups/must_support/dtr_must_support_attestation_test.rb
166
+ - lib/davinci_dtr_test_kit/client_groups/must_support/dtr_questionnaire_must_support_test.rb
167
+ - lib/davinci_dtr_test_kit/client_groups/must_support/dtr_smart_app_ms_questionnaire_package_request_test.rb
168
+ - lib/davinci_dtr_test_kit/client_groups/must_support/dtr_smart_app_questionnaire_must_support_group.rb
169
+ - lib/davinci_dtr_test_kit/client_groups/must_support/questionnaire_must_support_elements.rb
170
+ - lib/davinci_dtr_test_kit/client_groups/payer_registration/configuration_display_smart_test.rb
171
+ - lib/davinci_dtr_test_kit/client_groups/payer_registration/configuration_display_udap_test.rb
172
+ - lib/davinci_dtr_test_kit/client_groups/payer_registration/dtr_client_registration_group.rb
143
173
  - lib/davinci_dtr_test_kit/client_groups/respiratory/dtr_respiratory_questionnaire_package_group.rb
144
174
  - lib/davinci_dtr_test_kit/client_groups/respiratory/dtr_respiratory_questionnaire_package_request_test.rb
145
175
  - lib/davinci_dtr_test_kit/client_groups/respiratory/dtr_respiratory_questionnaire_response_group.rb
@@ -147,12 +177,17 @@ files:
147
177
  - lib/davinci_dtr_test_kit/client_groups/respiratory/dtr_respiratory_rendering_attestation_test.rb
148
178
  - lib/davinci_dtr_test_kit/client_groups/respiratory/dtr_respiratory_rendering_group.rb
149
179
  - lib/davinci_dtr_test_kit/client_groups/respiratory/dtr_smart_app_respiratory_workflow_group.rb
180
+ - lib/davinci_dtr_test_kit/client_groups/shared/dtr_custom_questionnaire_expressions_test.rb
181
+ - lib/davinci_dtr_test_kit/client_groups/shared/dtr_custom_questionnaire_extensions_test.rb
182
+ - lib/davinci_dtr_test_kit/client_groups/shared/dtr_custom_questionnaire_libraries_test.rb
183
+ - lib/davinci_dtr_test_kit/client_groups/shared/dtr_custom_questionnaire_package_validation_test.rb
150
184
  - lib/davinci_dtr_test_kit/client_groups/shared/dtr_prepopulation_attestation_test.rb
151
185
  - lib/davinci_dtr_test_kit/client_groups/shared/dtr_prepopulation_override_attestation_test.rb
152
186
  - lib/davinci_dtr_test_kit/client_groups/shared/dtr_questionnaire_package_request_validation_test.rb
153
187
  - lib/davinci_dtr_test_kit/client_groups/shared/dtr_questionnaire_response_basic_conformance_test.rb
154
188
  - lib/davinci_dtr_test_kit/client_groups/shared/dtr_questionnaire_response_prepopulation_test.rb
155
189
  - lib/davinci_dtr_test_kit/client_groups/shared/dtr_rendering_attestation_test.rb
190
+ - lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_adaptive_request_test.rb
156
191
  - lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_prepopulation_attestation_test.rb
157
192
  - lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_prepopulation_override_attestation_test.rb
158
193
  - lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_questionnaire_package_request_test.rb
@@ -161,10 +196,12 @@ files:
161
196
  - lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_saving_questionnaire_response_group.rb
162
197
  - lib/davinci_dtr_test_kit/cql_test.rb
163
198
  - lib/davinci_dtr_test_kit/create_test.rb
199
+ - lib/davinci_dtr_test_kit/descriptions.rb
164
200
  - lib/davinci_dtr_test_kit/docs/dtr_full_ehr_suite_description_v201.md
165
201
  - lib/davinci_dtr_test_kit/docs/dtr_light_ehr_suite_description_v201.md
166
202
  - lib/davinci_dtr_test_kit/docs/dtr_payer_server_suite_description_v201.md
167
203
  - lib/davinci_dtr_test_kit/docs/dtr_smart_app_suite_description_v201.md
204
+ - lib/davinci_dtr_test_kit/dtr_client_options.rb
168
205
  - lib/davinci_dtr_test_kit/dtr_full_ehr_suite.rb
169
206
  - lib/davinci_dtr_test_kit/dtr_light_ehr_suite.rb
170
207
  - lib/davinci_dtr_test_kit/dtr_options.rb
@@ -187,6 +224,7 @@ files:
187
224
  - lib/davinci_dtr_test_kit/endpoints/mock_payer/next_question_proxy_endpoint.rb
188
225
  - lib/davinci_dtr_test_kit/endpoints/mock_payer/questionnaire_package_endpoint.rb
189
226
  - lib/davinci_dtr_test_kit/endpoints/mock_payer/questionnaire_package_proxy_endpoint.rb
227
+ - lib/davinci_dtr_test_kit/endpoints/mock_udap_smart_server/token_endpoint.rb
190
228
  - lib/davinci_dtr_test_kit/fixture_loader.rb
191
229
  - lib/davinci_dtr_test_kit/fixtures.rb
192
230
  - lib/davinci_dtr_test_kit/fixtures/dinner_adaptive/dinner_order_adaptive_next_question_burrito.json