davinci_pdex_test_kit 0.10.6 → 0.12.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 (131) 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 +21 -17
  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 +50 -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 +99 -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/device/device_must_support_test.rb +50 -0
  57. data/lib/davinci_pdex_test_kit/pdex_payer_server/device/device_patient_search_test.rb +68 -0
  58. data/lib/davinci_pdex_test_kit/pdex_payer_server/device/device_patient_type_search_test.rb +54 -0
  59. data/lib/davinci_pdex_test_kit/pdex_payer_server/{explanation_of_benefit/explanation_of_benefit_provenance_revinclude_search_test.rb → device/device_provenance_revinclude_search_test.rb} +16 -13
  60. data/lib/davinci_pdex_test_kit/pdex_payer_server/device/device_read_test.rb +26 -0
  61. data/lib/davinci_pdex_test_kit/pdex_payer_server/device/device_reference_resolution_test.rb +42 -0
  62. data/lib/davinci_pdex_test_kit/pdex_payer_server/device/device_validation_test.rb +39 -0
  63. data/lib/davinci_pdex_test_kit/pdex_payer_server/device/metadata.yml +154 -0
  64. data/lib/davinci_pdex_test_kit/pdex_payer_server/device_group.rb +88 -0
  65. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_id_search_test.rb +10 -26
  66. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_identifier_search_test.rb +13 -26
  67. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_must_support_test.rb +40 -7
  68. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_lastupdated_search_test.rb +48 -0
  69. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_search_test.rb +62 -0
  70. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_service_date_search_test.rb +13 -28
  71. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_type_search_test.rb +12 -28
  72. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_read_test.rb +1 -1
  73. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_reference_resolution_test.rb +10 -6
  74. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_validation_test.rb +10 -11
  75. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/metadata.yml +285 -273
  76. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit_group.rb +69 -73
  77. data/lib/davinci_pdex_test_kit/pdex_payer_server/export_patient_group.rb +11 -13
  78. data/lib/davinci_pdex_test_kit/pdex_payer_server/export_validation_group.rb +3 -8
  79. data/lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_must_support_test.rb +42 -0
  80. data/lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_patient_search_test.rb +64 -0
  81. data/lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_patient_status_search_test.rb +54 -0
  82. data/lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_patient_status_type_search_test.rb +55 -0
  83. data/lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_provenance_revinclude_search_test.rb +54 -0
  84. data/lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_read_test.rb +26 -0
  85. data/lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_reference_resolution_test.rb +42 -0
  86. data/lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_validation_test.rb +39 -0
  87. data/lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/metadata.yml +206 -0
  88. data/lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense_group.rb +69 -0
  89. data/lib/davinci_pdex_test_kit/pdex_payer_server/member_match_request_local_references_validation.rb +1 -1
  90. data/lib/davinci_pdex_test_kit/pdex_payer_server/member_match_request_profile_validation.rb +1 -3
  91. data/lib/davinci_pdex_test_kit/pdex_payer_server/multiple_member_matches_group.rb +36 -37
  92. data/lib/davinci_pdex_test_kit/pdex_payer_server/no_member_matches_group.rb +30 -31
  93. data/lib/davinci_pdex_test_kit/pdex_payer_server/patient_operation_in_capability_statement_validation.rb +16 -16
  94. data/lib/davinci_pdex_test_kit/pdex_payer_server/provenance/metadata.yml +173 -0
  95. data/lib/davinci_pdex_test_kit/pdex_payer_server/provenance/provenance_must_support_test.rb +51 -0
  96. data/lib/davinci_pdex_test_kit/pdex_payer_server/provenance/provenance_read_test.rb +26 -0
  97. data/lib/davinci_pdex_test_kit/pdex_payer_server/provenance/provenance_reference_resolution_test.rb +46 -0
  98. data/lib/davinci_pdex_test_kit/pdex_payer_server/provenance/provenance_validation_test.rb +39 -0
  99. data/lib/davinci_pdex_test_kit/pdex_payer_server/provenance_group.rb +59 -0
  100. data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_clinical_data_group.rb +25 -16
  101. data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_everything_group.rb +21 -10
  102. data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_export_group.rb +24 -20
  103. data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_member_match_group.rb +56 -38
  104. data/lib/davinci_pdex_test_kit/pdex_payer_server_suite.rb +124 -112
  105. data/lib/davinci_pdex_test_kit/pdex_provider_client_suite.rb +8 -8
  106. data/lib/davinci_pdex_test_kit/requirements/davinci-pdex-test-kit_out_of_scope_requirements.csv +1 -0
  107. data/lib/davinci_pdex_test_kit/requirements/davinci-pdex-test-kit_requirements.csv +64 -0
  108. data/lib/davinci_pdex_test_kit/requirements/generated/davinci-pdex-test-kit_requirements_coverage.csv +64 -0
  109. data/lib/davinci_pdex_test_kit/version.rb +2 -3
  110. data/lib/davinci_pdex_test_kit.rb +2 -2
  111. data/lib/inferno_requirements_tools/ext/inferno_core/runnable.rb +22 -0
  112. data/lib/inferno_requirements_tools/rake/rakefile_template +19 -0
  113. data/lib/inferno_requirements_tools/tasks/requirements_coverage.rb +284 -0
  114. data/lib/requirements_config.yaml +17 -0
  115. metadata +113 -27
  116. data/lib/davinci_pdex_test_kit/ext/inferno_core/record_response_route.rb +0 -98
  117. data/lib/davinci_pdex_test_kit/ext/inferno_core/request.rb +0 -19
  118. data/lib/davinci_pdex_test_kit/ext/inferno_core/runnable.rb +0 -18
  119. data/lib/davinci_pdex_test_kit/mock_server.rb +0 -281
  120. data/lib/davinci_pdex_test_kit/pdex_payer_client/client_member_match_tests/client_member_match_submit_test.rb +0 -24
  121. data/lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/client_member_match_must_support_submit_test.rb +0 -26
  122. data/lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/client_member_match_must_support_validation_test.rb +0 -32
  123. data/lib/davinci_pdex_test_kit/pdex_payer_client/client_must_support_tests/metadata.yml +0 -61
  124. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/initial_scratch_storing.rb +0 -32
  125. data/lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/initial_wait_test.rb +0 -31
  126. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_last_updated_search_test.rb +0 -63
  127. data/lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_use_search_test.rb +0 -68
  128. data/lib/davinci_pdex_test_kit/tags.rb +0 -11
  129. data/lib/davinci_pdex_test_kit/urls.rb +0 -77
  130. /data/lib/davinci_pdex_test_kit/{metadata → pdex_payer_client/mock_server/resources}/mock_capability_statement.json +0 -0
  131. /data/lib/davinci_pdex_test_kit/{metadata → pdex_payer_client/mock_server/resources}/mock_operation_outcome_resource.json +0 -0
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.10.6
4
+ version: 0.12.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: 2024-11-07 00:00:00.000000000 Z
13
+ date: 2025-04-03 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.5.0
21
+ version: 0.6.7
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.5.0
28
+ version: 0.6.7
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: 0.9.0
35
+ version: 0.11.0
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: 0.9.0
42
+ version: 0.11.0
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: 0.10.0
49
+ version: 0.12.1
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: 0.10.0
56
+ version: 0.12.1
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
@@ -124,6 +152,20 @@ dependencies:
124
152
  - - "~>"
