subscriptions_test_kit 0.11.1 → 0.11.2

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 (21) hide show
  1. checksums.yaml +4 -4
  2. data/lib/subscriptions_test_kit/common/notification_conformance_verification.rb +4 -4
  3. data/lib/subscriptions_test_kit/endpoints/subscription_create_endpoint.rb +1 -1
  4. data/lib/subscriptions_test_kit/jobs/send_subscription_notifications.rb +3 -1
  5. data/lib/subscriptions_test_kit/requirements/generated/subscriptions_r5_backport_r4_client_requirements_coverage.csv +17 -0
  6. data/lib/subscriptions_test_kit/requirements/generated/{subscriptions-test-kit_requirements_coverage.csv → subscriptions_r5_backport_r4_server_requirements_coverage.csv} +114 -132
  7. data/lib/subscriptions_test_kit/requirements/hl7.fhir.uv.subscriptions_1.1.0_requirements.xlsx +0 -0
  8. data/lib/subscriptions_test_kit/requirements/{subscriptions-test-kit_requirements.csv → subscriptions_test_kit_requirements.csv} +139 -141
  9. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/common/subscription_simulation_utils.rb +3 -1
  10. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/processing_attestation_test.rb +0 -1
  11. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client_suite.rb +8 -0
  12. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/subscription_conformance_test.rb +1 -2
  13. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/handshake_heartbeat/handshake_conformance_test.rb +0 -1
  14. data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server_suite.rb +8 -0
  15. data/lib/subscriptions_test_kit/version.rb +2 -2
  16. data/lib/subscriptions_test_kit.rb +0 -1
  17. metadata +8 -10
  18. data/lib/inferno_requirements_tools/ext/inferno_core/runnable.rb +0 -22
  19. data/lib/inferno_requirements_tools/tasks/collect_requirements.rb +0 -223
  20. data/lib/inferno_requirements_tools/tasks/requirements_coverage.rb +0 -266
  21. data/lib/subscriptions_test_kit/requirements/subscriptions-test-kit_out_of_scope_requirements.csv +0 -23
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c9611a683997bd3e7a27a77ea04fccf554db03754c3946cac7b309890cb288fb
4
- data.tar.gz: '09a2627b220c04aa0352ee45d8ee703841d5f3bde433c2adb4bc8f3b70605315'
3
+ metadata.gz: 7f13f5c1441260e554035600d58bfa09b09856a412864db15fc2ccaf8023653b
4
+ data.tar.gz: 1acf111b1788a9e74c47cc7d3df466d76dc7a1aa4a2ee75012f5d8ac52ff0978
5
5
  SHA512:
6
- metadata.gz: 71d120fa262f7180abd5d13542d7daed8ea5b2c49559a603775e19eb233363524d7415911053fbe4b8491a0ab3ec2dc32b6d08ec94bc07c95eb4173ba9132a72
7
- data.tar.gz: 06d457b7e543514a0e76fe061149bbc2e94dff646f0083081a7351ff029f46403c60e662e3fd10154fb2d61868d5c422cdb782786f0575d413bd291559435c1f
6
+ metadata.gz: 8fddeb201df3d01bf43889abf5e67d0a5bf2ff314183bc8514184b775b1a2d836c3baefb178e2bad4895e0fa4c30be41f6e99c3c20de5bc2567d9f27063c3e76
7
+ data.tar.gz: e7b8229e9ab63638b840705061a4d9ad4aff4f77de4d8d9e1c6a45f89297fa2a3101fce455fc612e7f45005b3ba98e5bf44b9b87cb97a102d33ff0a48433141f
@@ -102,7 +102,7 @@ module SubscriptionsTestKit
102
102
  empty_req_check = true
103
103
  notification_events.each do |notification_event|
104
104
  empty_req_check = notification_event.part.none? do |part|
105
- part.name == 'focus' || part.name == 'additional-context'
105
+ ['focus', 'additional-context'].include?(part.name)
106
106
  end
107
107
  break unless empty_req_check
108
108
  end
