davinci_dtr_test_kit 0.14.2 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +121 -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} +2 -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} +2 -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} +3 -3
- data/lib/davinci_dtr_test_kit/client_groups/dinner_adaptive/{dtr_full_ehr_adaptive_dinner_questionnaire_workflow_group.rb → dtr_full_ehr_adaptive_dinner_workflow_group.rb} +12 -12
- 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} +2 -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} +24 -18
- 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} +13 -13
- 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 +1 -1
- data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_prepopulation_override_attestation_test.rb +1 -1
- data/lib/davinci_dtr_test_kit/client_groups/full_ehr/dtr_full_ehr_questionnaire_package_request_test.rb +1 -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 +10 -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 +1 -1
- 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 +60 -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 +31 -0
- data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_prepopulation_override_attestation_test.rb +35 -0
- data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_questionnaire_package_request_validation_test.rb +1 -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} +2 -2
- data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_rendering_attestation_test.rb +30 -0
- data/lib/davinci_dtr_test_kit/client_groups/smart_app/dtr_smart_app_prepopulation_attestation_test.rb +1 -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 +28 -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 +42 -36
- 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/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 +1 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_form_questionnaire_expressions_test.rb +1 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/adaptive_form_questionnaire_extensions_test.rb +1 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_adaptive_response_bundles_validation_test.rb +1 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_adaptive_response_search_validation_test.rb +1 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/payer_server_adaptive_response_validation_test.rb +4 -15
- 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 +1 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_questionnaire_expressions_test.rb +1 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_questionnaire_extensions_test.rb +1 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_request_test.rb +1 -1
- data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_response_validation_test.rb +4 -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/urls.rb +1 -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 +88 -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
@@ -0,0 +1,94 @@
|
|
1
|
+
---
|
2
|
+
:name: profile_nutritionorder
|
3
|
+
:class_name: ProfileNutritionorderSequence
|
4
|
+
:version: v3.1.1
|
5
|
+
:reformatted_version: v311
|
6
|
+
:resource: NutritionOrder
|
7
|
+
:profile_url: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-nutritionorder
|
8
|
+
:profile_name: CRD Nutrition Order
|
9
|
+
:profile_version: 2.0.1
|
10
|
+
:title: CRD Nutrition Order
|
11
|
+
:short_description: Verify support for the server capabilities required by the CRD
|
12
|
+
Nutrition Order.
|
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: NutritionOrder.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: status
|
32
|
+
:fixed_value: draft
|
33
|
+
- :path: patient
|
34
|
+
:types:
|
35
|
+
- Reference
|
36
|
+
:target_profiles:
|
37
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient
|
38
|
+
- :path: encounter
|
39
|
+
:types:
|
40
|
+
- Reference
|
41
|
+
:target_profiles:
|
42
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-encounter
|
43
|
+
- :path: dateTime
|
44
|
+
- :path: orderer
|
45
|
+
:types:
|
46
|
+
- Reference
|
47
|
+
- :path: allergyIntolerance
|
48
|
+
:types:
|
49
|
+
- Reference
|
50
|
+
- :path: foodPreferenceModifier
|
51
|
+
- :path: excludeFoodModifier
|
52
|
+
- :path: oralDiet
|
53
|
+
- :path: supplement
|
54
|
+
- :path: enteralFormula
|
55
|
+
:mandatory_elements:
|
56
|
+
- NutritionOrder.status
|
57
|
+
- NutritionOrder.intent
|
58
|
+
- NutritionOrder.patient
|
59
|
+
- NutritionOrder.dateTime
|
60
|
+
- NutritionOrder.orderer
|
61
|
+
:bindings:
|
62
|
+
- :type: code
|
63
|
+
:strength: required
|
64
|
+
:system: http://hl7.org/fhir/ValueSet/request-intent
|
65
|
+
:path: intent
|
66
|
+
:references:
|
67
|
+
- :path: NutritionOrder.patient
|
68
|
+
:profiles:
|
69
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient
|
70
|
+
- :path: NutritionOrder.encounter
|
71
|
+
:profiles:
|
72
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-encounter
|
73
|
+
- :path: NutritionOrder.orderer
|
74
|
+
:profiles:
|
75
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-practitioner
|
76
|
+
- http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitionerrole
|
77
|
+
- :path: NutritionOrder.allergyIntolerance
|
78
|
+
:profiles:
|
79
|
+
- http://hl7.org/fhir/StructureDefinition/AllergyIntolerance
|
80
|
+
:tests:
|
81
|
+
- :id: us_core_v311_nutrition_order_read_test
|
82
|
+
:file_name: nutrition_order_read_test.rb
|
83
|
+
- :id: us_core_v311_nutrition_order_validation_test
|
84
|
+
:file_name: nutrition_order_validation_test.rb
|
85
|
+
- :id: us_core_v311_nutrition_order_must_support_test
|
86
|
+
:file_name: nutrition_order_must_support_test.rb
|
87
|
+
- :id: us_core_v311_nutrition_order_reference_resolution_test
|
88
|
+
:file_name: nutrition_order_reference_resolution_test.rb
|
89
|
+
:id: us_core_v311_nutrition_order
|
90
|
+
:file_name: nutrition_order_group.rb
|
91
|
+
:delayed_references:
|
92
|
+
- :path: orderer
|
93
|
+
:resources:
|
94
|
+
- PractitionerRole
|
@@ -0,0 +1,45 @@
|
|
1
|
+
module DaVinciDTRTestKit
|
2
|
+
class NutritionOrderMustSupportTest < Inferno::Test
|
3
|
+
include USCoreTestKit::MustSupportTest
|
4
|
+
|
5
|
+
title 'All must support elements are provided in the NutritionOrder resources returned'
|
6
|
+
description %(
|
7
|
+
This test will look through the NutritionOrder resources
|
8
|
+
found previously for the following must support elements:\n
|
9
|
+
|
10
|
+
* NutritionOrder.allergyIntolerance
|
11
|
+
* NutritionOrder.dateTime
|
12
|
+
* NutritionOrder.encounter
|
13
|
+
* NutritionOrder.enteralFormula
|
14
|
+
* NutritionOrder.excludeFoodModifier
|
15
|
+
* NutritionOrder.extension:Coverage-Information
|
16
|
+
* NutritionOrder.foodPreferenceModifier
|
17
|
+
* NutritionOrder.identifier
|
18
|
+
* NutritionOrder.oralDiet
|
19
|
+
* NutritionOrder.orderer
|
20
|
+
* NutritionOrder.patient
|
21
|
+
* NutritionOrder.status
|
22
|
+
* NutritionOrder.supplement
|
23
|
+
)
|
24
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@355'
|
25
|
+
id :nutrition_order_must_support_test
|
26
|
+
|
27
|
+
def resource_type
|
28
|
+
'NutritionOrder'
|
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[:nutrition_orders] ||= {}
|
38
|
+
end
|
39
|
+
|
40
|
+
run do
|
41
|
+
skip_if(nutrition_order_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 NutritionOrder resource from NutritionOrder read interaction'
|
8
8
|
description 'A server SHOULD support the NutritionOrder read interaction.'
|
9
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@274'
|
9
10
|
|
10
11
|
id :nutrition_order_read
|
11
12
|
output :nutrition_order_resources
|
@@ -14,6 +15,10 @@ module DaVinciDTRTestKit
|
|
14
15
|
'NutritionOrder'
|
15
16
|
end
|
16
17
|
|
18
|
+
def scratch_resources
|
19
|
+
scratch[:nutrition_orders] ||= {}
|
20
|
+
end
|
21
|
+
|
17
22
|
def nutrition_order_id_list
|
18
23
|
return [nil] unless respond_to? :nutrition_order_ids
|
19
24
|
|
@@ -21,9 +26,7 @@ module DaVinciDTRTestKit
|
|
21
26
|
end
|
22
27
|
|
23
28
|
run do
|
24
|
-
|
25
|
-
|
26
|
-
output nutrition_order_resources: resources.to_json
|
29
|
+
perform_read_test(nutrition_order_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 NutritionOrderValidationTest < Inferno::Test
|
5
|
-
include
|
3
|
+
include USCoreTestKit::ValidationTest
|
6
4
|
|
7
5
|
title 'NutritionOrder resources returned during previous tests conform to the CRD NutritionOrder'
|
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 :nutrition_order_validation
|
22
|
-
input :nutrition_order_resources,
|
23
|
-
optional: true
|
24
20
|
|
25
21
|
def resource_type
|
26
22
|
'NutritionOrder'
|
27
23
|
end
|
28
24
|
|
25
|
+
def scratch_resources
|
26
|
+
scratch[:nutrition_orders] ||= {}
|
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-nutritionorder',
|
32
|
+
'2.0.1',
|
33
|
+
skip_if_empty: true)
|
33
34
|
end
|
34
35
|
end
|
35
36
|
end
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require_relative 'nutrition_order/nutrition_order_read'
|
2
2
|
require_relative 'nutrition_order/nutrition_order_validation'
|
3
|
+
require_relative 'nutrition_order/nutrition_order_must_support_test'
|
3
4
|
|
4
5
|
module DaVinciDTRTestKit
|
5
6
|
class NutritionOrderGroup < Inferno::TestGroup
|
@@ -23,6 +24,13 @@ module DaVinciDTRTestKit
|
|
23
24
|
the [CRD NutritionOrder 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 NutritionOrder resources found in the first test for these
|
32
|
+
elements.
|
33
|
+
|
26
34
|
)
|
27
35
|
id :nutrition_order_group
|
28
36
|
optional
|
@@ -35,5 +43,6 @@ module DaVinciDTRTestKit
|
|
35
43
|
|
36
44
|
test from: :nutrition_order_read
|
37
45
|
test from: :nutrition_order_validation
|
46
|
+
test from: :nutrition_order_must_support_test
|
38
47
|
end
|
39
48
|
end
|
@@ -9,6 +9,8 @@ context on the QuestionnaireResponse resource. This test
|
|
9
9
|
will pass if resources are returned and match the search criteria. If
|
10
10
|
none are returned, the test is skipped.
|
11
11
|
)
|
12
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@268',
|
13
|
+
'hl7.fhir.us.davinci-dtr_2.0.1@269'
|
12
14
|
|
13
15
|
id :questionnaire_response_context_search
|
14
16
|
|
@@ -25,7 +27,7 @@ none are returned, the test is skipped.
|
|
25
27
|
end
|
26
28
|
|
27
29
|
def scratch_resources
|
28
|
-
scratch[:
|
30
|
+
scratch[:questionnaire_responses] ||= {}
|
29
31
|
end
|
30
32
|
|
31
33
|
run do
|
data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_create.rb
CHANGED
@@ -6,6 +6,7 @@ module DaVinciDTRTestKit
|
|
6
6
|
|
7
7
|
title 'Server is capable of creating a QuestionnaireResponse resource from QuestionnaireResponse create interaction'
|
8
8
|
description 'A sever SHALL support the QuestionnaireResponse create interaction'
|
9
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@266'
|
9
10
|
|
10
11
|
id :questionnaire_response_create
|
11
12
|
input :create_questionnaire_resources,
|
@@ -0,0 +1,54 @@
|
|
1
|
+
module DaVinciDTRTestKit
|
2
|
+
module USCoreV311
|
3
|
+
class QuestionnaireResponseMustSupportTest < Inferno::Test
|
4
|
+
include USCoreTestKit::MustSupportTest
|
5
|
+
|
6
|
+
title 'All must support elements are provided in the QuestionnaireResponse resources returned'
|
7
|
+
description %(
|
8
|
+
US Core Responders SHALL be capable of populating all data elements as
|
9
|
+
part of the query results as specified by the US Core Server Capability
|
10
|
+
Statement. This test will look through the QuestionnaireResponse resources
|
11
|
+
found previously for the following must support elements:
|
12
|
+
|
13
|
+
* QuestionnaireResponse.author
|
14
|
+
* QuestionnaireResponse.authored
|
15
|
+
* QuestionnaireResponse.extension:signature
|
16
|
+
* QuestionnaireResponse.identifier
|
17
|
+
* QuestionnaireResponse.item
|
18
|
+
* QuestionnaireResponse.item.answer
|
19
|
+
* QuestionnaireResponse.item.answer.extension:itemAnswerMedia
|
20
|
+
* QuestionnaireResponse.item.answer.extension:ordinalValue
|
21
|
+
* QuestionnaireResponse.item.answer.extension:origin
|
22
|
+
* QuestionnaireResponse.item.answer.item
|
23
|
+
* QuestionnaireResponse.item.answer.value[x]
|
24
|
+
* QuestionnaireResponse.item.extension:ItemSignature
|
25
|
+
* QuestionnaireResponse.item.item
|
26
|
+
* QuestionnaireResponse.item.linkId
|
27
|
+
* QuestionnaireResponse.item.text
|
28
|
+
* QuestionnaireResponse.questionnaire
|
29
|
+
* QuestionnaireResponse.questionnaire.extension:questionnaireDisplay
|
30
|
+
* QuestionnaireResponse.status
|
31
|
+
* QuestionnaireResponse.subject
|
32
|
+
)
|
33
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@355'
|
34
|
+
id :questionnaire_response_must_support_test
|
35
|
+
|
36
|
+
def resource_type
|
37
|
+
'QuestionnaireResponse'
|
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[:questionnaire_responses] ||= {}
|
47
|
+
end
|
48
|
+
|
49
|
+
run do
|
50
|
+
perform_must_support_test(all_scratch_resources)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -22,6 +22,8 @@ return the same number of results. Search by POST is required by the
|
|
22
22
|
FHIR R4 specification, and these tests interpret search by GET as a
|
23
23
|
requirement of US Core v3.1.1.
|
24
24
|
)
|
25
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@268',
|
26
|
+
'hl7.fhir.us.davinci-dtr_2.0.1@270'
|
25
27
|
|
26
28
|
id :questionnaire_response_patient_search
|
27
29
|
input :patient_ids,
|
@@ -45,7 +47,7 @@ requirement of US Core v3.1.1.
|
|
45
47
|
end
|
46
48
|
|
47
49
|
def scratch_resources
|
48
|
-
scratch[:
|
50
|
+
scratch[:questionnaire_responses] ||= {}
|
49
51
|
end
|
50
52
|
|
51
53
|
run do
|
data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_read.rb
CHANGED
@@ -4,6 +4,7 @@ module DaVinciDTRTestKit
|
|
4
4
|
|
5
5
|
title 'Server returns correct QuestionnaireResponse resource from QuestionnaireResponse read interaction'
|
6
6
|
description 'A server SHALL support the QuestionnaireResponse read interaction'
|
7
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@265'
|
7
8
|
|
8
9
|
id :questionnaire_response_read
|
9
10
|
|
@@ -12,7 +13,7 @@ module DaVinciDTRTestKit
|
|
12
13
|
end
|
13
14
|
|
14
15
|
def scratch_resources
|
15
|
-
scratch[:
|
16
|
+
scratch[:questionnaire_responses] ||= {}
|
16
17
|
end
|
17
18
|
|
18
19
|
run do
|
data/lib/davinci_dtr_test_kit/profiles/questionnaire_response/questionnaire_response_update.rb
CHANGED
@@ -6,6 +6,7 @@ module DaVinciDTRTestKit
|
|
6
6
|
|
7
7
|
title 'Server is capable of updating a QuestionnaireResponse resource from QuestionnaireResponse update interaction'
|
8
8
|
description 'A server SHALL support the QuestionnaireResponse update interaction'
|
9
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@267'
|
9
10
|
|
10
11
|
id :questionnaire_response_update
|
11
12
|
input :update_questionnaire_resources,
|
@@ -4,6 +4,7 @@ require_relative 'questionnaire_response/questionnaire_response_read'
|
|
4
4
|
require_relative 'questionnaire_response/questionnaire_response_validation'
|
5
5
|
require_relative 'questionnaire_response/questionnaire_response_create'
|
6
6
|
require_relative 'questionnaire_response/questionnaire_response_update'
|
7
|
+
require_relative 'questionnaire_response/questionnaire_response_must_support_test'
|
7
8
|
|
8
9
|
module DaVinciDTRTestKit
|
9
10
|
class QuestionnaireResponseGroup < Inferno::TestGroup
|
@@ -52,7 +53,15 @@ module DaVinciDTRTestKit
|
|
52
53
|
## Update
|
53
54
|
This test sequence will perform update interactions with the provided json QuestionnaireResponse resources. The
|
54
55
|
server SHALL be capable of creating a QuestionnaireResponse resource using the update interaction.
|
55
|
-
|
56
|
+
|
57
|
+
## Must Support
|
58
|
+
Each profile contains elements marked as "must support". This test
|
59
|
+
sequence expects to see each of these elements at least once. If at
|
60
|
+
least one cannot be found, the test will fail. The test will look
|
61
|
+
through the QuestionnaireResponse resources found in the first test for these
|
62
|
+
elements.
|
63
|
+
|
64
|
+
)
|
56
65
|
id :questionnaire_response_group
|
57
66
|
run_as_group
|
58
67
|
|
@@ -62,5 +71,6 @@ module DaVinciDTRTestKit
|
|
62
71
|
test from: :questionnaire_response_validation
|
63
72
|
test from: :questionnaire_response_create
|
64
73
|
test from: :questionnaire_response_update
|
74
|
+
test from: :questionnaire_response_must_support_test
|
65
75
|
end
|
66
76
|
end
|
@@ -0,0 +1,140 @@
|
|
1
|
+
---
|
2
|
+
:name: profile_servicerequest
|
3
|
+
:class_name: ProfileServicerequestSequence
|
4
|
+
:version: v3.1.1
|
5
|
+
:reformatted_version: v311
|
6
|
+
:resource: ServiceRequest
|
7
|
+
:profile_url: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-servicerequest
|
8
|
+
:profile_name: CRD Service Request
|
9
|
+
:profile_version: 2.0.1
|
10
|
+
:title: CRD Service Request
|
11
|
+
:short_description: Verify support for the server capabilities required by the CRD
|
12
|
+
Service 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: ServiceRequest.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: doNotPerform
|
37
|
+
- :path: code
|
38
|
+
- :path: quantity[x]
|
39
|
+
- :path: subject
|
40
|
+
:types:
|
41
|
+
- Reference
|
42
|
+
:target_profiles:
|
43
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient
|
44
|
+
- :path: occurrence[x]
|
45
|
+
- :path: authoredOn
|
46
|
+
- :path: requester
|
47
|
+
:types:
|
48
|
+
- Reference
|
49
|
+
- :path: performer
|
50
|
+
:types:
|
51
|
+
- Reference
|
52
|
+
- :path: locationReference
|
53
|
+
:types:
|
54
|
+
- Reference
|
55
|
+
:target_profiles:
|
56
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-location
|
57
|
+
- :path: reasonCode
|
58
|
+
- :path: reasonReference
|
59
|
+
:types:
|
60
|
+
- Reference
|
61
|
+
:mandatory_elements:
|
62
|
+
- ServiceRequest.status
|
63
|
+
- ServiceRequest.intent
|
64
|
+
- ServiceRequest.code
|
65
|
+
- ServiceRequest.subject
|
66
|
+
- ServiceRequest.authoredOn
|
67
|
+
- ServiceRequest.requester
|
68
|
+
:bindings:
|
69
|
+
- :type: code
|
70
|
+
:strength: required
|
71
|
+
:system: http://hl7.org/fhir/ValueSet/request-intent
|
72
|
+
:path: intent
|
73
|
+
- :type: code
|
74
|
+
:strength: required
|
75
|
+
:system: http://hl7.org/fhir/ValueSet/request-priority
|
76
|
+
:path: priority
|
77
|
+
:references:
|
78
|
+
- :path: ServiceRequest.basedOn
|
79
|
+
:profiles:
|
80
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-servicerequest
|
81
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-medicationrequest
|
82
|
+
- :path: ServiceRequest.replaces
|
83
|
+
:profiles:
|
84
|
+
- http://hl7.org/fhir/StructureDefinition/ServiceRequest
|
85
|
+
- :path: ServiceRequest.subject
|
86
|
+
:profiles:
|
87
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-patient
|
88
|
+
- :path: ServiceRequest.encounter
|
89
|
+
:profiles:
|
90
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-encounter
|
91
|
+
- :path: ServiceRequest.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: ServiceRequest.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: ServiceRequest.locationReference
|
100
|
+
:profiles:
|
101
|
+
- http://hl7.org/fhir/us/davinci-crd/StructureDefinition/profile-location
|
102
|
+
- :path: ServiceRequest.reasonReference
|
103
|
+
:profiles:
|
104
|
+
- http://hl7.org/fhir/us/core/StructureDefinition/us-core-condition
|
105
|
+
- http://hl7.org/fhir/us/core/StructureDefinition/us-core-observation-lab
|
106
|
+
- :path: ServiceRequest.insurance
|
107
|
+
:profiles:
|
108
|
+
- http://hl7.org/fhir/StructureDefinition/Coverage
|
109
|
+
- http://hl7.org/fhir/StructureDefinition/ClaimResponse
|
110
|
+
- :path: ServiceRequest.supportingInfo
|
111
|
+
:profiles:
|
112
|
+
- http://hl7.org/fhir/StructureDefinition/Resource
|
113
|
+
- :path: ServiceRequest.specimen
|
114
|
+
:profiles:
|
115
|
+
- http://hl7.org/fhir/StructureDefinition/Specimen
|
116
|
+
- :path: ServiceRequest.relevantHistory
|
117
|
+
:profiles:
|
118
|
+
- http://hl7.org/fhir/StructureDefinition/Provenance
|
119
|
+
:tests:
|
120
|
+
- :id: us_core_v311_service_request_read_test
|
121
|
+
:file_name: service_request_read_test.rb
|
122
|
+
- :id: us_core_v311_service_request_validation_test
|
123
|
+
:file_name: service_request_validation_test.rb
|
124
|
+
- :id: us_core_v311_service_request_must_support_test
|
125
|
+
:file_name: service_request_must_support_test.rb
|
126
|
+
- :id: us_core_v311_service_request_reference_resolution_test
|
127
|
+
:file_name: service_request_reference_resolution_test.rb
|
128
|
+
:id: us_core_v311_service_request
|
129
|
+
:file_name: service_request_group.rb
|
130
|
+
:delayed_references:
|
131
|
+
- :path: basedOn
|
132
|
+
:resources:
|
133
|
+
- ServiceRequest
|
134
|
+
- MedicationRequest
|
135
|
+
- :path: requester
|
136
|
+
:resources:
|
137
|
+
- PractitionerRole
|
138
|
+
- :path: performer
|
139
|
+
:resources:
|
140
|
+
- PractitionerRole
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module DaVinciDTRTestKit
|
2
|
+
class ServiceRequestMustSupportTest < Inferno::Test
|
3
|
+
include USCoreTestKit::MustSupportTest
|
4
|
+
|
5
|
+
title 'All must support elements are provided in the ServiceRequest resources returned'
|
6
|
+
description %(
|
7
|
+
This test will look through the ServiceRequest resources
|
8
|
+
found previously for the following must support elements:\n
|
9
|
+
|
10
|
+
* ServiceRequest.authoredOn
|
11
|
+
* ServiceRequest.basedOn
|
12
|
+
* ServiceRequest.code
|
13
|
+
* ServiceRequest.doNotPerform
|
14
|
+
* ServiceRequest.extension:Coverage-Information
|
15
|
+
* ServiceRequest.identifier
|
16
|
+
* ServiceRequest.locationReference
|
17
|
+
* ServiceRequest.occurrence[x]
|
18
|
+
* ServiceRequest.performer
|
19
|
+
* ServiceRequest.quantity[x]
|
20
|
+
* ServiceRequest.reasonCode
|
21
|
+
* ServiceRequest.reasonReference
|
22
|
+
* ServiceRequest.requester
|
23
|
+
* ServiceRequest.status
|
24
|
+
* ServiceRequest.subject
|
25
|
+
)
|
26
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@355'
|
27
|
+
id :service_request_must_support_test
|
28
|
+
|
29
|
+
def resource_type
|
30
|
+
'ServiceRequest'
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.metadata
|
34
|
+
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
35
|
+
aliases: true))
|
36
|
+
end
|
37
|
+
|
38
|
+
def scratch_resources
|
39
|
+
scratch[:service_requests] ||= {}
|
40
|
+
end
|
41
|
+
|
42
|
+
run do
|
43
|
+
skip_if(service_request_ids.nil?, "No `#{resource_type}` IDs provided, skipping test.")
|
44
|
+
perform_must_support_test(all_scratch_resources)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
@@ -6,6 +6,7 @@ module DaVinciDTRTestKit
|
|
6
6
|
|
7
7
|
title 'Server returns correct ServiceRequest resource from ServiceRequest read interaction'
|
8
8
|
description 'A server SHOULD support the ServiceRequest read interaction.'
|
9
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@276'
|
9
10
|
|
10
11
|
id :service_request_read
|
11
12
|
output :service_request_resources
|
@@ -14,6 +15,10 @@ module DaVinciDTRTestKit
|
|
14
15
|
'ServiceRequest'
|
15
16
|
end
|
16
17
|
|
18
|
+
def scratch_resources
|
19
|
+
scratch[:service_requests] ||= {}
|
20
|
+
end
|
21
|
+
|
17
22
|
def service_request_id_list
|
18
23
|
return [nil] unless respond_to? :service_request_ids
|
19
24
|
|
@@ -21,9 +26,7 @@ module DaVinciDTRTestKit
|
|
21
26
|
end
|
22
27
|
|
23
28
|
run do
|
24
|
-
|
25
|
-
|
26
|
-
output service_request_resources: resources.to_json
|
29
|
+
perform_read_test(service_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 ServiceRequestValidationTest < Inferno::Test
|
5
|
-
include
|
3
|
+
include USCoreTestKit::ValidationTest
|
6
4
|
|
7
5
|
title 'ServiceRequest resources returned during previous tests conform to the CRD ServiceRequest'
|
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 :service_request_validation
|
22
|
-
input :service_request_resources,
|
23
|
-
optional: true
|
24
20
|
|
25
21
|
def resource_type
|
26
22
|
'ServiceRequest'
|
27
23
|
end
|
28
24
|
|
25
|
+
def scratch_resources
|
26
|
+
scratch[:service_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-servicerequest',
|
32
|
+
'2.0.1',
|
33
|
+
skip_if_empty: true)
|
33
34
|
end
|
34
35
|
end
|
35
36
|
end
|