davinci_pdex_test_kit 0.10.6 → 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.
Files changed (97) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/pdex_payer_client_postman_preset.json +12 -0
  3. data/config/presets/pdex_payer_server_fhir_foundry_ri_preset.json +96 -0
  4. data/config/presets/pdex_payer_server_inferno_ri_preset.json +96 -0
  5. data/lib/davinci_pdex_test_kit/docs/davinci_pdex_test_kit_description_v200.md +33 -0
  6. data/lib/davinci_pdex_test_kit/docs/payer_client_suite_description_v200.md +107 -17
  7. data/lib/davinci_pdex_test_kit/fhir_resource_navigation.rb +5 -1
  8. data/lib/davinci_pdex_test_kit/group_metadata.rb +5 -1
  9. data/lib/davinci_pdex_test_kit/igs/davinci-pdex-2.0.0.tgz +0 -0
  10. data/lib/davinci_pdex_test_kit/igs/us-core-3.1.1.tgz +0 -0
  11. data/lib/davinci_pdex_test_kit/metadata.rb +16 -0
  12. data/lib/davinci_pdex_test_kit/must_support_test.rb +3 -0
  13. data/lib/davinci_pdex_test_kit/pdex_payer_client/client_member_match_tests/client_member_match_validation_test.rb +20 -18
  14. data/lib/davinci_pdex_test_kit/pdex_payer_client/client_validation_test.rb +96 -43
  15. data/lib/davinci_pdex_test_kit/pdex_payer_client/client_workflow_interaction_test.rb +49 -0
  16. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/allergyintolerance_clinical_data_request_test.rb +18 -16
  17. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/careplan_clinical_data_request_test.rb +18 -16
  18. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/careteam_clinical_data_request_test.rb +18 -16
  19. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/clinical_data_request_check_test.rb +24 -0
  20. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/condition_clinical_data_request_test.rb +18 -16
  21. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/device_clinical_data_request_test.rb +19 -17
  22. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/diagnosticreport_clinical_data_request_test.rb +18 -16
  23. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/documentreference_clinical_data_request_test.rb +18 -16
  24. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/encounter_clinical_data_request_test.rb +18 -16
  25. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/explanationofbenefit_clinical_data_request_test.rb +18 -16
  26. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/goal_clinical_data_request_test.rb +18 -16
  27. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/immunization_clinical_data_request_test.rb +18 -16
  28. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/location_clinical_data_request_test.rb +18 -16
  29. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/medicationdispense_clinical_data_request_test.rb +18 -16
  30. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/medicationrequest_clinical_data_request_test.rb +18 -16
  31. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/observation_clinical_data_request_test.rb +18 -16
  32. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/organization_clinical_data_request_test.rb +18 -16
  33. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/patient_clinical_data_request_test.rb +18 -16
  34. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/patient_id_search_request_check_test.rb +21 -0
  35. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/practitioner_clinical_data_request_test.rb +18 -16
  36. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/practitionerrole_clinical_data_request_test.rb +18 -16
  37. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/procedure_clinical_data_request_test.rb +18 -16
  38. data/lib/davinci_pdex_test_kit/pdex_payer_client/collection.rb +46 -44
  39. data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/binary_endpoint.rb +26 -0
  40. data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/export_endpoint.rb +29 -0
  41. data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/export_status_endpoint.rb +38 -0
  42. data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/member_match_endpoint.rb +51 -0
  43. data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/next_page_endpoint.rb +23 -0
  44. data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/patient_endpoint.rb +25 -0
  45. data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/patient_everything_endpoint.rb +34 -0
  46. data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/proxy_endpoint.rb +178 -0
  47. data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/resource_read_endpoint.rb +21 -0
  48. data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/resource_search_endpoint.rb +22 -0
  49. data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/token_endpoint.rb +27 -0
  50. data/lib/davinci_pdex_test_kit/pdex_payer_client/mock_server.rb +53 -0
  51. data/lib/davinci_pdex_test_kit/pdex_payer_client/tags.rb +15 -0
  52. data/lib/davinci_pdex_test_kit/pdex_payer_client/urls.rb +51 -0
  53. data/lib/davinci_pdex_test_kit/pdex_payer_client_suite.rb +101 -144
  54. data/lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_minimal_data_validation.rb +1 -1
  55. data/lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_must_support_validation.rb +1 -1
  56. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_id_search_test.rb +5 -4
  57. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_identifier_search_test.rb +5 -4
  58. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_must_support_test.rb +3 -2
  59. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_last_updated_search_test.rb +7 -6
  60. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_service_date_search_test.rb +7 -6
  61. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_type_search_test.rb +7 -6
  62. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_use_search_test.rb +6 -5
  63. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_provenance_revinclude_search_test.rb +10 -7
  64. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_read_test.rb +1 -1
  65. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_reference_resolution_test.rb +3 -2
  66. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_validation_test.rb +1 -1
  67. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/metadata.yml +12 -12
  68. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit_group.rb +12 -14
  69. data/lib/davinci_pdex_test_kit/pdex_payer_server/export_patient_group.rb +3 -4
  70. data/lib/davinci_pdex_test_kit/pdex_payer_server/export_validation_group.rb +2 -6
  71. data/lib/davinci_pdex_test_kit/pdex_payer_server/member_match_request_local_references_validation.rb +1 -1
  72. data/lib/davinci_pdex_test_kit/pdex_payer_server/member_match_request_profile_validation.rb +1 -3
  73. data/lib/davinci_pdex_test_kit/pdex_payer_server/multiple_member_matches_group.rb +7 -8
  74. data/lib/davinci_pdex_test_kit/pdex_payer_server/no_member_matches_group.rb +7 -8
  75. data/lib/davinci_pdex_test_kit/pdex_payer_server/patient_operation_in_capability_statement_validation.rb +1 -3
  76. data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_clinical_data_group.rb +3 -5
  77. data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_everything_group.rb +2 -4
  78. data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_export_group.rb +2 -4
  79. data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_member_match_group.rb +12 -13
  80. data/lib/davinci_pdex_test_kit/pdex_payer_server_suite.rb +13 -14
  81. data/lib/davinci_pdex_test_kit/version.rb +2 -3
  82. data/lib/davinci_pdex_test_kit.rb +1 -2
  83. metadata +65 -24
  84. data/lib/davinci_pdex_test_kit/ext/inferno_core/record_response_route.rb +0 -98
  85. data/lib/davinci_pdex_test_kit/ext/inferno_core/request.rb +0 -19
  86. data/lib/davinci_pdex_test_kit/ext/inferno_core/runnable.rb +0 -18
  87. data/lib/davinci_pdex_test_kit/mock_server.rb +0 -281
  88. data/lib/davinci_pdex_test_kit/pdex_payer_client/client_member_match_tests/client_member_match_submit_test.rb +0 -24
  89. data/lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/client_member_match_must_support_submit_test.rb +0 -26
  90. data/lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/client_member_match_must_support_validation_test.rb +0 -32
  91. data/lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/metadata.yml +0 -61
  92. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/initial_scratch_storing.rb +0 -32
  93. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/initial_wait_test.rb +0 -31
  94. data/lib/davinci_pdex_test_kit/tags.rb +0 -11
  95. data/lib/davinci_pdex_test_kit/urls.rb +0 -77
  96. /data/lib/davinci_pdex_test_kit/{metadata → pdex_payer_client/mock_server/resources}/mock_capability_statement.json +0 -0
  97. /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 'ext/inferno_core/record_response_route'
