davinci_pdex_test_kit 0.10.5 → 0.11.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/pdex_payer_client_postman_preset.json +12 -0
- data/config/presets/pdex_payer_server_fhir_foundry_ri_preset.json +96 -0
- data/config/presets/pdex_payer_server_inferno_ri_preset.json +96 -0
- data/lib/davinci_pdex_test_kit/docs/davinci_pdex_test_kit_description_v200.md +33 -0
- data/lib/davinci_pdex_test_kit/docs/payer_client_suite_description_v200.md +107 -17
- data/lib/davinci_pdex_test_kit/fhir_resource_navigation.rb +5 -1
- data/lib/davinci_pdex_test_kit/group_metadata.rb +5 -1
- data/lib/davinci_pdex_test_kit/igs/davinci-pdex-2.0.0.tgz +0 -0
- data/lib/davinci_pdex_test_kit/igs/us-core-3.1.1.tgz +0 -0
- data/lib/davinci_pdex_test_kit/metadata.rb +16 -0
- data/lib/davinci_pdex_test_kit/must_support_test.rb +3 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/client_member_match_tests/client_member_match_validation_test.rb +20 -18
- data/lib/davinci_pdex_test_kit/pdex_payer_client/client_validation_test.rb +96 -43
- data/lib/davinci_pdex_test_kit/pdex_payer_client/client_workflow_interaction_test.rb +49 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/allergyintolerance_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/careplan_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/careteam_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/clinical_data_request_check_test.rb +24 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/condition_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/device_clinical_data_request_test.rb +19 -17
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/diagnosticreport_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/documentreference_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/encounter_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/explanationofbenefit_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/goal_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/immunization_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/location_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/medicationdispense_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/medicationrequest_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/observation_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/organization_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/patient_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/patient_id_search_request_check_test.rb +21 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/practitioner_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/practitionerrole_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/procedure_clinical_data_request_test.rb +18 -16
- data/lib/davinci_pdex_test_kit/pdex_payer_client/collection.rb +46 -44
- data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/binary_endpoint.rb +26 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/export_endpoint.rb +29 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/export_status_endpoint.rb +38 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/member_match_endpoint.rb +51 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/next_page_endpoint.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/patient_endpoint.rb +25 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/patient_everything_endpoint.rb +34 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/proxy_endpoint.rb +178 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/resource_read_endpoint.rb +21 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/resource_search_endpoint.rb +22 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/token_endpoint.rb +27 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server.rb +53 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/tags.rb +15 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/urls.rb +51 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client_suite.rb +101 -144
- data/lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_minimal_data_validation.rb +1 -1
- data/lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_must_support_validation.rb +1 -1
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_id_search_test.rb +5 -4
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_identifier_search_test.rb +5 -4
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_must_support_test.rb +3 -2
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_last_updated_search_test.rb +7 -6
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_service_date_search_test.rb +7 -6
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_type_search_test.rb +7 -6
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_use_search_test.rb +6 -5
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_provenance_revinclude_search_test.rb +10 -7
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_read_test.rb +1 -1
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_reference_resolution_test.rb +3 -2
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_validation_test.rb +1 -1
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/metadata.yml +12 -12
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit_group.rb +12 -14
- data/lib/davinci_pdex_test_kit/pdex_payer_server/export_patient_group.rb +3 -4
- data/lib/davinci_pdex_test_kit/pdex_payer_server/export_validation_group.rb +2 -6
- data/lib/davinci_pdex_test_kit/pdex_payer_server/member_match_request_local_references_validation.rb +1 -1
- data/lib/davinci_pdex_test_kit/pdex_payer_server/member_match_request_profile_validation.rb +1 -3
- data/lib/davinci_pdex_test_kit/pdex_payer_server/multiple_member_matches_group.rb +7 -8
- data/lib/davinci_pdex_test_kit/pdex_payer_server/no_member_matches_group.rb +7 -8
- data/lib/davinci_pdex_test_kit/pdex_payer_server/patient_operation_in_capability_statement_validation.rb +1 -3
- data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_clinical_data_group.rb +3 -5
- data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_everything_group.rb +2 -4
- data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_export_group.rb +2 -4
- data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_member_match_group.rb +12 -13
- data/lib/davinci_pdex_test_kit/pdex_payer_server_suite.rb +13 -14
- data/lib/davinci_pdex_test_kit/version.rb +2 -3
- data/lib/davinci_pdex_test_kit.rb +1 -2
- metadata +65 -24
- data/lib/davinci_pdex_test_kit/ext/inferno_core/record_response_route.rb +0 -98
- data/lib/davinci_pdex_test_kit/ext/inferno_core/request.rb +0 -19
- data/lib/davinci_pdex_test_kit/ext/inferno_core/runnable.rb +0 -18
- data/lib/davinci_pdex_test_kit/mock_server.rb +0 -281
- data/lib/davinci_pdex_test_kit/pdex_payer_client/client_member_match_tests/client_member_match_submit_test.rb +0 -24
- data/lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/client_member_match_must_support_submit_test.rb +0 -26
- data/lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/client_member_match_must_support_validation_test.rb +0 -32
- data/lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/metadata.yml +0 -61
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/initial_scratch_storing.rb +0 -32
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/initial_wait_test.rb +0 -31
- data/lib/davinci_pdex_test_kit/tags.rb +0 -11
- data/lib/davinci_pdex_test_kit/urls.rb +0 -77
- /data/lib/davinci_pdex_test_kit/{metadata → pdex_payer_client/mock_server/resources}/mock_capability_statement.json +0 -0
- /data/lib/davinci_pdex_test_kit/{metadata → pdex_payer_client/mock_server/resources}/mock_operation_outcome_resource.json +0 -0
@@ -1,16 +1,16 @@
|
|
1
1
|
require 'inferno/dsl/oauth_credentials'
|
2
|
-
require_relative '
|
3
|
-
require_relative '
|
4
|
-
require_relative 'ext/inferno_core/request'
|
5
|
-
require_relative 'urls'
|
6
|
-
require_relative 'mock_server'
|
7
|
-
require_relative 'tags'
|
2
|
+
require_relative 'pdex_payer_client/urls'
|
3
|
+
require_relative 'pdex_payer_client/tags'
|
8
4
|
require_relative 'pdex_payer_client/collection'
|
9
|
-
require_relative '
|
10
|
-
require_relative '
|
5
|
+
require_relative 'pdex_payer_client/mock_server'
|
6
|
+
# require_relative 'must_support_test'
|
7
|
+
# require_relative 'pdex_payer_client/client_validation_test'
|
11
8
|
|
12
|
-
require_relative 'pdex_payer_client/
|
13
|
-
require_relative 'pdex_payer_client/
|
9
|
+
require_relative 'pdex_payer_client/client_workflow_interaction_test'
|
10
|
+
require_relative 'pdex_payer_client/client_member_match_tests/client_member_match_validation_test'
|
11
|
+
|
12
|
+
require_relative 'pdex_payer_client/clinical_data_request_tests/clinical_data_request_check_test'
|
13
|
+
require_relative 'pdex_payer_client/clinical_data_request_tests/patient_id_search_request_check_test'
|
14
14
|
require_relative 'pdex_payer_client/clinical_data_request_tests/allergyintolerance_clinical_data_request_test'
|
15
15
|
require_relative 'pdex_payer_client/clinical_data_request_tests/careplan_clinical_data_request_test'
|
16
16
|
require_relative 'pdex_payer_client/clinical_data_request_tests/careteam_clinical_data_request_test'
|
@@ -32,155 +32,112 @@ require_relative 'pdex_payer_client/clinical_data_request_tests/practitioner_cli
|
|
32
32
|
require_relative 'pdex_payer_client/clinical_data_request_tests/practitionerrole_clinical_data_request_test'
|
33
33
|
require_relative 'pdex_payer_client/clinical_data_request_tests/procedure_clinical_data_request_test'
|
34
34
|
|
35
|
-
require_relative 'pdex_payer_client/client_member_match_tests/client_member_match_submit_test'
|
36
|
-
require_relative 'pdex_payer_client/client_member_match_tests/client_member_match_validation_test'
|
37
|
-
# require_relative 'pdex_payer_client/client_must_support_tests/client_member_match_must_support_submit_test'
|
38
|
-
# require_relative 'pdex_payer_client/client_must_support_tests/client_member_match_must_support_validation_test'
|
39
|
-
|
40
|
-
|
41
35
|
module DaVinciPDexTestKit
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
#
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
exclude_message do |message|
|
79
|
-
message.message.match?(/\A\S+: \S+: URL value '.*' does not resolve/)
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
record_response_route :post, TOKEN_PATH, AUTH_TAG, method(:token_response) do |request|
|
84
|
-
PDexPayerClientSuite.extract_client_id(request)
|
85
|
-
end
|
86
|
-
|
87
|
-
record_response_route :get, PATIENT_PATH, SUBMIT_TAG, method(:claim_response), # Patient needs a specific definition
|
88
|
-
resumes: method(:test_resumes?) do |request|
|
89
|
-
PDexPayerClientSuite.extract_bearer_token(request)
|
36
|
+
class PDexPayerClientSuite < Inferno::TestSuite
|
37
|
+
include PDexPayerClient
|
38
|
+
include PDexPayerClient::URLs
|
39
|
+
include PDexPayerClient::MockServer
|
40
|
+
|
41
|
+
id :pdex_payer_client
|
42
|
+
title 'Da Vinci PDex Payer Client Test Suite'
|
43
|
+
description File.read(File.join(__dir__, 'docs', 'payer_client_suite_description_v200.md'))
|
44
|
+
|
45
|
+
links [
|
46
|
+
{
|
47
|
+
label: 'Report Issue',
|
48
|
+
url: 'https://github.com/inferno-framework/davinci-pdex-test-kit/issues'
|
49
|
+
},
|
50
|
+
{
|
51
|
+
label: 'Open Source',
|
52
|
+
url: 'https://github.com/inferno-framework/davinci-pdex-test-kit'
|
53
|
+
},
|
54
|
+
{
|
55
|
+
label: 'Download',
|
56
|
+
url: 'https://github.com/inferno-framework/davinci-pdex-test-kit/releases'
|
57
|
+
},
|
58
|
+
{
|
59
|
+
label: 'Implementation Guide',
|
60
|
+
url: 'https://hl7.org/fhir/us/davinci-pdex/STU2/'
|
61
|
+
}
|
62
|
+
]
|
63
|
+
|
64
|
+
# Hl7 Validator Wrapper:
|
65
|
+
fhir_resource_validator do
|
66
|
+
igs 'hl7.fhir.us.davinci-pdex#2.0.0'
|
67
|
+
# hrex 1.0.0 and other dependencies will auto-load
|
68
|
+
|
69
|
+
exclude_message do |message|
|
70
|
+
message.message.match?(/\A\S+: \S+: URL value '.*' does not resolve/)
|
90
71
|
end
|
72
|
+
end
|
91
73
|
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
end
|
74
|
+
resume_test_route :get, RESUME_PASS_PATH do |request|
|
75
|
+
PDexPayerClientSuite.extract_token_from_query_params(request)
|
76
|
+
end
|
96
77
|
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
78
|
+
resume_test_route :get, RESUME_CLINICAL_DATA_PATH do |request|
|
79
|
+
PDexPayerClientSuite.extract_token_from_query_params(request)
|
80
|
+
end
|
81
|
+
|
82
|
+
resume_test_route :get, RESUME_FAIL_PATH, result: 'fail' do |request|
|
83
|
+
PDexPayerClientSuite.extract_token_from_query_params(request)
|
84
|
+
end
|
101
85
|
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
86
|
+
group do
|
87
|
+
run_as_group
|
88
|
+
title "Workflow Tests"
|
89
|
+
id :payer_to_payer_workflow
|
106
90
|
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
end
|
91
|
+
group do
|
92
|
+
title "Interaction Tests"
|
93
|
+
id :client_workflow_interaction
|
111
94
|
|
112
|
-
|
113
|
-
resumes: method(:test_resumes?) do |request|
|
114
|
-
PDexPayerClientSuite.extract_bearer_token(request)
|
95
|
+
test from: :pdex_client_workflow_interaction
|
115
96
|
end
|
116
97
|
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
end
|
98
|
+
group do
|
99
|
+
title "$member-match validation"
|
100
|
+
id :member_match_validation
|
121
101
|
|
122
|
-
|
123
|
-
resumes: method(:test_resumes?) do |request|
|
124
|
-
PDexPayerClientSuite.extract_bearer_token(request)
|
125
|
-
end
|
126
|
-
|
127
|
-
resume_test_route :get, RESUME_PASS_PATH do |request|
|
128
|
-
PDexPayerClientSuite.extract_token_from_query_params(request)
|
102
|
+
test from: :pdex_initial_member_match_validation
|
129
103
|
end
|
130
104
|
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
105
|
+
group do
|
106
|
+
title "Clinical data request validation"
|
107
|
+
id :clinical_data_validation
|
108
|
+
|
109
|
+
test from: :pdex_clinical_data_request_check
|
110
|
+
test from: :pdex_patient_id_search_request_check
|
111
|
+
test from: :pdex_allergyintolerance_clinical_data_request
|
112
|
+
test from: :pdex_careplan_clinical_data_request
|
113
|
+
test from: :pdex_careteam_clinical_data_request
|
114
|
+
test from: :pdex_condition_clinical_data_request
|
115
|
+
test from: :pdex_device_clinical_data_request
|
116
|
+
test from: :pdex_diagnosticreport_clinical_data_request
|
117
|
+
test from: :pdex_documentreference_clinical_data_request
|
118
|
+
test from: :pdex_encounter_clinical_data_request
|
119
|
+
test from: :pdex_explanationofbenefit_clinical_data_request
|
120
|
+
test from: :pdex_goal_clinical_data_request
|
121
|
+
test from: :pdex_immunization_clinical_data_request
|
122
|
+
test from: :pdex_location_clinical_data_request
|
123
|
+
test from: :pdex_medicationdispense_clinical_data_request
|
124
|
+
test from: :pdex_medicationrequest_clinical_data_request
|
125
|
+
test from: :pdex_observation_clinical_data_request
|
126
|
+
test from: :pdex_organization_clinical_data_request
|
127
|
+
test from: :pdex_patient_clinical_data_request
|
128
|
+
test from: :pdex_practitioner_clinical_data_request
|
129
|
+
test from: :pdex_practitionerrole_clinical_data_request
|
130
|
+
test from: :pdex_procedure_clinical_data_request
|
137
131
|
end
|
132
|
+
end
|
133
|
+
|
134
|
+
# TODO must support validation
|
138
135
|
|
139
|
-
|
136
|
+
private
|
140
137
|
|
141
|
-
|
142
|
-
|
143
|
-
title "Workflow Tests"
|
144
|
-
group do
|
145
|
-
title "$member-match validation"
|
146
|
-
test from: :initial_member_match_submit_test
|
147
|
-
test from: :initial_member_match_validation_test
|
148
|
-
end
|
149
|
-
group do
|
150
|
-
title "Clinical data request tests"
|
151
|
-
test from: :initial_wait_test
|
152
|
-
test from: :initial_scratch_storing
|
153
|
-
test from: :allergyintolerance_clinical_data_request_test
|
154
|
-
test from: :careplan_clinical_data_request_test
|
155
|
-
test from: :careteam_clinical_data_request_test
|
156
|
-
test from: :condition_clinical_data_request_test
|
157
|
-
test from: :device_clinical_data_request_test
|
158
|
-
test from: :diagnosticreport_clinical_data_request_test
|
159
|
-
test from: :documentreference_clinical_data_request_test
|
160
|
-
test from: :encounter_clinical_data_request_test
|
161
|
-
test from: :explanationofbenefit_clinical_data_request_test
|
162
|
-
test from: :goal_clinical_data_request_test
|
163
|
-
test from: :immunization_clinical_data_request_test
|
164
|
-
test from: :location_clinical_data_request_test
|
165
|
-
test from: :medicationdispense_clinical_data_request_test
|
166
|
-
test from: :medicationrequest_clinical_data_request_test
|
167
|
-
test from: :observation_clinical_data_request_test
|
168
|
-
test from: :organization_clinical_data_request_test
|
169
|
-
test from: :patient_clinical_data_request_test
|
170
|
-
test from: :practitioner_clinical_data_request_test
|
171
|
-
test from: :practitionerrole_clinical_data_request_test
|
172
|
-
test from: :procedure_clinical_data_request_test
|
173
|
-
end
|
174
|
-
end
|
175
|
-
|
176
|
-
# group do
|
177
|
-
# title "Must Support validation"
|
178
|
-
# group do
|
179
|
-
# title "$member-match Must Support tests"
|
180
|
-
# test from: :initial_member_match_must_support_submit_test
|
181
|
-
# test from: :initial_member_match_must_support_validation_test
|
182
|
-
# end
|
183
|
-
# end
|
138
|
+
def self.extract_token_from_query_params(request)
|
139
|
+
request.query_parameters['token']
|
184
140
|
end
|
185
141
|
end
|
142
|
+
end
|
186
143
|
|
data/lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_minimal_data_validation.rb
CHANGED
@@ -28,7 +28,7 @@ module DaVinciPDexTestKit
|
|
28
28
|
#
|
29
29
|
class CoverageToLinkMinimalDataValidation < Inferno::Test
|
30
30
|
|
31
|
-
id :
|
31
|
+
id :pdex_coverage_to_link_minimal_validation
|
32
32
|
title '[USER INPUT VALIDATION] CoverageToLink parameter should not include any data elements not marked as mustSupport'
|
33
33
|
optional
|
34
34
|
description %{
|
data/lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_must_support_validation.rb
CHANGED
@@ -29,7 +29,7 @@ module DaVinciPDexTestKit
|
|
29
29
|
#
|
30
30
|
class CoverageToLinkMustSupportValidation < Inferno::Test
|
31
31
|
|
32
|
-
id :
|
32
|
+
id :pdex_coverage_to_link_ms_validation
|
33
33
|
title '[USER INPUT VALIDATION] CoverageToLink parameter is optional for generic FHIR clients, but required for Payer systems.'
|
34
34
|
description 'See [CoverageToLink parameter documentation](https://hl7.org/fhir/us/davinci-hrex/STU1/OperationDefinition-member-match.html).'
|
35
35
|
optional
|
@@ -26,11 +26,11 @@ requirement of DaVinci PDex v2.0.0.
|
|
26
26
|
|
27
27
|
)
|
28
28
|
|
29
|
-
id :
|
29
|
+
id :pdex_eob_id_search
|
30
30
|
|
31
31
|
input :patient_ids,
|
32
|
-
|
33
|
-
|
32
|
+
title: 'Patient IDs',
|
33
|
+
description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
|
34
34
|
|
35
35
|
# TODO: test if this test runs
|
36
36
|
|
@@ -43,7 +43,8 @@ requirement of DaVinci PDex v2.0.0.
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def self.metadata
|
46
|
-
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
46
|
+
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
47
|
+
aliases: true))
|
47
48
|
end
|
48
49
|
|
49
50
|
def scratch_resources
|
@@ -26,11 +26,11 @@ requirement of DaVinci PDex v2.0.0.
|
|
26
26
|
|
27
27
|
)
|
28
28
|
|
29
|
-
id :
|
29
|
+
id :pdex_eob_identifier_search
|
30
30
|
|
31
31
|
input :patient_ids,
|
32
|
-
|
33
|
-
|
32
|
+
title: 'Patient IDs',
|
33
|
+
description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
|
34
34
|
|
35
35
|
# TODO: test if this test runs
|
36
36
|
|
@@ -43,7 +43,8 @@ requirement of DaVinci PDex v2.0.0.
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def self.metadata
|
46
|
-
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
46
|
+
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
47
|
+
aliases: true))
|
47
48
|
end
|
48
49
|
|
49
50
|
def scratch_resources
|
@@ -18,14 +18,15 @@ module DaVinciPDexTestKit
|
|
18
18
|
* ...
|
19
19
|
)
|
20
20
|
|
21
|
-
id :
|
21
|
+
id :pdex_eob_must_support
|
22
22
|
|
23
23
|
def resource_type
|
24
24
|
'ExplanationOfBenefit'
|
25
25
|
end
|
26
26
|
|
27
27
|
def self.metadata
|
28
|
-
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
28
|
+
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
29
|
+
aliases: true))
|
29
30
|
end
|
30
31
|
|
31
32
|
def scratch_resources
|
@@ -32,23 +32,24 @@ requirement of PDex v2.0.0.
|
|
32
32
|
|
33
33
|
)
|
34
34
|
|
35
|
-
id :
|
35
|
+
id :pdex_eob_patient_last_updated_search
|
36
36
|
|
37
37
|
input :patient_ids,
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
title: 'Patient IDs',
|
39
|
+
description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
|
40
|
+
|
41
41
|
def self.properties
|
42
42
|
@properties ||= USCoreTestKit::SearchTestProperties.new(
|
43
43
|
resource_type: 'ExplanationOfBenefit',
|
44
44
|
search_param_names: ['patient', '_lastUpdated'],
|
45
45
|
test_post_search: true
|
46
|
-
# TODO other properties?
|
46
|
+
# TODO: other properties?
|
47
47
|
)
|
48
48
|
end
|
49
49
|
|
50
50
|
def self.metadata
|
51
|
-
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
51
|
+
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
52
|
+
aliases: true))
|
52
53
|
end
|
53
54
|
|
54
55
|
def scratch_resources
|
@@ -32,23 +32,24 @@ requirement of PDex v2.0.0.
|
|
32
32
|
|
33
33
|
)
|
34
34
|
|
35
|
-
id :
|
35
|
+
id :pdex_eob_patient_service_date_search
|
36
36
|
|
37
37
|
input :patient_ids,
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
title: 'Patient IDs',
|
39
|
+
description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
|
40
|
+
|
41
41
|
def self.properties
|
42
42
|
@properties ||= USCoreTestKit::SearchTestProperties.new(
|
43
43
|
resource_type: 'ExplanationOfBenefit',
|
44
44
|
search_param_names: ['patient', 'service-date'],
|
45
45
|
test_post_search: true
|
46
|
-
# TODO other properties?
|
46
|
+
# TODO: other properties?
|
47
47
|
)
|
48
48
|
end
|
49
49
|
|
50
50
|
def self.metadata
|
51
|
-
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
51
|
+
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
52
|
+
aliases: true))
|
52
53
|
end
|
53
54
|
|
54
55
|
def scratch_resources
|
@@ -32,23 +32,24 @@ requirement of PDex v2.0.0.
|
|
32
32
|
|
33
33
|
)
|
34
34
|
|
35
|
-
id :
|
35
|
+
id :pdex_eob_patient_type_search
|
36
36
|
|
37
37
|
input :patient_ids,
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
title: 'Patient IDs',
|
39
|
+
description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
|
40
|
+
|
41
41
|
def self.properties
|
42
42
|
@properties ||= USCoreTestKit::SearchTestProperties.new(
|
43
43
|
resource_type: 'ExplanationOfBenefit',
|
44
44
|
search_param_names: ['patient', 'type'],
|
45
45
|
test_post_search: true
|
46
|
-
# TODO other properties?
|
46
|
+
# TODO: other properties?
|
47
47
|
)
|
48
48
|
end
|
49
49
|
|
50
50
|
def self.metadata
|
51
|
-
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
51
|
+
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
52
|
+
aliases: true))
|
52
53
|
end
|
53
54
|
|
54
55
|
def scratch_resources
|
@@ -32,12 +32,12 @@ requirement of PDex v2.0.0.
|
|
32
32
|
|
33
33
|
)
|
34
34
|
|
35
|
-
id :
|
35
|
+
id :pdex_eob_patient_use_search
|
36
36
|
|
37
37
|
input :patient_ids,
|
38
|
-
|
39
|
-
|
40
|
-
|
38
|
+
title: 'Patient IDs',
|
39
|
+
description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
|
40
|
+
|
41
41
|
def self.properties
|
42
42
|
@properties ||= USCoreTestKit::SearchTestProperties.new(
|
43
43
|
first_search: true,
|
@@ -53,7 +53,8 @@ requirement of PDex v2.0.0.
|
|
53
53
|
end
|
54
54
|
|
55
55
|
def self.metadata
|
56
|
-
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
56
|
+
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
57
|
+
aliases: true))
|
57
58
|
end
|
58
59
|
|
59
60
|
def scratch_resources
|
@@ -15,16 +15,16 @@ module USCoreTestKit
|
|
15
15
|
will pass if a Provenance resource is found in the response.
|
16
16
|
%)
|
17
17
|
|
18
|
-
id :
|
19
|
-
|
18
|
+
id :pdex_eob_provenance_revinclude_search
|
19
|
+
|
20
20
|
input :patient_ids,
|
21
|
-
|
22
|
-
|
23
|
-
|
21
|
+
title: 'Patient IDs',
|
22
|
+
description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
|
23
|
+
|
24
24
|
def properties
|
25
25
|
@properties ||= USCoreTestKit::SearchTestProperties.new(
|
26
26
|
resource_type: 'ExplanationOfBenefit',
|
27
|
-
|
27
|
+
search_param_names: ['patient']
|
28
28
|
)
|
29
29
|
end
|
30
30
|
|
@@ -33,7 +33,10 @@ module USCoreTestKit
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def self.provenance_metadata
|
36
|
-
@provenance_metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(
|
36
|
+
@provenance_metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(
|
37
|
+
File.join(__dir__, '..', 'provenance',
|
38
|
+
'metadata.yml'), aliases: true
|
39
|
+
))
|
37
40
|
end
|
38
41
|
|
39
42
|
def scratch_resources
|
@@ -8,7 +8,7 @@ module DaVinciPDexTestKit
|
|
8
8
|
title 'Server returns correct ExplanationOfBenefit resource from ExplanationOfBenefit read interaction'
|
9
9
|
description 'A server SHALL support the ExplanationOfBenefit read interaction.'
|
10
10
|
|
11
|
-
id :
|
11
|
+
id :pdex_eob_read
|
12
12
|
|
13
13
|
def resource_type
|
14
14
|
'ExplanationOfBenefit'
|
@@ -21,14 +21,15 @@ module DaVinciPDexTestKit
|
|
21
21
|
* ...
|
22
22
|
)
|
23
23
|
|
24
|
-
id :
|
24
|
+
id :pdex_eob_ref_resolution
|
25
25
|
|
26
26
|
def resource_type
|
27
27
|
'ExplanationOfBenefit'
|
28
28
|
end
|
29
29
|
|
30
30
|
def self.metadata
|
31
|
-
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
31
|
+
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'),
|
32
|
+
aliases: true))
|
32
33
|
end
|
33
34
|
|
34
35
|
def scratch_resources
|
@@ -5,7 +5,7 @@ module DaVinciPDexTestKit
|
|
5
5
|
class ExplanationOfBenefitValidationTest < Inferno::Test
|
6
6
|
include USCoreTestKit::ValidationTest
|
7
7
|
|
8
|
-
id :
|
8
|
+
id :pdex_eob_validation
|
9
9
|
title 'ExplanationOfBenefit resources returned during previous tests conform to the US Core ExplanationOfBenefit Profile'
|
10
10
|
description %(
|
11
11
|
This test verifies resources returned from the first search conform to
|
@@ -562,30 +562,30 @@
|
|
562
562
|
- http://hl7.org/fhir/R4/location
|
563
563
|
|
564
564
|
:tests:
|
565
|
-
- :id:
|
565
|
+
- :id: pdex_eob_patient_use_search
|
566
566
|
:file_name: explanation_of_benefit_patient_use_search_test.rb
|
567
|
-
- :id:
|
567
|
+
- :id: pdex_eob_id_search
|
568
568
|
:file_name: explanation_of_benefit_id_search_test.rb
|
569
|
-
- :id:
|
569
|
+
- :id: pdex_eob_patient_last_updated_search
|
570
570
|
:file_name: explanation_of_benefit_patient_last_updated_search_test.rb
|
571
|
-
- :id:
|
571
|
+
- :id: pdex_eob_service_date
|
572
572
|
:file_name: explanation_of_benefit_service_date_search_test.rb
|
573
|
-
- :id:
|
573
|
+
- :id: pdex_eob_patient_type_search
|
574
574
|
:file_name: explanation_of_benefit_patient_type_search_test.rb
|
575
|
-
- :id:
|
575
|
+
- :id: pdex_eob_identifier_search
|
576
576
|
:file_name: explanation_of_benefit_identifier_search_test.rb
|
577
|
-
- :id:
|
577
|
+
- :id: pdex_eob_read
|
578
578
|
:file_name: explanation_of_benefit_read_test.rb
|
579
|
-
- :id:
|
579
|
+
- :id: pdex_eob_provenance_revinclude_search
|
580
580
|
:file_name: explanation_of_benefit_provenance_revinclude_search_test.rb
|
581
|
-
- :id:
|
581
|
+
- :id: pdex_eob_validation
|
582
582
|
:file_name: explanation_of_benefit_validation_test.rb
|
583
|
-
- :id:
|
583
|
+
- :id: pdex_eob_must_support
|
584
584
|
:file_name: explanation_of_benefit_must_support_test.rb
|
585
|
-
- :id:
|
585
|
+
- :id: pdex_eob_ref_resolution
|
586
586
|
:file_name: explanation_of_benefit_reference_resolution_test.rb
|
587
587
|
|
588
|
-
:id:
|
588
|
+
:id: pdex_eob
|
589
589
|
:file_name: explanation_of_benefit_group.rb
|
590
590
|
|
591
591
|
# NOTE: delayed_references is set as false above
|