125
153
  - !ruby/object:Gem::Version
126
154
  version: '3.4'
155
+ - !ruby/object:Gem::Dependency
156
+ name: roo
157
+ requirement: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - "~>"
160
+ - !ruby/object:Gem::Version
161
+ version: 2.10.1
162
+ type: :development
163
+ prerelease: false
164
+ version_requirements: !ruby/object:Gem::Requirement
165
+ requirements:
166
+ - - "~>"
167
+ - !ruby/object:Gem::Version
168
+ version: 2.10.1
127
169
  description: Test Kit for the Da Vinci Payer Data Exchange (PDex) FHIR Implementation
128
170
  Guide
129
171
  email:
@@ -133,27 +175,26 @@ extensions: []
133
175
  extra_rdoc_files: []
134
176
  files:
135
177
  - LICENSE
178
+ - config/presets/pdex_payer_client_postman_preset.json
179
+ - config/presets/pdex_payer_server_fhir_foundry_ri_preset.json
180
+ - config/presets/pdex_payer_server_inferno_ri_preset.json
136
181
  - lib/davinci_pdex_test_kit.rb
182
+ - lib/davinci_pdex_test_kit/docs/davinci_pdex_test_kit_description_v200.md
137
183
  - lib/davinci_pdex_test_kit/docs/payer_client_suite_description_v200.md
