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,5 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
require 'us_core_test_kit/generator/group_metadata'
|
4
2
|
require_relative 'explanation_of_benefit/explanation_of_benefit_patient_use_search_test'
|
5
3
|
require_relative 'explanation_of_benefit/explanation_of_benefit_id_search_test'
|
@@ -18,7 +16,7 @@ module DaVinciPDexTestKit
|
|
18
16
|
|
19
17
|
# PDex PriorAuthorization Profile for ExplanationOfBenefit Resource Test Group
|
20
18
|
class ExplanationOfBenefitGroup < Inferno::TestGroup
|
21
|
-
id :
|
19
|
+
id :pdex_eob
|
22
20
|
title 'PDex Prior Authorization Tests'
|
23
21
|
short_description 'Verify support for the server capabilities required by the PDex Prior Authorization Profile.'
|
24
22
|
description %(
|
@@ -89,17 +87,17 @@ read succeeds.
|
|
89
87
|
@metadata ||= USCoreTestKit::Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'explanation_of_benefit', 'metadata.yml')), aliases: true)
|
90
88
|
end
|
91
89
|
|
92
|
-
test from: :
|
93
|
-
test from: :
|
94
|
-
test from: :
|
95
|
-
test from: :
|
96
|
-
test from: :
|
97
|
-
test from: :
|
98
|
-
test from: :
|
99
|
-
test from: :
|
100
|
-
test from: :
|
101
|
-
test from: :
|
102
|
-
# test from: :
|
90
|
+
test from: :pdex_eob_patient_use_search
|
91
|
+
test from: :pdex_eob_id_search
|
92
|
+
test from: :pdex_eob_patient_last_updated_search
|
93
|
+
test from: :pdex_eob_patient_service_date_search
|
94
|
+
test from: :pdex_eob_patient_type_search
|
95
|
+
test from: :pdex_eob_identifier_search
|
96
|
+
test from: :pdex_eob_read
|
97
|
+
test from: :pdex_eob_provenance_revinclude_search
|
98
|
+
test from: :pdex_eob_validation
|
99
|
+
test from: :pdex_eob_must_support
|
100
|
+
# test from: :pdex_eob_ref_resolution
|
103
101
|
end
|
104
102
|
end
|
105
103
|
end
|
@@ -1,5 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
require 'tls_test_kit'
|
4
2
|
|
5
3
|
# require 'bulk_data_test_kit/v1.0.1/bulk_data_export_operation_support_test'
|
@@ -18,7 +16,7 @@ module DaVinciPDexTestKit
|
|
18
16
|
description <<~DESCRIPTION
|
19
17
|
Verify that patient level export on the Bulk Data server follow the Bulk Data Access Implementation Guide
|
20
18
|
DESCRIPTION
|
21
|
-
id :
|
19
|
+
id :pdex_patient_export
|
22
20
|
optional
|
23
21
|
|
24
22
|
run_as_group
|
@@ -39,7 +37,8 @@ module DaVinciPDexTestKit
|
|
39
37
|
|
40
38
|
output :patient_requires_access_token, :patient_status_output, :patient_bulk_download_url
|
41
39
|
|
42
|
-
test from: :
|
40
|
+
test from: :pdex_patient_operation_in_cap_stmt_validation,
|
41
|
+
id: :pdex_patient_export_in_cap_stmt,
|
43
42
|
title: 'Bulk Data Server declares support for Patient export operation in CapabilityStatement',
|
44
43
|
config: {
|
45
44
|
options: { operation_name: 'export', operation_url: 'http://hl7.org/fhir/uv/bulkdata/OperationDefinition/patient-export' }
|
@@ -1,7 +1,3 @@
|
|
1
|
-
# export_validation_group.rb
|
2
|
-
|
3
|
-
# frozen_string_literal: true
|
4
|
-
|
5
1
|
# require 'bulk_data_test_kit/v1.0.1/bulk_data_multiple_patients_test'
|
6
2
|
require 'bulk_data_test_kit/v1.0.1/bulk_data_ndjson_download_test'
|
7
3
|
require 'bulk_data_test_kit/v1.0.1/bulk_data_valid_resources_test'
|
@@ -36,7 +32,7 @@ module DaVinciPDexTestKit
|
|
36
32
|
server SHALL be secured using Transport Layer Security (TLS)
|
37
33
|
Protocol Version 1.2 (RFC5246).
|
38
34
|
DESCRIPTION
|
39
|
-
id :
|
35
|
+
id :pdex_bulk_file_server_tls_version
|
40
36
|
|
41
37
|
config(
|
42
38
|
inputs: { url: { name: :patient_bulk_download_url } },
|
@@ -45,7 +41,7 @@ module DaVinciPDexTestKit
|
|
45
41
|
end
|
46
42
|
|
47
43
|
test from: :bulk_data_valid_resources,
|
48
|
-
id: :
|
44
|
+
id: :pdex_bulk_data_patient_valid_resources,
|
49
45
|
config: {
|
50
46
|
inputs: {
|
51
47
|
status_output: { name: :patient_status_output },
|
data/lib/davinci_pdex_test_kit/pdex_payer_server/member_match_request_local_references_validation.rb
CHANGED
@@ -27,7 +27,7 @@ module DaVinciPDexTestKit
|
|
27
27
|
# resource.
|
28
28
|
#
|
29
29
|
class MemberMatchRequestLocalReferencesValidation < Inferno::Test
|
30
|
-
id :
|
30
|
+
id :pdex_member_match_local_ref_validation
|
31
31
|
|
32
32
|
title '[USER INPUT VALIDATION] Member match request only uses local references'
|
33
33
|
|
@@ -1,5 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
module DaVinciPDexTestKit
|
4
2
|
module PDexPayerServer
|
5
3
|
|
@@ -29,7 +27,7 @@ module DaVinciPDexTestKit
|
|
29
27
|
# resource.
|
30
28
|
#
|
31
29
|
class MemberMatchRequestProfileValidation < Inferno::Test
|
32
|
-
id :
|
30
|
+
id :pdex_member_match_profile_validation
|
33
31
|
|
34
32
|
input :member_match_request
|
35
33
|
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
1
|
require_relative 'member_match_request_profile_validation'
|
3
2
|
require_relative 'member_match_request_local_references_validation'
|
4
3
|
require_relative 'coverage_to_link_minimal_data_validation'
|
@@ -8,7 +7,7 @@ module DaVinciPDexTestKit
|
|
8
7
|
module PDexPayerServer
|
9
8
|
class MultipleMemberMatchesGroup < Inferno::TestGroup
|
10
9
|
|
11
|
-
id :
|
10
|
+
id :pdex_multiple_member_matches
|
12
11
|
title '$member-match with multiple matches'
|
13
12
|
|
14
13
|
run_as_group
|
@@ -21,8 +20,8 @@ module DaVinciPDexTestKit
|
|
21
20
|
|
22
21
|
group_config = { inputs: { member_match_request: { name: :multiple_member_match_request } } }
|
23
22
|
|
24
|
-
test from: :
|
25
|
-
id :
|
23
|
+
test from: :pdex_member_match_profile_validation do
|
24
|
+
id :pdex_multiple_match_profile_validation
|
26
25
|
config(group_config)
|
27
26
|
title '[USER INPUT VALIDATION] Member match request for multiple matches is valid'
|
28
27
|
description %{
|
@@ -35,13 +34,13 @@ module DaVinciPDexTestKit
|
|
35
34
|
# Inherits
|
36
35
|
end
|
37
36
|
|
38
|
-
test from: :
|
37
|
+
test from: :pdex_member_match_local_ref_validation, config: group_config
|
39
38
|
|
40
|
-
test from: :
|
41
|
-
test from: :
|
39
|
+
test from: :pdex_coverage_to_link_minimal_validation, config: group_config
|
40
|
+
test from: :pdex_coverage_to_link_ms_validation, config: group_config
|
42
41
|
|
43
42
|
test do
|
44
|
-
id :
|
43
|
+
id :pdex_member_match_has_multiple_matches
|
45
44
|
title 'Server $member-match operation returns 422 Unprocessable Content if multiple matches are found'
|
46
45
|
description %{
|
47
46
|
See [member matching logic](https://hl7.org/fhir/us/davinci-hrex/STU1/OperationDefinition-member-match.html#member-matching-logic)
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
1
|
require_relative 'member_match_request_profile_validation'
|
3
2
|
require_relative 'member_match_request_local_references_validation'
|
4
3
|
require_relative 'coverage_to_link_minimal_data_validation'
|
@@ -7,7 +6,7 @@ require_relative 'coverage_to_link_must_support_validation'
|
|
7
6
|
module DaVinciPDexTestKit
|
8
7
|
module PDexPayerServer
|
9
8
|
class NoMemberMatchesGroup < Inferno::TestGroup
|
10
|
-
id :
|
9
|
+
id :pdex_no_member_matches
|
11
10
|
title '$member-match with no matches'
|
12
11
|
|
13
12
|
run_as_group
|
@@ -20,8 +19,8 @@ module DaVinciPDexTestKit
|
|
20
19
|
|
21
20
|
group_config = { inputs: { member_match_request: { name: :no_member_match_request } } }
|
22
21
|
|
23
|
-
test from: :
|
24
|
-
id :
|
22
|
+
test from: :pdex_member_match_profile_validation do
|
23
|
+
id :pdex_no_match_profile_validation
|
25
24
|
config(group_config)
|
26
25
|
|
27
26
|
title '[USER INPUT VALIDATION] Member match request for no matches is valid'
|
@@ -33,14 +32,14 @@ module DaVinciPDexTestKit
|
|
33
32
|
}
|
34
33
|
end
|
35
34
|
|
36
|
-
test from: :
|
35
|
+
test from: :pdex_member_match_local_ref_validation, config: group_config
|
37
36
|
|
38
|
-
test from: :
|
39
|
-
test from: :
|
37
|
+
test from: :pdex_coverage_to_link_minimal_validation, config: group_config
|
38
|
+
test from: :pdex_coverage_to_link_ms_validation, config: group_config
|
40
39
|
|
41
40
|
|
42
41
|
test do
|
43
|
-
id :
|
42
|
+
id :pdex_member_match_has_no_matches
|
44
43
|
title 'Server $member-match operation returns 422 Unprocessable Content if no matches are found'
|
45
44
|
description %{
|
46
45
|
See [member matching logic](https://hl7.org/fhir/us/davinci-hrex/STU1/OperationDefinition-member-match.html#member-matching-logic)
|
@@ -1,5 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
module DaVinciPDexTestKit
|
4
2
|
module PDexPayerServer
|
5
3
|
# Factorized test for asserting a patient resource opeartion in a Capability Statement
|
@@ -27,7 +25,7 @@ module DaVinciPDexTestKit
|
|
27
25
|
# Requires an Inferno fhir client configured.
|
28
26
|
#
|
29
27
|
class PatientOperationInCapabilityStatementValidation < Inferno::Test
|
30
|
-
id :
|
28
|
+
id :pdex_patient_operation_in_cap_stmt_validation
|
31
29
|
|
32
30
|
description %{
|
33
31
|
The [CapabilityStatement](https://hl7.org/fhir/R4/capabilitystatement.html) must declare support for the
|
@@ -1,9 +1,7 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
module DaVinciPDexTestKit
|
4
2
|
module PDexPayerServer
|
5
3
|
class WorkflowClinicalDataGroup < Inferno::TestGroup
|
6
|
-
id :
|
4
|
+
id :pdex_workflow_clinical_data
|
7
5
|
title 'Server can respond to search requests for clinical data on the matched patient'
|
8
6
|
short_title 'Clinical data query'
|
9
7
|
description %{
|
@@ -26,7 +24,7 @@ module DaVinciPDexTestKit
|
|
26
24
|
optional: true
|
27
25
|
|
28
26
|
test do
|
29
|
-
id :
|
27
|
+
id :pdex_workflow_clinical_encounter_query_test
|
30
28
|
title 'Server can provide clinical Encounter data from matched member identifier'
|
31
29
|
description %{
|
32
30
|
Server receives request `GET [baseURL]/Encounter?subject=Patient/[id]` and returns 200.
|
@@ -44,7 +42,7 @@ module DaVinciPDexTestKit
|
|
44
42
|
end
|
45
43
|
|
46
44
|
test do
|
47
|
-
id :
|
45
|
+
id :pdex_workflow_clinical_encounter_test
|
48
46
|
title 'Server returned Search bundle with valid Encounter data'
|
49
47
|
description %{
|
50
48
|
Server returned search Bundle of Encounters with least 1 resource entry.
|
@@ -1,5 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
require_relative 'patient_operation_in_capability_statement_validation'
|
4
2
|
|
5
3
|
module DaVinciPDexTestKit
|
@@ -7,7 +5,7 @@ module DaVinciPDexTestKit
|
|
7
5
|
class WorkflowEverythingGroup < Inferno::TestGroup
|
8
6
|
title 'Server can respond to $everything requests on matched patient'
|
9
7
|
short_title '$everything'
|
10
|
-
id :
|
8
|
+
id :pdex_workflow_everything
|
11
9
|
optional
|
12
10
|
description %{
|
13
11
|
# Background
|
@@ -27,7 +25,7 @@ module DaVinciPDexTestKit
|
|
27
25
|
description: 'Manual Patient ID for testing Clinical Query and $everything $export without $member-match.',
|
28
26
|
optional: true
|
29
27
|
|
30
|
-
test from: :
|
28
|
+
test from: :pdex_patient_operation_in_cap_stmt_validation,
|
31
29
|
title: 'Server declares support for Patient everything operation in CapabilityStatement',
|
32
30
|
config: {
|
33
31
|
options: { operation_name: 'everything', operation_url: 'http://hl7.org/fhir/OperationDefinition/Patient-everything' }
|
@@ -1,5 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
1
|
require 'bulk_data_test_kit/v2.0.0/bulk_data_patient_export_test_group'
|
4
2
|
# require 'bulk_data_test_kit/v1.0.1/patient/bulk_data_patient_export_group'
|
5
3
|
require_relative 'export_patient_group'
|
@@ -8,7 +6,7 @@ require_relative 'export_validation_group'
|
|
8
6
|
module DaVinciTestKit
|
9
7
|
module PDexPayerServer
|
10
8
|
class WorkflowExportGroup < Inferno::TestGroup
|
11
|
-
id :
|
9
|
+
id :pdex_workflow_export
|
12
10
|
title 'Server can respond to FHIR Bulk $export requests on the matched patient'
|
13
11
|
short_title 'Bulk $export'
|
14
12
|
optional
|
@@ -56,7 +54,7 @@ module DaVinciTestKit
|
|
56
54
|
headers {'Authorization' => "Bearer #{bearer_token}"}
|
57
55
|
end
|
58
56
|
|
59
|
-
group from: :
|
57
|
+
group from: :pdex_patient_export
|
60
58
|
|
61
59
|
group from: :pdex_export_validation,
|
62
60
|
title: 'Patient Export Validation Tests',
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
1
|
require_relative 'member_match_request_profile_validation'
|
3
2
|
require_relative 'member_match_request_local_references_validation'
|
4
3
|
require_relative 'coverage_to_link_minimal_data_validation'
|
@@ -11,7 +10,7 @@ module DaVinciPDexTestKit
|
|
11
10
|
class WorkflowMemberMatchGroup < Inferno::TestGroup
|
12
11
|
title 'Server can return a matching member in response to $member-match request'
|
13
12
|
short_title '$member-match'
|
14
|
-
id :
|
13
|
+
id :pdex_workflow_member_match
|
15
14
|
description %{
|
16
15
|
# Background
|
17
16
|
|
@@ -43,15 +42,15 @@ module DaVinciPDexTestKit
|
|
43
42
|
description: "A JSON payload for server's $member-match endpoint that has **exactly one match**",
|
44
43
|
type: 'textarea'
|
45
44
|
|
46
|
-
test from: :
|
47
|
-
id: :
|
45
|
+
test from: :pdex_patient_operation_in_cap_stmt_validation,
|
46
|
+
id: :pdex_member_match_operation_in_cap_stmt,
|
48
47
|
title: 'Server declares support for Patient member match operation in CapabilityStatement',
|
49
48
|
config: {
|
50
49
|
options: { operation_name: 'member-match', operation_url: 'http://hl7.org/fhir/us/davinci-hrex/OperationDefinition/member-match' }
|
51
50
|
}
|
52
51
|
|
53
|
-
test from: :
|
54
|
-
id :
|
52
|
+
test from: :pdex_member_match_profile_validation do
|
53
|
+
id :pdex_one_match_profile_validation
|
55
54
|
title '[USER INPUT VALIDATION] Member match request for exactly one match is valid'
|
56
55
|
description %{
|
57
56
|
This test validates the conformity of the user input to the
|
@@ -61,16 +60,16 @@ module DaVinciPDexTestKit
|
|
61
60
|
}
|
62
61
|
end
|
63
62
|
|
64
|
-
test from: :
|
65
|
-
id :
|
63
|
+
test from: :pdex_member_match_local_ref_validation do
|
64
|
+
id :pdex_member_match_local_ref
|
66
65
|
title '[USER INPUT VALIDATION] Member match request only uses local references'
|
67
66
|
end
|
68
67
|
|
69
|
-
test from: :
|
70
|
-
test from: :
|
68
|
+
test from: :pdex_coverage_to_link_minimal_validation
|
69
|
+
test from: :pdex_coverage_to_link_ms_validation
|
71
70
|
|
72
71
|
test do
|
73
|
-
id :
|
72
|
+
id :pdex_member_match_on_server
|
74
73
|
title 'Server handles $member-match operation successfully'
|
75
74
|
description 'Server receives request `POST [baseURL]/Patient/$member-match` and returns 200'
|
76
75
|
|
@@ -85,7 +84,7 @@ module DaVinciPDexTestKit
|
|
85
84
|
end
|
86
85
|
|
87
86
|
test do
|
88
|
-
id :
|
87
|
+
id :pdex_member_match_response_profile
|
89
88
|
title 'Server $member-match response conforms to profile'
|
90
89
|
description %{
|
91
90
|
The response body from the previous POST request to $member-match must be valid FHIR JSON conforming to
|
@@ -111,7 +110,7 @@ module DaVinciPDexTestKit
|
|
111
110
|
end
|
112
111
|
|
113
112
|
test do
|
114
|
-
id :
|
113
|
+
id :pdex_member_match_identifier_to_id
|
115
114
|
title 'Server member identifier from $member-match yields logical Patient id'
|
116
115
|
description %Q{
|
117
116
|
The $member-match operation returns a Member Identifier, and subsequent clinical queries and operations
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
require 'us_core_test_kit/generated/v3.1.1/us_core_test_suite'
|
2
2
|
|
3
3
|
require_relative 'pdex_payer_server/workflow_member_match_group'
|
4
4
|
require_relative 'pdex_payer_server/workflow_clinical_data_group'
|
@@ -125,15 +125,15 @@ module DaVinciPDexTestKit
|
|
125
125
|
See the corresponding test group's description for the testing methodology of each part.
|
126
126
|
)
|
127
127
|
|
128
|
-
group from: :
|
129
|
-
group from: :
|
130
|
-
group from: :
|
131
|
-
group from: :
|
128
|
+
group from: :pdex_workflow_member_match
|
129
|
+
group from: :pdex_workflow_clinical_data
|
130
|
+
group from: :pdex_workflow_everything
|
131
|
+
group from: :pdex_workflow_export
|
132
132
|
end
|
133
133
|
|
134
134
|
group do
|
135
135
|
title 'API Capability and Must Support Coverage'
|
136
|
-
id :
|
136
|
+
id :api_and_ms_coverage
|
137
137
|
|
138
138
|
group do
|
139
139
|
title '$member-match failure cases'
|
@@ -157,21 +157,20 @@ module DaVinciPDexTestKit
|
|
157
157
|
|
158
158
|
input_order :url, :credentials, :no_member_match_request, :multiple_member_match_request
|
159
159
|
|
160
|
-
group from: :
|
161
|
-
group from: :
|
160
|
+
group from: :pdex_no_member_matches
|
161
|
+
group from: :pdex_multiple_member_matches
|
162
162
|
end
|
163
163
|
|
164
164
|
group do
|
165
165
|
title 'PDEX Search and Read API (US Core plus additional PDex resource types)'
|
166
|
-
id :
|
166
|
+
id :pdex_fhir_api_coverage
|
167
167
|
|
168
|
-
group from: :
|
168
|
+
group from: :pdex_eob
|
169
169
|
|
170
170
|
# Import all US Core v3.1.1 groups without the Suite
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
group from: "us_core_v311_#{File.basename(test_group_path).gsub('_group.rb','')}".to_sym
|
171
|
+
USCoreTestKit::USCoreV311::USCoreTestSuite.groups[1].groups.each do |group|
|
172
|
+
# This prevents a second OAuth credentials box from appearing in UI
|
173
|
+
group(from: group.ancestors[1].id, id: group.ancestors[1].id.delete_prefix('us_core_v311_'))
|
175
174
|
end
|
176
175
|
end
|
177
176
|
end
|
@@ -1,5 +1,4 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
require_relative 'davinci_pdex_test_kit/metadata'
|
3
2
|
require_relative 'davinci_pdex_test_kit/pdex_payer_server_suite'
|
4
3
|
require_relative 'davinci_pdex_test_kit/pdex_payer_client_suite'
|
5
4
|
# require_relative 'davinci_pdex_test_kit/pdex_provider_client_suite'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: davinci_pdex_test_kit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Karl Naden
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2025-02-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: inferno_core
|
@@ -18,42 +18,70 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.
|
21
|
+
version: 0.6.2
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 0.
|
28
|
+
version: 0.6.2
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: us_core_test_kit
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - "~>"
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version:
|
35
|
+
version: 0.10.1
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - "~>"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
42
|
+
version: 0.10.1
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: bulk_data_test_kit
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - "~>"
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version:
|
49
|
+
version: 0.11.0
|
50
50
|
type: :runtime
|
51
51
|
prerelease: false
|
52
52
|
version_requirements: !ruby/object:Gem::Requirement
|
53
53
|
requirements:
|
54
54
|
- - "~>"
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version:
|
56
|
+
version: 0.11.0
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: faraday
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: 1.10.4
|
64
|
+
type: :runtime
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - "~>"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: 1.10.4
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: faraday_middleware
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - "~>"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 1.2.1
|
78
|
+
type: :runtime
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - "~>"
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 1.2.1
|
57
85
|
- !ruby/object:Gem::Dependency
|
58
86
|
name: database_cleaner-sequel
|
59
87
|
requirement: !ruby/object:Gem::Requirement
|
@@ -133,27 +161,26 @@ extensions: []
|
|
133
161
|
extra_rdoc_files: []
|
134
162
|
files:
|
135
163
|
- LICENSE
|
164
|
+
- config/presets/pdex_payer_client_postman_preset.json
|
165
|
+
- config/presets/pdex_payer_server_fhir_foundry_ri_preset.json
|
166
|
+
- config/presets/pdex_payer_server_inferno_ri_preset.json
|
136
167
|
- lib/davinci_pdex_test_kit.rb
|
168
|
+
- lib/davinci_pdex_test_kit/docs/davinci_pdex_test_kit_description_v200.md
|
137
169
|
- lib/davinci_pdex_test_kit/docs/payer_client_suite_description_v200.md
|
138
170
|
- lib/davinci_pdex_test_kit/docs/payer_server_suite_description_v200.md
|
139
|
-
- lib/davinci_pdex_test_kit/ext/inferno_core/record_response_route.rb
|
140
|
-
- lib/davinci_pdex_test_kit/ext/inferno_core/request.rb
|
141
|
-
- lib/davinci_pdex_test_kit/ext/inferno_core/runnable.rb
|
142
171
|
- lib/davinci_pdex_test_kit/fhir_resource_navigation.rb
|
143
172
|
- lib/davinci_pdex_test_kit/group_metadata.rb
|
144
|
-
- lib/davinci_pdex_test_kit/
|
145
|
-
- lib/davinci_pdex_test_kit/
|
146
|
-
- lib/davinci_pdex_test_kit/
|
173
|
+
- lib/davinci_pdex_test_kit/igs/davinci-pdex-2.0.0.tgz
|
174
|
+
- lib/davinci_pdex_test_kit/igs/us-core-3.1.1.tgz
|
175
|
+
- lib/davinci_pdex_test_kit/metadata.rb
|
147
176
|
- lib/davinci_pdex_test_kit/must_support_test.rb
|
148
|
-
- lib/davinci_pdex_test_kit/pdex_payer_client/client_member_match_tests/client_member_match_submit_test.rb
|
149
177
|
- lib/davinci_pdex_test_kit/pdex_payer_client/client_member_match_tests/client_member_match_validation_test.rb
|
150
|
-
- lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/client_member_match_must_support_submit_test.rb
|
151
|
-
- lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/client_member_match_must_support_validation_test.rb
|
152
|
-
- lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/metadata.yml
|
153
178
|
- lib/davinci_pdex_test_kit/pdex_payer_client/client_validation_test.rb
|
179
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/client_workflow_interaction_test.rb
|
154
180
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/allergyintolerance_clinical_data_request_test.rb
|
155
181
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/careplan_clinical_data_request_test.rb
|
156
182
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/careteam_clinical_data_request_test.rb
|
183
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/clinical_data_request_check_test.rb
|
157
184
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/condition_clinical_data_request_test.rb
|
158
185
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/device_clinical_data_request_test.rb
|
159
186
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/diagnosticreport_clinical_data_request_test.rb
|
@@ -162,18 +189,33 @@ files:
|
|
162
189
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/explanationofbenefit_clinical_data_request_test.rb
|
163
190
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/goal_clinical_data_request_test.rb
|
164
191
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/immunization_clinical_data_request_test.rb
|
165
|
-
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/initial_scratch_storing.rb
|
166
|
-
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/initial_wait_test.rb
|
167
192
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/location_clinical_data_request_test.rb
|
168
193
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/medicationdispense_clinical_data_request_test.rb
|
169
194
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/medicationrequest_clinical_data_request_test.rb
|
170
195
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/observation_clinical_data_request_test.rb
|
171
196
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/organization_clinical_data_request_test.rb
|
172
197
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/patient_clinical_data_request_test.rb
|
198
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/patient_id_search_request_check_test.rb
|
173
199
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/practitioner_clinical_data_request_test.rb
|
174
200
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/practitionerrole_clinical_data_request_test.rb
|
175
201
|
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/procedure_clinical_data_request_test.rb
|
176
202
|
- lib/davinci_pdex_test_kit/pdex_payer_client/collection.rb
|
203
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/mock_server.rb
|
204
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/binary_endpoint.rb
|
205
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/export_endpoint.rb
|
206
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/export_status_endpoint.rb
|
207
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/member_match_endpoint.rb
|
208
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/next_page_endpoint.rb
|
209
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/patient_endpoint.rb
|
210
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/patient_everything_endpoint.rb
|
211
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/proxy_endpoint.rb
|
212
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/resource_read_endpoint.rb
|
213
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/resource_search_endpoint.rb
|
214
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/resources/mock_capability_statement.json
|
215
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/resources/mock_operation_outcome_resource.json
|
216
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/token_endpoint.rb
|
217
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/tags.rb
|
218
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/urls.rb
|
177
219
|
- lib/davinci_pdex_test_kit/pdex_payer_client_suite.rb
|
178
220
|
- lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_minimal_data_validation.rb
|
179
221
|
- lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_must_support_validation.rb
|
@@ -203,8 +245,6 @@ files:
|
|
203
245
|
- lib/davinci_pdex_test_kit/pdex_payer_server/workflow_member_match_group.rb
|
204
246
|
- lib/davinci_pdex_test_kit/pdex_payer_server_suite.rb
|
205
247
|
- lib/davinci_pdex_test_kit/pdex_provider_client_suite.rb
|
206
|
-
- lib/davinci_pdex_test_kit/tags.rb
|
207
|
-
- lib/davinci_pdex_test_kit/urls.rb
|
208
248
|
- lib/davinci_pdex_test_kit/user_input_response.rb
|
209
249
|
- lib/davinci_pdex_test_kit/version.rb
|
210
250
|
homepage: https://github.com/inferno-framework/davinci-pdex-test-kit/
|
@@ -213,6 +253,7 @@ licenses:
|
|
213
253
|
metadata:
|
214
254
|
homepage_uri: https://github.com/inferno-framework/davinci-pdex-test-kit/
|
215
255
|
source_code_uri: https://github.com/inferno-framework/davinci-pdex-test-kit/
|
256
|
+
inferno_test_kit: 'true'
|
216
257
|
post_install_message:
|
217
258
|
rdoc_options: []
|
218
259
|
require_paths:
|
@@ -221,14 +262,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
221
262
|
requirements:
|
222
263
|
- - ">="
|
223
264
|
- !ruby/object:Gem::Version
|
224
|
-
version: 3.
|
265
|
+
version: 3.3.6
|
225
266
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
226
267
|
requirements:
|
227
268
|
- - ">="
|
228
269
|
- !ruby/object:Gem::Version
|
229
270
|
version: '0'
|
230
271
|
requirements: []
|
231
|
-
rubygems_version: 3.
|
272
|
+
rubygems_version: 3.5.22
|
232
273
|
signing_key:
|
233
274
|
specification_version: 4
|
234
275
|
summary: Da Vinci PDex Test Kit
|