3
- require_relative 'ext/inferno_core/runnable'
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 'must_support_test'
10
- require_relative 'pdex_payer_client/client_validation_test'
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/clinical_data_request_tests/initial_wait_test'
13
- require_relative 'pdex_payer_client/clinical_data_request_tests/initial_scratch_storing'
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
- class PDexPayerClientSuite < Inferno::TestSuite
43
- extend MockServer
44
- extend ClientValidationTest
45
-
46
- id :pdex_payer_client
47
- title 'Da Vinci PDex Payer Client Test Suite'
48
- description File.read(File.join(__dir__, 'docs', 'payer_client_suite_description_v200.md'))
49
-
50
- def self.test_resumes?(test)
51
- !test.config.options[:accepts_multiple_requests]
52
- end
53
-
54
- links [
55
- {
56
- label: 'Report Issue',
57
- url: 'https://github.com/inferno-framework/davinci-pdex-test-kit/issues'
58
- },
59
- {
60
- label: 'Open Source',
61
- url: 'https://github.com/inferno-framework/davinci-pdex-test-kit'
62
- },
63
- {
64
- label: 'Download',
65
- url: 'https://github.com/inferno-framework/davinci-pdex-test-kit/releases'
66
- },
67
- {
68
- label: 'Implementation Guide',
69
- url: 'https://hl7.org/fhir/us/davinci-pdex/STU2/'
70
- }
71
- ]
72
-
73
- # Hl7 Validator Wrapper:
74
- fhir_resource_validator do
75
- igs 'hl7.fhir.us.davinci-pdex#2.0.0'
76
- # hrex 1.0.0 and other dependencies will auto-load
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
- record_response_route :get, SUBMIT_PATH, SUBMIT_TAG, method(:claim_response),
93
- resumes: method(:test_resumes?) do |request|
94
- PDexPayerClientSuite.extract_bearer_token(request)
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
- record_response_route :get, BINARY_PATH, BINARY_TAG, method(:binary_read_response),
98
- resumes: method(:test_resumes?) do |request|
99
- PDexPayerClientSuite.extract_bearer_token(request)
100
- end
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
- record_response_route :get, EVERYTHING_PATH, EVERYTHING_TAG, method(:everything_response),
103
- resumes: method(:test_resumes?) do |request|
104
- PDexPayerClientSuite.extract_bearer_token(request)
105
- end
86
+ group do
87
+ run_as_group
88
+ title "Workflow Tests"
89
+ id :payer_to_payer_workflow
106
90
 
