davinci_pas_test_kit 0.14.0 → 0.14.1

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 (38) hide show
  1. checksums.yaml +4 -4
  2. data/lib/davinci_pas_test_kit/client_suite.rb +4 -0
  3. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/notification/pas_subscription_notification_test.rb +1 -0
  4. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_denial_group.rb +1 -0
  5. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_pended_group.rb +1 -0
  6. data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_server_subscription_input_conformance.rb +1 -0
  7. data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/metadata.yml +3 -0
  8. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim/metadata.yml +56 -0
  9. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/client_inquire_request_claim_inquiry_must_support_test.rb +5 -0
  10. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/metadata.yml +55 -1
  11. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/server_inquire_request_claim_inquiry_must_support_test.rb +5 -0
  12. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_update/client_submit_request_claim_update_must_support_test.rb +5 -0
  13. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_update/metadata.yml +56 -0
  14. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_update/server_submit_request_claim_update_must_support_test.rb +5 -0
  15. data/lib/davinci_pas_test_kit/generated/v2.0.1/claiminquiryresponse/metadata.yml +13 -0
  16. data/lib/davinci_pas_test_kit/generated/v2.0.1/claimresponse/metadata.yml +13 -0
  17. data/lib/davinci_pas_test_kit/generated/v2.0.1/communication_request/metadata.yml +3 -0
  18. data/lib/davinci_pas_test_kit/generated/v2.0.1/device_request/metadata.yml +1 -0
  19. data/lib/davinci_pas_test_kit/generated/v2.0.1/encounter/metadata.yml +2 -0
  20. data/lib/davinci_pas_test_kit/generated/v2.0.1/medication_request/metadata.yml +1 -0
  21. data/lib/davinci_pas_test_kit/generated/v2.0.1/metadata.yml +275 -2
  22. data/lib/davinci_pas_test_kit/generated/v2.0.1/nutrition_order/metadata.yml +1 -0
  23. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/metadata.yml +1 -0
  24. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_response_bundle/metadata.yml +1 -0
  25. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/metadata.yml +1 -0
  26. data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/metadata.yml +1 -0
  27. data/lib/davinci_pas_test_kit/generated/v2.0.1/server_suite.rb +4 -0
  28. data/lib/davinci_pas_test_kit/generated/v2.0.1/service_request/metadata.yml +2 -0
  29. data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/metadata.yml +3 -0
  30. data/lib/davinci_pas_test_kit/generator/group_metadata.rb +1 -1
  31. data/lib/davinci_pas_test_kit/generator/must_support_test_generator.rb +1 -1
  32. data/lib/davinci_pas_test_kit/generator/naming.rb +1 -0
  33. data/lib/davinci_pas_test_kit/generator/operation_test_generator.rb +1 -1
  34. data/lib/davinci_pas_test_kit/generator/templates/suite.rb.erb +4 -0
  35. data/lib/davinci_pas_test_kit/pas_bundle_validation.rb +5 -5
  36. data/lib/davinci_pas_test_kit/response_generator.rb +1 -1
  37. data/lib/davinci_pas_test_kit/version.rb +2 -2
  38. metadata +28 -10
@@ -20,6 +20,7 @@
20
20
  - :id: NutritionOrder.extension:coverage
21
21
  :path: extension
22
22
  :url: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
23
+ :modifier_extension: false
23
24
  :slices: []
24
25
  :elements:
25
26
  - :path: patient
@@ -22,6 +22,7 @@
22
22
  :discriminator:
23
23
  :type: type
24
24
  :code: Claim
25
+ :path: resource
25
26
  :elements:
26
27
  - :path: identifier
27
28
  - :path: timestamp
@@ -22,6 +22,7 @@
22
22
  :discriminator:
23
23
  :type: type
24
24
  :code: ClaimResponse
25
+ :path: resource
25
26
  :elements:
26
27
  - :path: timestamp
27
28
  - :path: entry
@@ -22,6 +22,7 @@
22
22
  :discriminator:
23
23
  :type: type
24
24
  :code: Claim
25
+ :path: resource
25
26
  :elements:
26
27
  - :path: identifier
27
28
  - :path: timestamp
@@ -22,6 +22,7 @@
22
22
  :discriminator:
23
23
  :type: type
24
24
  :code: ClaimResponse
