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