107
- record_response_route :get, EXPORT_PATH, EXPORT_TAG, method(:export_response),
108
- resumes: method(:test_resumes?) do |request|
109
- PDexPayerClientSuite.extract_bearer_token(request)
110
- end
91
+ group do
92
+ title "Interaction Tests"
93
+ id :client_workflow_interaction
111
94
 
112
- record_response_route :get, EXPORT_STATUS_PATH, EXPORT_STATUS_TAG, method(:export_status_response),
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
- record_response_route :post, MEMBER_MATCH_PATH, MEMBER_MATCH_TAG, method(:member_match_response),
118
- resumes: method(:test_resumes?) do |request|
119
- PDexPayerClientSuite.extract_bearer_token(request)
120
- end
98
+ group do
99
+ title "$member-match validation"
100
+ id :member_match_validation
121
101
 
122
- record_response_route :get, BASE_FHIR_PATH, SUBMIT_TAG, method(:read_next_page),
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
- resume_test_route :get, RESUME_CLINICAL_DATA_PATH do |request|
132
- PDexPayerClientSuite.extract_token_from_query_params(request)
133
- end
134
-
135
- resume_test_route :get, RESUME_FAIL_PATH, result: 'fail' do |request|
136
- PDexPayerClientSuite.extract_token_from_query_params(request)
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
- route(:get, METADATA_PATH, get_metadata)
136
+ private
140
137
 
141
- group do
142
- run_as_group
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
 
@@ -28,7 +28,7 @@ module DaVinciPDexTestKit
28
28
  #
29
29
  class CoverageToLinkMinimalDataValidation < Inferno::Test
30
30
 