25
+ :path: resource
25
26
  :elements:
26
27
  - :path: timestamp
27
28
  - :path: entry
@@ -93,6 +93,10 @@ module DaVinciPASTestKit
93
93
  SUPPRESSED_MESSAGES.match?(message.message.sub(/\A\S+: \S+: /, '')) ||
94
94
  message.message.downcase.include?('x12')
95
95
  end
96
+
97
+ validation_context do
98
+ snomedCT '731000124108'
99
+ end
96
100
  end
97
101
 
98
102
  input :server_endpoint,
@@ -19,9 +19,11 @@
19
19
  - :id: ServiceRequest.extension:serviceCodeEnd
20
20
  :path: extension
21
21
  :url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/extension-productOrServiceCodeEnd
22
+ :modifier_extension: false
22
23
  - :id: ServiceRequest.extension:coverage
23
24
  :path: extension
24
25
  :url: http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information
26
+ :modifier_extension: false
25
27
  :slices: []
26
28
  :elements:
27
29
  - :path: code
@@ -18,12 +18,15 @@
18
18
  - :id: Patient.extension:race
19
19
  :path: extension
20
20
  :url: http://hl7.org/fhir/us/core/StructureDefinition/us-core-race
21
+ :modifier_extension: false
21
22
  - :id: Patient.extension:ethnicity
22
23
  :path: extension
23
24
  :url: http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity
25
+ :modifier_extension: false
24
26
  - :id: Patient.extension:birthsex
25
27
  :path: extension
26
28
  :url: http://hl7.org/fhir/us/core/StructureDefinition/us-core-birthsex
29
+ :modifier_extension: false
27
30
  :slices: []
28
31
  :elements:
29
32
  - :path: identifier
@@ -48,7 +48,7 @@ module DaVinciPASTestKit
48
48
  file_name:
49
49
  }
50
50
 
51
- self.tests << test_metadata
51
+ tests << test_metadata
52
52
  end
53
53
 
54
54
  def to_hash
@@ -125,7 +125,7 @@ module DaVinciPASTestKit
125
125
  choice[:extension_ids].each { |id| extension_names.delete(id.to_s) } if choice[:extension_ids].present?
126
126
 
127
127
  element_paths = choice[:paths].map { |path| "#{resource_type}.#{path}" }.join(' or ')
128
- extension_ids = choice[:extension_ids].map(&:to_s).join(' or ')
128
+ extension_ids = choice[:extension_ids].join(' or ')
129
129
 
130
130
  element_names << "#{element_paths} or #{extension_ids}"
131
131
  end
@@ -6,6 +6,7 @@ module DaVinciPASTestKit
6
6
  module Naming
7
7
  class << self
8
8
  include DaVinciPASTestKit::PASV201::ResourceList
9
+
9
10
  def resources_with_multiple_profiles
10
11
  resources = []
11
12
  RESOURCE_SUPPORTED_PROFILES.each do |resource, profile_list|
@@ -141,7 +141,7 @@ module DaVinciPASTestKit
141
141
  Server SHALL support PAS #{operation_name} requests: a POST interaction to
142
142
  the /Claim/$#{operation} endpoint.
143
143
  This test submits a Prior Authorization #{operation_name} request to the server and verifies that a
144
- response is returned with HTTP status 2XX.#{operation == 'submit' ? "\nThe server SHOULD respond within 15 seconds." : ''}
144
+ response is returned with HTTP status 2XX.#{"\nThe server SHOULD respond within 15 seconds." if operation == 'submit'}
145
145
  DESCRIPTION
146
146
  end
147
147
  end
@@ -90,6 +90,10 @@ module DaVinciPASTestKit
90
90
  SUPPRESSED_MESSAGES.match?(message.message.sub(/\A\S+: \S+: /, '')) ||
91
91
  message.message.downcase.include?('x12')
92
92
  end
93
+
94
+ validation_context do
95
+ snomedCT '731000124108'
96
+ end
93
97
  end
94
98
 
95
99
  input :server_endpoint,
@@ -358,14 +358,14 @@ module DaVinciPASTestKit
358
358
  def metadata_map(version)
359
359
  @metadata ||= YAML.load_file(File.join(__dir__, "generated/#{version}/metadata.yml"),
360
360
  aliases: true)
