davinci_pdex_test_kit 0.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +201 -0
- data/lib/davinci_pdex_test_kit/docs/payer_client_suite_description_v200.md +91 -0
- data/lib/davinci_pdex_test_kit/docs/payer_server_suite_description_v200.md +119 -0
- data/lib/davinci_pdex_test_kit/ext/inferno_core/record_response_route.rb +98 -0
- data/lib/davinci_pdex_test_kit/ext/inferno_core/request.rb +19 -0
- data/lib/davinci_pdex_test_kit/ext/inferno_core/runnable.rb +18 -0
- data/lib/davinci_pdex_test_kit/fhir_resource_navigation.rb +154 -0
- data/lib/davinci_pdex_test_kit/group_metadata.rb +109 -0
- data/lib/davinci_pdex_test_kit/metadata/mock_capability_statement.json +1052 -0
- data/lib/davinci_pdex_test_kit/metadata/mock_operation_outcome_resource.json +16 -0
- data/lib/davinci_pdex_test_kit/mock_server.rb +247 -0
- data/lib/davinci_pdex_test_kit/must_support_test.rb +252 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/client_member_match_tests/client_member_match_submit_test.rb +24 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/client_member_match_tests/client_member_match_validation_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/client_member_match_must_support_submit_test.rb +26 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/client_member_match_must_support_validation_test.rb +32 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/client_validation_test.rb +94 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/allergyintolerance_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/careplan_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/careteam_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/condition_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/device_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/diagnosticreport_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/documentreference_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/encounter_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/explanationofbenefit_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/goal_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/immunization_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/initial_scratch_storing.rb +34 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/initial_wait_test.rb +28 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/location_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/medicationdispense_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/medicationrequest_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/observation_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/organization_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/patient_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/practitioner_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/practitionerrole_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/procedure_clinical_data_request_test.rb +23 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client/collection.rb +46 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_client_suite.rb +152 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/abstract_member_match_request_conformance_test.rb +33 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/abstract_member_match_request_local_references_test.rb +35 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_has_minimal_data_test.rb +52 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_must_support_test.rb +28 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_id_search_test.rb +58 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_identifier_search_test.rb +58 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_must_support_test.rb +40 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_last_updated_search_test.rb +63 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_service_date_search_test.rb +63 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_type_search_test.rb +63 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_use_search_test.rb +68 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_provenance_revinclude_search_test.rb +52 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_read_test.rb +26 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_reference_resolution_test.rb +43 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_validation_test.rb +40 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit_group.rb +105 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/export_patient_group.rb +103 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/export_validation_group.rb +59 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/multiple_member_matches_group.rb +66 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/no_member_matches_group.rb +69 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_clinical_data.rb +66 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_everything.rb +184 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_export.rb +67 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_member_match.rb +171 -0
- data/lib/davinci_pdex_test_kit/pdex_payer_server_suite.rb +158 -0
- data/lib/davinci_pdex_test_kit/pdex_provider_client_suite.rb +36 -0
- data/lib/davinci_pdex_test_kit/tags.rb +9 -0
- data/lib/davinci_pdex_test_kit/urls.rb +67 -0
- data/lib/davinci_pdex_test_kit/user_input_response.rb +32 -0
- data/lib/davinci_pdex_test_kit/version.rb +5 -0
- data/lib/davinci_pdex_test_kit.rb +8 -0
- metadata +218 -0
@@ -0,0 +1,158 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'pdex_payer_server/workflow_member_match'
|
4
|
+
require_relative 'pdex_payer_server/workflow_clinical_data'
|
5
|
+
require_relative 'pdex_payer_server/workflow_everything'
|
6
|
+
require_relative 'pdex_payer_server/workflow_export'
|
7
|
+
|
8
|
+
require_relative 'pdex_payer_server/no_member_matches_group'
|
9
|
+
require_relative 'pdex_payer_server/multiple_member_matches_group'
|
10
|
+
|
11
|
+
require_relative 'pdex_payer_server/explanation_of_benefit_group'
|
12
|
+
|
13
|
+
module DaVinciPDexTestKit
|
14
|
+
class PDexPayerServerSuite < Inferno::TestSuite
|
15
|
+
id :pdex_payer_server
|
16
|
+
title 'Da Vinci PDex Payer Server Test Suite'
|
17
|
+
description File.read(File.join(__dir__, 'docs', 'payer_server_suite_description_v200.md'))
|
18
|
+
|
19
|
+
input :url,
|
20
|
+
title: 'FHIR Server Base Url'
|
21
|
+
|
22
|
+
input :credentials,
|
23
|
+
title: 'OAuth Credentials',
|
24
|
+
type: :oauth_credentials,
|
25
|
+
optional: true
|
26
|
+
|
27
|
+
fhir_client do
|
28
|
+
url :url
|
29
|
+
oauth_credentials :credentials
|
30
|
+
end
|
31
|
+
|
32
|
+
VALIDATION_MESSAGE_FILTERS = [
|
33
|
+
/Observation\.effective\.ofType\(Period\): .*vs-1:/, # Invalid invariant in FHIR v4.0.1
|
34
|
+
/\A\S+: \S+: URL value '.*' does not resolve/
|
35
|
+
].freeze
|
36
|
+
|
37
|
+
VERSION_SPECIFIC_MESSAGE_FILTERS = [].freeze
|
38
|
+
|
39
|
+
validator do
|
40
|
+
url ENV.fetch('VALIDATOR_URL')
|
41
|
+
|
42
|
+
# Copy messages limit from Bulk Data Export tests
|
43
|
+
message_filters = VALIDATION_MESSAGE_FILTERS + VERSION_SPECIFIC_MESSAGE_FILTERS
|
44
|
+
|
45
|
+
$num_messages = 0
|
46
|
+
$capped_message = false
|
47
|
+
$num_errors = 0
|
48
|
+
$capped_errors = false
|
49
|
+
|
50
|
+
exclude_message do |message|
|
51
|
+
matches_filter = message_filters.any? { |filter| filter.match? message.message }
|
52
|
+
|
53
|
+
unless matches_filter
|
54
|
+
if message.type != 'error'
|
55
|
+
$num_messages += 1
|
56
|
+
else
|
57
|
+
$num_errors += 1
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
matches_filter ||
|
62
|
+
(message.type != 'error' && $num_messages > 50 && !message.message.include?('Inferno is only showing the first')) ||
|
63
|
+
(message.type == 'error' && $num_errors > 20 && !message.message.include?('Inferno is only showing the first'))
|
64
|
+
end
|
65
|
+
|
66
|
+
perform_additional_validation do
|
67
|
+
if $num_messages > 50 && !$capped_message
|
68
|
+
$capped_message = true
|
69
|
+
{ type: 'info', message: 'Inferno is only showing the first 50 validation info and warning messages.' }
|
70
|
+
elsif $num_errors > 20 && !$capped_errors
|
71
|
+
$capped_errors = true
|
72
|
+
{ type: 'error', message: 'Inferno is only showing the first 20 validation error messages.' }
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
group do
|
78
|
+
title 'Payer to Payer Workflow'
|
79
|
+
id :payer_to_payer_workflow
|
80
|
+
description %(
|
81
|
+
# Background
|
82
|
+
|
83
|
+
This Payer to Payer Workflow test sequence is designed to simulate a realistic use case for
|
84
|
+
data access on a Payer's FHIR Server. This workflow conforms to the Da Vinci
|
85
|
+
[Payer Data Exchange (PDex) v2.0.0 Implementation Guide](https://hl7.org/fhir/us/davinci-pdex/STU2/),
|
86
|
+
which itself relies on
|
87
|
+
[Health Record Exchange (HRex) v1.0.0 Implementation Guide](https://hl7.org/fhir/us/davinci-hrex/index.html)
|
88
|
+
and [US Core v3.1.1 Implementation Guide](http://hl7.org/fhir/us/core/STU3.1.1/). The PDex Implementation Guide contains more on
|
89
|
+
the [business use case background](https://hl7.org/fhir/us/davinci-pdex/STU2/index.html#background), and the specific
|
90
|
+
[payer-to-payer workflow](https://hl7.org/fhir/us/davinci-pdex/STU2/payertopayerexchange.html).
|
91
|
+
|
92
|
+
# Testing Methodology
|
93
|
+
|
94
|
+
This workflow is broken into four parts:
|
95
|
+
|
96
|
+
1. Send a `$member-match` request to the Server to identify a Patient based on Payer's coverage plan and Patient consent.
|
97
|
+
|
98
|
+
2. Use the identified Patient to query for specific clinical data.
|
99
|
+
|
100
|
+
3. **Optional.** Send an `$everything` request to the server to query for all relevant clinical data on the Patient.
|
101
|
+
|
102
|
+
4. **Optional.** Send an `$export` request to the server to query for all relevant clinical data on the Patient asynchronously.
|
103
|
+
|
104
|
+
See the corresponding test group's description for the testing methodology of each part.
|
105
|
+
)
|
106
|
+
|
107
|
+
group from: :workflow_member_match
|
108
|
+
group from: :workflow_clinical_data
|
109
|
+
group from: :workflow_everything
|
110
|
+
group from: :workflow_export
|
111
|
+
end
|
112
|
+
|
113
|
+
group do
|
114
|
+
title 'API Capability and Must Support Coverage'
|
115
|
+
id :api_and_must_support_coverage
|
116
|
+
|
117
|
+
group do
|
118
|
+
title '$member-match failure cases'
|
119
|
+
id :member_match_failure_cases
|
120
|
+
description %{
|
121
|
+
# Background
|
122
|
+
|
123
|
+
This test sequence is for the negative results specification in
|
124
|
+
[member matching logic](http://hl7.org/fhir/us/davinci-hrex/STU1/OperationDefinition-member-match.html#member-matching-logic)
|
125
|
+
from HRex 1.0.0 Implementation Guide, and is required by the PDex 2.0.0 Implementation Guide.
|
126
|
+
|
127
|
+
# Testing Methodology
|
128
|
+
|
129
|
+
1. If provided, attempt no-match member match operation
|
130
|
+
+ validate input
|
131
|
+
+ POST request to server and validiate HTTP 422 response status
|
132
|
+
2. If provided, attempt a multiple-match member match operation
|
133
|
+
+ validate input
|
134
|
+
+ POST request to server and validiate HTTP 422 response status
|
135
|
+
}
|
136
|
+
|
137
|
+
input_order :url, :credentials, :no_member_match_request, :multiple_member_match_request
|
138
|
+
|
139
|
+
group from: :no_member_matches_group
|
140
|
+
group from: :multiple_member_matches_group
|
141
|
+
end
|
142
|
+
|
143
|
+
group do
|
144
|
+
title 'PDEX Search and Read API (US Core plus additional PDex resource types)'
|
145
|
+
id :search_and_read_api_coverage
|
146
|
+
|
147
|
+
group from: :pdex_explanation_of_benefit
|
148
|
+
# Import all US Core v3.1.1 groups without the Suite
|
149
|
+
Dir.glob(File.join($LOAD_PATH.find { |x| x.match? "us_core_test_kit" }, 'us_core_test_kit/generated/v3.1.1/*_group.rb')).each do |test_group_path|
|
150
|
+
require_relative test_group_path
|
151
|
+
|
152
|
+
group from: "us_core_v311_#{File.basename(test_group_path).gsub('_group.rb','')}".to_sym
|
153
|
+
end
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
end
|
158
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module DaVinciPDexTestKit
|
2
|
+
class PDexProviderClientSuite < Inferno::TestSuite
|
3
|
+
id :pdex_provider_client
|
4
|
+
title 'Da Vinci PDex Provider Client Test Suite'
|
5
|
+
description %(
|
6
|
+
# Da Vinci PDex Provider Client Test Suite
|
7
|
+
|
8
|
+
This suite validates that a provider system can act as a client
|
9
|
+
retrieving patient data from a payer system using
|
10
|
+
the APIs described in the PDex implementation
|
11
|
+
guide. Inferno will act as a payer server that the
|
12
|
+
system under test will connect to and retrieve data from.
|
13
|
+
)
|
14
|
+
|
15
|
+
# These inputs will be available to all tests in this suite
|
16
|
+
input :url,
|
17
|
+
title: 'FHIR Server Base Url'
|
18
|
+
|
19
|
+
input :credentials,
|
20
|
+
title: 'OAuth Credentials',
|
21
|
+
type: :oauth_credentials,
|
22
|
+
optional: true
|
23
|
+
|
24
|
+
# All FHIR requests in this suite will use this FHIR client
|
25
|
+
fhir_client do
|
26
|
+
url :url
|
27
|
+
oauth_credentials :credentials
|
28
|
+
end
|
29
|
+
|
30
|
+
# All FHIR validation requsets will use this FHIR validator
|
31
|
+
validator do
|
32
|
+
url ENV.fetch('VALIDATOR_URL')
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
@@ -0,0 +1,67 @@
|
|
1
|
+
module DaVinciPDexTestKit
|
2
|
+
TOKEN_PATH = '/mock_auth/token'
|
3
|
+
PATIENT_PATH = '/fhir/Patient'
|
4
|
+
SUBMIT_PATH = '/fhir/:endpoint'
|
5
|
+
METADATA_PATH = '/fhir/metadata'
|
6
|
+
EVERYTHING_PATH = '/fhir/Patient/:patient/$everything'
|
7
|
+
MEMBER_MATCH_PATH = '/fhir/Patient/$member-match'
|
8
|
+
# EXPORT_PATH = '/fhir/Patient/$export'
|
9
|
+
BASE_FHIR_PATH = '/fhir'
|
10
|
+
RESUME_PASS_PATH = '/resume_pass'
|
11
|
+
RESUME_CLINICAL_DATA_PATH = '/resume_clinical_data'
|
12
|
+
RESUME_FAIL_PATH = '/resume_fail'
|
13
|
+
|
14
|
+
module URLs
|
15
|
+
def base_url
|
16
|
+
@base_url ||= "#{Inferno::Application['base_url']}/custom/#{suite_id}"
|
17
|
+
end
|
18
|
+
|
19
|
+
def token_url
|
20
|
+
@token_url ||= base_url + TOKEN_PATH
|
21
|
+
end
|
22
|
+
|
23
|
+
def base_fhir_url
|
24
|
+
@base_fhir_url ||= base_url + BASE_FHIR_PATH
|
25
|
+
end
|
26
|
+
|
27
|
+
def patient_url
|
28
|
+
@patient_url ||= base_url + PATIENT_PATH
|
29
|
+
end
|
30
|
+
|
31
|
+
def submit_url
|
32
|
+
@submit_url ||= base_url + SUBMIT_PATH
|
33
|
+
end
|
34
|
+
|
35
|
+
def metadata_url
|
36
|
+
@metadata_url ||= base_url + METADATA_PATH
|
37
|
+
end
|
38
|
+
|
39
|
+
def everything_url
|
40
|
+
@everything_url ||= base_url + EVERYTHING_PATH
|
41
|
+
end
|
42
|
+
|
43
|
+
def member_match_url
|
44
|
+
@member_match_url ||= base_url + MEMBER_MATCH_PATH
|
45
|
+
end
|
46
|
+
|
47
|
+
# def export_url
|
48
|
+
# @export_url ||= base_url + EXPORT_PATH
|
49
|
+
# end
|
50
|
+
|
51
|
+
def resume_pass_url
|
52
|
+
@resume_pass_url ||= base_url + RESUME_PASS_PATH
|
53
|
+
end
|
54
|
+
|
55
|
+
def resume_clinical_data_url
|
56
|
+
@resume_clinical_data_url ||= base_url + RESUME_CLINICAL_DATA_PATH
|
57
|
+
end
|
58
|
+
|
59
|
+
def resume_fail_url
|
60
|
+
@resume_fail_url ||= base_url + RESUME_FAIL_PATH
|
61
|
+
end
|
62
|
+
|
63
|
+
def suite_id
|
64
|
+
self.class.suite.id
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module DaVinciPDexTestKit
|
2
|
+
module UserInputResponse
|
3
|
+
def self.included(klass)
|
4
|
+
klass.extend ClassMethods
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.user_inputted_response(configurable, result)
|
8
|
+
input_key = configurable.config.options[:respond_with]
|
9
|
+
return unless input_key.present?
|
10
|
+
|
11
|
+
JSON.parse(result.input_json)&.find { |i| i['name'] == input_key.to_s }&.dig('value')
|
12
|
+
rescue JSON::ParserError
|
13
|
+
nil
|
14
|
+
end
|
15
|
+
|
16
|
+
def check_user_inputted_response(input_key, message = nil)
|
17
|
+
skip_if send(input_key).blank?,
|
18
|
+
message ||
|
19
|
+
"To run this test a response body must be provided in the '**#{input_title(input_key)}**' input"
|
20
|
+
end
|
21
|
+
|
22
|
+
def input_title(input_key)
|
23
|
+
config.inputs[input_key]&.title || config.inputs[input_key]&.name
|
24
|
+
end
|
25
|
+
|
26
|
+
module ClassMethods
|
27
|
+
def respond_with(key)
|
28
|
+
config options: { respond_with: key }
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,8 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'davinci_pdex_test_kit/pdex_payer_server_suite'
|
4
|
+
require_relative 'davinci_pdex_test_kit/pdex_payer_client_suite'
|
5
|
+
# require_relative 'davinci_pdex_test_kit/pdex_provider_client_suite'
|
6
|
+
|
7
|
+
module DaVinciPDexTestKit
|
8
|
+
end
|
metadata
ADDED
@@ -0,0 +1,218 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: davinci_pdex_test_kit
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.9.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Karl Naden
|
8
|
+
- Shaumik Ashraf
|
9
|
+
- Diego Griese
|
10
|
+
autorequire:
|
11
|
+
bindir: bin
|
12
|
+
cert_chain: []
|
13
|
+
date: 2024-06-07 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: inferno_core
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
19
|
+
- - "~>"
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: 0.4.38
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
requirements:
|
26
|
+
- - "~>"
|
27
|
+
- !ruby/object:Gem::Version
|
28
|
+
version: 0.4.38
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: us_core_test_kit
|
31
|
+
requirement: !ruby/object:Gem::Requirement
|
32
|
+
requirements:
|
33
|
+
- - "~>"
|
34
|
+
- !ruby/object:Gem::Version
|
35
|
+
version: 0.6.5
|
36
|
+
type: :runtime
|
37
|
+
prerelease: false
|
38
|
+
version_requirements: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - "~>"
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 0.6.5
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: bulk_data_test_kit
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0.10'
|
50
|
+
type: :runtime
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - "~>"
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: '0.10'
|
57
|
+
- !ruby/object:Gem::Dependency
|
58
|
+
name: database_cleaner-sequel
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- - "~>"
|
62
|
+
- !ruby/object:Gem::Version
|
63
|
+
version: '1.8'
|
64
|
+
type: :development
|
65
|
+
prerelease: false
|
66
|
+
version_requirements: !ruby/object:Gem::Requirement
|
67
|
+
requirements:
|
68
|
+
- - "~>"
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '1.8'
|
71
|
+
- !ruby/object:Gem::Dependency
|
72
|
+
name: factory_bot
|
73
|
+
requirement: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - "~>"
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '6.1'
|
78
|
+
type: :development
|
79
|
+
prerelease: false
|
80
|
+
version_requirements: !ruby/object:Gem::Requirement
|
81
|
+
requirements:
|
82
|
+
- - "~>"
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: '6.1'
|
85
|
+
- !ruby/object:Gem::Dependency
|
86
|
+
name: rspec
|
87
|
+
requirement: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - "~>"
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '3.10'
|
92
|
+
type: :development
|
93
|
+
prerelease: false
|
94
|
+
version_requirements: !ruby/object:Gem::Requirement
|
95
|
+
requirements:
|
96
|
+
- - "~>"
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '3.10'
|
99
|
+
- !ruby/object:Gem::Dependency
|
100
|
+
name: webmock
|
101
|
+
requirement: !ruby/object:Gem::Requirement
|
102
|
+
requirements:
|
103
|
+
- - "~>"
|
104
|
+
- !ruby/object:Gem::Version
|
105
|
+
version: '3.11'
|
106
|
+
type: :development
|
107
|
+
prerelease: false
|
108
|
+
version_requirements: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - "~>"
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '3.11'
|
113
|
+
description: Test Kit for the Da Vinci Payer Data Exchange (PDex) FHIR Implementation
|
114
|
+
Guide
|
115
|
+
email:
|
116
|
+
- inferno@groups.mitre.org
|
117
|
+
executables: []
|
118
|
+
extensions: []
|
119
|
+
extra_rdoc_files: []
|
120
|
+
files:
|
121
|
+
- LICENSE
|
122
|
+
- lib/davinci_pdex_test_kit.rb
|
123
|
+
- lib/davinci_pdex_test_kit/docs/payer_client_suite_description_v200.md
|
124
|
+
- lib/davinci_pdex_test_kit/docs/payer_server_suite_description_v200.md
|
125
|
+
- lib/davinci_pdex_test_kit/ext/inferno_core/record_response_route.rb
|
126
|
+
- lib/davinci_pdex_test_kit/ext/inferno_core/request.rb
|
127
|
+
- lib/davinci_pdex_test_kit/ext/inferno_core/runnable.rb
|
128
|
+
- lib/davinci_pdex_test_kit/fhir_resource_navigation.rb
|
129
|
+
- lib/davinci_pdex_test_kit/group_metadata.rb
|
130
|
+
- lib/davinci_pdex_test_kit/metadata/mock_capability_statement.json
|
131
|
+
- lib/davinci_pdex_test_kit/metadata/mock_operation_outcome_resource.json
|
132
|
+
- lib/davinci_pdex_test_kit/mock_server.rb
|
133
|
+
- lib/davinci_pdex_test_kit/must_support_test.rb
|
134
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/client_member_match_tests/client_member_match_submit_test.rb
|
135
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/client_member_match_tests/client_member_match_validation_test.rb
|
136
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/client_member_match_must_support_submit_test.rb
|
137
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/client_member_match_must_support_validation_test.rb
|
138
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/client_validation_test.rb
|
139
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/allergyintolerance_clinical_data_request_test.rb
|
140
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/careplan_clinical_data_request_test.rb
|
141
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/careteam_clinical_data_request_test.rb
|
142
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/condition_clinical_data_request_test.rb
|
143
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/device_clinical_data_request_test.rb
|
144
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/diagnosticreport_clinical_data_request_test.rb
|
145
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/documentreference_clinical_data_request_test.rb
|
146
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/encounter_clinical_data_request_test.rb
|
147
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/explanationofbenefit_clinical_data_request_test.rb
|
148
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/goal_clinical_data_request_test.rb
|
149
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/immunization_clinical_data_request_test.rb
|
150
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/initial_scratch_storing.rb
|
151
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/initial_wait_test.rb
|
152
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/location_clinical_data_request_test.rb
|
153
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/medicationdispense_clinical_data_request_test.rb
|
154
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/medicationrequest_clinical_data_request_test.rb
|
155
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/observation_clinical_data_request_test.rb
|
156
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/organization_clinical_data_request_test.rb
|
157
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/patient_clinical_data_request_test.rb
|
158
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/practitioner_clinical_data_request_test.rb
|
159
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/practitionerrole_clinical_data_request_test.rb
|
160
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/procedure_clinical_data_request_test.rb
|
161
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client/collection.rb
|
162
|
+
- lib/davinci_pdex_test_kit/pdex_payer_client_suite.rb
|
163
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/abstract_member_match_request_conformance_test.rb
|
164
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/abstract_member_match_request_local_references_test.rb
|
165
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_has_minimal_data_test.rb
|
166
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_must_support_test.rb
|
167
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_id_search_test.rb
|
168
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_identifier_search_test.rb
|
169
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_must_support_test.rb
|
170
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_last_updated_search_test.rb
|
171
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_service_date_search_test.rb
|
172
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_type_search_test.rb
|
173
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_use_search_test.rb
|
174
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_provenance_revinclude_search_test.rb
|
175
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_read_test.rb
|
176
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_reference_resolution_test.rb
|
177
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_validation_test.rb
|
178
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit_group.rb
|
179
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/export_patient_group.rb
|
180
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/export_validation_group.rb
|
181
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/multiple_member_matches_group.rb
|
182
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/no_member_matches_group.rb
|
183
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/workflow_clinical_data.rb
|
184
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/workflow_everything.rb
|
185
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/workflow_export.rb
|
186
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server/workflow_member_match.rb
|
187
|
+
- lib/davinci_pdex_test_kit/pdex_payer_server_suite.rb
|
188
|
+
- lib/davinci_pdex_test_kit/pdex_provider_client_suite.rb
|
189
|
+
- lib/davinci_pdex_test_kit/tags.rb
|
190
|
+
- lib/davinci_pdex_test_kit/urls.rb
|
191
|
+
- lib/davinci_pdex_test_kit/user_input_response.rb
|
192
|
+
- lib/davinci_pdex_test_kit/version.rb
|
193
|
+
homepage: https://github.com/inferno-framework/davinci-pdex-test-kit/
|
194
|
+
licenses:
|
195
|
+
- Apache-2.0
|
196
|
+
metadata:
|
197
|
+
homepage_uri: https://github.com/inferno-framework/davinci-pdex-test-kit/
|
198
|
+
source_code_uri: https://github.com/inferno-framework/davinci-pdex-test-kit/
|
199
|
+
post_install_message:
|
200
|
+
rdoc_options: []
|
201
|
+
require_paths:
|
202
|
+
- lib
|
203
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
204
|
+
requirements:
|
205
|
+
- - ">="
|
206
|
+
- !ruby/object:Gem::Version
|
207
|
+
version: 3.1.2
|
208
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
209
|
+
requirements:
|
210
|
+
- - ">="
|
211
|
+
- !ruby/object:Gem::Version
|
212
|
+
version: '0'
|
213
|
+
requirements: []
|
214
|
+
rubygems_version: 3.3.7
|
215
|
+
signing_key:
|
216
|
+
specification_version: 4
|
217
|
+
summary: Da Vinci PDex Test Kit
|
218
|
+
test_files: []
|