31
- id :pdex_coverage_to_link_minimal_data_validation
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 %{
@@ -29,7 +29,7 @@ module DaVinciPDexTestKit
29
29
  #
30
30
  class CoverageToLinkMustSupportValidation < Inferno::Test
31
31
 
32
- id :pdex_coverage_to_link_must_support_validation
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 :pdex_explanation_of_benefit__id_search_test
29
+ id :pdex_eob_id_search
30
30
 
31
31
  input :patient_ids,
32
- title: 'Patient IDs',
33
- description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
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'), aliases: true))
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 :pdex_explanation_of_benefit_identifier_search_test
29
+ id :pdex_eob_identifier_search
30
30
 
31
31
  input :patient_ids,
32
- title: 'Patient IDs',
33
- description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
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'), aliases: true))
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 :pdex_explanation_of_benefit_must_support_test
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'), aliases: true))
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 :pdex_explanation_of_benefit_patient__last_updated_search_test
35
+ id :pdex_eob_patient_last_updated_search
36
36
 
37
37
  input :patient_ids,
38
- title: 'Patient IDs',
39
- description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
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'), aliases: true))
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 :pdex_explanation_of_benefit_patient_service_date_search_test
35
+ id :pdex_eob_patient_service_date_search
36
36
 
37
37
  input :patient_ids,
38
- title: 'Patient IDs',
39
- description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
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'), aliases: true))
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 :pdex_explanation_of_benefit_patient_type_search_test
35
+ id :pdex_eob_patient_type_search
36
36
 
37
37
  input :patient_ids,
38
- title: 'Patient IDs',
39
- description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
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'), aliases: true))
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 :pdex_explanation_of_benefit_patient_use_search_test
35
+ id :pdex_eob_patient_use_search
36
36
 
37
37
  input :patient_ids,
38
- title: 'Patient IDs',
39
- description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
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'), aliases: true))
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 :pdex_explanation_of_benefit_provenance_revinclude_search_test
19
-
18
+ id :pdex_eob_provenance_revinclude_search
19
+
20
20
  input :patient_ids,
21
- title: 'Patient IDs',
22
- description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
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
- search_param_names: ['patient']
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(File.join(__dir__, '..', 'provenance', 'metadata.yml'), aliases: true))
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 :pdex_explanation_of_benefit_read_test
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 :pdex_explanation_of_benefit_reference_resolution_test
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'), aliases: true))
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 :pdex_explanation_of_benefit_validation_test
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: pdex_explanation_of_benefit_patient_use_search_test
565
+ - :id: pdex_eob_patient_use_search
566
566
  :file_name: explanation_of_benefit_patient_use_search_test.rb
567
- - :id: pdex_explanation_of_benefit__id_search_test
567
+ - :id: pdex_eob_id_search
568
568
  :file_name: explanation_of_benefit_id_search_test.rb
569
- - :id: pdex_explanation_of_benefit_patient__last_updated_search_test
569
+ - :id: pdex_eob_patient_last_updated_search
570
570
  :file_name: explanation_of_benefit_patient_last_updated_search_test.rb
571
- - :id: pdex_explanation_of_benefit_service_date_search_test
571
+ - :id: pdex_eob_service_date
572
572
  :file_name: explanation_of_benefit_service_date_search_test.rb
573
- - :id: pdex_explanation_of_benefit_patient_type_search_test
573
+ - :id: pdex_eob_patient_type_search
574
574
  :file_name: explanation_of_benefit_patient_type_search_test.rb
575
- - :id: pdex_explanation_of_benefit_identifier_search_test
575
+ - :id: pdex_eob_identifier_search
576
576
  :file_name: explanation_of_benefit_identifier_search_test.rb
577
- - :id: pdex_explanation_of_benefit_read_test
577
+ - :id: pdex_eob_read
578
578
  :file_name: explanation_of_benefit_read_test.rb
579
- - :id: pdex_explanation_of_benefit_provenance_revinclude_search_test
579
+ - :id: pdex_eob_provenance_revinclude_search
580
580
  :file_name: explanation_of_benefit_provenance_revinclude_search_test.rb
581
- - :id: pdex_explanation_of_benefit_validation_test
581
+ - :id: pdex_eob_validation
582
582
  :file_name: explanation_of_benefit_validation_test.rb
583
- - :id: pdex_explanation_of_benefit_must_support_test
583
+ - :id: pdex_eob_must_support
584
584
  :file_name: explanation_of_benefit_must_support_test.rb
585
- - :id: pdex_explanation_of_benefit_reference_resolution_test
585
+ - :id: pdex_eob_ref_resolution
586
586
  :file_name: explanation_of_benefit_reference_resolution_test.rb
587
587
 
588
- :id: pdex_explanation_of_benefit
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