138
184
  - 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
185
  - lib/davinci_pdex_test_kit/fhir_resource_navigation.rb
143
186
  - lib/davinci_pdex_test_kit/group_metadata.rb
144
- - lib/davinci_pdex_test_kit/metadata/mock_capability_statement.json
145
- - lib/davinci_pdex_test_kit/metadata/mock_operation_outcome_resource.json
146
- - lib/davinci_pdex_test_kit/mock_server.rb
187
+ - lib/davinci_pdex_test_kit/igs/davinci-pdex-2.0.0.tgz
188
+ - lib/davinci_pdex_test_kit/igs/us-core-3.1.1.tgz
189
+ - lib/davinci_pdex_test_kit/metadata.rb
147
190
  - 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
191
  - 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
192
  - lib/davinci_pdex_test_kit/pdex_payer_client/client_validation_test.rb
193
+ - lib/davinci_pdex_test_kit/pdex_payer_client/client_workflow_interaction_test.rb
154
194
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/allergyintolerance_clinical_data_request_test.rb
155
195
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/careplan_clinical_data_request_test.rb
156
196
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/careteam_clinical_data_request_test.rb
197
+ - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/clinical_data_request_check_test.rb
157
198
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/condition_clinical_data_request_test.rb
158
199
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/device_clinical_data_request_test.rb
159
200
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/diagnosticreport_clinical_data_request_test.rb
@@ -162,29 +203,52 @@ files:
162
203
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/explanationofbenefit_clinical_data_request_test.rb
163
204
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/goal_clinical_data_request_test.rb
164
205
  - 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
206
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/location_clinical_data_request_test.rb
168
207
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/medicationdispense_clinical_data_request_test.rb
169
208
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/medicationrequest_clinical_data_request_test.rb
170
209
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/observation_clinical_data_request_test.rb
171
210
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/organization_clinical_data_request_test.rb
172
211
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/patient_clinical_data_request_test.rb
212
+ - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/patient_id_search_request_check_test.rb
173
213
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/practitioner_clinical_data_request_test.rb
174
214
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/practitionerrole_clinical_data_request_test.rb
175
215
  - lib/davinci_pdex_test_kit/pdex_payer_client/clinical_data_request_tests/procedure_clinical_data_request_test.rb
176
216
  - lib/davinci_pdex_test_kit/pdex_payer_client/collection.rb
