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.
- checksums.yaml +4 -4
- data/lib/subscriptions_test_kit/common/notification_conformance_verification.rb +4 -4
- data/lib/subscriptions_test_kit/endpoints/subscription_create_endpoint.rb +1 -1
- data/lib/subscriptions_test_kit/jobs/send_subscription_notifications.rb +3 -1
- data/lib/subscriptions_test_kit/requirements/generated/subscriptions_r5_backport_r4_client_requirements_coverage.csv +17 -0
- data/lib/subscriptions_test_kit/requirements/generated/{subscriptions-test-kit_requirements_coverage.csv → subscriptions_r5_backport_r4_server_requirements_coverage.csv} +114 -132
- data/lib/subscriptions_test_kit/requirements/hl7.fhir.uv.subscriptions_1.1.0_requirements.xlsx +0 -0
- data/lib/subscriptions_test_kit/requirements/{subscriptions-test-kit_requirements.csv → subscriptions_test_kit_requirements.csv} +139 -141
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/common/subscription_simulation_utils.rb +3 -1
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/processing_attestation_test.rb +0 -1
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client_suite.rb +8 -0
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/subscription_conformance_test.rb +1 -2
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/handshake_heartbeat/handshake_conformance_test.rb +0 -1
- data/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server_suite.rb +8 -0
- data/lib/subscriptions_test_kit/version.rb +2 -2
- data/lib/subscriptions_test_kit.rb +0 -1
- metadata +8 -10
- data/lib/inferno_requirements_tools/ext/inferno_core/runnable.rb +0 -22
- data/lib/inferno_requirements_tools/tasks/collect_requirements.rb +0 -223
- data/lib/inferno_requirements_tools/tasks/requirements_coverage.rb +0 -266
- 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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f13f5c1441260e554035600d58bfa09b09856a412864db15fc2ccaf8023653b
|
4
|
+
data.tar.gz: 1acf111b1788a9e74c47cc7d3df466d76dc7a1aa4a2ee75012f5d8ac52ff0978
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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
|
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
|
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
|
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
|
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
|
-
|
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
|