@@ -149,7 +149,7 @@ module SubscriptionsTestKit
149
149
  end
150
150
  end
151
151
 
152
- def check_bundle_entry_reference(bundle_entries, reference)
152
+ def bundle_entry_reference_valid?(bundle_entries, reference)
153
153
  check_full_url = reference.start_with?('urn:')
154
154
 
155
155
  referenced_entry = bundle_entries.find do |entry|
@@ -168,7 +168,7 @@ module SubscriptionsTestKit
168
168
  When the content type is `full-resource`, notification bundles SHALL include references to
169
169
  the appropriate focus resources in the SubscriptionStatus.notificationEvent.focus element))
170
170
  else
171
- unless check_bundle_entry_reference(bundle_entries, focus_elem.valueReference.reference)
171
+ unless bundle_entry_reference_valid?(bundle_entries, focus_elem.valueReference.reference)
172
172
  add_message('error', %(
173
173
  The Notification Bundle does not include a resource entry for the reference found in
174
174
  SubscriptionStatus.notificationEvent.focus with id #{focus_elem.valueReference.reference}))
@@ -180,7 +180,7 @@ module SubscriptionsTestKit
180
180
  return if additional_context_list.empty?
181
181
 
182
182
  additional_context_list.each do |additional_context|
183
- next if check_bundle_entry_reference(bundle_entries, additional_context.valueReference.reference)
183
+ next if bundle_entry_reference_valid?(bundle_entries, additional_context.valueReference.reference)
184
184
 
185
185
  add_message('error', %(
186
186
  The Notification Bundle does not include a resource entry for the reference found in
@@ -79,7 +79,7 @@ module SubscriptionsTestKit
79
79
  end
80
80
 
81
81
  def find_heartbeat_period(subscription)
82
- subscription&.channel&.extension&.find do |e|
82
+ subscription.channel&.extension&.find do |e|
83
83
  e.url == 'http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-heartbeat-period'
84
84
  end
85
85
  end
@@ -64,7 +64,9 @@ module SubscriptionsTestKit
64
64
  end
65
65
 
66
66
  def subscription_headers
67
- @subscription_headers ||= subscription&.channel&.header&.each_with_object({}) do |header, hash|
67
+ return {} unless subscription.present?
68
+
69
+ @subscription_headers ||= subscription.channel&.header&.each_with_object({}) do |header, hash|
68
70
  header_name, header_value = header.split(': ', 2)
69
71
  hash[header_name] = header_value
70
72
  end || {}
@@ -0,0 +1,17 @@
1
+ Req Set,ID,URL,Requirement,Conformance,Actors,Conditionality,Not Tested Reason,Not Tested Details,Subscriptions R5 Backport IG v1.1.0 FHIR R4 Client Test Suite Short ID(s),Subscriptions R5 Backport IG v1.1.0 FHIR R4 Client Test Suite Full ID(s)
2
+ hl7.fhir.uv.subscriptions_1.1.0,17,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#scoping-responsibilities,"Therefore, clients SHOULD be aware of some limitations regarding delivery. In particular: - Some notifications might not be delivered. Some notifications might be delivered multiple times",SHOULD,Client,,,,"",""
3
+ hl7.fhir.uv.subscriptions_1.1.0,23,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/channels.html#rest-hook-1,"To receive notifications via HTTP/S POST, a client should request a subscription with the channel type of rest-hook and set the endpoint to the appropriate client URL.",SHALL,Client,,,,1.1.01,subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-Group01-subscriptions_r4_client_interaction
4
+ hl7.fhir.uv.subscriptions_1.1.0,24,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/channels.html#rest-hook-1,This URL [for the subscription notification endpoint] must be accessible by the hosting server.,SHALL,Client,,,,1.2.02,subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_event_notification_verification
5
+ hl7.fhir.uv.subscriptions_1.1.0,61,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#backport-channel-type-1,"Clients supporting this guide MAY support this [backport-channel-type extension - https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-channel-type.html] extension, as necessary for their use case.",MAY,Client,,Not Verifiable,"In the context of this implementation guide, details on how to receive notifications over a custom channel do not exist.",NA,NA
6
+ hl7.fhir.uv.subscriptions_1.1.0,64,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#backport-filter-criteria-1,Clients supporting this guide SHALL be able to write values in this [backport-filter-criteria - https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-filter-criteria.html] extension.,SHALL,Client,,,,"",""
7
+ hl7.fhir.uv.subscriptions_1.1.0,68,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#backport-payload-content-1,Clients supporting this guide SHALL be able to write values in this [backport-payload-content - https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-payload-content.html] extension.,SHALL,Client,,,,1.3.01,subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_subscription_verification
8
+ hl7.fhir.uv.subscriptions_1.1.0,71,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#notification-entry-subscriptionstatus-1,Clients supporting this guide SHALL be able to process a valid R4 Backported R5 SubscriptionStatus resource without errors.,SHALL,Client,,,,"1.2.01, 1.2.02","subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_handshake_notification_verification, subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_event_notification_verification"
9
+ hl7.fhir.uv.subscriptions_1.1.0,76,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/conformance.html#subscriptioncriteria-1,Clients supporting this guide SHALL be able to write subscription topic URLs into this [Subscription.criteria] element.,SHALL,Client,,,,1.3.01,subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_subscription_verification
10
+ hl7.fhir.uv.subscriptions_1.1.0,81,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/errors.html#handling-errors-as-a-server,"Discovering the error state and recovering from it are responsibilities of the subscriber. This includes resetting the Subscription to an active or requested status - a client is responsible for requesting re-activation of a subscription. Note: this is important because a subscriber must make the determination of how to recover from an error state; if a server arbitrarily resets a subscription, a subscriber may not be aware of missing notifications.",SHALL,Client,,,,"",""
11
+ hl7.fhir.uv.subscriptions_1.1.0,82,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/errors.html#recovering-from-errors,"Once an application has returned to a functional state, it should request the subscription is reactivated by updating the status to either requested or active as appropriate.",SHALL,Client,,,,"",""
12
+ hl7.fhir.uv.subscriptions_1.1.0,85,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/errors.html#using-the-events-operation,"During a recovery process, clients MAY try to retrieve missing events via the $events operation, which should allow processing to continue as normal.",MAY,Client,,,,"",""
13
+ hl7.fhir.uv.subscriptions_1.1.0,86,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#subscriptions,"In order to promote widespread compatibility, cross version extensions SHOULD NOT be used [clients should not put into Subscriptions they create] on R4 subscriptions to describe any elements also described by this guide",SHOULD NOT,Client,,,,1.3.01,subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_subscription_verification
14
+ hl7.fhir.uv.subscriptions_1.1.0,88,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/components.html#subscriptions-and-fhir-versions,"Note that subscription notifications, by default, are made using the same FHIR version as the server. The Subscription.channel.payload element can be used [by clients] to specify a different FHIR version, using syntax and values defined by the MIME Type Parameter.",MAY,Client,,Not Tested,"MAY requirement, support for which doesn't imply other requirements. Additionally, Inferno won't be able to accept non-R4 subscriptions.",NA,NA
15
+ hl7.fhir.uv.subscriptions_1.1.0,96,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription-definitions.html#root,Subscription.criteria.extension:filterCriteria: Keys can be either search parameters appropriate to the filtering resource or keys defined within the subscription topic.,SHALL,Client,,,,"",""
16
+ hl7.fhir.uv.subscriptions_1.1.0,116,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/OperationDefinition-backport-subscription-events.html,"[the content input indicates the] Requested content style of returned data. Codes from backport-content-value-set (e.g., empty, id-only, full-resource).",SHALL,Client,,,,"",""
17
+ hl7.fhir.uv.subscriptions_1.1.0,132,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription-status-r4.html,[several SubscriptionStatus profile elements are flagged as must support],MAY,Client,,Not Verifiable,IG doesn't indicate what must support requirements are for the SubscriptionStatus profile (in contrast to the Subscription profile where they are provided),NA,NA