217
+ - lib/davinci_pdex_test_kit/pdex_payer_client/mock_server.rb
218
+ - lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/binary_endpoint.rb
219
+ - lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/export_endpoint.rb
220
+ - lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/export_status_endpoint.rb
221
+ - lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/member_match_endpoint.rb
222
+ - lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/next_page_endpoint.rb
223
+ - lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/patient_endpoint.rb
224
+ - lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/patient_everything_endpoint.rb
225
+ - lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/proxy_endpoint.rb
226
+ - lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/resource_read_endpoint.rb
227
+ - lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/resource_search_endpoint.rb
228
+ - lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/resources/mock_capability_statement.json
229
+ - lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/resources/mock_operation_outcome_resource.json
230
+ - lib/davinci_pdex_test_kit/pdex_payer_client/mock_server/token_endpoint.rb
231
+ - lib/davinci_pdex_test_kit/pdex_payer_client/tags.rb
232
+ - lib/davinci_pdex_test_kit/pdex_payer_client/urls.rb
177
233
  - lib/davinci_pdex_test_kit/pdex_payer_client_suite.rb
178
234
  - lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_minimal_data_validation.rb
179
235
  - lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_must_support_validation.rb
236
+ - lib/davinci_pdex_test_kit/pdex_payer_server/device/device_must_support_test.rb
237
+ - lib/davinci_pdex_test_kit/pdex_payer_server/device/device_patient_search_test.rb
238
+ - lib/davinci_pdex_test_kit/pdex_payer_server/device/device_patient_type_search_test.rb
239
+ - lib/davinci_pdex_test_kit/pdex_payer_server/device/device_provenance_revinclude_search_test.rb
240
+ - lib/davinci_pdex_test_kit/pdex_payer_server/device/device_read_test.rb
241
+ - lib/davinci_pdex_test_kit/pdex_payer_server/device/device_reference_resolution_test.rb
242
+ - lib/davinci_pdex_test_kit/pdex_payer_server/device/device_validation_test.rb
243
+ - lib/davinci_pdex_test_kit/pdex_payer_server/device/metadata.yml
244
+ - lib/davinci_pdex_test_kit/pdex_payer_server/device_group.rb
180
245
  - lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_id_search_test.rb
181
246
  - lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_identifier_search_test.rb
182
247
  - lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_must_support_test.rb
183
- - lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_last_updated_search_test.rb
248
+ - lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_lastupdated_search_test.rb
249
+ - lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_search_test.rb
184
250
  - lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_service_date_search_test.rb
185
251
  - lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_type_search_test.rb
186
- - lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_patient_use_search_test.rb
187
- - lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_provenance_revinclude_search_test.rb
188
252
  - lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_read_test.rb
189
253
  - lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_reference_resolution_test.rb
190
254
  - lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit/explanation_of_benefit_validation_test.rb
@@ -192,27 +256,49 @@ files:
192
256
  - lib/davinci_pdex_test_kit/pdex_payer_server/explanation_of_benefit_group.rb
193
257
  - lib/davinci_pdex_test_kit/pdex_payer_server/export_patient_group.rb
194
258
  - lib/davinci_pdex_test_kit/pdex_payer_server/export_validation_group.rb
259
+ - lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_must_support_test.rb
260
+ - lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_patient_search_test.rb
261
+ - lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_patient_status_search_test.rb
262
+ - lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_patient_status_type_search_test.rb
263
+ - lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_provenance_revinclude_search_test.rb
264
+ - lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_read_test.rb
265
+ - lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_reference_resolution_test.rb
266
+ - lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/medication_dispense_validation_test.rb
267
+ - lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense/metadata.yml
268
+ - lib/davinci_pdex_test_kit/pdex_payer_server/medication_dispense_group.rb
195
269
  - lib/davinci_pdex_test_kit/pdex_payer_server/member_match_request_local_references_validation.rb
196
270
  - lib/davinci_pdex_test_kit/pdex_payer_server/member_match_request_profile_validation.rb
197
271
  - lib/davinci_pdex_test_kit/pdex_payer_server/multiple_member_matches_group.rb
198
272
  - lib/davinci_pdex_test_kit/pdex_payer_server/no_member_matches_group.rb
199
273
  - lib/davinci_pdex_test_kit/pdex_payer_server/patient_operation_in_capability_statement_validation.rb
