davinci_dtr_test_kit 0.14.2 → 0.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/config/presets/full_ehr_postman_dinner_order_example_postman.json +19 -0
- data/config/presets/full_ehr_postman_respiratory_device_example.json +15 -0
- data/config/presets/light_ehr_ref_server_local.json +105 -0
- data/config/presets/light_ehr_ref_server_prod.json +85 -0
- data/config/presets/payer_server_adaptive_client_flow.json +37 -0
- data/config/presets/payer_server_adaptive_manual_flow.json +44 -0
- data/config/presets/payer_server_run_against_smart_app_tests.json +35 -0
- data/config/presets/smart_app_postman_dinner_order_example.json +44 -0
- data/config/presets/smart_app_postman_respiratory_device_example.json +43 -0
- data/lib/davinci_dtr_test_kit/auth_groups/token_validation_test.rb +1 -1
- data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_custom_questionnaire_expressions_test.rb +22 -0
- data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_custom_questionnaire_extensions_test.rb +19 -0
- data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_custom_questionnaire_libraries_test.rb +21 -0
- data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_custom_questionnaire_package_validation_test.rb +39 -0
- data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_full_ehr_custom_static_workflow_group.rb +122 -0
- data/lib/davinci_dtr_test_kit/client_groups/custom_static/dtr_smart_app_custom_static_workflow_group.rb +91 -0
- data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_adaptive_questionnaire_completion_group.rb → dtr_adaptive_completion_group.rb} +4 -4
- data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_adaptive_questionnaire_followup_questions_group.rb → dtr_adaptive_followup_questions_group.rb} +4 -4
- data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_adaptive_questionnaire_next_question_request_test.rb → dtr_adaptive_next_question_request_test.rb} +3 -2
- data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_adaptive_questionnaire_next_question_request_validation_test.rb → dtr_adaptive_next_question_request_validation_test.rb} +3 -2
- data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_adaptive_questionnaire_next_question_retrieval_group.rb → dtr_adaptive_next_question_retrieval_group.rb} +8 -8
- data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_adaptive_questionnaire_response_validation_test.rb → dtr_adaptive_response_validation_test.rb} +6 -4
- data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_full_ehr_adaptive_dinner_questionnaire_workflow_group.rb → dtr_full_ehr_adaptive_dinner_workflow_group.rb} +14 -12
- data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_full_ehr_adaptive_questionnaire_initial_retrieval_group.rb → dtr_full_ehr_adaptive_initial_retrieval_group.rb} +10 -10
- data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_full_ehr_adaptive_questionnaire_request_test.rb → dtr_full_ehr_adaptive_request_test.rb} +4 -2
- data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_smart_app_questionnaire_workflow_group.rb → dtr_smart_app_adaptive_dinner_workflow_group.rb} +25 -19
- data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_smart_app_adaptive_initial_retrieval_group.rb +24 -0
- data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_smart_app_adaptive_questionnaire_request_test.rb → dtr_smart_app_adaptive_request_test.rb} +2 -2
- data/lib/davinci_dtr_test_kit/client_groups/dinner_static/{dtr_full_ehr_questionnaire_workflow_group.rb → dtr_full_ehr_static_dinner_workflow_group.rb} +15 -14
- data/lib/davinci_dtr_test_kit/client_groups/dinner_static/{dtr_smart_app_questionnaire_workflow_group.rb → dtr_smart_app_static_dinner_workflow_group.rb} +18 -13
- data/lib/davinci_dtr_test_kit/client_groups/{full_ehr/dtr_full_ehr_rendering_enabled_questions_attestation_test.rb → dinner_static/dtr_static_dinner_enabled_questions_attestation_test.rb} +2 -2
- data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_launch_attestation_test.rb +8 -3
- data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_prepopulation_attestation_test.rb +3 -1
- data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_prepopulation_override_attestation_test.rb +2 -1
- data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_questionnaire_package_request_test.rb +2 -1
- data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_questionnaire_response_conformance_test.rb +6 -1
- data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_questionnaire_response_correctness_test.rb +11 -22
- data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_saving_questionnaire_response_group.rb +4 -4
- data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_store_attestation_test.rb +2 -1
- data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_endpoints_group.rb +22 -0
- data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_payers_accept_header_test.rb +26 -0
- data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_payers_config_test.rb +34 -0
- data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_payers_endpoint_test.rb +44 -0
- data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_payers_use_test.rb +32 -0
- data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_payers_user_response_test.rb +70 -0
- data/lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_smart_ehr_launch.rb +18 -0
- data/lib/davinci_dtr_test_kit/client_groups/light_ehr/fhir_context_coverage_test.rb +42 -0
- data/lib/davinci_dtr_test_kit/client_groups/light_ehr/fhir_context_references_test.rb +59 -0
- data/lib/davinci_dtr_test_kit/client_groups/light_ehr/fhir_launch_context_test.rb +23 -0
- data/lib/davinci_dtr_test_kit/client_groups/{resp_assist_device/dtr_questionnaire_package_group.rb → respiratory/dtr_respiratory_questionnaire_package_group.rb} +5 -5
- data/lib/davinci_dtr_test_kit/client_groups/{resp_assist_device/dtr_resp_questionnaire_package_request_test.rb → respiratory/dtr_respiratory_questionnaire_package_request_test.rb} +2 -2
- data/lib/davinci_dtr_test_kit/client_groups/{resp_assist_device/dtr_questionnaire_response_group.rb → respiratory/dtr_respiratory_questionnaire_response_group.rb} +7 -7
- data/lib/davinci_dtr_test_kit/client_groups/{resp_assist_device/dtr_questionnaire_response_save_test.rb → respiratory/dtr_respiratory_questionnaire_response_save_test.rb} +2 -2
- data/lib/davinci_dtr_test_kit/client_groups/{resp_assist_device/dtr_questionnaire_rendering_attestation_test.rb → respiratory/dtr_respiratory_rendering_attestation_test.rb} +2 -2
- data/lib/davinci_dtr_test_kit/client_groups/respiratory/dtr_respiratory_rendering_group.rb +14 -0
- data/lib/davinci_dtr_test_kit/client_groups/{resp_assist_device/dtr_smart_app_questionnaire_workflow_group.rb → respiratory/dtr_smart_app_respiratory_workflow_group.rb} +8 -8
- data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_prepopulation_attestation_test.rb +33 -0
- data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_prepopulation_override_attestation_test.rb +36 -0
- data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_questionnaire_package_request_validation_test.rb +3 -1
- data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_questionnaire_response_basic_conformance_test.rb +8 -4
- data/lib/davinci_dtr_test_kit/client_groups/shared/{dtr_questionnaire_response_pre_population_test.rb → dtr_questionnaire_response_prepopulation_test.rb} +5 -2
- data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_rendering_attestation_test.rb +32 -0
- data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_prepopulation_attestation_test.rb +3 -1
- data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_prepopulation_override_attestation_test.rb +1 -1
- data/lib/davinci_dtr_test_kit/client_groups/{dinner_static/dtr_smart_app_dinner_questionnaire_package_request_test.rb → smart_app/dtr_smart_app_questionnaire_package_request_test.rb} +6 -6
- data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_questionnaire_response_correctness_test.rb +30 -0
- data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_questionnaire_response_save_test.rb +2 -2
- data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_saving_questionnaire_response_group.rb +3 -7
- data/lib/davinci_dtr_test_kit/cql_test.rb +58 -0
- data/lib/davinci_dtr_test_kit/docs/dtr_light_ehr_suite_description_v201.md +9 -6
- data/lib/davinci_dtr_test_kit/dtr_full_ehr_suite.rb +19 -6
- data/lib/davinci_dtr_test_kit/dtr_light_ehr_suite.rb +60 -40
- data/lib/davinci_dtr_test_kit/dtr_payer_server_suite.rb +0 -2
- data/lib/davinci_dtr_test_kit/dtr_questionnaire_response_validation.rb +50 -4
- data/lib/davinci_dtr_test_kit/dtr_smart_app_suite.rb +9 -9
- data/lib/davinci_dtr_test_kit/endpoints/mock_authorization.rb +10 -2
- data/lib/davinci_dtr_test_kit/endpoints/mock_ehr.rb +17 -1
- data/lib/davinci_dtr_test_kit/endpoints/mock_payer/light_ehr_supported_payer_endpoint.rb +44 -0
- data/lib/davinci_dtr_test_kit/endpoints/mock_payer/questionnaire_package_endpoint.rb +7 -1
- data/lib/davinci_dtr_test_kit/fixtures.rb +6 -6
- data/lib/davinci_dtr_test_kit/igs/davinci_dtr_2.0.1.tgz +0 -0
- data/lib/davinci_dtr_test_kit/metadata.rb +104 -0
- data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_form_libraries_test.rb +4 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_form_questionnaire_expressions_test.rb +2 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_form_questionnaire_extensions_test.rb +4 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_next_questionnaire_expressions_test.rb +1 -0
- data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_next_questionnaire_extensions_test.rb +4 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_adaptive_request_test.rb +2 -0
- data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_adaptive_response_bundles_validation_test.rb +3 -2
- data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_adaptive_response_search_validation_test.rb +8 -3
- data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_adaptive_response_validation_test.rb +6 -15
- data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_next_response_complete_test.rb +1 -0
- data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_static_group.rb +1 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_libraries_test.rb +4 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_questionnaire_expressions_test.rb +2 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_questionnaire_extensions_test.rb +4 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_request_test.rb +3 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_response_validation_test.rb +6 -15
- data/lib/davinci_dtr_test_kit/profiles/communication_request/communication_request_must_support_test.rb +46 -0
- data/lib/davinci_dtr_test_kit/profiles/communication_request/communication_request_read.rb +6 -3
- data/lib/davinci_dtr_test_kit/profiles/communication_request/communication_request_validation.rb +9 -8
- data/lib/davinci_dtr_test_kit/profiles/communication_request/metadata.yml +135 -0
- data/lib/davinci_dtr_test_kit/profiles/communication_request_group.rb +9 -0
- data/lib/davinci_dtr_test_kit/profiles/coverage/coverage_must_support_test.rb +54 -0
- data/lib/davinci_dtr_test_kit/profiles/coverage/coverage_read.rb +5 -3
- data/lib/davinci_dtr_test_kit/profiles/coverage/coverage_validation.rb +9 -8
- data/lib/davinci_dtr_test_kit/profiles/coverage/metadata.yml +133 -0
- data/lib/davinci_dtr_test_kit/profiles/coverage_group.rb +8 -0
- data/lib/davinci_dtr_test_kit/profiles/device_request/device_request_must_support_test.rb +45 -0
- data/lib/davinci_dtr_test_kit/profiles/device_request/device_request_read.rb +6 -3
- data/lib/davinci_dtr_test_kit/profiles/device_request/device_request_validation.rb +9 -8
- data/lib/davinci_dtr_test_kit/profiles/device_request/metadata.yml +130 -0
- data/lib/davinci_dtr_test_kit/profiles/device_request_group.rb +9 -0
- data/lib/davinci_dtr_test_kit/profiles/encounter/encounter_must_support_test.rb +58 -0
- data/lib/davinci_dtr_test_kit/profiles/encounter/encounter_read.rb +6 -3
- data/lib/davinci_dtr_test_kit/profiles/encounter/encounter_validation.rb +9 -8
- data/lib/davinci_dtr_test_kit/profiles/encounter/metadata.yml +169 -0
- data/lib/davinci_dtr_test_kit/profiles/encounter_group.rb +9 -0
- data/lib/davinci_dtr_test_kit/profiles/medication_request/medication_request_must_support_test.rb +50 -0
- data/lib/davinci_dtr_test_kit/profiles/medication_request/medication_request_read.rb +6 -3
- data/lib/davinci_dtr_test_kit/profiles/medication_request/medication_request_validation.rb +9 -8
- data/lib/davinci_dtr_test_kit/profiles/medication_request/metadata.yml +159 -0
- data/lib/davinci_dtr_test_kit/profiles/medication_request_group.rb +9 -0
- data/lib/davinci_dtr_test_kit/profiles/nutrition_order/metadata.yml +94 -0
- data/lib/davinci_dtr_test_kit/profiles/nutrition_order/nutrition_order_must_support_test.rb +45 -0
- data/lib/davinci_dtr_test_kit/profiles/nutrition_order/nutrition_order_read.rb +6 -3
- data/lib/davinci_dtr_test_kit/profiles/nutrition_order/nutrition_order_validation.rb +9 -8
- data/lib/davinci_dtr_test_kit/profiles/nutrition_order_group.rb +9 -0
- data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_context_search.rb +3 -1
- data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_create.rb +1 -0
- data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_must_support_test.rb +54 -0
- data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_patient_search.rb +3 -1
- data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_read.rb +2 -1
- data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_update.rb +1 -0
- data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_validation.rb +1 -1
- data/lib/davinci_dtr_test_kit/profiles/questionnaire_response_group.rb +11 -1
- data/lib/davinci_dtr_test_kit/profiles/service_request/metadata.yml +140 -0
- data/lib/davinci_dtr_test_kit/profiles/service_request/service_request_must_support_test.rb +47 -0
- data/lib/davinci_dtr_test_kit/profiles/service_request/service_request_read.rb +6 -3
- data/lib/davinci_dtr_test_kit/profiles/service_request/service_request_validation.rb +9 -8
- data/lib/davinci_dtr_test_kit/profiles/service_request_group.rb +9 -0
- data/lib/davinci_dtr_test_kit/profiles/task/metadata.yml +165 -0
- data/lib/davinci_dtr_test_kit/profiles/task/task_create.rb +1 -0
- data/lib/davinci_dtr_test_kit/profiles/task/task_must_support_test.rb +46 -0
- data/lib/davinci_dtr_test_kit/profiles/task/task_read.rb +6 -3
- data/lib/davinci_dtr_test_kit/profiles/task/task_update.rb +1 -0
- data/lib/davinci_dtr_test_kit/profiles/task/task_validation.rb +9 -8
- data/lib/davinci_dtr_test_kit/profiles/task_group.rb +11 -1
- data/lib/davinci_dtr_test_kit/profiles/vision_prescription/metadata.yml +107 -0
- data/lib/davinci_dtr_test_kit/profiles/vision_prescription/vision_prescription_must_support_test.rb +54 -0
- data/lib/davinci_dtr_test_kit/profiles/vision_prescription/vision_prescription_read.rb +6 -3
- data/lib/davinci_dtr_test_kit/profiles/vision_prescription/vision_prescription_validation.rb +9 -8
- data/lib/davinci_dtr_test_kit/profiles/vision_prescription_group.rb +9 -0
- data/lib/davinci_dtr_test_kit/read_test.rb +5 -0
- data/lib/davinci_dtr_test_kit/requirements/davinci-dtr-test-kit_out_of_scope_requirements.csv +13 -0
- data/lib/davinci_dtr_test_kit/requirements/davinci-dtr-test-kit_requirements.csv +374 -0
- data/lib/davinci_dtr_test_kit/requirements/generated/davinci-dtr-test-kit_requirements_coverage.csv +372 -0
- data/lib/davinci_dtr_test_kit/tags.rb +1 -0
- data/lib/davinci_dtr_test_kit/urls.rb +6 -0
- data/lib/davinci_dtr_test_kit/version.rb +2 -1
- data/lib/davinci_dtr_test_kit.rb +2 -0
- data/lib/inferno_requirements_tools/ext/inferno_core/runnable.rb +22 -0
- data/lib/inferno_requirements_tools/rake/rakefile_template +31 -0
- data/lib/inferno_requirements_tools/tasks/requirements_coverage.rb +284 -0
- data/lib/requirements_config.yaml +25 -0
- metadata +95 -37
- data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/dtr_smart_app_adaptive_questionnaire_initial_retrieval_group.rb +0 -24
- data/lib/davinci_dtr_test_kit/client_groups/resp_assist_device/dtr_questionnaire_rendering_group.rb +0 -14
- data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_rendering_enabled_questions_attestation_test.rb +0 -30
@@ -1,5 +1,6 @@
|
|
1
1
|
require_relative 'communication_request/communication_request_read'
|
2
2
|
require_relative 'communication_request/communication_request_validation'
|
3
|
+
require_relative 'communication_request/communication_request_must_support_test'
|
3
4
|
|
4
5
|
module DaVinciDTRTestKit
|
5
6
|
class CommunicationRequestGroup < Inferno::TestGroup
|
@@ -23,6 +24,13 @@ module DaVinciDTRTestKit
|
|
23
24
|
the [CRD CommunicationRequest Profile](https://hl7.org/fhir/us/davinci-crd/STU2/StructureDefinition-profile-communicationrequest.html).
|
24
25
|
Each element is checked against terminology binding and cardinality requirements.
|
25
26
|
|
27
|
+
## Must Support
|
28
|
+
Each profile contains elements marked as "must support". This test
|
29
|
+
sequence expects to see each of these elements at least once. If at
|
30
|
+
least one cannot be found, the test will fail. The test will look
|
31
|
+
through the CommunicationRequest resources found in the first test for these
|
32
|
+
elements.
|
33
|
+
|
26
34
|
)
|
27
35
|
id :communication_request_group
|
28
36
|
optional
|
@@ -35,5 +43,6 @@ module DaVinciDTRTestKit
|
|
35
43
|
|
36
44
|
test from: :communication_request_read
|
37
45
|
test from: :communication_request_validation
|
46
|
+
test from: :communication_request_must_support_test
|
38
47
|
end
|
39
48
|
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module DaVinciDTRTestKit
|
2
|
+
class CoverageMustSupportTest < Inferno::Test
|
3
|
+
include USCoreTestKit::MustSupportTest
|
4
|
+
|
5
|
+
title 'All must support elements are provided in the Coverage resources returned'
|
6
|
+
description %(
|
7
|
+
This test will look through the Coverage resources
|
8
|
+
found previously for the following must support elements:\n
|
9
|
+
|
10
|
+
* Coverage.beneficiary
|
11
|
+
* Coverage.class
|
12
|
+
* Coverage.class:group
|
13
|
+
* Coverage.class:group.name
|
14
|
+
* Coverage.class:group.value
|
15
|
+
* Coverage.class:plan
|
16
|
+
* Coverage.class:plan.name
|
17
|
+
* Coverage.class:plan.value
|
18
|
+
* Coverage.dependent
|
19
|
+
* Coverage.identifier
|
20
|
+
* Coverage.identifier:MBIdentifier
|
21
|
+
* Coverage.identifier:MBIdentifier.type
|
22
|
+
* Coverage.network
|
23
|
+
* Coverage.order
|
24
|
+
* Coverage.payor
|
25
|
+
* Coverage.period
|
26
|
+
* Coverage.policyHolder
|
27
|
+
* Coverage.relationship
|
28
|
+
* Coverage.status
|
29
|
+
* Coverage.subscriber
|
30
|
+
* Coverage.subscriberId
|
31
|
+
* Coverage.type
|
32
|
+
)
|
33
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@355'
|
34
|
+
id :coverage_must_support_test
|
35
|
+
|
36
|
+
def resource_type
|
37
|
+
'Coverage'
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.metadata
|
41
|
+
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
42
|
+
aliases: true))
|
43
|
+
end
|
44
|
+
|
45
|
+
def scratch_resources
|
46
|
+
scratch[:coverages] ||= {}
|
47
|
+
end
|
48
|
+
|
49
|
+
run do
|
50
|
+
skip_if(coverage_ids.nil?, "No `#{resource_type}` IDs provided, skipping test.")
|
51
|
+
perform_must_support_test(all_scratch_resources)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -14,6 +14,10 @@ module DaVinciDTRTestKit
|
|
14
14
|
'Coverage'
|
15
15
|
end
|
16
16
|
|
17
|
+
def scratch_resources
|
18
|
+
scratch[:coverages] ||= {}
|
19
|
+
end
|
20
|
+
|
17
21
|
def coverage_id_list
|
18
22
|
return [nil] unless respond_to? :coverage_ids
|
19
23
|
|
@@ -21,9 +25,7 @@ module DaVinciDTRTestKit
|
|
21
25
|
end
|
22
26
|
|
23
27
|
run do
|
24
|
-
|
25
|
-
|
26
|
-
output coverage_resources: resources.to_json
|
28
|
+
perform_read_test(coverage_id_list, resource_type)
|
27
29
|
end
|
28
30
|
end
|
29
31
|
end
|
@@ -1,8 +1,6 @@
|
|
1
|
-
require_relative '../../validation_test'
|
2
|
-
|
3
1
|
module DaVinciDTRTestKit
|
4
2
|
class CoverageValidationTest < Inferno::Test
|
5
|
-
include
|
3
|
+
include USCoreTestKit::ValidationTest
|
6
4
|
|
7
5
|
title 'Coverage resources returned during previous tests conform to the CRD Coverage'
|
8
6
|
description %(
|
@@ -19,17 +17,20 @@ fail if their code/system are not found in the valueset.
|
|
19
17
|
)
|
20
18
|
|
21
19
|
id :coverage_validation
|
22
|
-
input :coverage_resources,
|
23
|
-
optional: true
|
24
20
|
|
25
21
|
def resource_type
|
26
22
|
'Coverage'
|
27
23
|
end
|
28
24
|
|
25
|
+
def scratch_resources
|
26
|
+
scratch[:coverages] ||= {}
|
27
|
+
end
|
28
|
+
|
29
29
|
run do
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
perform_validation_test(scratch_resources[:all] || [],
|
31
|
+
'http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-coverage',
|
32
|
+
'2.0.1',
|
33
|
+
skip_if_empty: true)
|
33
34
|
end
|
34
35
|
end
|
35
36
|
end
|
@@ -0,0 +1,133 @@
|
|
1
|
+
---
|
2
|
+
:name: profile_coverage
|
3
|
+
:class_name: ProfileCoverageSequence
|
4
|
+
:version: v3.1.1
|
5
|
+
:reformatted_version: v311
|
6
|
+
:resource: Coverage
|
7
|
+
:profile_url: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-coverage
|
8
|
+
:profile_name: CRD Coverage
|
9
|
+
:profile_version: 2.0.1
|
10
|
+
:title: CRD Coverage
|
11
|
+
:short_description:
|
12
|
+
Verify support for the server capabilities required by the CRD
|
13
|
+
Coverage.
|
14
|
+
:is_delayed: true
|
15
|
+
:interactions:
|
16
|
+
- :code: read
|
17
|
+
:expectation: SHALL
|
18
|
+
:operations: []
|
19
|
+
:searches: []
|
20
|
+
:search_definitions: {}
|
21
|
+
:include_params: []
|
22
|
+
:revincludes: []
|
23
|
+
:required_concepts: []
|
24
|
+
:must_supports:
|
25
|
+
:extensions: []
|
26
|
+
:slices:
|
27
|
+
- :slice_id: Coverage.identifier:MBIdentifier
|
28
|
+
:slice_name: MBIdentifier
|
29
|
+
:path: identifier
|
30
|
+
:discriminator:
|
31
|
+
:type: patternCodeableConcept
|
32
|
+
:path: type
|
33
|
+
:code: MB
|
34
|
+
:system: http://terminology.hl7.org/CodeSystem/v2-0203
|
35
|
+
- :slice_id: Coverage.class:group
|
36
|
+
:slice_name: group
|
37
|
+
:path: class
|
38
|
+
:discriminator:
|
39
|
+
:type: patternCodeableConcept
|
40
|
+
:path: type
|
41
|
+
:code: group
|
42
|
+
:system: http://terminology.hl7.org/CodeSystem/coverage-class
|
43
|
+
- :slice_id: Coverage.class:plan
|
44
|
+
:slice_name: plan
|
45
|
+
:path: class
|
46
|
+
:discriminator:
|
47
|
+
:type: patternCodeableConcept
|
48
|
+
:path: type
|
49
|
+
:code: plan
|
50
|
+
:system: http://terminology.hl7.org/CodeSystem/coverage-class
|
51
|
+
:elements:
|
52
|
+
- :path: identifier
|
53
|
+
- :path: identifier:MBIdentifier.type
|
54
|
+
- :path: status
|
55
|
+
- :path: type
|
56
|
+
- :path: policyHolder
|
57
|
+
:types:
|
58
|
+
- Reference
|
59
|
+
- :path: subscriber
|
60
|
+
:types:
|
61
|
+
- Reference
|
62
|
+
:target_profiles:
|
63
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient
|
64
|
+
- :path: subscriberId
|
65
|
+
- :path: beneficiary
|
66
|
+
:types:
|
67
|
+
- Reference
|
68
|
+
:target_profiles:
|
69
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient
|
70
|
+
- :path: dependent
|
71
|
+
- :path: relationship
|
72
|
+
- :path: period
|
73
|
+
- :path: payor
|
74
|
+
:types:
|
75
|
+
- Reference
|
76
|
+
- :path: class
|
77
|
+
- :path: class:group.value
|
78
|
+
- :path: class:group.name
|
79
|
+
- :path: class:plan.value
|
80
|
+
- :path: class:plan.name
|
81
|
+
- :path: order
|
82
|
+
- :path: network
|
83
|
+
:mandatory_elements:
|
84
|
+
- Coverage.identifier.type
|
85
|
+
- Coverage.status
|
86
|
+
- Coverage.beneficiary
|
87
|
+
- Coverage.payor
|
88
|
+
- Coverage.class.type
|
89
|
+
- Coverage.class.value
|
90
|
+
- Coverage.costToBeneficiary.value[x]
|
91
|
+
- Coverage.costToBeneficiary.exception.type
|
92
|
+
:bindings:
|
93
|
+
- :type: code
|
94
|
+
:strength: required
|
95
|
+
:system: http://hl7.org/fhir/ValueSet/identifier-use
|
96
|
+
:path: identifier.use
|
97
|
+
- :type: code
|
98
|
+
:strength: required
|
99
|
+
:system: http://hl7.org/fhir/ValueSet/fm-status
|
100
|
+
:path: status
|
101
|
+
:references:
|
102
|
+
- :path: Coverage.identifier.assigner
|
103
|
+
:profiles:
|
104
|
+
- http://hl7.org/fhir/StructureDefinition/Organization
|
105
|
+
- :path: Coverage.policyHolder
|
106
|
+
:profiles:
|
107
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient
|
108
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-organization
|
109
|
+
- :path: Coverage.subscriber
|
110
|
+
:profiles:
|
111
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient
|
112
|
+
- :path: Coverage.beneficiary
|
113
|
+
:profiles:
|
114
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient
|
115
|
+
- :path: Coverage.payor
|
116
|
+
:profiles:
|
117
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient
|
118
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-organization
|
119
|
+
- :path: Coverage.contract
|
120
|
+
:profiles:
|
121
|
+
- http://hl7.org/fhir/StructureDefinition/Contract
|
122
|
+
:tests:
|
123
|
+
- :id: us_core_v311_coverage_read_test
|
124
|
+
:file_name: coverage_read_test.rb
|
125
|
+
- :id: us_core_v311_coverage_validation_test
|
126
|
+
:file_name: coverage_validation_test.rb
|
127
|
+
- :id: us_core_v311_coverage_must_support_test
|
128
|
+
:file_name: coverage_must_support_test.rb
|
129
|
+
- :id: us_core_v311_coverage_reference_resolution_test
|
130
|
+
:file_name: coverage_reference_resolution_test.rb
|
131
|
+
:id: us_core_v311_coverage
|
132
|
+
:file_name: coverage_group.rb
|
133
|
+
:delayed_references: []
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require_relative 'coverage/coverage_read'
|
2
2
|
require_relative 'coverage/coverage_validation'
|
3
|
+
require_relative 'coverage/coverage_must_support_test'
|
3
4
|
|
4
5
|
module DaVinciDTRTestKit
|
5
6
|
class CoverageGroup < Inferno::TestGroup
|
@@ -23,6 +24,12 @@ module DaVinciDTRTestKit
|
|
23
24
|
the [CRD Coverage Profile](https://hl7.org/fhir/us/davinci-crd/STU2/StructureDefinition-profile-coverage.html).
|
24
25
|
Each element is checked against terminology binding and cardinality requirements.
|
25
26
|
|
27
|
+
## Must Support
|
28
|
+
Each profile contains elements marked as "must support". This test
|
29
|
+
sequence expects to see each of these elements at least once. If at
|
30
|
+
least one cannot be found, the test will fail. The test will look
|
31
|
+
through the Coverage resources found in the first test for these
|
32
|
+
elements.
|
26
33
|
)
|
27
34
|
id :coverage_group
|
28
35
|
run_as_group
|
@@ -34,5 +41,6 @@ module DaVinciDTRTestKit
|
|
34
41
|
|
35
42
|
test from: :coverage_read
|
36
43
|
test from: :coverage_validation
|
44
|
+
test from: :coverage_must_support_test
|
37
45
|
end
|
38
46
|
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module DaVinciDTRTestKit
|
2
|
+
class DeviceRequestMustSupportTest < Inferno::Test
|
3
|
+
include USCoreTestKit::MustSupportTest
|
4
|
+
|
5
|
+
title 'All must support elements are provided in the DeviceRequest resources returned'
|
6
|
+
description %(
|
7
|
+
This test will look through the DeviceRequest resources
|
8
|
+
found previously for the following must support elements:\n
|
9
|
+
|
10
|
+
* DeviceRequest.authoredOn
|
11
|
+
* DeviceRequest.basedOn
|
12
|
+
* DeviceRequest.code[x]
|
13
|
+
* DeviceRequest.extension:Coverage-Information
|
14
|
+
* DeviceRequest.identifier
|
15
|
+
* DeviceRequest.occurrence[x]
|
16
|
+
* DeviceRequest.parameter
|
17
|
+
* DeviceRequest.performer
|
18
|
+
* DeviceRequest.reasonCode
|
19
|
+
* DeviceRequest.reasonReference
|
20
|
+
* DeviceRequest.requester
|
21
|
+
* DeviceRequest.status
|
22
|
+
* DeviceRequest.subject
|
23
|
+
)
|
24
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@355'
|
25
|
+
id :device_request_must_support_test
|
26
|
+
|
27
|
+
def resource_type
|
28
|
+
'DeviceRequest'
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.metadata
|
32
|
+
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
33
|
+
aliases: true))
|
34
|
+
end
|
35
|
+
|
36
|
+
def scratch_resources
|
37
|
+
scratch[:device_requests] ||= {}
|
38
|
+
end
|
39
|
+
|
40
|
+
run do
|
41
|
+
skip_if(device_request_ids.nil?, "No `#{resource_type}` IDs provided, skipping test.")
|
42
|
+
perform_must_support_test(all_scratch_resources)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -6,6 +6,7 @@ module DaVinciDTRTestKit
|
|
6
6
|
|
7
7
|
title 'Server returns correct DeviceRequest resource from DeviceRequest read interaction'
|
8
8
|
description 'A server SHOULD support the DeviceRequest read interaction.'
|
9
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@272'
|
9
10
|
|
10
11
|
id :device_request_read
|
11
12
|
output :device_request_resources
|
@@ -14,6 +15,10 @@ module DaVinciDTRTestKit
|
|
14
15
|
'DeviceRequest'
|
15
16
|
end
|
16
17
|
|
18
|
+
def scratch_resources
|
19
|
+
scratch[:device_requests] ||= {}
|
20
|
+
end
|
21
|
+
|
17
22
|
def device_request_id_list
|
18
23
|
return [nil] unless respond_to? :device_request_ids
|
19
24
|
|
@@ -21,9 +26,7 @@ module DaVinciDTRTestKit
|
|
21
26
|
end
|
22
27
|
|
23
28
|
run do
|
24
|
-
|
25
|
-
|
26
|
-
output device_request_resources: resources.to_json
|
29
|
+
perform_read_test(device_request_id_list, resource_type)
|
27
30
|
end
|
28
31
|
end
|
29
32
|
end
|
@@ -1,8 +1,6 @@
|
|
1
|
-
require_relative '../../validation_test'
|
2
|
-
|
3
1
|
module DaVinciDTRTestKit
|
4
2
|
class DeviceRequestValidationTest < Inferno::Test
|
5
|
-
include
|
3
|
+
include USCoreTestKit::ValidationTest
|
6
4
|
|
7
5
|
title 'DeviceRequest resources returned during previous tests conform to the CRD DeviceRequest'
|
8
6
|
description %(
|
@@ -19,17 +17,20 @@ fail if their code/system are not found in the valueset.
|
|
19
17
|
)
|
20
18
|
|
21
19
|
id :device_request_validation
|
22
|
-
input :device_request_resources,
|
23
|
-
optional: true
|
24
20
|
|
25
21
|
def resource_type
|
26
22
|
'DeviceRequest'
|
27
23
|
end
|
28
24
|
|
25
|
+
def scratch_resources
|
26
|
+
scratch[:device_requests] ||= {}
|
27
|
+
end
|
28
|
+
|
29
29
|
run do
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
perform_validation_test(scratch_resources[:all] || [],
|
31
|
+
'http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-devicerequest',
|
32
|
+
'2.0.1',
|
33
|
+
skip_if_empty: true)
|
33
34
|
end
|
34
35
|
end
|
35
36
|
end
|
@@ -0,0 +1,130 @@
|
|
1
|
+
---
|
2
|
+
:name: profile_devicerequest
|
3
|
+
:class_name: ProfileDevicerequestSequence
|
4
|
+
:version: v3.1.1
|
5
|
+
:reformatted_version: v311
|
6
|
+
:resource: DeviceRequest
|
7
|
+
:profile_url: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-devicerequest
|
8
|
+
:profile_name: CRD Device Request
|
9
|
+
:profile_version: 2.0.1
|
10
|
+
:title: CRD Device Request
|
11
|
+
:short_description: Verify support for the server capabilities required by the CRD
|
12
|
+
Device Request.
|
13
|
+
:is_delayed: true
|
14
|
+
:interactions:
|
15
|
+
- :code: read
|
16
|
+
:expectation: SHOULD
|
17
|
+
:operations: []
|
18
|
+
:searches: []
|
19
|
+
:search_definitions: {}
|
20
|
+
:include_params: []
|
21
|
+
:revincludes: []
|
22
|
+
:required_concepts: []
|
23
|
+
:must_supports:
|
24
|
+
:extensions:
|
25
|
+
- :id: DeviceRequest.extension:Coverage-Information
|
26
|
+
:path: extension
|
27
|
+
:url: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
|
28
|
+
:slices: []
|
29
|
+
:elements:
|
30
|
+
- :path: identifier
|
31
|
+
- :path: basedOn
|
32
|
+
:types:
|
33
|
+
- Reference
|
34
|
+
- :path: status
|
35
|
+
:fixed_value: draft
|
36
|
+
- :path: code[x]
|
37
|
+
:types:
|
38
|
+
- Reference
|
39
|
+
:target_profiles:
|
40
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-device
|
41
|
+
- :path: parameter
|
42
|
+
- :path: subject
|
43
|
+
:types:
|
44
|
+
- Reference
|
45
|
+
:target_profiles:
|
46
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient
|
47
|
+
- :path: occurrence[x]
|
48
|
+
- :path: authoredOn
|
49
|
+
- :path: requester
|
50
|
+
:types:
|
51
|
+
- Reference
|
52
|
+
- :path: performer
|
53
|
+
:types:
|
54
|
+
- Reference
|
55
|
+
- :path: reasonCode
|
56
|
+
- :path: reasonReference
|
57
|
+
:types:
|
58
|
+
- Reference
|
59
|
+
:mandatory_elements:
|
60
|
+
- DeviceRequest.status
|
61
|
+
- DeviceRequest.intent
|
62
|
+
- DeviceRequest.code[x]
|
63
|
+
- DeviceRequest.subject
|
64
|
+
- DeviceRequest.authoredOn
|
65
|
+
- DeviceRequest.requester
|
66
|
+
:bindings:
|
67
|
+
- :type: code
|
68
|
+
:strength: required
|
69
|
+
:system: http://hl7.org/fhir/ValueSet/request-intent
|
70
|
+
:path: intent
|
71
|
+
- :type: code
|
72
|
+
:strength: required
|
73
|
+
:system: http://hl7.org/fhir/ValueSet/request-priority
|
74
|
+
:path: priority
|
75
|
+
:references:
|
76
|
+
- :path: DeviceRequest.basedOn
|
77
|
+
:profiles:
|
78
|
+
- http://hl7.org/fhir/StructureDefinition/Resource
|
79
|
+
- :path: DeviceRequest.priorRequest
|
80
|
+
:profiles:
|
81
|
+
- http://hl7.org/fhir/StructureDefinition/Resource
|
82
|
+
- :path: DeviceRequest.code[x]
|
83
|
+
:profiles:
|
84
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-device
|
85
|
+
- :path: DeviceRequest.subject
|
86
|
+
:profiles:
|
87
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient
|
88
|
+
- :path: DeviceRequest.encounter
|
89
|
+
:profiles:
|
90
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-encounter
|
91
|
+
- :path: DeviceRequest.requester
|
92
|
+
:profiles:
|
93
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-practitioner
|
94
|
+
- http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole
|
95
|
+
- :path: DeviceRequest.performer
|
96
|
+
:profiles:
|
97
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-practitioner
|
98
|
+
- http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole
|
99
|
+
- :path: DeviceRequest.reasonReference
|
100
|
+
:profiles:
|
101
|
+
- http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition
|
102
|
+
- http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab
|
103
|
+
- :path: DeviceRequest.insurance
|
104
|
+
:profiles:
|
105
|
+
- http://hl7.org/fhir/StructureDefinition/Coverage
|
106
|
+
- http://hl7.org/fhir/StructureDefinition/ClaimResponse
|
107
|
+
- :path: DeviceRequest.supportingInfo
|
108
|
+
:profiles:
|
109
|
+
- http://hl7.org/fhir/StructureDefinition/Resource
|
110
|
+
- :path: DeviceRequest.relevantHistory
|
111
|
+
:profiles:
|
112
|
+
- http://hl7.org/fhir/StructureDefinition/Provenance
|
113
|
+
:tests:
|
114
|
+
- :id: us_core_v311_device_request_read_test
|
115
|
+
:file_name: device_request_read_test.rb
|
116
|
+
- :id: us_core_v311_device_request_validation_test
|
117
|
+
:file_name: device_request_validation_test.rb
|
118
|
+
- :id: us_core_v311_device_request_must_support_test
|
119
|
+
:file_name: device_request_must_support_test.rb
|
120
|
+
- :id: us_core_v311_device_request_reference_resolution_test
|
121
|
+
:file_name: device_request_reference_resolution_test.rb
|
122
|
+
:id: us_core_v311_device_request
|
123
|
+
:file_name: device_request_group.rb
|
124
|
+
:delayed_references:
|
125
|
+
- :path: requester
|
126
|
+
:resources:
|
127
|
+
- PractitionerRole
|
128
|
+
- :path: performer
|
129
|
+
:resources:
|
130
|
+
- PractitionerRole
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require_relative 'device_request/device_request_read'
|
2
2
|
require_relative 'device_request/device_request_validation'
|
3
|
+
require_relative 'device_request/device_request_must_support_test'
|
3
4
|
|
4
5
|
module DaVinciDTRTestKit
|
5
6
|
class DeviceRequestGroup < Inferno::TestGroup
|
@@ -23,6 +24,13 @@ module DaVinciDTRTestKit
|
|
23
24
|
the [CRD DeviceRequest Profile](https://hl7.org/fhir/us/davinci-crd/STU2/StructureDefinition-profile-devicerequest.html).
|
24
25
|
Each element is checked against terminology binding and cardinality requirements.
|
25
26
|
|
27
|
+
## Must Support
|
28
|
+
Each profile contains elements marked as "must support". This test
|
29
|
+
sequence expects to see each of these elements at least once. If at
|
30
|
+
least one cannot be found, the test will fail. The test will look
|
31
|
+
through the DeviceRequest resources found in the first test for these
|
32
|
+
elements.
|
33
|
+
|
26
34
|
)
|
27
35
|
id :device_request_group
|
28
36
|
optional
|
@@ -35,5 +43,6 @@ module DaVinciDTRTestKit
|
|
35
43
|
|
36
44
|
test from: :device_request_read
|
37
45
|
test from: :device_request_validation
|
46
|
+
test from: :device_request_must_support_test
|
38
47
|
end
|
39
48
|
end
|
@@ -0,0 +1,58 @@
|
|
1
|
+
module DaVinciDTRTestKit
|
2
|
+
class EncounterMustSupportTEst < Inferno::Test
|
3
|
+
include USCoreTestKit::MustSupportTest
|
4
|
+
|
5
|
+
title 'All must support elements are provided in the Encounter resources returned'
|
6
|
+
description %(
|
7
|
+
This test will look through the Encounter resources
|
8
|
+
found previously for the following must support elements:\n
|
9
|
+
|
10
|
+
* Encounter.appointment
|
11
|
+
* Encounter.class
|
12
|
+
* Encounter.diagnosis
|
13
|
+
* Encounter.diagnosis.condition
|
14
|
+
* Encounter.extension:Coverage-Information
|
15
|
+
* Encounter.hospitalization
|
16
|
+
* Encounter.hospitalization.dischargeDisposition
|
17
|
+
* Encounter.identifier
|
18
|
+
* Encounter.identifier.system
|
19
|
+
* Encounter.identifier.value
|
20
|
+
* Encounter.length
|
21
|
+
* Encounter.location
|
22
|
+
* Encounter.location.location
|
23
|
+
* Encounter.location.period
|
24
|
+
* Encounter.location.status
|
25
|
+
* Encounter.participant
|
26
|
+
* Encounter.participant.individual
|
27
|
+
* Encounter.participant.period
|
28
|
+
* Encounter.participant.type
|
29
|
+
* Encounter.period
|
30
|
+
* Encounter.reasonCode
|
31
|
+
* Encounter.reasonReference
|
32
|
+
* Encounter.serviceType
|
33
|
+
* Encounter.status
|
34
|
+
* Encounter.subject
|
35
|
+
* Encounter.type
|
36
|
+
)
|
37
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@355'
|
38
|
+
id :encounter_must_support_test
|
39
|
+
|
40
|
+
def resource_type
|
41
|
+
'Encounter'
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.metadata
|
45
|
+
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
46
|
+
aliases: true))
|
47
|
+
end
|
48
|
+
|
49
|
+
def scratch_resources
|
50
|
+
scratch[:encounters] ||= {}
|
51
|
+
end
|
52
|
+
|
53
|
+
run do
|
54
|
+
skip_if(encounter_ids.nil?, "No `#{resource_type}` IDs provided, skipping test.")
|
55
|
+
perform_must_support_test(all_scratch_resources)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
@@ -6,6 +6,7 @@ module DaVinciDTRTestKit
|
|
6
6
|
|
7
7
|
title 'Server returns correct Encounter resource from Encounter read interaction'
|
8
8
|
description 'A server SHOULD support the Encounter read interaction.'
|
9
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@271'
|
9
10
|
|
10
11
|
id :encounter_read
|
11
12
|
output :encounter_resources
|
@@ -14,6 +15,10 @@ module DaVinciDTRTestKit
|
|
14
15
|
'Encounter'
|
15
16
|
end
|
16
17
|
|
18
|
+
def scratch_resources
|
19
|
+
scratch[:encounters] ||= {}
|
20
|
+
end
|
21
|
+
|
17
22
|
def encounter_id_list
|
18
23
|
return [nil] unless respond_to? :encounter_ids
|
19
24
|
|
@@ -21,9 +26,7 @@ module DaVinciDTRTestKit
|
|
21
26
|
end
|
22
27
|
|
23
28
|
run do
|
24
|
-
|
25
|
-
|
26
|
-
output encounter_resources: resources.to_json
|
29
|
+
perform_read_test(encounter_id_list, resource_type)
|
27
30
|
end
|
28
31
|
end
|
29
32
|
end
|