361
- @metadata_map ||= @metadata[:groups].each_with_object({}) do |group, obj|
362
- obj[group[:profile_url]] = Generator::GroupMetadata.new(group)
361
+ @metadata_map ||= @metadata[:groups].to_h do |group|
362
+ [group[:profile_url], Generator::GroupMetadata.new(group)]
363
363
  end
364
364
  end
365
365
 
366
366
  def bundle_entry_map(bundle_entry)
367
- @bundle_entry_map ||= bundle_entry.each_with_object({}) do |entry, obj|
368
- obj[entry.fullUrl] = entry
367
+ @bundle_entry_map ||= bundle_entry.to_h do |entry|
368
+ [entry.fullUrl, entry]
369
369
  end
370
370
  end
371
371
 
@@ -479,7 +479,7 @@ module DaVinciPASTestKit
479
479
  value = target_resource.send(attr.to_sym)
480
480
  if value.is_a?(FHIR::Model)
481
481
  check_presence_of_referenced_resources(value, base_url, resources_to_match)
482
- elsif value.is_a?(Array) && value.all? { |elmt| elmt.is_a?(FHIR::Model) }
482
+ elsif value.is_a?(Array) && value.all?(FHIR::Model)
483
483
  value.each { |elmt| check_presence_of_referenced_resources(elmt, base_url, resources_to_match) }
484
484
  end
485
485
  end
@@ -355,7 +355,7 @@ module DaVinciPASTestKit
355
355
  value.reference = match.fullUrl
356
356
  matches.concat([match], referenced_entities(match.resource, entries, root_url))
357
357
  end
358
- elsif value.is_a?(Array) && value.all? { |elmt| elmt.is_a?(FHIR::Model) }
358
+ elsif value.is_a?(Array) && value.all?(FHIR::Model)
359
359
  value.each { |val| matches.concat(referenced_entities(val, entries, root_url)) }
360
360
  end
361
361
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DaVinciPASTestKit
4
- VERSION = '0.14.0'
5
- LAST_UPDATED = '2025-07-22'
4
+ VERSION = '0.14.1'
5
+ LAST_UPDATED = '2025-06-01'
6
6
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: davinci_pas_test_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 0.14.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Inferno Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-07-22 00:00:00.000000000 Z
11
+ date: 2026-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: inferno_core
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.0'
19
+ version: '1.3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 1.0.2
22
+ version: 1.3.1
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '1.0'
29
+ version: '1.3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.0.2
32
+ version: 1.3.1
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: smart_app_launch_test_kit
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -37,6 +37,9 @@ dependencies:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
39
  version: '1.0'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 1.0.2
40
43
  type: :runtime
41
44
  prerelease: false
42
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -44,34 +47,49 @@ dependencies:
44
47
  - - "~>"
45
48
  - !ruby/object:Gem::Version
46
49
  version: '1.0'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 1.0.2
47
53
  - !ruby/object:Gem::Dependency
48
54
  name: subscriptions_test_kit
49
55
  requirement: !ruby/object:Gem::Requirement
50
56
  requirements:
51
57
  - - "~>"
52
58
  - !ruby/object:Gem::Version
53
- version: 0.12.0
59
+ version: '0.12'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 0.12.2
54
63
  type: :runtime
55
64
  prerelease: false
56
65
  version_requirements: !ruby/object:Gem::Requirement
57
66
  requirements:
58
67
  - - "~>"
59
68
  - !ruby/object:Gem::Version
60
- version: 0.12.0
69
+ version: '0.12'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 0.12.2
61
73
  - !ruby/object:Gem::Dependency
62
74
  name: udap_security_test_kit
63
75
  requirement: !ruby/object:Gem::Requirement
64
76
  requirements:
65
77
  - - "~>"
66
78
  - !ruby/object:Gem::Version
67
- version: 0.12.0
79
+ version: '0.12'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 0.12.2
68
83
  type: :runtime
69
84
  prerelease: false
70
85
  version_requirements: !ruby/object:Gem::Requirement
71
86
  requirements:
72
87
  - - "~>"
73
88
  - !ruby/object:Gem::Version
74
- version: 0.12.0
89
+ version: '0.12'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 0.12.2
75
93
  - !ruby/object:Gem::Dependency
76
94
  name: database_cleaner-sequel
77
95
  requirement: !ruby/object:Gem::Requirement