274
+ - lib/davinci_pdex_test_kit/pdex_payer_server/provenance/metadata.yml
275
+ - lib/davinci_pdex_test_kit/pdex_payer_server/provenance/provenance_must_support_test.rb
276
+ - lib/davinci_pdex_test_kit/pdex_payer_server/provenance/provenance_read_test.rb
277
+ - lib/davinci_pdex_test_kit/pdex_payer_server/provenance/provenance_reference_resolution_test.rb
278
+ - lib/davinci_pdex_test_kit/pdex_payer_server/provenance/provenance_validation_test.rb
279
+ - lib/davinci_pdex_test_kit/pdex_payer_server/provenance_group.rb
200
280
  - lib/davinci_pdex_test_kit/pdex_payer_server/workflow_clinical_data_group.rb
201
281
  - lib/davinci_pdex_test_kit/pdex_payer_server/workflow_everything_group.rb
202
282
  - lib/davinci_pdex_test_kit/pdex_payer_server/workflow_export_group.rb
203
283
  - lib/davinci_pdex_test_kit/pdex_payer_server/workflow_member_match_group.rb
204
284
  - lib/davinci_pdex_test_kit/pdex_payer_server_suite.rb
205
285
  - 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
286
+ - lib/davinci_pdex_test_kit/requirements/davinci-pdex-test-kit_out_of_scope_requirements.csv
287
+ - lib/davinci_pdex_test_kit/requirements/davinci-pdex-test-kit_requirements.csv
288
+ - lib/davinci_pdex_test_kit/requirements/generated/davinci-pdex-test-kit_requirements_coverage.csv
208
289
  - lib/davinci_pdex_test_kit/user_input_response.rb
209
290
  - lib/davinci_pdex_test_kit/version.rb
291
+ - lib/inferno_requirements_tools/ext/inferno_core/runnable.rb
292
+ - lib/inferno_requirements_tools/rake/rakefile_template
293
+ - lib/inferno_requirements_tools/tasks/requirements_coverage.rb
294
+ - lib/requirements_config.yaml
210
295
  homepage: https://github.com/inferno-framework/davinci-pdex-test-kit/
211
296
  licenses:
212
297
  - Apache-2.0
213
298
  metadata:
214
299
  homepage_uri: https://github.com/inferno-framework/davinci-pdex-test-kit/
215
300
  source_code_uri: https://github.com/inferno-framework/davinci-pdex-test-kit/
301
+ inferno_test_kit: 'true'
216
302
  post_install_message:
217
303
  rdoc_options: []
218
304
  require_paths:
@@ -221,14 +307,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
221
307
  requirements:
222
308
  - - ">="
223
309
  - !ruby/object:Gem::Version
224
- version: 3.1.2
310
+ version: 3.3.6
225
311
  required_rubygems_version: !ruby/object:Gem::Requirement
226
312
  requirements:
227
313
  - - ">="
228
314
  - !ruby/object:Gem::Version
229
315
  version: '0'
230
316
  requirements: []
231
- rubygems_version: 3.3.7
317
+ rubygems_version: 3.5.22
232
318
  signing_key:
233
319
  specification_version: 4
234
320
  summary: Da Vinci PDex Test Kit
