davinci_dtr_test_kit 0.14.1 → 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/metadata.yml +166 -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 +89 -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,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
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require_relative 'service_request/service_request_read'
|
2
2
|
require_relative 'service_request/service_request_validation'
|
3
|
+
require_relative 'service_request/service_request_must_support_test'
|
3
4
|
|
4
5
|
module DaVinciDTRTestKit
|
5
6
|
class ServiceRequestGroup < Inferno::TestGroup
|
@@ -23,6 +24,13 @@ module DaVinciDTRTestKit
|
|
23
24
|
the [CRD ServiceRequest Profile](https://hl7.org/fhir/us/davinci-crd/STU2/StructureDefinition-profile-servicerequest.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 ServiceRequest resources found in the first test for these
|
32
|
+
elements.
|
33
|
+
|
26
34
|
)
|
27
35
|
id :service_request_group
|
28
36
|
optional
|
@@ -35,5 +43,6 @@ module DaVinciDTRTestKit
|
|
35
43
|
|
36
44
|
test from: :service_request_read
|
37
45
|
test from: :service_request_validation
|
46
|
+
test from: :service_request_must_support_test
|
38
47
|
end
|
39
48
|
end
|
@@ -0,0 +1,165 @@
|
|
1
|
+
---
|
2
|
+
:name: profile_task
|
3
|
+
:class_name: ProfileTaskSequence
|
4
|
+
:version: v3.1.1
|
5
|
+
:reformatted_version: v311
|
6
|
+
:resource: Task
|
7
|
+
:profile_url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-task
|
8
|
+
:profile_name: PAS Task
|
9
|
+
:profile_version: 2.0.1
|
10
|
+
:title: PAS Task
|
11
|
+
:short_description: Verify support for the server capabilities required by the PAS
|
12
|
+
Task.
|
13
|
+
:is_delayed: true
|
14
|
+
:interactions:
|
15
|
+
- :code: read
|
16
|
+
:expectation: SHOULD
|
17
|
+
- :code: create
|
18
|
+
:expectation: SHOULD
|
19
|
+
- :code: update
|
20
|
+
:expectation: SHOULD
|
21
|
+
:operations: []
|
22
|
+
:searches: []
|
23
|
+
:search_definitions: {}
|
24
|
+
:include_params: []
|
25
|
+
:revincludes: []
|
26
|
+
:required_concepts:
|
27
|
+
- code
|
28
|
+
- input.valueCodeableConcept
|
29
|
+
:must_supports:
|
30
|
+
:extensions: []
|
31
|
+
:slices: []
|
32
|
+
:elements:
|
33
|
+
- :path: identifier
|
34
|
+
- :path: status
|
35
|
+
- :path: statusReason
|
36
|
+
- :path: intent
|
37
|
+
- :path: code
|
38
|
+
- :path: for
|
39
|
+
:types:
|
40
|
+
- Reference
|
41
|
+
:target_profiles:
|
42
|
+
- http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary
|
43
|
+
- :path: requester
|
44
|
+
:types:
|
45
|
+
- Reference
|
46
|
+
- :path: requester.identifier
|
47
|
+
- :path: owner
|
48
|
+
:types:
|
49
|
+
- Reference
|
50
|
+
- :path: owner.identifier
|
51
|
+
- :path: reasonCode.coding.code
|
52
|
+
:fixed_value: priorAuthorization
|
53
|
+
- :path: reasonReference
|
54
|
+
:types:
|
55
|
+
- Reference
|
56
|
+
:target_profiles:
|
57
|
+
- http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim
|
58
|
+
- :path: restriction.period
|
59
|
+
- :path: input
|
60
|
+
:mandatory_elements:
|
61
|
+
- Task.identifier
|
62
|
+
- Task.status
|
63
|
+
- Task.intent
|
64
|
+
- Task.code
|
65
|
+
- Task.for
|
66
|
+
- Task.requester
|
67
|
+
- Task.requester.identifier
|
68
|
+
- Task.owner
|
69
|
+
- Task.owner.identifier
|
70
|
+
- Task.reasonCode
|
71
|
+
- Task.reasonReference
|
72
|
+
- Task.input
|
73
|
+
- Task.input.type
|
74
|
+
- Task.input.value[x]
|
75
|
+
- Task.input.extension
|
76
|
+
- Task.output.type
|
77
|
+
- Task.output.value[x]
|
78
|
+
:bindings:
|
79
|
+
- :type: code
|
80
|
+
:strength: required
|
81
|
+
:system: http://hl7.org/fhir/us/davinci-hrex/ValueSet/hrex-task-status
|
82
|
+
:path: status
|
83
|
+
- :type: code
|
84
|
+
:strength: required
|
85
|
+
:system: http://hl7.org/fhir/ValueSet/task-intent
|
86
|
+
:path: intent
|
87
|
+
- :type: code
|
88
|
+
:strength: required
|
89
|
+
:system: http://hl7.org/fhir/ValueSet/request-priority
|
90
|
+
:path: priority
|
91
|
+
- :type: CodeableConcept
|
92
|
+
:strength: required
|
93
|
+
:system: http://hl7.org/fhir/us/davinci-pas/ValueSet/PASTaskCodes
|
94
|
+
:path: code
|
95
|
+
- :type: CodeableConcept
|
96
|
+
:strength: required
|
97
|
+
:system: http://hl7.org/fhir/us/davinci-pas/ValueSet/AttachmentRequestCodes
|
98
|
+
:path: input.value
|
99
|
+
:references:
|
100
|
+
- :path: Task.basedOn
|
101
|
+
:profiles:
|
102
|
+
- http://hl7.org/fhir/StructureDefinition/Resource
|
103
|
+
- :path: Task.partOf
|
104
|
+
:profiles:
|
105
|
+
- http://hl7.org/fhir/StructureDefinition/Task
|
106
|
+
- :path: Task.focus
|
107
|
+
:profiles:
|
108
|
+
- http://hl7.org/fhir/StructureDefinition/Resource
|
109
|
+
- :path: Task.for
|
110
|
+
:profiles:
|
111
|
+
- http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-beneficiary
|
112
|
+
- :path: Task.encounter
|
113
|
+
:profiles:
|
114
|
+
- http://hl7.org/fhir/StructureDefinition/Encounter
|
115
|
+
- :path: Task.requester
|
116
|
+
:profiles:
|
117
|
+
- http://hl7.org/fhir/StructureDefinition/Device
|
118
|
+
- http://hl7.org/fhir/StructureDefinition/Organization
|
119
|
+
- http://hl7.org/fhir/StructureDefinition/Patient
|
120
|
+
- http://hl7.org/fhir/StructureDefinition/Practitioner
|
121
|
+
- http://hl7.org/fhir/StructureDefinition/PractitionerRole
|
122
|
+
- http://hl7.org/fhir/StructureDefinition/RelatedPerson
|
123
|
+
- :path: Task.owner
|
124
|
+
:profiles:
|
125
|
+
- http://hl7.org/fhir/StructureDefinition/Practitioner
|
126
|
+
- http://hl7.org/fhir/StructureDefinition/PractitionerRole
|
127
|
+
- http://hl7.org/fhir/StructureDefinition/Organization
|
128
|
+
- http://hl7.org/fhir/StructureDefinition/CareTeam
|
129
|
+
- http://hl7.org/fhir/StructureDefinition/HealthcareService
|
130
|
+
- http://hl7.org/fhir/StructureDefinition/Patient
|
131
|
+
- http://hl7.org/fhir/StructureDefinition/Device
|
132
|
+
- http://hl7.org/fhir/StructureDefinition/RelatedPerson
|
133
|
+
- :path: Task.location
|
134
|
+
:profiles:
|
135
|
+
- http://hl7.org/fhir/StructureDefinition/Location
|
136
|
+
- :path: Task.reasonReference
|
137
|
+
:profiles:
|
138
|
+
- http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-claim
|
139
|
+
- :path: Task.insurance
|
140
|
+
:profiles:
|
141
|
+
- http://hl7.org/fhir/StructureDefinition/Coverage
|
142
|
+
- http://hl7.org/fhir/StructureDefinition/ClaimResponse
|
143
|
+
- :path: Task.relevantHistory
|
144
|
+
:profiles:
|
145
|
+
- http://hl7.org/fhir/StructureDefinition/Provenance
|
146
|
+
- :path: Task.restriction.recipient
|
147
|
+
:profiles:
|
148
|
+
- http://hl7.org/fhir/StructureDefinition/Patient
|
149
|
+
- http://hl7.org/fhir/StructureDefinition/Practitioner
|
150
|
+
- http://hl7.org/fhir/StructureDefinition/PractitionerRole
|
151
|
+
- http://hl7.org/fhir/StructureDefinition/RelatedPerson
|
152
|
+
- http://hl7.org/fhir/StructureDefinition/Group
|
153
|
+
- http://hl7.org/fhir/StructureDefinition/Organization
|
154
|
+
:tests:
|
155
|
+
- :id: us_core_v311_task_read_test
|
156
|
+
:file_name: task_read_test.rb
|
157
|
+
- :id: us_core_v311_task_validation_test
|
158
|
+
:file_name: task_validation_test.rb
|
159
|
+
- :id: us_core_v311_task_must_support_test
|
160
|
+
:file_name: task_must_support_test.rb
|
161
|
+
- :id: us_core_v311_task_reference_resolution_test
|
162
|
+
:file_name: task_reference_resolution_test.rb
|
163
|
+
:id: us_core_v311_task
|
164
|
+
:file_name: task_group.rb
|
165
|
+
:delayed_references: []
|
@@ -6,6 +6,7 @@ module DaVinciDTRTestKit
|
|
6
6
|
|
7
7
|
title 'Server is capable of creating a Task resource from Task create interaction'
|
8
8
|
description 'A server SHOULD support the Task create interaction'
|
9
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@279'
|
9
10
|
|
10
11
|
id :task_create
|
11
12
|
input :create_task_resources,
|
@@ -0,0 +1,46 @@
|
|
1
|
+
module DaVinciDTRTestKit
|
2
|
+
class TaskMustSupportTest < Inferno::Test
|
3
|
+
include USCoreTestKit::MustSupportTest
|
4
|
+
|
5
|
+
title 'All must support elements are provided in the Task resources returned'
|
6
|
+
description %(
|
7
|
+
This test will look through the Task resources
|
8
|
+
found previously for the following must support elements:\n
|
9
|
+
|
10
|
+
* Task.code
|
11
|
+
* Task.for
|
12
|
+
* Task.identifier
|
13
|
+
* Task.input
|
14
|
+
* Task.intent
|
15
|
+
* Task.owner
|
16
|
+
* Task.owner.identifier
|
17
|
+
* Task.reasonCode.coding.code
|
18
|
+
* Task.reasonReference
|
19
|
+
* Task.requester
|
20
|
+
* Task.requester.identifier
|
21
|
+
* Task.restriction.period
|
22
|
+
* Task.status
|
23
|
+
* Task.statusReason
|
24
|
+
)
|
25
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@355'
|
26
|
+
id :task_must_support_test
|
27
|
+
|
28
|
+
def resource_type
|
29
|
+
'Task'
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.metadata
|
33
|
+
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
34
|
+
aliases: true))
|
35
|
+
end
|
36
|
+
|
37
|
+
def scratch_resources
|
38
|
+
scratch[:tasks] ||= {}
|
39
|
+
end
|
40
|
+
|
41
|
+
run do
|
42
|
+
skip_if(task_ids.nil?, "No `#{resource_type}` IDs provided, skipping test.")
|
43
|
+
perform_must_support_test(all_scratch_resources)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -6,6 +6,7 @@ module DaVinciDTRTestKit
|
|
6
6
|
|
7
7
|
title 'Server returns correct Task resource from Task read interaction'
|
8
8
|
description 'A server SHOULD support the Task read interaction.'
|
9
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@278'
|
9
10
|
|
10
11
|
id :task_read
|
11
12
|
output :task_resources
|
@@ -14,6 +15,10 @@ module DaVinciDTRTestKit
|
|
14
15
|
'Task'
|
15
16
|
end
|
16
17
|
|
18
|
+
def scratch_resources
|
19
|
+
scratch[:tasks] ||= {}
|
20
|
+
end
|
21
|
+
|
17
22
|
def task_id_list
|
18
23
|
return [nil] unless respond_to? :task_ids
|
19
24
|
|
@@ -21,9 +26,7 @@ module DaVinciDTRTestKit
|
|
21
26
|
end
|
22
27
|
|
23
28
|
run do
|
24
|
-
|
25
|
-
|
26
|
-
output task_resources: resources.to_json
|
29
|
+
perform_read_test(task_id_list, resource_type)
|
27
30
|
end
|
28
31
|
end
|
29
32
|
end
|
@@ -6,6 +6,7 @@ module DaVinciDTRTestKit
|
|
6
6
|
|
7
7
|
title 'Server is capable of updating a Task resource from Task update interaction'
|
8
8
|
description 'A server SHOULD support the Task update interaction'
|
9
|
+
verifies_requirements 'hl7.fhir.us.davinci-dtr_2.0.1@280'
|
9
10
|
|
10
11
|
id :task_update
|
11
12
|
input :update_task_resources,
|
@@ -1,8 +1,6 @@
|
|
1
|
-
require_relative '../../validation_test'
|
2
|
-
|
3
1
|
module DaVinciDTRTestKit
|
4
2
|
class TaskValidationTest < Inferno::Test
|
5
|
-
include
|
3
|
+
include USCoreTestKit::ValidationTest
|
6
4
|
|
7
5
|
title 'Task resources returned during previous tests conform to the PAS Task'
|
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 :task_validation
|
22
|
-
input :task_resources,
|
23
|
-
optional: true
|
24
20
|
|
25
21
|
def resource_type
|
26
22
|
'Task'
|
27
23
|
end
|
28
24
|
|
25
|
+
def scratch_resources
|
26
|
+
scratch[:tasks] ||= {}
|
27
|
+
end
|
28
|
+
|
29
29
|
run do
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
perform_validation_test(scratch_resources[:all] || [],
|
31
|
+
'http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-task',
|
32
|
+
'2.0.1',
|
33
|
+
skip_if_empty: true)
|
33
34
|
end
|
34
35
|
end
|
35
36
|
end
|
@@ -2,6 +2,7 @@ require_relative 'task/task_read'
|
|
2
2
|
require_relative 'task/task_validation'
|
3
3
|
require_relative 'task/task_create'
|
4
4
|
require_relative 'task/task_update'
|
5
|
+
require_relative 'task/task_must_support_test'
|
5
6
|
|
6
7
|
module DaVinciDTRTestKit
|
7
8
|
class TaskGroup < Inferno::TestGroup
|
@@ -34,7 +35,15 @@ module DaVinciDTRTestKit
|
|
34
35
|
This test sequence will perform update interactions with the provided json
|
35
36
|
Task resources. The server SHOULD be capable of creating a Task resource
|
36
37
|
using the update interaction.
|
37
|
-
|
38
|
+
|
39
|
+
## Must Support
|
40
|
+
Each profile contains elements marked as "must support". This test
|
41
|
+
sequence expects to see each of these elements at least once. If at
|
42
|
+
least one cannot be found, the test will fail. The test will look
|
43
|
+
through the Task resources found in the first test for these
|
44
|
+
elements.
|
45
|
+
|
46
|
+
)
|
38
47
|
id :task_group
|
39
48
|
optional
|
40
49
|
run_as_group
|
@@ -48,5 +57,6 @@ module DaVinciDTRTestKit
|
|
48
57
|
test from: :task_validation
|
49
58
|
test from: :task_create
|
50
59
|
test from: :task_update
|
60
|
+
test from: :task_must_support_test
|
51
61
|
end
|
52
62
|
end
|