@@ -1,98 +0,0 @@
1
- require 'hanami/controller'
2
-
3
- module Inferno
4
- module DSL
5
- # A base class for creating routes with custom response logic. Requests and responses are tagged and saved.
6
- # @private
7
- # @see Inferno::DSL::Runnable#resume_test_route
8
- class RecordResponseRoute < Hanami::Action
9
- include Import[
10
- requests_repo: 'inferno.repositories.requests',
11
- results_repo: 'inferno.repositories.results',
12
- test_runs_repo: 'inferno.repositories.test_runs',
13
- tests_repo: 'inferno.repositories.tests'
14
- ]
15
-
16
- def self.call(...)
17
- new.call(...)
18
- end
19
-
20
- # @private
21
- def test_run_identifier_block
22
- self.class.singleton_class.instance_variable_get(:@test_run_identifier_block)
23
- end
24
-
25
- # @private
26
- def build_response_block
27
- self.class.singleton_class.instance_variable_get(:@build_response_block)
28
- end
29
-
30
- # @private
31
- def tags
32
- self.class.singleton_class.instance_variable_get(:@tags)
33
- end
34
-
35
- # @private
36
- def resumes?(test)
37
- instance_exec(test, &self.class.singleton_class.instance_variable_get(:@resumes))
38
- end
39
-
40
- # @private
41
- def find_test_run(test_run_identifier)
42
- test_runs_repo.find_latest_waiting_by_identifier(test_run_identifier)
43
- end
44
-
45
- # @private
46
- def find_waiting_result(test_run)
47
- results_repo.find_waiting_result(test_run_id: test_run.id)
48
- end
49
-
50
- # @private
51
- def update_result(waiting_result)
52
- results_repo.update_result(waiting_result.id, 'pass')
53
- end
54
-
55
- # @private
56
- def persist_request(request, test_run, waiting_result, test)
57
- requests_repo.create(
58
- request.to_hash.merge(
59
- test_session_id: test_run.test_session_id,
60
- result_id: waiting_result.id,
61
- name: test.config.request_name(test.incoming_request_name),
62
- tags:
63
- )
64
- )
65
- end
66
-
67
- # @private
68
- def find_test(waiting_result)
69
- tests_repo.find(waiting_result.test_id)
70
- end
71
-
72
- # @private
73
- def handle(req, res)
74
- request = Inferno::Entities::Request.from_hanami_request(req)
75
-
76
- test_run_identifier = instance_exec(request, &test_run_identifier_block)
77
-
78
- test_run = find_test_run(test_run_identifier)
79
-
80
- halt 500, "Unable to find test run with identifier '#{test_run_identifier}'." if test_run.nil?
81
-
82
- waiting_result = find_waiting_result(test_run)
83
- test = find_test(waiting_result)
84
-
85
- test_runs_repo.mark_as_no_longer_waiting(test_run.id) if resumes? test
86
-
87
- update_result(waiting_result) if resumes? test
88
-
89
- instance_exec(request, test, waiting_result, &build_response_block)
90
-
91
- Inferno::Entities::Request.to_hanami_response(request, res)
92
- persist_request(request, test_run, waiting_result, test)
93
-
94
- Jobs.perform(Jobs::ResumeTestRun, test_run.id) if resumes? test
95
- end
96
- end
97
- end
98
- end
@@ -1,19 +0,0 @@
1
- module Inferno
2
- module Entities
3
- class Request
4
- def self.to_hanami_response(request, response)
5
- response.status = request.status
6
- response.body = request.response_body
7
- request.response_headers.each do |header|
8
- response.headers[header.name] = header.value
9
- end
10
-
11
- response
12
- end
13
-
14
- def response_headers=(headers_hash)
15
- headers.concat(headers_hash.map { |key, value| Header.new(name: key.to_s, value:, type: 'response') })
16
- end
17
- end
18
- end
19
- end
@@ -1,18 +0,0 @@
1
- require_relative 'record_response_route'
2
-
3
- module Inferno
4
- module DSL
5
- module Runnable
6
- def record_response_route(method, path, tags, build_response, resumes: ->(_) { true }, &block)
7
- route_class = Class.new(Inferno::DSL::RecordResponseRoute) do |klass|
8
- klass.singleton_class.instance_variable_set(:@build_response_block, build_response)
9
- klass.singleton_class.instance_variable_set(:@test_run_identifier_block, block)
10
- klass.singleton_class.instance_variable_set(:@tags, Array.wrap(tags))
11
- klass.singleton_class.instance_variable_set(:@resumes, resumes)
12
- end
13
-
14
- route(method, path, route_class)
15
- end
16
- end
17
- end
18
- end