diff --git a/.gitignore b/.gitignore index de9350e..68eb49a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -/data/*.db +/data/*.db* /data/igs/*.tgz /data/redis/**/*.rdb /data/redis/**/*.aof diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 20c1426..d6f80b2 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -1,3 +1,23 @@ +# 0.13.0 +### Breaking Change +This release validates tester-provided content that Inferno uses (the notification Bundle input in the +client suite and the Subscription input in the server suite) using a new validator named +`:no_custom_extensions`, which treats extensions not defined in the loaded IGs as errors. Test kits that +reuse the following tests must define a `fhir_resource_validator :no_custom_extensions` in their suite +(e.g., the same as their default validator with `extensions []` in the `validation_context`). Otherwise +these tests will result in an error with the message `No 'no_custom_extensions' validator found`. +* `subscriptions_r4_client_notification_input_verification` (also included in the + `subscriptions_r4_client_workflow` group) +* `subscriptions_r4_server_subscription_conformance` (also included in the `subscriptions_r4_server_interaction` + group and the groups that include it, such as `subscriptions_r4_server_workflow` and the event notification + content groups) + +Test kits that only use the `SubscriptionConformanceVerification` and `NotificationConformanceVerification` +modules are not affected, as the default validator is still used unless another is specified via the new +`validator:` argument. + +* ID-240: Subscription update and delete tests, and validation of tester-provided content without custom extensions + # 0.12.2 * ID-145 inferno-core and jwt gem updates by @FlexonyoPizza in: https://github.com/inferno-framework/subscriptions-test-kit/pull/46 diff --git a/Gemfile.lock b/Gemfile.lock index 3bf3441..f5eb161 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,7 +3,8 @@ PATH specs: subscriptions_test_kit (0.12.2) faraday (~> 1.10.5) - inferno_core (~> 1.3, >= 1.3.1) + hana (~> 1.3) + inferno_core (~> 1.4, >= 1.4.6) GEM remote: https://rubygems.org/ @@ -35,8 +36,8 @@ GEM byebug (13.0.0) reline (>= 0.6.0) coderay (1.1.3) - concurrent-ruby (1.3.4) - connection_pool (3.0.2) + concurrent-ruby (1.3.8) + connection_pool (2.5.5) crack (1.0.1) bigdecimal rexml @@ -77,7 +78,7 @@ GEM erb (6.0.4) factory_bot (6.6.0) activesupport (>= 6.1.0) - faraday (1.10.5) + faraday (1.10.6) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) faraday-excon (~> 1.1) @@ -128,6 +129,7 @@ GEM date_time_precision (>= 0.8) mime-types (>= 3.0) nokogiri (>= 1.11.4) + hana (1.3.7) hanami-controller (2.0.0) dry-configurable (~> 1.0, < 2) dry-core (~> 1.0) @@ -151,11 +153,11 @@ GEM domain_name (~> 0.5) i18n (1.14.8) concurrent-ruby (~> 1.0) - inferno_core (1.3.1) + inferno_core (1.4.6) activesupport (~> 7.2.3.1) base62-rb (= 0.3.1) blueprinter (= 0.25.2) - concurrent-ruby (= 1.3.4) + concurrent-ruby (~> 1.3, >= 1.3.7) csv (~> 3.3.5) dotenv (~> 2.7) dry-configurable (= 1.0.0) @@ -163,7 +165,7 @@ GEM dry-core (= 1.0.0) dry-inflector (= 1.0.0) dry-system (= 1.0.0) - faraday (~> 1.10.5) + faraday (~> 1.10.6) faraday_middleware (~> 1.2) fhir_client (>= 6.2.0) fhir_models (>= 5.1.0) @@ -172,15 +174,15 @@ GEM kramdown (~> 2.5.2) kramdown-parser-gfm (~> 1.1.0) mutex_m (~> 0.3.0) - oj (= 3.11.0) + oj (~> 3.17, >= 3.17.3) pastel (~> 0.8.0) pry pry-byebug - puma (~> 5.6.7) + puma (~> 8.0, >= 8.0.2) rake (~> 13.0) roo (~> 2.10.1) sequel (~> 5.42.0) - sidekiq (~> 7.2.4) + sidekiq (~> 7.3.10) sqlite3 (~> 1.4) thor (~> 1.4) tty-markdown (~> 0.7.1) @@ -242,7 +244,10 @@ GEM rack (>= 1.2, < 4) snaky_hash (~> 2.0, >= 2.0.4) version_gem (~> 1.1, >= 1.1.9) - oj (3.11.0) + oj (3.17.7) + bigdecimal (>= 3.0) + ostruct (>= 0.2) + ostruct (0.6.3) parallel (2.1.0) parser (3.3.11.1) ast (~> 2.4.1) @@ -264,7 +269,7 @@ GEM date stringio public_suffix (7.0.5) - puma (5.6.9) + puma (8.0.2) nio4r (~> 2.0) racc (1.8.1) rack (2.2.23) @@ -328,11 +333,12 @@ GEM rubyzip (2.4.1) securerandom (0.4.1) sequel (5.42.0) - sidekiq (7.2.4) - concurrent-ruby (< 2) - connection_pool (>= 2.3.0) - rack (>= 2.2.4) - redis-client (>= 0.19.0) + sidekiq (7.3.10) + base64 + connection_pool (>= 2.3.0, < 3) + logger + rack (>= 2.2.4, < 3.3) + redis-client (>= 0.23.0, < 1) snaky_hash (2.0.4) hashie (>= 0.1.0, < 6) version_gem (>= 1.1.8, < 3) diff --git a/execution_scripts/subscriptions_r4_empty_with_commands.yaml b/execution_scripts/subscriptions_r4_empty_with_commands.yaml index 31eaa6e..377001f 100644 --- a/execution_scripts/subscriptions_r4_empty_with_commands.yaml +++ b/execution_scripts/subscriptions_r4_empty_with_commands.yaml @@ -74,6 +74,29 @@ steps: next_poll_session: client action_description: Attest that event notification was processed correctly + - session: client + status: waiting + last_completed: 2.1.01 + state_description: > + Step 6: Client is waiting at the update and delete interaction (2.1.01). The server suite's + update and deletion tests already updated (PUT and JSON Patch) but they will have failed, + so re-run the last server group. + start_run: + session: server + runnable: 7 + next_poll_session: server + action_description: Start server group 7 "Subscription Update and Deletion Verification" + + - session: server + status: done + last_completed: 7 + state_description: > + Step 7: Server Update / Delete group re-run is done. Advance the client wait so the client + suite can continue with update and delete conformance verification. + command: bundle exec ruby execution_scripts/advance_wait.rb '{client.wait_outputs.confirmation_url}' + next_poll_session: client + action_description: Advance client update and delete wait + - session: client status: done last_completed: suite diff --git a/execution_scripts/subscriptions_r4_empty_with_commands_client_expected.json b/execution_scripts/subscriptions_r4_empty_with_commands_client_expected.json index 77015ec..aa92f85 100644 --- a/execution_scripts/subscriptions_r4_empty_with_commands_client_expected.json +++ b/execution_scripts/subscriptions_r4_empty_with_commands_client_expected.json @@ -1 +1,586 @@ -[{"id":"45dd5d26-d313-4931-a460-a9f966b3edc7","created_at":"2026-05-27T16:44:29.298+00:00","inputs":[{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"client_endpoint_access_token","value":null,"type":"text"},{"name":"notification_bundle","value":"{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-empty\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}","type":"textarea"}],"optional":false,"outputs":[{"name":"confirmation_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=SAMPLE_TOKEN"},{"name":"fail_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=SAMPLE_TOKEN"}],"requests":[],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-Group01-subscriptions_r4_client_interaction","test_run_id":"307084d8-4d94-4079-82f7-3b4cbdb50f37","test_session_id":"d3H86suXXey","updated_at":"2026-05-27T16:45:19.519+00:00"},{"id":"d52fa930-d5c9-4260-8e67-95919a17fd44","created_at":"2026-05-27T16:45:19.548+00:00","inputs":[],"optional":false,"outputs":[],"requests":[{"id":"d3b05a68-adef-4a8e-baea-737156bb2df9","direction":"outgoing","index":3,"result_id":"45dd5d26-d313-4931-a460-a9f966b3edc7","status":200,"timestamp":"2026-05-27T16:44:58.944+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_handshake_notification_verification","test_run_id":"307084d8-4d94-4079-82f7-3b4cbdb50f37","test_session_id":"d3H86suXXey","updated_at":"2026-05-27T16:45:19.548+00:00"},{"id":"2917516e-1212-46b0-a692-8eb64ca00394","created_at":"2026-05-27T16:45:19.555+00:00","inputs":[],"optional":false,"outputs":[],"requests":[{"id":"39d24edf-93f3-441b-a8f9-f878109eb2ea","direction":"outgoing","index":5,"result_id":"45dd5d26-d313-4931-a460-a9f966b3edc7","status":200,"timestamp":"2026-05-27T16:45:05.969+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_event_notification_verification","test_run_id":"307084d8-4d94-4079-82f7-3b4cbdb50f37","test_session_id":"d3H86suXXey","updated_at":"2026-05-27T16:45:19.555+00:00"},{"id":"05c1c97e-4c2d-405c-8aab-c2bffee5e172","created_at":"2026-05-27T16:45:20.600+00:00","inputs":[],"messages":[{"message":"Subscription: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription.criteria.extension[0]: Unknown extension http://hl7.org/fhir/5.0/subscriptions-backport/StructureDefinition/backport-filter-criteria","type":"info"},{"message":"Subscription: Subscription.criteria.extension[0]: This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription|1.1.0 (this may not be a problem, but you should check that it's not intended to match a slice)","type":"info"},{"message":"Subscription: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"8b23910d-4747-468b-8692-7fe01e588dfc","direction":"incoming","index":1,"result_id":"45dd5d26-d313-4931-a460-a9f966b3edc7","status":201,"timestamp":"2026-05-27T16:44:57.428+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"POST"},{"id":"d672306b-2f83-4dc1-bfd8-2939f10ff70c","direction":"incoming","index":12,"result_id":"45dd5d26-d313-4931-a460-a9f966b3edc7","status":400,"timestamp":"2026-05-27T16:45:18.001+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_subscription_verification","test_run_id":"307084d8-4d94-4079-82f7-3b4cbdb50f37","test_session_id":"d3H86suXXey","updated_at":"2026-05-27T16:45:20.600+00:00"},{"id":"b4357a5d-ac95-4790-b467-7eb9187979b5","created_at":"2026-05-27T16:45:20.782+00:00","inputs":[],"messages":[{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"39d24edf-93f3-441b-a8f9-f878109eb2ea","direction":"outgoing","index":5,"result_id":"45dd5d26-d313-4931-a460-a9f966b3edc7","status":200,"timestamp":"2026-05-27T16:45:05.969+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_notification_input_verification","test_run_id":"307084d8-4d94-4079-82f7-3b4cbdb50f37","test_session_id":"d3H86suXXey","updated_at":"2026-05-27T16:45:20.782+00:00"},{"id":"336e8340-6b46-423e-9c33-70567ea1ccbd","created_at":"2026-05-27T16:45:20.799+00:00","inputs":[],"messages":[{"message":"Parameters.parameter:topic.value[x]: This value SHOULD NOT be present when using empty payloads","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"39d24edf-93f3-441b-a8f9-f878109eb2ea","direction":"outgoing","index":5,"result_id":"45dd5d26-d313-4931-a460-a9f966b3edc7","status":200,"timestamp":"2026-05-27T16:45:05.969+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_notification_input_payload_verification","test_run_id":"307084d8-4d94-4079-82f7-3b4cbdb50f37","test_session_id":"d3H86suXXey","updated_at":"2026-05-27T16:45:20.799+00:00"},{"id":"7e866528-c86d-4c4e-aa85-1628a245bfd7","created_at":"2026-05-27T16:45:20.810+00:00","inputs":[],"optional":false,"outputs":[{"name":"attest_true_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=d3H86suXXey"},{"name":"attest_false_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=d3H86suXXey"}],"requests":[{"id":"39d24edf-93f3-441b-a8f9-f878109eb2ea","direction":"outgoing","index":5,"result_id":"45dd5d26-d313-4931-a460-a9f966b3edc7","status":200,"timestamp":"2026-05-27T16:45:05.969+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_processing_attestation","test_run_id":"307084d8-4d94-4079-82f7-3b4cbdb50f37","test_session_id":"d3H86suXXey","updated_at":"2026-05-27T16:45:22.568+00:00"},{"id":"a111857b-b04c-435f-897c-c346c812e278","created_at":"2026-05-27T16:45:22.583+00:00","inputs":[{"name":"access_token","label":"Access Token","description":"\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"client_endpoint_access_token","label":"Client Notification Access Token","description":"\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ","value":null,"type":"text"},{"name":"notification_bundle","label":"Event Notification Bundle","description":"\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ","value":"{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-empty\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}","type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-Group01","test_run_id":"307084d8-4d94-4079-82f7-3b4cbdb50f37","test_session_id":"d3H86suXXey","updated_at":"2026-05-27T16:45:22.583+00:00"},{"id":"5c3bf468-2bc3-41a6-b281-ceef0d751ee8","created_at":"2026-05-27T16:45:22.589+00:00","inputs":[],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification","test_run_id":"307084d8-4d94-4079-82f7-3b4cbdb50f37","test_session_id":"d3H86suXXey","updated_at":"2026-05-27T16:45:22.589+00:00"},{"id":"e9a290cb-652c-45b0-8710-fc08626ef6bd","created_at":"2026-05-27T16:45:22.595+00:00","inputs":[],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification","test_run_id":"307084d8-4d94-4079-82f7-3b4cbdb50f37","test_session_id":"d3H86suXXey","updated_at":"2026-05-27T16:45:22.595+00:00"},{"id":"bbd0c69c-b583-453a-9a8e-dcb9e9d8ff8b","created_at":"2026-05-27T16:45:22.604+00:00","inputs":[{"name":"access_token","label":"Access Token","description":"\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"client_endpoint_access_token","label":"Client Notification Access Token","description":"\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ","value":null,"type":"text"},{"name":"notification_bundle","label":"Event Notification Bundle","description":"\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ","value":"{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-empty\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}","type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow","test_run_id":"307084d8-4d94-4079-82f7-3b4cbdb50f37","test_session_id":"d3H86suXXey","updated_at":"2026-05-27T16:45:22.604+00:00"},{"id":"73392e70-83b8-4876-a5d1-48eacfda0517","created_at":"2026-05-27T16:45:22.606+00:00","inputs":[{"name":"access_token","label":"Access Token","description":"\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"client_endpoint_access_token","label":"Client Notification Access Token","description":"\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ","value":null,"type":"text"},{"name":"notification_bundle","label":"Event Notification Bundle","description":"\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ","value":"{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-empty\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}","type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_run_id":"307084d8-4d94-4079-82f7-3b4cbdb50f37","test_session_id":"d3H86suXXey","test_suite_id":"subscriptions_r5_backport_r4_client","updated_at":"2026-05-27T16:45:22.606+00:00"}] \ No newline at end of file +[ + { + "id": "e64b8e08-18b2-48dd-9dc4-932253ed9873", + "created_at": "2026-10-06T14:21:03.938-04:00", + "inputs": [ + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "client_endpoint_access_token", + "value": null, + "type": "text" + }, + { + "name": "notification_bundle", + "value": "{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-empty\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [ + { + "name": "confirmation_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=SAMPLE_TOKEN" + }, + { + "name": "fail_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=SAMPLE_TOKEN" + } + ], + "requests": [], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-Group01-subscriptions_r4_client_interaction", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:28.861-04:00" + }, + { + "id": "1be637ca-0124-46b0-b460-10caacf81006", + "created_at": "2026-10-06T14:21:28.868-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "d5a0eee1-2821-4184-b439-663f1d7ffd35", + "direction": "outgoing", + "index": 392, + "result_id": "e64b8e08-18b2-48dd-9dc4-932253ed9873", + "status": 200, + "timestamp": "2026-10-06T14:21:08.612-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_handshake_notification_verification", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:28.868-04:00" + }, + { + "id": "ac17d701-b2b4-4c91-aad8-dc889540e89a", + "created_at": "2026-10-06T14:21:28.869-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "a75d105a-03d9-49d0-9d28-9a9e30107ec6", + "direction": "outgoing", + "index": 394, + "result_id": "e64b8e08-18b2-48dd-9dc4-932253ed9873", + "status": 200, + "timestamp": "2026-10-06T14:21:17.632-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_event_notification_verification", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:28.869-04:00" + }, + { + "id": "829aac3b-17d9-41a4-a3d9-4ddb03331c6d", + "created_at": "2026-10-06T14:21:28.922-04:00", + "inputs": [], + "messages": [ + { + "message": "Subscription: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription.criteria.extension[0]: Unknown extension http://hl7.org/fhir/5.0/subscriptions-backport/StructureDefinition/backport-filter-criteria", + "type": "info" + }, + { + "message": "Subscription: Subscription.criteria.extension[0]: This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription|1.1.0 (this may not be a problem, but you should check that it's not intended to match a slice)", + "type": "info" + }, + { + "message": "Subscription: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "aa1b88f3-4bc9-4583-aa46-0d6f7e559740", + "direction": "incoming", + "index": 389, + "result_id": "e64b8e08-18b2-48dd-9dc4-932253ed9873", + "status": 201, + "timestamp": "2026-10-06T14:21:07.087-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "POST" + }, + { + "id": "4da7e938-09d6-4ba6-9ef0-2a6e2f25427d", + "direction": "incoming", + "index": 399, + "result_id": "e64b8e08-18b2-48dd-9dc4-932253ed9873", + "status": 400, + "timestamp": "2026-10-06T14:21:25.616-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_subscription_verification", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:28.922-04:00" + }, + { + "id": "f3779dbc-f675-4805-96e1-8ec8c12238d0", + "created_at": "2026-10-06T14:21:28.943-04:00", + "inputs": [], + "messages": [ + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "a75d105a-03d9-49d0-9d28-9a9e30107ec6", + "direction": "outgoing", + "index": 394, + "result_id": "e64b8e08-18b2-48dd-9dc4-932253ed9873", + "status": 200, + "timestamp": "2026-10-06T14:21:17.632-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_notification_input_verification", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:28.943-04:00" + }, + { + "id": "40084796-1b71-434c-bfd6-9f00cb11c6f8", + "created_at": "2026-10-06T14:21:28.946-04:00", + "inputs": [], + "messages": [ + { + "message": "Parameters.parameter:topic.value[x]: This value SHOULD NOT be present when using empty payloads", + "type": "warning" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "a75d105a-03d9-49d0-9d28-9a9e30107ec6", + "direction": "outgoing", + "index": 394, + "result_id": "e64b8e08-18b2-48dd-9dc4-932253ed9873", + "status": 200, + "timestamp": "2026-10-06T14:21:17.632-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_notification_input_payload_verification", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:28.946-04:00" + }, + { + "id": "47c37a2f-0bd1-44b3-9117-d9301228b206", + "created_at": "2026-10-06T14:21:28.948-04:00", + "inputs": [], + "optional": false, + "outputs": [ + { + "name": "attest_true_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=eVqPJXv6JGY" + }, + { + "name": "attest_false_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=eVqPJXv6JGY" + } + ], + "requests": [ + { + "id": "a75d105a-03d9-49d0-9d28-9a9e30107ec6", + "direction": "outgoing", + "index": 394, + "result_id": "e64b8e08-18b2-48dd-9dc4-932253ed9873", + "status": 200, + "timestamp": "2026-10-06T14:21:17.632-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_processing_attestation", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:31.922-04:00" + }, + { + "id": "4554368e-1aec-4eab-bb99-7904513a8496", + "created_at": "2026-10-06T14:21:31.936-04:00", + "inputs": [ + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + } + ], + "optional": false, + "outputs": [ + { + "name": "subscription_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/94344a1e-3519-4d83-9092-9ac0390943a5" + }, + { + "name": "confirmation_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=SAMPLE_TOKEN" + }, + { + "name": "fail_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=SAMPLE_TOKEN" + } + ], + "requests": [], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_workflow_interaction-subscriptions_r4_client_update_delete_interaction", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:35.283-04:00" + }, + { + "id": "a1876a67-fd73-42a3-b742-dd491516204f", + "created_at": "2026-10-06T14:21:35.290-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "client_endpoint_access_token", + "label": "Client Notification Access Token", + "description": "\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ", + "value": null, + "type": "text" + }, + { + "name": "notification_bundle", + "label": "Event Notification Bundle", + "description": "\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ", + "value": "{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-empty\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-Group01", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:35.290-04:00" + }, + { + "id": "6db68ec6-5bcb-4c67-8467-2e6b2497b1ca", + "created_at": "2026-10-06T14:21:35.291-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:35.291-04:00" + }, + { + "id": "4572f180-6547-4d59-a744-92aea66e4832", + "created_at": "2026-10-06T14:21:35.292-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:35.292-04:00" + }, + { + "id": "e6dc0a58-0105-4249-8811-b9dcf1676894", + "created_at": "2026-10-06T14:21:35.293-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "client_endpoint_access_token", + "label": "Client Notification Access Token", + "description": "\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ", + "value": null, + "type": "text" + }, + { + "name": "notification_bundle", + "label": "Event Notification Bundle", + "description": "\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ", + "value": "{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-empty\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:35.293-04:00" + }, + { + "id": "0a750449-a745-45dd-af55-854e67d31b52", + "created_at": "2026-10-06T14:21:35.294-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription update, delete, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_workflow_interaction", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:35.294-04:00" + }, + { + "id": "c41e022a-2df4-4ab6-974f-be93ec0f9a11", + "created_at": "2026-10-06T14:21:35.321-04:00", + "inputs": [], + "messages": [ + { + "message": "Request 1: Subscription/94344a1e-3519-4d83-9092-9ac0390943a5: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/94344a1e-3519-4d83-9092-9ac0390943a5: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/94344a1e-3519-4d83-9092-9ac0390943a5: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/94344a1e-3519-4d83-9092-9ac0390943a5: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "71fcf7c9-204b-4a34-9e80-6ccc452e9f1d", + "direction": "incoming", + "index": 402, + "result_id": "e64b8e08-18b2-48dd-9dc4-932253ed9873", + "status": 200, + "timestamp": "2026-10-06T14:21:25.638-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/94344a1e-3519-4d83-9092-9ac0390943a5", + "verb": "PUT" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_conformance_verification-subscriptions_r4_client_put_update_verification", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:35.321-04:00" + }, + { + "id": "1a6d2633-1c39-439a-80e9-731c5c65f5e8", + "created_at": "2026-10-06T14:21:35.346-04:00", + "inputs": [], + "messages": [ + { + "message": "Request 1: Subscription/94344a1e-3519-4d83-9092-9ac0390943a5: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/94344a1e-3519-4d83-9092-9ac0390943a5: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/94344a1e-3519-4d83-9092-9ac0390943a5: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/94344a1e-3519-4d83-9092-9ac0390943a5: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "123ac284-7f8e-4b2c-a5b7-c04311bf8df4", + "direction": "incoming", + "index": 408, + "result_id": "e64b8e08-18b2-48dd-9dc4-932253ed9873", + "status": 200, + "timestamp": "2026-10-06T14:21:25.654-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/94344a1e-3519-4d83-9092-9ac0390943a5", + "verb": "PATCH" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_conformance_verification-subscriptions_r4_client_patch_update_verification", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:35.346-04:00" + }, + { + "id": "4bd2270e-d563-4757-bec0-e79a85b466bf", + "created_at": "2026-10-06T14:21:35.348-04:00", + "inputs": [], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "4c6c69ef-b234-4357-a05a-768db917a1d2", + "direction": "incoming", + "index": 413, + "result_id": "e64b8e08-18b2-48dd-9dc4-932253ed9873", + "status": 204, + "timestamp": "2026-10-06T14:21:25.666-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/94344a1e-3519-4d83-9092-9ac0390943a5", + "verb": "DELETE" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_conformance_verification-subscriptions_r4_client_delete_verification", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:35.348-04:00" + }, + { + "id": "4c99d48a-f8a1-45bc-977d-64d09cdff762", + "created_at": "2026-10-06T14:21:35.349-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_conformance_verification", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:35.349-04:00" + }, + { + "id": "7d99f91e-378c-4c19-91b0-35a03d92b0cf", + "created_at": "2026-10-06T14:21:35.351-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription update, delete, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "updated_at": "2026-10-06T14:21:35.351-04:00" + }, + { + "id": "4092b924-b692-43f3-bce9-d539f9d53429", + "created_at": "2026-10-06T14:21:35.351-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "client_endpoint_access_token", + "label": "Client Notification Access Token", + "description": "\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ", + "value": null, + "type": "text" + }, + { + "name": "notification_bundle", + "label": "Event Notification Bundle", + "description": "\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ", + "value": "{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-empty\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"9e41ff6d-5be6-4e6a-8b85-abd4e7f58400\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_run_id": "67ee4996-6ab3-4b1d-a6c9-ad201ebe026a", + "test_session_id": "eVqPJXv6JGY", + "test_suite_id": "subscriptions_r5_backport_r4_client", + "updated_at": "2026-10-06T14:21:35.351-04:00" + } +] \ No newline at end of file diff --git a/execution_scripts/subscriptions_r4_empty_with_commands_server_expected.json b/execution_scripts/subscriptions_r4_empty_with_commands_server_expected.json index e0fe453..753c573 100644 --- a/execution_scripts/subscriptions_r4_empty_with_commands_server_expected.json +++ b/execution_scripts/subscriptions_r4_empty_with_commands_server_expected.json @@ -1 +1,2373 @@ -[{"id":"a8a6bd98-d70f-48bc-9c48-1c7d5bb2db10","created_at":"2026-05-27T16:44:57.401+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}","type":"textarea"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Subscription: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)","type":"warning"}],"optional":false,"outputs":[{"name":"updated_subscription","type":"text","value":"{\"resourceType\":\"Subscription\",\"meta\":{\"profile\":[\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]},\"status\":\"requested\",\"end\":\"2020-12-31T12:00:00Z\",\"reason\":\"R4 Topic-Based Workflow Subscription for Patient Admission\",\"criteria\":\"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\"_criteria\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\"valueString\":\"Encounter.patient=Patient/123\"}]},\"channel\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\"valueUnsignedInt\":60},{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\"valuePositiveInt\":20}],\"type\":\"rest-hook\",\"header\":[\"Authorization: Bearer SAMPLE_TOKEN\"],\"endpoint\":\"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\"payload\":\"application/fhir+json\",\"_payload\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\"valueCode\":\"empty\"}]}}}"}],"requests":[],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_subscription_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:44:57.401+00:00"},{"id":"e49c9e14-cec2-4991-bab1-52a13b54de76","created_at":"2026-05-27T16:44:57.454+00:00","inputs":[{"name":"updated_subscription","value":"{\"resourceType\":\"Subscription\",\"meta\":{\"profile\":[\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]},\"status\":\"requested\",\"end\":\"2020-12-31T12:00:00Z\",\"reason\":\"R4 Topic-Based Workflow Subscription for Patient Admission\",\"criteria\":\"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\"_criteria\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\"valueString\":\"Encounter.patient=Patient/123\"}]},\"channel\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\"valueUnsignedInt\":60},{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\"valuePositiveInt\":20}],\"type\":\"rest-hook\",\"header\":[\"Authorization: Bearer SAMPLE_TOKEN\"],\"endpoint\":\"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\"payload\":\"application/fhir+json\",\"_payload\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\"valueCode\":\"empty\"}]}}}","type":"text"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[{"name":"confirmation_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/resume_pass?token=notification%20SAMPLE_TOKEN"}],"requests":[{"id":"bc23634b-f5ee-4776-8b4e-8295e83dc828","direction":"outgoing","index":2,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":201,"timestamp":"2026-05-27T16:44:57.456+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_notification_delivery","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:15.876+00:00"},{"id":"f37c42e6-cb2e-4d7a-9e1b-849559596b10","created_at":"2026-05-27T16:45:15.980+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"bc23634b-f5ee-4776-8b4e-8295e83dc828","direction":"outgoing","index":2,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":201,"timestamp":"2026-05-27T16:44:57.456+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_creation_response_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:15.980+00:00"},{"id":"2e8d811c-6269-4cf9-96c7-c10780c499d5","created_at":"2026-05-27T16:45:15.984+00:00","inputs":[{"name":"subscription_resource","label":"Workflow Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}","type":"textarea"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:15.984+00:00"},{"id":"1cf6a0b2-081b-4ffe-802d-18f7b70ed1f6","created_at":"2026-05-27T16:45:15.990+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"bc23634b-f5ee-4776-8b4e-8295e83dc828","direction":"outgoing","index":2,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":201,"timestamp":"2026-05-27T16:44:57.456+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"38de70da-7687-406e-82ec-ab9fee8c5f92","direction":"incoming","index":4,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":200,"timestamp":"2026-05-27T16:44:58.945+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"},{"id":"9b8a6e15-9794-435c-8453-957359683d46","direction":"incoming","index":6,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":200,"timestamp":"2026-05-27T16:45:05.969+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification-subscriptions_r4_server_notification_presence","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:15.990+00:00"},{"id":"63785b89-5288-4317-b137-a488f5b7131a","created_at":"2026-05-27T16:45:16.243+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"bc23634b-f5ee-4776-8b4e-8295e83dc828","direction":"outgoing","index":2,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":201,"timestamp":"2026-05-27T16:44:57.456+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"9b8a6e15-9794-435c-8453-957359683d46","direction":"incoming","index":6,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":200,"timestamp":"2026-05-27T16:45:05.969+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification-subscriptions_r4_server_notification_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:16.243+00:00"},{"id":"11954a98-68e0-4622-9556-97708d235451","created_at":"2026-05-27T16:45:16.253+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:16.253+00:00"},{"id":"0405b276-9c71-4721-89b5-644d5f3eec4e","created_at":"2026-05-27T16:45:16.260+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"subscription_resource","label":"Workflow Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}","type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:16.260+00:00"},{"id":"dd91ad30-55b0-4160-b7b1-8d8d6d9ed78e","created_at":"2026-05-27T16:45:17.194+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"CapabilityStatement: CapabilityStatement.rest[0].resource[0].extension[0].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"CapabilityStatement: CapabilityStatement: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"64613107-0429-412a-96fb-40382a04262a","direction":"outgoing","index":8,"result_id":"dd91ad30-55b0-4160-b7b1-8d8d6d9ed78e","status":200,"timestamp":"2026-05-27T16:45:17.200+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/metadata","verb":"get"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement-subscriptions_r4_server_cs_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.194+00:00"},{"id":"56b1b9a5-cd80-4282-b4de-ee3efa68d94a","created_at":"2026-05-27T16:45:17.214+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[{"id":"bc23634b-f5ee-4776-8b4e-8295e83dc828","direction":"outgoing","index":2,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":201,"timestamp":"2026-05-27T16:44:57.456+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement-subscriptions_r4_server_topic_discovery","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.214+00:00"},{"id":"1cb1c95e-e6d1-4eab-9f62-e0b48a8266d0","created_at":"2026-05-27T16:45:17.218+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.218+00:00"},{"id":"67f703a6-24da-4304-8654-aa47972e26e8","created_at":"2026-05-27T16:45:17.258+00:00","inputs":[{"name":"empty_subscription_resource","value":null,"type":"textarea"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"Did not input a Subscription resource of this type.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_subscription_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.258+00:00"},{"id":"068ab86d-fcc3-4652-8a49-4b3cb1496a93","created_at":"2026-05-27T16:45:17.261+00:00","inputs":[{"name":"empty_updated_subscription","value":null,"type":"text"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"Input 'empty_updated_subscription' is nil, skipping test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_notification_delivery","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.261+00:00"},{"id":"30383a88-8628-4334-ac34-13d0abee250f","created_at":"2026-05-27T16:45:17.265+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"bc23634b-f5ee-4776-8b4e-8295e83dc828","direction":"outgoing","index":2,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":201,"timestamp":"2026-05-27T16:44:57.456+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_creation_response_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.265+00:00"},{"id":"e713538a-e432-4c84-9fe2-92441038b4f3","created_at":"2026-05-27T16:45:17.267+00:00","inputs":[{"name":"empty_subscription_resource","label":"Empty Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.267+00:00"},{"id":"99d09eb2-a21a-421b-aa25-7d7b9c689931","created_at":"2026-05-27T16:45:17.279+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"bc23634b-f5ee-4776-8b4e-8295e83dc828","direction":"outgoing","index":2,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":201,"timestamp":"2026-05-27T16:44:57.456+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"38de70da-7687-406e-82ec-ab9fee8c5f92","direction":"incoming","index":4,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":200,"timestamp":"2026-05-27T16:44:58.945+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"},{"id":"9b8a6e15-9794-435c-8453-957359683d46","direction":"incoming","index":6,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":200,"timestamp":"2026-05-27T16:45:05.969+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_notification_presence","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.279+00:00"},{"id":"9baf887f-fe83-4939-8ebf-55f2bf6370e2","created_at":"2026-05-27T16:45:17.538+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"bc23634b-f5ee-4776-8b4e-8295e83dc828","direction":"outgoing","index":2,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":201,"timestamp":"2026-05-27T16:44:57.456+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"9b8a6e15-9794-435c-8453-957359683d46","direction":"incoming","index":6,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":200,"timestamp":"2026-05-27T16:45:05.969+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_notification_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.538+00:00"},{"id":"01f84673-485b-43b4-888b-12a32a8c9897","created_at":"2026-05-27T16:45:17.556+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Parameters.parameter:topic.value[x]: This value SHOULD NOT be present when using empty payloads","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"bc23634b-f5ee-4776-8b4e-8295e83dc828","direction":"outgoing","index":2,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":201,"timestamp":"2026-05-27T16:44:57.456+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"9b8a6e15-9794-435c-8453-957359683d46","direction":"incoming","index":6,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":200,"timestamp":"2026-05-27T16:45:05.969+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_empty_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.556+00:00"},{"id":"da708d99-df0d-4e96-929f-4f0f11be2720","created_at":"2026-05-27T16:45:17.562+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.562+00:00"},{"id":"e350fea1-e95e-4b9c-9456-9667d4dd8667","created_at":"2026-05-27T16:45:17.573+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"empty_subscription_resource","label":"Empty Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"}],"optional":true,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.573+00:00"},{"id":"b3345275-81d6-4fdb-aecd-92e1141ad951","created_at":"2026-05-27T16:45:17.583+00:00","inputs":[{"name":"id_only_subscription_resource","value":null,"type":"textarea"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"Did not input a Subscription resource of this type.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_subscription_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.583+00:00"},{"id":"756208bd-0243-4b82-b5ed-b80dfb728b24","created_at":"2026-05-27T16:45:17.585+00:00","inputs":[{"name":"id_only_updated_subscription","value":null,"type":"text"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"Input 'id_only_updated_subscription' is nil, skipping test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_notification_delivery","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.585+00:00"},{"id":"40a06711-f056-4682-988c-3b162fbd72ab","created_at":"2026-05-27T16:45:17.589+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"No successful Subscription creation request was made in the previous test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_creation_response_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.589+00:00"},{"id":"107d9f4c-ae23-4d64-a4e4-3146c2782090","created_at":"2026-05-27T16:45:17.591+00:00","inputs":[{"name":"id_only_subscription_resource","label":"Id-Only Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.591+00:00"},{"id":"e66c46a5-c543-4ee8-9960-dafccc4adef4","created_at":"2026-05-27T16:45:17.598+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nNo successful Subscription creation request of type id-only\nwas made in the previous test.\n\n","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_notification_presence","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.598+00:00"},{"id":"816a040b-2d15-4cfe-a6d7-e2cb2f98a8d4","created_at":"2026-05-27T16:45:17.602+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nNo successful Subscription creation request of type id-only\nwas made in the previous test.\n\n","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_notification_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.602+00:00"},{"id":"c0c168cc-a5a0-4411-bc38-05f1f14c5c54","created_at":"2026-05-27T16:45:17.606+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"No Subscriptions sent with notification payload type of `id-only`","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_id_only_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.606+00:00"},{"id":"e82b346d-0ab5-4f29-abea-76311b9cd83d","created_at":"2026-05-27T16:45:17.608+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.608+00:00"},{"id":"5b585824-72c1-4012-8a12-54d216dd51c1","created_at":"2026-05-27T16:45:17.612+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"id_only_subscription_resource","label":"Id-Only Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.612+00:00"},{"id":"92ed6331-18e8-498a-b092-2e200e34862f","created_at":"2026-05-27T16:45:17.624+00:00","inputs":[{"name":"full_resource_subscription_resource","value":null,"type":"textarea"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"Did not input a Subscription resource of this type.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_subscription_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.624+00:00"},{"id":"7fb21759-e6e6-4ffe-8e75-abf559415520","created_at":"2026-05-27T16:45:17.627+00:00","inputs":[{"name":"full_resource_updated_subscription","value":null,"type":"text"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"Input 'full_resource_updated_subscription' is nil, skipping test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_notification_delivery","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.627+00:00"},{"id":"2d1799e8-57b0-44d5-ba9b-a6723059aa0d","created_at":"2026-05-27T16:45:17.634+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"No successful Subscription creation request was made in the previous test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_creation_response_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.634+00:00"},{"id":"17c6c78c-c55f-4465-9e86-c060778c1ffd","created_at":"2026-05-27T16:45:17.636+00:00","inputs":[{"name":"full_resource_subscription_resource","label":"Full-Resource Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.636+00:00"},{"id":"a333fc25-e8de-49db-b59f-5ccbe1a26d94","created_at":"2026-05-27T16:45:17.647+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nNo successful Subscription creation request of type full-resource\nwas made in the previous test.\n\n","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_notification_presence","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.647+00:00"},{"id":"1027e0bc-7f9e-4344-b7a5-15f3aae52294","created_at":"2026-05-27T16:45:17.650+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nNo successful Subscription creation request of type full-resource\nwas made in the previous test.\n\n","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_notification_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.650+00:00"},{"id":"aa741a37-eb00-4642-9964-8d45253caf35","created_at":"2026-05-27T16:45:17.654+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"No Subscriptions sent with notification payload type of `full-resource`","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_full_resource_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.654+00:00"},{"id":"a2435951-4734-49f8-bf38-c90d977d8060","created_at":"2026-05-27T16:45:17.657+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.657+00:00"},{"id":"7b194a83-f80a-46b4-ae93-cd9547a81a3c","created_at":"2026-05-27T16:45:17.661+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"full_resource_subscription_resource","label":"Full-Resource Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.661+00:00"},{"id":"d797804a-cd5c-445e-a5ff-e02feb26d2b2","created_at":"2026-05-27T16:45:17.667+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"empty_subscription_resource","label":"Empty Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"id_only_subscription_resource","label":"Id-Only Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"full_resource_subscription_resource","label":"Full-Resource Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.667+00:00"},{"id":"38a5b7c1-2ea3-47e0-8af4-85584eeb614d","created_at":"2026-05-27T16:45:17.724+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"bc23634b-f5ee-4776-8b4e-8295e83dc828","direction":"outgoing","index":2,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":201,"timestamp":"2026-05-27T16:44:57.456+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"38de70da-7687-406e-82ec-ab9fee8c5f92","direction":"incoming","index":4,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":200,"timestamp":"2026-05-27T16:44:58.945+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat-subscriptions_r4_server_handshake_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.724+00:00"},{"id":"0074400b-bb99-448d-8401-6b5ff0f6ee55","created_at":"2026-05-27T16:45:17.740+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"bc23634b-f5ee-4776-8b4e-8295e83dc828","direction":"outgoing","index":2,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":201,"timestamp":"2026-05-27T16:44:57.456+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"omit","result_message":"No heartbeat requests requested or received in previous tests.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat-subscriptions_r4_server_heartbeat_conformance","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.740+00:00"},{"id":"fc674375-9f1f-4602-86f8-bbd58d18cf13","created_at":"2026-05-27T16:45:17.749+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.749+00:00"},{"id":"56d7762d-042a-4b5d-a097-cd701d231aa7","created_at":"2026-05-27T16:45:17.948+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Bundle: Bundle.entry[0].resource/*Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400*/.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Bundle: Bundle.entry[0].resource/*Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400*/.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"},{"message":"Bundle: Bundle.entry[0].resource/*Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400*/.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Bundle: Bundle.entry[0].resource/*Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400*/.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Bundle: Bundle: No types could be determined from the search string, so the types can't be checked","type":"info"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"bc23634b-f5ee-4776-8b4e-8295e83dc828","direction":"outgoing","index":2,"result_id":"e49c9e14-cec2-4991-bab1-52a13b54de76","status":201,"timestamp":"2026-05-27T16:44:57.456+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"2b2c43a8-d331-4e5c-9a33-140e07fa6dca","direction":"outgoing","index":10,"result_id":"56d7762d-042a-4b5d-a097-cd701d231aa7","status":200,"timestamp":"2026-05-27T16:45:17.970+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/658c4bcc-a52a-4ff6-b742-ef3bdb9afca2/$status","verb":"get"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_status_operation-subscriptions_r4_server_status_invocation","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.948+00:00"},{"id":"4ba7af13-0cf5-41f9-b81b-dc3fa1fd0a8c","created_at":"2026-05-27T16:45:17.980+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_status_operation","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:17.980+00:00"},{"id":"3adc1ce8-5e0d-4c12-83ff-e3b31f47a429","created_at":"2026-05-27T16:45:18.000+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}","type":"textarea"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"5995a389-af87-437e-ba9d-71f574dde8a9","direction":"outgoing","index":11,"result_id":"3adc1ce8-5e0d-4c12-83ff-e3b31f47a429","status":400,"timestamp":"2026-05-27T16:45:18.004+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_cross_version_extension","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:18.000+00:00"},{"id":"09fccdc3-65ec-4d89-a48e-3809c1013b63","created_at":"2026-05-27T16:45:18.037+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_topic","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Topic\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_topic","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:18.037+00:00"},{"id":"7dcdda33-b559-4179-a0ad-37f2163ce7d7","created_at":"2026-05-27T16:45:18.040+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_filter","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Filter\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_filter","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:18.040+00:00"},{"id":"591e1e80-ab38-4bb0-acdf-fed6302ad371","created_at":"2026-05-27T16:45:18.043+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_channel_type","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Channel Type\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_type","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:18.043+00:00"},{"id":"6aa27de5-7123-4a4c-80f3-20afce592785","created_at":"2026-05-27T16:45:18.046+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_channel_endpoint","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Channel Endpoint\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_endpoint","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:18.046+00:00"},{"id":"c0fb2a3b-0c24-4c97-bf26-5ccdf7b74463","created_at":"2026-05-27T16:45:18.049+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_payload_type","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Payload Type\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_payload_type","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:18.049+00:00"},{"id":"62c7d3a8-f051-4dd3-b8ba-ad644e064fa9","created_at":"2026-05-27T16:45:18.051+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_channel_payload_combo","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Channel and Payload Combination\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_payload_combo","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:18.051+00:00"},{"id":"e2be1d1f-13c3-43fe-b174-b9cbb1613b65","created_at":"2026-05-27T16:45:18.054+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"subscription_resource","label":"Workflow Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_topic","label":"Unsupported Subscription Topic","description":"A Subscription Topic for the `criteria` element that is not implemented by the server to test\n for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_filter","label":"Unsupported Subscription Filter","description":"A value for `filterCriteria` extension under the `criteria` that is not implemented by the\n server to test for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_channel_type","label":"Unsupported Subscription Channel Type","description":"A value for the `channel.type` element that is not implemented by the server to test for\n Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_channel_endpoint","label":"Unsupported Subscription Channel Endpoint","description":"An unsupported value for the `channel.endpoint` element to test for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_payload_type","label":"Unsupported Subscription Payload Type","description":"A value for the `content` extension under the `channel.payload` element that is not\n implemented by the server to test for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_channel_payload_combo","label":"Unsupported Subscription Channel and Payload Combination","description":"\n A channel (`channel.type`) and payload type (`content` extension under the `channel.payload` element)\n combination not implemented by the server to test for Subscription\n rejection. Provide as a JSON object with two keys as follows: {\"channel\": \"channel_type\",\n \"payload\": \"wrong_payload_type_for_this_channel\"}.\n ","value":null,"type":"text"}],"optional":false,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","updated_at":"2026-05-27T16:45:18.054+00:00"},{"id":"ee3ed146-181e-4c43-a11b-2ec930458981","created_at":"2026-05-27T16:45:18.061+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:29+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"subscription_resource","label":"Workflow Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}","type":"textarea"},{"name":"empty_subscription_resource","label":"Empty Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"id_only_subscription_resource","label":"Id-Only Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"full_resource_subscription_resource","label":"Full-Resource Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"unsupported_subscription_topic","label":"Unsupported Subscription Topic","description":"A Subscription Topic for the `criteria` element that is not implemented by the server to test\n for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_filter","label":"Unsupported Subscription Filter","description":"A value for `filterCriteria` extension under the `criteria` that is not implemented by the\n server to test for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_channel_type","label":"Unsupported Subscription Channel Type","description":"A value for the `channel.type` element that is not implemented by the server to test for\n Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_channel_endpoint","label":"Unsupported Subscription Channel Endpoint","description":"An unsupported value for the `channel.endpoint` element to test for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_payload_type","label":"Unsupported Subscription Payload Type","description":"A value for the `content` extension under the `channel.payload` element that is not\n implemented by the server to test for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_channel_payload_combo","label":"Unsupported Subscription Channel and Payload Combination","description":"\n A channel (`channel.type`) and payload type (`content` extension under the `channel.payload` element)\n combination not implemented by the server to test for Subscription\n rejection. Provide as a JSON object with two keys as follows: {\"channel\": \"channel_type\",\n \"payload\": \"wrong_payload_type_for_this_channel\"}.\n ","value":null,"type":"text"}],"optional":false,"outputs":[],"requests":[],"result":"skip","test_run_id":"aec99f8d-c898-4768-b203-531de72cb3ee","test_session_id":"b5ShEPb2Mcn","test_suite_id":"subscriptions_r5_backport_r4_server","updated_at":"2026-05-27T16:45:18.061+00:00"}] \ No newline at end of file +[ + { + "id": "d8c6bf9b-f96d-42c3-a753-5fb28bfcb9c9", + "created_at": "2026-10-06T14:21:07.079-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Subscription: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": false, + "outputs": [ + { + "name": "updated_subscription", + "type": "text", + "value": "{\"resourceType\":\"Subscription\",\"meta\":{\"profile\":[\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]},\"status\":\"requested\",\"end\":\"2020-12-31T12:00:00Z\",\"reason\":\"R4 Topic-Based Workflow Subscription for Patient Admission\",\"criteria\":\"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\"_criteria\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\"valueString\":\"Encounter.patient=Patient/123\"}]},\"channel\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\"valueUnsignedInt\":60},{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\"valuePositiveInt\":20}],\"type\":\"rest-hook\",\"header\":[\"Authorization: Bearer SAMPLE_TOKEN\"],\"endpoint\":\"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\"payload\":\"application/fhir+json\",\"_payload\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\"valueCode\":\"empty\"}]}}}" + } + ], + "requests": [], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_subscription_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:07.079-04:00" + }, + { + "id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "created_at": "2026-10-06T14:21:07.088-04:00", + "inputs": [ + { + "name": "updated_subscription", + "value": "{\"resourceType\":\"Subscription\",\"meta\":{\"profile\":[\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]},\"status\":\"requested\",\"end\":\"2020-12-31T12:00:00Z\",\"reason\":\"R4 Topic-Based Workflow Subscription for Patient Admission\",\"criteria\":\"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\"_criteria\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\"valueString\":\"Encounter.patient=Patient/123\"}]},\"channel\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\"valueUnsignedInt\":60},{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\"valuePositiveInt\":20}],\"type\":\"rest-hook\",\"header\":[\"Authorization: Bearer SAMPLE_TOKEN\"],\"endpoint\":\"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\"payload\":\"application/fhir+json\",\"_payload\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\"valueCode\":\"empty\"}]}}}", + "type": "text" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [ + { + "name": "confirmation_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/resume_pass?token=notification%20SAMPLE_TOKEN" + } + ], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_notification_delivery", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.343-04:00" + }, + { + "id": "23b73430-3eda-4898-9f4d-37cf3f12886d", + "created_at": "2026-10-06T14:21:25.397-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_creation_response_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.397-04:00" + }, + { + "id": "78855f04-2765-4c99-a8e8-db90f27342c3", + "created_at": "2026-10-06T14:21:25.398-04:00", + "inputs": [ + { + "name": "subscription_resource", + "label": "Workflow Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.398-04:00" + }, + { + "id": "d2d36b41-2bff-4c8b-b352-4d997b150d94", + "created_at": "2026-10-06T14:21:25.400-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "65b0a50e-cc9a-437f-ae3f-813aeddf678e", + "direction": "incoming", + "index": 391, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 200, + "timestamp": "2026-10-06T14:21:08.612-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + }, + { + "id": "0857e8c7-2f46-4001-88e0-2f8d35ea8c29", + "direction": "incoming", + "index": 393, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 200, + "timestamp": "2026-10-06T14:21:17.632-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification-subscriptions_r4_server_notification_presence", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.400-04:00" + }, + { + "id": "6c10734c-83a1-4f5c-8d90-7e6a840ac4f9", + "created_at": "2026-10-06T14:21:25.441-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "0857e8c7-2f46-4001-88e0-2f8d35ea8c29", + "direction": "incoming", + "index": 393, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 200, + "timestamp": "2026-10-06T14:21:17.632-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification-subscriptions_r4_server_notification_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.441-04:00" + }, + { + "id": "38017efd-1dda-48e6-a27d-065593bcd526", + "created_at": "2026-10-06T14:21:25.443-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.443-04:00" + }, + { + "id": "7b78cc60-83be-4048-ba5f-e57d1414f626", + "created_at": "2026-10-06T14:21:25.445-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "subscription_resource", + "label": "Workflow Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.445-04:00" + }, + { + "id": "b07858b0-ed18-4900-9693-cc3d8871c2d9", + "created_at": "2026-10-06T14:21:25.474-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "CapabilityStatement: CapabilityStatement.rest[0].resource[0].extension[0].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "CapabilityStatement: CapabilityStatement: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "f52756ab-1719-44b9-b79e-7ca242a79d14", + "direction": "outgoing", + "index": 396, + "result_id": "b07858b0-ed18-4900-9693-cc3d8871c2d9", + "status": 200, + "timestamp": "2026-10-06T14:21:25.475-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/metadata", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement-subscriptions_r4_server_cs_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.474-04:00" + }, + { + "id": "0a55d66d-961d-450f-aed3-76106334b69f", + "created_at": "2026-10-06T14:21:25.478-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement-subscriptions_r4_server_topic_discovery", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.478-04:00" + }, + { + "id": "21d120ae-bd13-481a-9eff-8c3999130fb1", + "created_at": "2026-10-06T14:21:25.479-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.479-04:00" + }, + { + "id": "b2412269-2bea-40d2-a9a6-29ab399d8dea", + "created_at": "2026-10-06T14:21:25.483-04:00", + "inputs": [ + { + "name": "empty_subscription_resource", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "Did not input a Subscription resource of this type.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_subscription_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.483-04:00" + }, + { + "id": "9353cb25-cda0-4cee-99e5-9d8fb0a076f1", + "created_at": "2026-10-06T14:21:25.484-04:00", + "inputs": [ + { + "name": "empty_updated_subscription", + "value": null, + "type": "text" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "Input 'empty_updated_subscription' is nil, skipping test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_notification_delivery", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.484-04:00" + }, + { + "id": "68d16a32-c3b3-4cbe-8a3f-2df551af780a", + "created_at": "2026-10-06T14:21:25.486-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_creation_response_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.486-04:00" + }, + { + "id": "d2305c68-a0a1-4a55-84ca-828961e32f01", + "created_at": "2026-10-06T14:21:25.486-04:00", + "inputs": [ + { + "name": "empty_subscription_resource", + "label": "Empty Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.486-04:00" + }, + { + "id": "1e79f720-8aa0-449f-9c25-5b04ac310a72", + "created_at": "2026-10-06T14:21:25.491-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "65b0a50e-cc9a-437f-ae3f-813aeddf678e", + "direction": "incoming", + "index": 391, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 200, + "timestamp": "2026-10-06T14:21:08.612-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + }, + { + "id": "0857e8c7-2f46-4001-88e0-2f8d35ea8c29", + "direction": "incoming", + "index": 393, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 200, + "timestamp": "2026-10-06T14:21:17.632-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_notification_presence", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.491-04:00" + }, + { + "id": "3f6ac3c1-97f8-49a9-96df-4b9f53479a61", + "created_at": "2026-10-06T14:21:25.512-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "0857e8c7-2f46-4001-88e0-2f8d35ea8c29", + "direction": "incoming", + "index": 393, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 200, + "timestamp": "2026-10-06T14:21:17.632-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_notification_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.512-04:00" + }, + { + "id": "4a1020e9-b94c-4b70-9dd8-45d7985d250c", + "created_at": "2026-10-06T14:21:25.515-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Parameters.parameter:topic.value[x]: This value SHOULD NOT be present when using empty payloads", + "type": "warning" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "0857e8c7-2f46-4001-88e0-2f8d35ea8c29", + "direction": "incoming", + "index": 393, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 200, + "timestamp": "2026-10-06T14:21:17.632-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_empty_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.515-04:00" + }, + { + "id": "d6fed406-ac88-4903-b780-5fcd37f393a8", + "created_at": "2026-10-06T14:21:25.516-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.516-04:00" + }, + { + "id": "2b4427ee-c912-4768-9790-0d529dfdddb0", + "created_at": "2026-10-06T14:21:25.519-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "empty_subscription_resource", + "label": "Empty Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.519-04:00" + }, + { + "id": "34059328-8e4c-4eff-b54b-e5e0cab2c578", + "created_at": "2026-10-06T14:21:25.521-04:00", + "inputs": [ + { + "name": "id_only_subscription_resource", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "Did not input a Subscription resource of this type.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_subscription_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.521-04:00" + }, + { + "id": "cfab36d6-3350-4783-be68-3e2a97186d3b", + "created_at": "2026-10-06T14:21:25.522-04:00", + "inputs": [ + { + "name": "id_only_updated_subscription", + "value": null, + "type": "text" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "Input 'id_only_updated_subscription' is nil, skipping test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_notification_delivery", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.522-04:00" + }, + { + "id": "226c3445-26e4-42ff-94a5-e113735f9679", + "created_at": "2026-10-06T14:21:25.523-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "No successful Subscription creation request was made in the previous test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_creation_response_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.523-04:00" + }, + { + "id": "e8fc42aa-1ed1-4c6e-bd78-4cd5e77307ec", + "created_at": "2026-10-06T14:21:25.523-04:00", + "inputs": [ + { + "name": "id_only_subscription_resource", + "label": "Id-Only Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.523-04:00" + }, + { + "id": "a6d2eed8-a174-47eb-910b-77ca9b06b5f7", + "created_at": "2026-10-06T14:21:25.526-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nNo successful Subscription creation request of type id-only\nwas made in the previous test.\n\n", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_notification_presence", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.526-04:00" + }, + { + "id": "e4f4008b-cb5a-469c-a5eb-7fda6c9a288e", + "created_at": "2026-10-06T14:21:25.527-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nNo successful Subscription creation request of type id-only\nwas made in the previous test.\n\n", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_notification_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.527-04:00" + }, + { + "id": "b51d102a-13ce-4416-972c-cf105d8d13d9", + "created_at": "2026-10-06T14:21:25.527-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "No Subscriptions sent with notification payload type of `id-only`", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_id_only_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.527-04:00" + }, + { + "id": "11341758-b12f-4b99-bcc8-87222a5eae68", + "created_at": "2026-10-06T14:21:25.528-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.528-04:00" + }, + { + "id": "dab2c781-6095-4855-8053-eb0b9bc05525", + "created_at": "2026-10-06T14:21:25.529-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "id_only_subscription_resource", + "label": "Id-Only Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.529-04:00" + }, + { + "id": "451df689-ee1e-4e04-a297-8c2fe992bf0e", + "created_at": "2026-10-06T14:21:25.531-04:00", + "inputs": [ + { + "name": "full_resource_subscription_resource", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "Did not input a Subscription resource of this type.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_subscription_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.531-04:00" + }, + { + "id": "f17128d0-dd6c-4702-b916-f76aee56da54", + "created_at": "2026-10-06T14:21:25.531-04:00", + "inputs": [ + { + "name": "full_resource_updated_subscription", + "value": null, + "type": "text" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "Input 'full_resource_updated_subscription' is nil, skipping test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_notification_delivery", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.531-04:00" + }, + { + "id": "790ec75d-b1c4-4e14-af93-be7396a0a93a", + "created_at": "2026-10-06T14:21:25.532-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "No successful Subscription creation request was made in the previous test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_creation_response_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.532-04:00" + }, + { + "id": "0e8c2cf3-fb10-4ece-a46b-0c2005fdd4e7", + "created_at": "2026-10-06T14:21:25.532-04:00", + "inputs": [ + { + "name": "full_resource_subscription_resource", + "label": "Full-Resource Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.532-04:00" + }, + { + "id": "e1b5fd6b-8d3b-4d2d-937b-0df1c6accf59", + "created_at": "2026-10-06T14:21:25.534-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nNo successful Subscription creation request of type full-resource\nwas made in the previous test.\n\n", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_notification_presence", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.534-04:00" + }, + { + "id": "cd24ce79-e6d9-4d99-ada4-89e49c13a406", + "created_at": "2026-10-06T14:21:25.535-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nNo successful Subscription creation request of type full-resource\nwas made in the previous test.\n\n", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_notification_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.535-04:00" + }, + { + "id": "abfc6f15-ed78-42b4-9fb7-ad62248702f6", + "created_at": "2026-10-06T14:21:25.536-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "No Subscriptions sent with notification payload type of `full-resource`", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_full_resource_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.536-04:00" + }, + { + "id": "068b5c87-48d8-4431-8076-21b743fda8ae", + "created_at": "2026-10-06T14:21:25.536-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.536-04:00" + }, + { + "id": "56b1aab0-4782-4357-9b77-3566a67a73f1", + "created_at": "2026-10-06T14:21:25.537-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "full_resource_subscription_resource", + "label": "Full-Resource Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.537-04:00" + }, + { + "id": "1df0d649-8a89-4123-9324-ad01b43c29fa", + "created_at": "2026-10-06T14:21:25.538-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "empty_subscription_resource", + "label": "Empty Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "id_only_subscription_resource", + "label": "Id-Only Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "full_resource_subscription_resource", + "label": "Full-Resource Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.538-04:00" + }, + { + "id": "7ead3e11-d543-49cd-9414-93629680a552", + "created_at": "2026-10-06T14:21:25.559-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "65b0a50e-cc9a-437f-ae3f-813aeddf678e", + "direction": "incoming", + "index": 391, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 200, + "timestamp": "2026-10-06T14:21:08.612-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat-subscriptions_r4_server_handshake_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.559-04:00" + }, + { + "id": "fc008309-bbca-4971-bc15-ebd0fcd1425b", + "created_at": "2026-10-06T14:21:25.561-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "omit", + "result_message": "No heartbeat requests requested or received in previous tests.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat-subscriptions_r4_server_heartbeat_conformance", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.561-04:00" + }, + { + "id": "3b0a6928-365c-49c7-a800-641d764db938", + "created_at": "2026-10-06T14:21:25.561-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.561-04:00" + }, + { + "id": "b80045b3-0144-4680-bee9-9bd75c668bb6", + "created_at": "2026-10-06T14:21:25.608-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Bundle: Bundle.entry[0].resource/*Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400*/.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Bundle: Bundle.entry[0].resource/*Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400*/.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + }, + { + "message": "Bundle: Bundle.entry[0].resource/*Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400*/.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Bundle: Bundle.entry[0].resource/*Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400*/.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Bundle: Bundle: No types could be determined from the search string, so the types can't be checked", + "type": "info" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/9e41ff6d-5be6-4e6a-8b85-abd4e7f58400: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "e6958b39-58a0-44da-979e-292e170f652a", + "direction": "outgoing", + "index": 398, + "result_id": "b80045b3-0144-4680-bee9-9bd75c668bb6", + "status": 200, + "timestamp": "2026-10-06T14:21:25.609-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/94344a1e-3519-4d83-9092-9ac0390943a5/$status", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_status_operation-subscriptions_r4_server_status_invocation", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.608-04:00" + }, + { + "id": "bbb64b75-e713-4566-909b-25c0e8b0626a", + "created_at": "2026-10-06T14:21:25.610-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_status_operation", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.610-04:00" + }, + { + "id": "2e234055-3951-43fb-aa56-c7d7fae4a968", + "created_at": "2026-10-06T14:21:25.616-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "a9def533-7df6-4899-91d5-ab113fa9eb07", + "direction": "outgoing", + "index": 400, + "result_id": "2e234055-3951-43fb-aa56-c7d7fae4a968", + "status": 400, + "timestamp": "2026-10-06T14:21:25.617-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_cross_version_extension", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.616-04:00" + }, + { + "id": "75f5c3eb-593d-43b4-9b2d-e33959c025a8", + "created_at": "2026-10-06T14:21:25.618-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_topic", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Topic\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_topic", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.618-04:00" + }, + { + "id": "4b5aaab6-5ca0-49c0-b34e-d6b66f68a1f1", + "created_at": "2026-10-06T14:21:25.623-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_filter", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Filter\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_filter", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.623-04:00" + }, + { + "id": "d77fe9e2-23a9-497a-bf07-5670059b610c", + "created_at": "2026-10-06T14:21:25.626-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_channel_type", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Channel Type\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_type", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.626-04:00" + }, + { + "id": "f43da96c-a8f3-44dd-bec6-644be287286d", + "created_at": "2026-10-06T14:21:25.627-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_channel_endpoint", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Channel Endpoint\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_endpoint", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.627-04:00" + }, + { + "id": "77609794-09b7-40c1-b96f-63bb95c93e9a", + "created_at": "2026-10-06T14:21:25.628-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_payload_type", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Payload Type\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_payload_type", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.628-04:00" + }, + { + "id": "8c30b6a4-1a0e-4443-b090-f9e5459cc775", + "created_at": "2026-10-06T14:21:25.628-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_channel_payload_combo", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Channel and Payload Combination\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_payload_combo", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.628-04:00" + }, + { + "id": "daddac23-ed93-4c62-b32a-1e01eeda65c9", + "created_at": "2026-10-06T14:21:25.628-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "subscription_resource", + "label": "Workflow Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_topic", + "label": "Unsupported Subscription Topic", + "description": "A Subscription Topic for the `criteria` element that is not implemented by the server to test\n for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_filter", + "label": "Unsupported Subscription Filter", + "description": "A value for `filterCriteria` extension under the `criteria` that is not implemented by the\n server to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_type", + "label": "Unsupported Subscription Channel Type", + "description": "A value for the `channel.type` element that is not implemented by the server to test for\n Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_endpoint", + "label": "Unsupported Subscription Channel Endpoint", + "description": "An unsupported value for the `channel.endpoint` element to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_payload_type", + "label": "Unsupported Subscription Payload Type", + "description": "A value for the `content` extension under the `channel.payload` element that is not\n implemented by the server to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_payload_combo", + "label": "Unsupported Subscription Channel and Payload Combination", + "description": "\n A channel (`channel.type`) and payload type (`content` extension under the `channel.payload` element)\n combination not implemented by the server to test for Subscription\n rejection. Provide as a JSON object with two keys as follows: {\"channel\": \"channel_type\",\n \"payload\": \"wrong_payload_type_for_this_channel\"}.\n ", + "value": null, + "type": "text" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.628-04:00" + }, + { + "id": "ee61c3ac-8b99-4813-8e68-78e7daee1a88", + "created_at": "2026-10-06T14:21:25.641-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "0c28ffe1-a6ce-400b-b0f5-53ce9f8e06ce", + "direction": "outgoing", + "index": 404, + "result_id": "ee61c3ac-8b99-4813-8e68-78e7daee1a88", + "status": 200, + "timestamp": "2026-10-06T14:21:25.642-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/94344a1e-3519-4d83-9092-9ac0390943a5", + "verb": "get" + }, + { + "id": "055fa761-2a76-4fc8-b4bb-048907bb0d3a", + "direction": "outgoing", + "index": 405, + "result_id": "ee61c3ac-8b99-4813-8e68-78e7daee1a88", + "status": 200, + "timestamp": "2026-10-06T14:21:25.642-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/94344a1e-3519-4d83-9092-9ac0390943a5", + "verb": "put" + }, + { + "id": "c55d921d-6d8e-445f-8504-4fbb54b40299", + "direction": "outgoing", + "index": 406, + "result_id": "ee61c3ac-8b99-4813-8e68-78e7daee1a88", + "status": 200, + "timestamp": "2026-10-06T14:21:25.643-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/94344a1e-3519-4d83-9092-9ac0390943a5", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete-subscriptions_r4_server_update_put", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.641-04:00" + }, + { + "id": "b4216689-a072-4a2e-b906-f7b31abe4387", + "created_at": "2026-10-06T14:21:25.659-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "7bda1b37-72f3-4c10-afa3-f655c6bf4cf8", + "direction": "outgoing", + "index": 410, + "result_id": "b4216689-a072-4a2e-b906-f7b31abe4387", + "status": 200, + "timestamp": "2026-10-06T14:21:25.661-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/94344a1e-3519-4d83-9092-9ac0390943a5", + "verb": "get" + }, + { + "id": "948ce3f4-9700-4c56-9619-3fbe08e50445", + "direction": "outgoing", + "index": 411, + "result_id": "b4216689-a072-4a2e-b906-f7b31abe4387", + "status": 200, + "timestamp": "2026-10-06T14:21:25.662-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/94344a1e-3519-4d83-9092-9ac0390943a5", + "verb": "patch" + }, + { + "id": "4cfcc231-ab05-4025-9076-7980ecb448d6", + "direction": "outgoing", + "index": 412, + "result_id": "b4216689-a072-4a2e-b906-f7b31abe4387", + "status": 200, + "timestamp": "2026-10-06T14:21:25.662-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/94344a1e-3519-4d83-9092-9ac0390943a5", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete-subscriptions_r4_server_update_patch", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.659-04:00" + }, + { + "id": "856439a7-1f48-4f78-89c9-35c95d6be2c4", + "created_at": "2026-10-06T14:21:25.668-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "73d63c9c-e536-41b2-849a-5e7c4a3b7791", + "direction": "outgoing", + "index": 390, + "result_id": "6fd04c1d-f984-4331-bf72-f34fcb9e5d6d", + "status": 201, + "timestamp": "2026-10-06T14:21:07.088-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "599a8f3e-86c0-4a37-8112-b0c22d8bf90a", + "direction": "outgoing", + "index": 415, + "result_id": "856439a7-1f48-4f78-89c9-35c95d6be2c4", + "status": 204, + "timestamp": "2026-10-06T14:21:25.669-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/94344a1e-3519-4d83-9092-9ac0390943a5", + "verb": "delete" + }, + { + "id": "42e34dee-758e-407f-8bd7-31d034bb5a13", + "direction": "outgoing", + "index": 416, + "result_id": "856439a7-1f48-4f78-89c9-35c95d6be2c4", + "status": 404, + "timestamp": "2026-10-06T14:21:25.669-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/94344a1e-3519-4d83-9092-9ac0390943a5", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete-subscriptions_r4_server_delete", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.668-04:00" + }, + { + "id": "fbc8bddf-a30e-4933-aad5-4afbd673ab85", + "created_at": "2026-10-06T14:21:25.670-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "updated_at": "2026-10-06T14:21:25.670-04:00" + }, + { + "id": "b2a5b026-5a5a-4b9b-90ed-58add11549ba", + "created_at": "2026-10-06T14:21:25.671-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:21:03-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "subscription_resource", + "label": "Workflow Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"empty\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "empty_subscription_resource", + "label": "Empty Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "id_only_subscription_resource", + "label": "Id-Only Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "full_resource_subscription_resource", + "label": "Full-Resource Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "unsupported_subscription_topic", + "label": "Unsupported Subscription Topic", + "description": "A Subscription Topic for the `criteria` element that is not implemented by the server to test\n for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_filter", + "label": "Unsupported Subscription Filter", + "description": "A value for `filterCriteria` extension under the `criteria` that is not implemented by the\n server to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_type", + "label": "Unsupported Subscription Channel Type", + "description": "A value for the `channel.type` element that is not implemented by the server to test for\n Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_endpoint", + "label": "Unsupported Subscription Channel Endpoint", + "description": "An unsupported value for the `channel.endpoint` element to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_payload_type", + "label": "Unsupported Subscription Payload Type", + "description": "A value for the `content` extension under the `channel.payload` element that is not\n implemented by the server to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_payload_combo", + "label": "Unsupported Subscription Channel and Payload Combination", + "description": "\n A channel (`channel.type`) and payload type (`content` extension under the `channel.payload` element)\n combination not implemented by the server to test for Subscription\n rejection. Provide as a JSON object with two keys as follows: {\"channel\": \"channel_type\",\n \"payload\": \"wrong_payload_type_for_this_channel\"}.\n ", + "value": null, + "type": "text" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "test_run_id": "c0aca0a9-f2af-44e8-be19-ff913ebfa75b", + "test_session_id": "FBfGKwugOR", + "test_suite_id": "subscriptions_r5_backport_r4_server", + "updated_at": "2026-10-06T14:21:25.671-04:00" + } +] \ No newline at end of file diff --git a/execution_scripts/subscriptions_r4_full_resource_with_commands.yaml b/execution_scripts/subscriptions_r4_full_resource_with_commands.yaml index 31fd7f6..1b06ffe 100644 --- a/execution_scripts/subscriptions_r4_full_resource_with_commands.yaml +++ b/execution_scripts/subscriptions_r4_full_resource_with_commands.yaml @@ -74,6 +74,29 @@ steps: next_poll_session: client action_description: Attest that event notification was processed correctly + - session: client + status: waiting + last_completed: 2.1.01 + state_description: > + Step 6: Client is waiting at the update and delete interaction (2.1.01). The server suite's + update and deletion tests already updated (PUT and JSON Patch) but they will have failed, + so re-run the last server group. + start_run: + session: server + runnable: 7 + next_poll_session: server + action_description: Start server group 7 "Subscription Update and Deletion Verification" + + - session: server + status: done + last_completed: 7 + state_description: > + Step 7: Server Update / Delete group re-run is done. Advance the client wait so the client + suite can continue with update and delete conformance verification. + command: bundle exec ruby execution_scripts/advance_wait.rb '{client.wait_outputs.confirmation_url}' + next_poll_session: client + action_description: Advance client update and delete wait + - session: client status: done last_completed: suite diff --git a/execution_scripts/subscriptions_r4_full_resource_with_commands_client_expected.json b/execution_scripts/subscriptions_r4_full_resource_with_commands_client_expected.json index 7ec6632..f18163a 100644 --- a/execution_scripts/subscriptions_r4_full_resource_with_commands_client_expected.json +++ b/execution_scripts/subscriptions_r4_full_resource_with_commands_client_expected.json @@ -1 +1,586 @@ -[{"id":"c32087de-2ae4-4db7-b56e-798619075076","created_at":"2026-05-27T16:44:32.355+00:00","inputs":[{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"client_endpoint_access_token","value":null,"type":"text"},{"name":"notification_bundle","value":"{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-full-resource\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n },\n {\n \"fullUrl\" : \"https://fhirserver.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\",\n \"resource\" : {\n \"resourceType\" : \"Encounter\",\n \"id\" : \"86009987-eabe-42bf-8c02-b112b18cb616\",\n \"status\" : \"in-progress\",\n \"class\" : {\n \"system\" : \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\" : \"VR\"\n },\n \"subject\" : {\n \"reference\" : \"https://fhirserver.org/fhir/Patient/1599eb66-431a-447c-a3de-6897fe9ae9a1\",\n \"display\" : \"Example Patient\"\n }\n },\n \"request\" : {\n \"method\" : \"POST\",\n \"url\" : \"Encounter\"\n },\n \"response\" : {\n \"status\" : \"201\"\n }\n }]\n}","type":"textarea"}],"optional":false,"outputs":[{"name":"confirmation_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=SAMPLE_TOKEN"},{"name":"fail_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=SAMPLE_TOKEN"}],"requests":[],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-Group01-subscriptions_r4_client_interaction","test_run_id":"54a8dbe1-5409-4c71-890a-45502d3377cf","test_session_id":"aRhzlolZt1u","updated_at":"2026-05-27T16:45:24.988+00:00"},{"id":"c85b9a7c-5513-4cd0-80f7-afeb2ce12805","created_at":"2026-05-27T16:45:25.009+00:00","inputs":[],"optional":false,"outputs":[],"requests":[{"id":"3fee92c2-3b79-40ea-92de-d6eb19cb58c4","direction":"outgoing","index":4,"result_id":"c32087de-2ae4-4db7-b56e-798619075076","status":200,"timestamp":"2026-05-27T16:45:07.288+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_handshake_notification_verification","test_run_id":"54a8dbe1-5409-4c71-890a-45502d3377cf","test_session_id":"aRhzlolZt1u","updated_at":"2026-05-27T16:45:25.009+00:00"},{"id":"c468c4df-c33f-436b-809d-556345dc115a","created_at":"2026-05-27T16:45:25.015+00:00","inputs":[],"optional":false,"outputs":[],"requests":[{"id":"15421a9e-1dad-4aa8-935b-7af89a8a5c2b","direction":"outgoing","index":5,"result_id":"c32087de-2ae4-4db7-b56e-798619075076","status":200,"timestamp":"2026-05-27T16:45:12.323+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_event_notification_verification","test_run_id":"54a8dbe1-5409-4c71-890a-45502d3377cf","test_session_id":"aRhzlolZt1u","updated_at":"2026-05-27T16:45:25.015+00:00"},{"id":"bc9a2bf7-f63d-4aa5-bc6d-9176c01b0067","created_at":"2026-05-27T16:45:27.174+00:00","inputs":[],"messages":[{"message":"Subscription: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription.criteria.extension[0]: Unknown extension http://hl7.org/fhir/5.0/subscriptions-backport/StructureDefinition/backport-filter-criteria","type":"info"},{"message":"Subscription: Subscription.criteria.extension[0]: This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription|1.1.0 (this may not be a problem, but you should check that it's not intended to match a slice)","type":"info"},{"message":"Subscription: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"2598ce55-16bd-49ec-b5ea-8e58ec0a08fe","direction":"incoming","index":1,"result_id":"c32087de-2ae4-4db7-b56e-798619075076","status":201,"timestamp":"2026-05-27T16:45:05.775+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"POST"},{"id":"cfbda76c-b643-4e58-9502-e214fa6a7f3e","direction":"incoming","index":11,"result_id":"c32087de-2ae4-4db7-b56e-798619075076","status":400,"timestamp":"2026-05-27T16:45:23.828+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_subscription_verification","test_run_id":"54a8dbe1-5409-4c71-890a-45502d3377cf","test_session_id":"aRhzlolZt1u","updated_at":"2026-05-27T16:45:27.174+00:00"},{"id":"bc483c39-7f6f-4ecd-982a-61ee63248f2a","created_at":"2026-05-27T16:45:27.555+00:00","inputs":[],"messages":[{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"15421a9e-1dad-4aa8-935b-7af89a8a5c2b","direction":"outgoing","index":5,"result_id":"c32087de-2ae4-4db7-b56e-798619075076","status":200,"timestamp":"2026-05-27T16:45:12.323+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_notification_input_verification","test_run_id":"54a8dbe1-5409-4c71-890a-45502d3377cf","test_session_id":"aRhzlolZt1u","updated_at":"2026-05-27T16:45:27.555+00:00"},{"id":"41df8c91-e1c3-4aa9-95d6-f250e3bd7bb4","created_at":"2026-05-27T16:45:27.660+00:00","inputs":[],"messages":[{"message":"Encounter/86009987-eabe-42bf-8c02-b112b18cb616: Encounter: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"15421a9e-1dad-4aa8-935b-7af89a8a5c2b","direction":"outgoing","index":5,"result_id":"c32087de-2ae4-4db7-b56e-798619075076","status":200,"timestamp":"2026-05-27T16:45:12.323+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_notification_input_payload_verification","test_run_id":"54a8dbe1-5409-4c71-890a-45502d3377cf","test_session_id":"aRhzlolZt1u","updated_at":"2026-05-27T16:45:27.660+00:00"},{"id":"e77f81b8-b01d-486a-85e6-8ff35efc0575","created_at":"2026-05-27T16:45:27.669+00:00","inputs":[],"optional":false,"outputs":[{"name":"attest_true_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=aRhzlolZt1u"},{"name":"attest_false_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=aRhzlolZt1u"}],"requests":[{"id":"15421a9e-1dad-4aa8-935b-7af89a8a5c2b","direction":"outgoing","index":5,"result_id":"c32087de-2ae4-4db7-b56e-798619075076","status":200,"timestamp":"2026-05-27T16:45:12.323+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_processing_attestation","test_run_id":"54a8dbe1-5409-4c71-890a-45502d3377cf","test_session_id":"aRhzlolZt1u","updated_at":"2026-05-27T16:45:28.028+00:00"},{"id":"f879e18e-8a71-4cc7-9b29-1532cac9a240","created_at":"2026-05-27T16:45:28.039+00:00","inputs":[{"name":"access_token","label":"Access Token","description":"\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"client_endpoint_access_token","label":"Client Notification Access Token","description":"\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ","value":null,"type":"text"},{"name":"notification_bundle","label":"Event Notification Bundle","description":"\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ","value":"{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-full-resource\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n },\n {\n \"fullUrl\" : \"https://fhirserver.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\",\n \"resource\" : {\n \"resourceType\" : \"Encounter\",\n \"id\" : \"86009987-eabe-42bf-8c02-b112b18cb616\",\n \"status\" : \"in-progress\",\n \"class\" : {\n \"system\" : \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\" : \"VR\"\n },\n \"subject\" : {\n \"reference\" : \"https://fhirserver.org/fhir/Patient/1599eb66-431a-447c-a3de-6897fe9ae9a1\",\n \"display\" : \"Example Patient\"\n }\n },\n \"request\" : {\n \"method\" : \"POST\",\n \"url\" : \"Encounter\"\n },\n \"response\" : {\n \"status\" : \"201\"\n }\n }]\n}","type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-Group01","test_run_id":"54a8dbe1-5409-4c71-890a-45502d3377cf","test_session_id":"aRhzlolZt1u","updated_at":"2026-05-27T16:45:28.039+00:00"},{"id":"6ac3bf9b-9dd8-4e1e-b024-b806158872f1","created_at":"2026-05-27T16:45:28.045+00:00","inputs":[],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification","test_run_id":"54a8dbe1-5409-4c71-890a-45502d3377cf","test_session_id":"aRhzlolZt1u","updated_at":"2026-05-27T16:45:28.045+00:00"},{"id":"021c90cd-9582-4418-a528-d6880042dcf4","created_at":"2026-05-27T16:45:28.050+00:00","inputs":[],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification","test_run_id":"54a8dbe1-5409-4c71-890a-45502d3377cf","test_session_id":"aRhzlolZt1u","updated_at":"2026-05-27T16:45:28.050+00:00"},{"id":"14c8fb41-61c6-4574-831a-c3b6f4cf5551","created_at":"2026-05-27T16:45:28.057+00:00","inputs":[{"name":"access_token","label":"Access Token","description":"\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"client_endpoint_access_token","label":"Client Notification Access Token","description":"\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ","value":null,"type":"text"},{"name":"notification_bundle","label":"Event Notification Bundle","description":"\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ","value":"{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-full-resource\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n },\n {\n \"fullUrl\" : \"https://fhirserver.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\",\n \"resource\" : {\n \"resourceType\" : \"Encounter\",\n \"id\" : \"86009987-eabe-42bf-8c02-b112b18cb616\",\n \"status\" : \"in-progress\",\n \"class\" : {\n \"system\" : \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\" : \"VR\"\n },\n \"subject\" : {\n \"reference\" : \"https://fhirserver.org/fhir/Patient/1599eb66-431a-447c-a3de-6897fe9ae9a1\",\n \"display\" : \"Example Patient\"\n }\n },\n \"request\" : {\n \"method\" : \"POST\",\n \"url\" : \"Encounter\"\n },\n \"response\" : {\n \"status\" : \"201\"\n }\n }]\n}","type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow","test_run_id":"54a8dbe1-5409-4c71-890a-45502d3377cf","test_session_id":"aRhzlolZt1u","updated_at":"2026-05-27T16:45:28.057+00:00"},{"id":"14c27d6f-33f6-4238-a67c-57487d138ea9","created_at":"2026-05-27T16:45:28.060+00:00","inputs":[{"name":"access_token","label":"Access Token","description":"\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"client_endpoint_access_token","label":"Client Notification Access Token","description":"\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ","value":null,"type":"text"},{"name":"notification_bundle","label":"Event Notification Bundle","description":"\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ","value":"{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-full-resource\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n },\n {\n \"fullUrl\" : \"https://fhirserver.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\",\n \"resource\" : {\n \"resourceType\" : \"Encounter\",\n \"id\" : \"86009987-eabe-42bf-8c02-b112b18cb616\",\n \"status\" : \"in-progress\",\n \"class\" : {\n \"system\" : \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\" : \"VR\"\n },\n \"subject\" : {\n \"reference\" : \"https://fhirserver.org/fhir/Patient/1599eb66-431a-447c-a3de-6897fe9ae9a1\",\n \"display\" : \"Example Patient\"\n }\n },\n \"request\" : {\n \"method\" : \"POST\",\n \"url\" : \"Encounter\"\n },\n \"response\" : {\n \"status\" : \"201\"\n }\n }]\n}","type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_run_id":"54a8dbe1-5409-4c71-890a-45502d3377cf","test_session_id":"aRhzlolZt1u","test_suite_id":"subscriptions_r5_backport_r4_client","updated_at":"2026-05-27T16:45:28.060+00:00"}] \ No newline at end of file +[ + { + "id": "86549454-fbdd-4677-9c18-c26be9595093", + "created_at": "2026-10-06T14:01:58.508-04:00", + "inputs": [ + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "client_endpoint_access_token", + "value": null, + "type": "text" + }, + { + "name": "notification_bundle", + "value": "{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-full-resource\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n },\n {\n \"fullUrl\" : \"https://fhirserver.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\",\n \"resource\" : {\n \"resourceType\" : \"Encounter\",\n \"id\" : \"86009987-eabe-42bf-8c02-b112b18cb616\",\n \"status\" : \"in-progress\",\n \"class\" : {\n \"system\" : \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\" : \"VR\"\n },\n \"subject\" : {\n \"reference\" : \"https://fhirserver.org/fhir/Patient/1599eb66-431a-447c-a3de-6897fe9ae9a1\",\n \"display\" : \"Example Patient\"\n }\n },\n \"request\" : {\n \"method\" : \"POST\",\n \"url\" : \"Encounter\"\n },\n \"response\" : {\n \"status\" : \"201\"\n }\n }]\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [ + { + "name": "confirmation_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=SAMPLE_TOKEN" + }, + { + "name": "fail_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=SAMPLE_TOKEN" + } + ], + "requests": [], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-Group01-subscriptions_r4_client_interaction", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:23.488-04:00" + }, + { + "id": "76b4cb2b-5d2f-4147-95fb-1fbe0dabe0c8", + "created_at": "2026-10-06T14:02:23.496-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "89bed440-670f-421c-8dd4-76854614f633", + "direction": "outgoing", + "index": 330, + "result_id": "86549454-fbdd-4677-9c18-c26be9595093", + "status": 200, + "timestamp": "2026-10-06T14:02:03.116-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_handshake_notification_verification", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:23.496-04:00" + }, + { + "id": "d000c6ab-e284-4f26-98e9-9413126f116c", + "created_at": "2026-10-06T14:02:23.498-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "1117976b-555a-499d-986c-53ceb6d00f66", + "direction": "outgoing", + "index": 332, + "result_id": "86549454-fbdd-4677-9c18-c26be9595093", + "status": 200, + "timestamp": "2026-10-06T14:02:10.138-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_event_notification_verification", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:23.498-04:00" + }, + { + "id": "69e7381a-1311-43f0-9153-690f116226b8", + "created_at": "2026-10-06T14:02:23.537-04:00", + "inputs": [], + "messages": [ + { + "message": "Subscription: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription.criteria.extension[0]: Unknown extension http://hl7.org/fhir/5.0/subscriptions-backport/StructureDefinition/backport-filter-criteria", + "type": "info" + }, + { + "message": "Subscription: Subscription.criteria.extension[0]: This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription|1.1.0 (this may not be a problem, but you should check that it's not intended to match a slice)", + "type": "info" + }, + { + "message": "Subscription: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "025c2026-b062-4f95-bc33-9bc68478214f", + "direction": "incoming", + "index": 327, + "result_id": "86549454-fbdd-4677-9c18-c26be9595093", + "status": 201, + "timestamp": "2026-10-06T14:02:01.591-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "POST" + }, + { + "id": "9fcf853f-e50f-4f14-a882-c4faa40e1e71", + "direction": "incoming", + "index": 337, + "result_id": "86549454-fbdd-4677-9c18-c26be9595093", + "status": 400, + "timestamp": "2026-10-06T14:02:20.222-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_subscription_verification", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:23.537-04:00" + }, + { + "id": "b7e095f7-c901-4ac8-b706-73f642708841", + "created_at": "2026-10-06T14:02:23.561-04:00", + "inputs": [], + "messages": [ + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "1117976b-555a-499d-986c-53ceb6d00f66", + "direction": "outgoing", + "index": 332, + "result_id": "86549454-fbdd-4677-9c18-c26be9595093", + "status": 200, + "timestamp": "2026-10-06T14:02:10.138-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_notification_input_verification", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:23.561-04:00" + }, + { + "id": "fb092778-cbe2-4db0-9873-7a8e71c7c7f5", + "created_at": "2026-10-06T14:02:23.580-04:00", + "inputs": [], + "messages": [ + { + "message": "Encounter/86009987-eabe-42bf-8c02-b112b18cb616: Encounter: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "1117976b-555a-499d-986c-53ceb6d00f66", + "direction": "outgoing", + "index": 332, + "result_id": "86549454-fbdd-4677-9c18-c26be9595093", + "status": 200, + "timestamp": "2026-10-06T14:02:10.138-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_notification_input_payload_verification", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:23.580-04:00" + }, + { + "id": "837c4334-9b5a-4870-afac-251494e38bcb", + "created_at": "2026-10-06T14:02:23.582-04:00", + "inputs": [], + "optional": false, + "outputs": [ + { + "name": "attest_true_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=2Ki7o81bQug" + }, + { + "name": "attest_false_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=2Ki7o81bQug" + } + ], + "requests": [ + { + "id": "1117976b-555a-499d-986c-53ceb6d00f66", + "direction": "outgoing", + "index": 332, + "result_id": "86549454-fbdd-4677-9c18-c26be9595093", + "status": 200, + "timestamp": "2026-10-06T14:02:10.138-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_processing_attestation", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:26.539-04:00" + }, + { + "id": "47af249d-61cc-4375-a587-c3a8823ddeb3", + "created_at": "2026-10-06T14:02:26.603-04:00", + "inputs": [ + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + } + ], + "optional": false, + "outputs": [ + { + "name": "subscription_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f" + }, + { + "name": "confirmation_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=SAMPLE_TOKEN" + }, + { + "name": "fail_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=SAMPLE_TOKEN" + } + ], + "requests": [], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_workflow_interaction-subscriptions_r4_client_update_delete_interaction", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:29.902-04:00" + }, + { + "id": "05dc746f-c8f6-4644-b5d5-c4f85e790de3", + "created_at": "2026-10-06T14:02:29.907-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "client_endpoint_access_token", + "label": "Client Notification Access Token", + "description": "\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ", + "value": null, + "type": "text" + }, + { + "name": "notification_bundle", + "label": "Event Notification Bundle", + "description": "\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ", + "value": "{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-full-resource\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n },\n {\n \"fullUrl\" : \"https://fhirserver.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\",\n \"resource\" : {\n \"resourceType\" : \"Encounter\",\n \"id\" : \"86009987-eabe-42bf-8c02-b112b18cb616\",\n \"status\" : \"in-progress\",\n \"class\" : {\n \"system\" : \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\" : \"VR\"\n },\n \"subject\" : {\n \"reference\" : \"https://fhirserver.org/fhir/Patient/1599eb66-431a-447c-a3de-6897fe9ae9a1\",\n \"display\" : \"Example Patient\"\n }\n },\n \"request\" : {\n \"method\" : \"POST\",\n \"url\" : \"Encounter\"\n },\n \"response\" : {\n \"status\" : \"201\"\n }\n }]\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-Group01", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:29.907-04:00" + }, + { + "id": "2121b757-d7fe-4cf7-b657-a7363e4afadd", + "created_at": "2026-10-06T14:02:29.909-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:29.909-04:00" + }, + { + "id": "5bb46dbe-d95f-46f0-9172-1655f60151f9", + "created_at": "2026-10-06T14:02:29.911-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:29.911-04:00" + }, + { + "id": "79620847-8261-47e6-8b47-a00388fc7e67", + "created_at": "2026-10-06T14:02:29.913-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "client_endpoint_access_token", + "label": "Client Notification Access Token", + "description": "\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ", + "value": null, + "type": "text" + }, + { + "name": "notification_bundle", + "label": "Event Notification Bundle", + "description": "\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ", + "value": "{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-full-resource\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n },\n {\n \"fullUrl\" : \"https://fhirserver.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\",\n \"resource\" : {\n \"resourceType\" : \"Encounter\",\n \"id\" : \"86009987-eabe-42bf-8c02-b112b18cb616\",\n \"status\" : \"in-progress\",\n \"class\" : {\n \"system\" : \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\" : \"VR\"\n },\n \"subject\" : {\n \"reference\" : \"https://fhirserver.org/fhir/Patient/1599eb66-431a-447c-a3de-6897fe9ae9a1\",\n \"display\" : \"Example Patient\"\n }\n },\n \"request\" : {\n \"method\" : \"POST\",\n \"url\" : \"Encounter\"\n },\n \"response\" : {\n \"status\" : \"201\"\n }\n }]\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:29.913-04:00" + }, + { + "id": "6434fe72-044d-445e-bb59-7f650ab5df8d", + "created_at": "2026-10-06T14:02:29.914-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription update, delete, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_workflow_interaction", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:29.914-04:00" + }, + { + "id": "7b4a6914-d144-4860-88ad-1058df798e1f", + "created_at": "2026-10-06T14:02:29.941-04:00", + "inputs": [], + "messages": [ + { + "message": "Request 1: Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "190c63d4-cc0e-428a-9b98-d74dfaf5e88d", + "direction": "incoming", + "index": 340, + "result_id": "86549454-fbdd-4677-9c18-c26be9595093", + "status": 200, + "timestamp": "2026-10-06T14:02:20.251-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f", + "verb": "PUT" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_conformance_verification-subscriptions_r4_client_put_update_verification", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:29.941-04:00" + }, + { + "id": "584d46d7-e88b-425c-88a3-2c4e40ff05b9", + "created_at": "2026-10-06T14:02:29.964-04:00", + "inputs": [], + "messages": [ + { + "message": "Request 1: Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "c05ac90a-06b4-47ae-ba42-1bfdb93442c3", + "direction": "incoming", + "index": 346, + "result_id": "86549454-fbdd-4677-9c18-c26be9595093", + "status": 200, + "timestamp": "2026-10-06T14:02:20.271-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f", + "verb": "PATCH" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_conformance_verification-subscriptions_r4_client_patch_update_verification", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:29.964-04:00" + }, + { + "id": "1b5fa6e5-ce97-487e-bcc3-9b942af2ae08", + "created_at": "2026-10-06T14:02:29.968-04:00", + "inputs": [], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "0696b961-ad02-423d-b084-6ff84337bc22", + "direction": "incoming", + "index": 351, + "result_id": "86549454-fbdd-4677-9c18-c26be9595093", + "status": 204, + "timestamp": "2026-10-06T14:02:20.281-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f", + "verb": "DELETE" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_conformance_verification-subscriptions_r4_client_delete_verification", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:29.968-04:00" + }, + { + "id": "5bbecbeb-07d2-4158-9607-21d31a8c6bf9", + "created_at": "2026-10-06T14:02:29.968-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_conformance_verification", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:29.968-04:00" + }, + { + "id": "60d14b7c-a8ed-4425-905e-5ad3b17b3b05", + "created_at": "2026-10-06T14:02:29.970-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription update, delete, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "updated_at": "2026-10-06T14:02:29.970-04:00" + }, + { + "id": "925573ee-9a93-4095-9262-c71978042c37", + "created_at": "2026-10-06T14:02:29.971-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "client_endpoint_access_token", + "label": "Client Notification Access Token", + "description": "\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ", + "value": null, + "type": "text" + }, + { + "name": "notification_bundle", + "label": "Event Notification Bundle", + "description": "\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ", + "value": "{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-full-resource\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"2d5afc69-6ef2-420f-a8d1-8500c99eb96c\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n },\n {\n \"fullUrl\" : \"https://fhirserver.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\",\n \"resource\" : {\n \"resourceType\" : \"Encounter\",\n \"id\" : \"86009987-eabe-42bf-8c02-b112b18cb616\",\n \"status\" : \"in-progress\",\n \"class\" : {\n \"system\" : \"http://terminology.hl7.org/CodeSystem/v3-ActCode\",\n \"code\" : \"VR\"\n },\n \"subject\" : {\n \"reference\" : \"https://fhirserver.org/fhir/Patient/1599eb66-431a-447c-a3de-6897fe9ae9a1\",\n \"display\" : \"Example Patient\"\n }\n },\n \"request\" : {\n \"method\" : \"POST\",\n \"url\" : \"Encounter\"\n },\n \"response\" : {\n \"status\" : \"201\"\n }\n }]\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_run_id": "d75b984f-067f-4a2b-b6b7-f6488f762ebe", + "test_session_id": "2Ki7o81bQug", + "test_suite_id": "subscriptions_r5_backport_r4_client", + "updated_at": "2026-10-06T14:02:29.971-04:00" + } +] \ No newline at end of file diff --git a/execution_scripts/subscriptions_r4_full_resource_with_commands_server_expected.json b/execution_scripts/subscriptions_r4_full_resource_with_commands_server_expected.json index 2f6e223..c22045c 100644 --- a/execution_scripts/subscriptions_r4_full_resource_with_commands_server_expected.json +++ b/execution_scripts/subscriptions_r4_full_resource_with_commands_server_expected.json @@ -1 +1,2373 @@ -[{"id":"d0b457f0-4e0c-4461-bdf2-551fd90e7c28","created_at":"2026-05-27T16:45:05.750+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}","type":"textarea"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Subscription: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)","type":"warning"}],"optional":false,"outputs":[{"name":"updated_subscription","type":"text","value":"{\"resourceType\":\"Subscription\",\"meta\":{\"profile\":[\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]},\"status\":\"requested\",\"end\":\"2020-12-31T12:00:00Z\",\"reason\":\"R4 Topic-Based Workflow Subscription for Patient Admission\",\"criteria\":\"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\"_criteria\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\"valueString\":\"Encounter.patient=Patient/123\"}]},\"channel\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\"valueUnsignedInt\":60},{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\"valuePositiveInt\":20}],\"type\":\"rest-hook\",\"header\":[\"Authorization: Bearer SAMPLE_TOKEN\"],\"endpoint\":\"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\"payload\":\"application/fhir+json\",\"_payload\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\"valueCode\":\"full-resource\"}]}}}"}],"requests":[],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_subscription_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:05.750+00:00"},{"id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","created_at":"2026-05-27T16:45:05.800+00:00","inputs":[{"name":"updated_subscription","value":"{\"resourceType\":\"Subscription\",\"meta\":{\"profile\":[\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]},\"status\":\"requested\",\"end\":\"2020-12-31T12:00:00Z\",\"reason\":\"R4 Topic-Based Workflow Subscription for Patient Admission\",\"criteria\":\"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\"_criteria\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\"valueString\":\"Encounter.patient=Patient/123\"}]},\"channel\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\"valueUnsignedInt\":60},{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\"valuePositiveInt\":20}],\"type\":\"rest-hook\",\"header\":[\"Authorization: Bearer SAMPLE_TOKEN\"],\"endpoint\":\"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\"payload\":\"application/fhir+json\",\"_payload\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\"valueCode\":\"full-resource\"}]}}}","type":"text"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[{"name":"confirmation_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/resume_pass?token=notification%20SAMPLE_TOKEN"}],"requests":[{"id":"17377d13-dee6-4aaf-9350-77bb0a23509a","direction":"outgoing","index":2,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":201,"timestamp":"2026-05-27T16:45:05.803+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_notification_delivery","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:21.414+00:00"},{"id":"e2922c96-68bc-4290-b6ba-c2d3695d0bcf","created_at":"2026-05-27T16:45:21.506+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"17377d13-dee6-4aaf-9350-77bb0a23509a","direction":"outgoing","index":2,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":201,"timestamp":"2026-05-27T16:45:05.803+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_creation_response_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:21.506+00:00"},{"id":"b85cb0b6-41ae-402a-a256-11c8e7b79b39","created_at":"2026-05-27T16:45:21.509+00:00","inputs":[{"name":"subscription_resource","label":"Workflow Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}","type":"textarea"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:21.509+00:00"},{"id":"2c210373-1c7c-4f1a-9e75-6873725d0a3a","created_at":"2026-05-27T16:45:21.515+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"17377d13-dee6-4aaf-9350-77bb0a23509a","direction":"outgoing","index":2,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":201,"timestamp":"2026-05-27T16:45:05.803+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"d37a918f-b4e1-4844-abdc-5316e04143d4","direction":"incoming","index":3,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":200,"timestamp":"2026-05-27T16:45:07.288+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"},{"id":"a26c0d95-3fbf-409c-b67a-3e86a2789095","direction":"incoming","index":6,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":200,"timestamp":"2026-05-27T16:45:12.323+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification-subscriptions_r4_server_notification_presence","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:21.515+00:00"},{"id":"5d865daa-5c2f-4367-b6a0-28331c640dbf","created_at":"2026-05-27T16:45:22.151+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"17377d13-dee6-4aaf-9350-77bb0a23509a","direction":"outgoing","index":2,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":201,"timestamp":"2026-05-27T16:45:05.803+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"a26c0d95-3fbf-409c-b67a-3e86a2789095","direction":"incoming","index":6,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":200,"timestamp":"2026-05-27T16:45:12.323+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification-subscriptions_r4_server_notification_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:22.151+00:00"},{"id":"5f1be1d1-3c2c-4f78-8c24-91dcea4d912d","created_at":"2026-05-27T16:45:22.159+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:22.159+00:00"},{"id":"968c0047-34fb-4eb4-9f62-3efe8040d49d","created_at":"2026-05-27T16:45:22.164+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"subscription_resource","label":"Workflow Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}","type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:22.164+00:00"},{"id":"3e702a39-fe35-4804-bed8-f9d178dd4aba","created_at":"2026-05-27T16:45:23.190+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"CapabilityStatement: CapabilityStatement.rest[0].resource[0].extension[0].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"CapabilityStatement: CapabilityStatement: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"408ca9dd-8d21-4588-b40d-3f30135f083a","direction":"outgoing","index":8,"result_id":"3e702a39-fe35-4804-bed8-f9d178dd4aba","status":200,"timestamp":"2026-05-27T16:45:23.196+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/metadata","verb":"get"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement-subscriptions_r4_server_cs_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.190+00:00"},{"id":"0de7f471-1e2d-4435-a770-bcd6237872ea","created_at":"2026-05-27T16:45:23.206+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[{"id":"17377d13-dee6-4aaf-9350-77bb0a23509a","direction":"outgoing","index":2,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":201,"timestamp":"2026-05-27T16:45:05.803+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement-subscriptions_r4_server_topic_discovery","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.206+00:00"},{"id":"d4e0ab82-1bb9-4f8d-8d9d-cb751e871ab1","created_at":"2026-05-27T16:45:23.208+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.208+00:00"},{"id":"789a59ea-6f38-4bbb-89fe-5c36fd4d0786","created_at":"2026-05-27T16:45:23.233+00:00","inputs":[{"name":"empty_subscription_resource","value":null,"type":"textarea"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"Did not input a Subscription resource of this type.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_subscription_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.233+00:00"},{"id":"67ac023c-1558-4b88-a779-fc46fd313099","created_at":"2026-05-27T16:45:23.236+00:00","inputs":[{"name":"empty_updated_subscription","value":null,"type":"text"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"Input 'empty_updated_subscription' is nil, skipping test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_notification_delivery","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.236+00:00"},{"id":"2a3377fd-c548-4f5c-81c8-cf19ba83824f","created_at":"2026-05-27T16:45:23.238+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"No successful Subscription creation request was made in the previous test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_creation_response_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.238+00:00"},{"id":"a1195d41-b10a-4807-a338-4f180bb70f35","created_at":"2026-05-27T16:45:23.240+00:00","inputs":[{"name":"empty_subscription_resource","label":"Empty Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.240+00:00"},{"id":"92f54296-5479-41cb-863c-7501f0fd3f21","created_at":"2026-05-27T16:45:23.248+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nNo successful Subscription creation request of type empty\nwas made in the previous test.\n\n","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_notification_presence","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.248+00:00"},{"id":"88a85a9b-6014-4709-afc3-a4d598dda471","created_at":"2026-05-27T16:45:23.251+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nNo successful Subscription creation request of type empty\nwas made in the previous test.\n\n","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_notification_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.251+00:00"},{"id":"ddd7291f-eddd-4496-8bc6-fff6f7510fa4","created_at":"2026-05-27T16:45:23.254+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"No Subscriptions sent with notification payload type of `empty`","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_empty_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.254+00:00"},{"id":"da210cd6-6f04-4269-858f-7b2b6b080504","created_at":"2026-05-27T16:45:23.255+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.255+00:00"},{"id":"bafe13be-0d01-4de8-9389-8795282d2df6","created_at":"2026-05-27T16:45:23.258+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"empty_subscription_resource","label":"Empty Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.258+00:00"},{"id":"ca6f0654-7a03-4440-aa3f-e61cd97f86af","created_at":"2026-05-27T16:45:23.265+00:00","inputs":[{"name":"id_only_subscription_resource","value":null,"type":"textarea"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"Did not input a Subscription resource of this type.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_subscription_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.265+00:00"},{"id":"aa0c1f2b-56fe-4120-b04b-8aebb78a7911","created_at":"2026-05-27T16:45:23.267+00:00","inputs":[{"name":"id_only_updated_subscription","value":null,"type":"text"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"Input 'id_only_updated_subscription' is nil, skipping test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_notification_delivery","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.267+00:00"},{"id":"c7172367-3c8a-48b4-8edf-cc4d92120a2b","created_at":"2026-05-27T16:45:23.269+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"No successful Subscription creation request was made in the previous test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_creation_response_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.269+00:00"},{"id":"f3e97dc4-d15b-46ac-b88b-9fa5a4bf280b","created_at":"2026-05-27T16:45:23.271+00:00","inputs":[{"name":"id_only_subscription_resource","label":"Id-Only Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.271+00:00"},{"id":"3d72d34a-aae1-4423-9870-1db83f8d2cd6","created_at":"2026-05-27T16:45:23.277+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nNo successful Subscription creation request of type id-only\nwas made in the previous test.\n\n","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_notification_presence","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.277+00:00"},{"id":"ca941c13-e5b5-40a2-875a-54820a92ca9f","created_at":"2026-05-27T16:45:23.280+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nNo successful Subscription creation request of type id-only\nwas made in the previous test.\n\n","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_notification_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.280+00:00"},{"id":"ed0ecae4-3d2b-437c-a70c-2724caeb423e","created_at":"2026-05-27T16:45:23.283+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"No Subscriptions sent with notification payload type of `id-only`","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_id_only_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.283+00:00"},{"id":"52513026-de7d-4d19-84d5-4793ecf534c9","created_at":"2026-05-27T16:45:23.284+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.284+00:00"},{"id":"67420a97-9606-4324-8298-258357d36feb","created_at":"2026-05-27T16:45:23.287+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"id_only_subscription_resource","label":"Id-Only Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.287+00:00"},{"id":"51c1702e-54e2-4192-a98f-fca3c04f81ea","created_at":"2026-05-27T16:45:23.294+00:00","inputs":[{"name":"full_resource_subscription_resource","value":null,"type":"textarea"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"Did not input a Subscription resource of this type.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_subscription_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.294+00:00"},{"id":"f09a7ab6-02c8-4cd1-b21a-cf80689ae1fd","created_at":"2026-05-27T16:45:23.296+00:00","inputs":[{"name":"full_resource_updated_subscription","value":null,"type":"text"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"Input 'full_resource_updated_subscription' is nil, skipping test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_notification_delivery","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.296+00:00"},{"id":"c14c27ca-99c4-4676-9cd1-337bcec32d99","created_at":"2026-05-27T16:45:23.299+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"17377d13-dee6-4aaf-9350-77bb0a23509a","direction":"outgoing","index":2,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":201,"timestamp":"2026-05-27T16:45:05.803+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_creation_response_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.299+00:00"},{"id":"8b69d954-335b-46f2-b0f4-3908dd01696e","created_at":"2026-05-27T16:45:23.302+00:00","inputs":[{"name":"full_resource_subscription_resource","label":"Full-Resource Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.302+00:00"},{"id":"20e08bbe-8a2d-43db-aa60-f61de3b8956d","created_at":"2026-05-27T16:45:23.310+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"17377d13-dee6-4aaf-9350-77bb0a23509a","direction":"outgoing","index":2,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":201,"timestamp":"2026-05-27T16:45:05.803+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"d37a918f-b4e1-4844-abdc-5316e04143d4","direction":"incoming","index":3,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":200,"timestamp":"2026-05-27T16:45:07.288+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"},{"id":"a26c0d95-3fbf-409c-b67a-3e86a2789095","direction":"incoming","index":6,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":200,"timestamp":"2026-05-27T16:45:12.323+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_notification_presence","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.310+00:00"},{"id":"70c27ffe-de59-4868-bce1-19132e568e1e","created_at":"2026-05-27T16:45:23.371+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"17377d13-dee6-4aaf-9350-77bb0a23509a","direction":"outgoing","index":2,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":201,"timestamp":"2026-05-27T16:45:05.803+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"a26c0d95-3fbf-409c-b67a-3e86a2789095","direction":"incoming","index":6,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":200,"timestamp":"2026-05-27T16:45:12.323+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_notification_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.371+00:00"},{"id":"f06fa203-e895-4052-9815-e46e39de09c5","created_at":"2026-05-27T16:45:23.579+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Encounter/86009987-eabe-42bf-8c02-b112b18cb616: Encounter: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"17377d13-dee6-4aaf-9350-77bb0a23509a","direction":"outgoing","index":2,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":201,"timestamp":"2026-05-27T16:45:05.803+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"a26c0d95-3fbf-409c-b67a-3e86a2789095","direction":"incoming","index":6,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":200,"timestamp":"2026-05-27T16:45:12.323+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_full_resource_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.579+00:00"},{"id":"f3709898-192e-44ff-bd1c-43059eea5684","created_at":"2026-05-27T16:45:23.585+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.585+00:00"},{"id":"cc45e991-8219-4d54-970b-78015e7e7110","created_at":"2026-05-27T16:45:23.594+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"full_resource_subscription_resource","label":"Full-Resource Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"}],"optional":true,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.594+00:00"},{"id":"0f679908-1893-44e2-9327-e23d7a2c1037","created_at":"2026-05-27T16:45:23.597+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"empty_subscription_resource","label":"Empty Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"id_only_subscription_resource","label":"Id-Only Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"full_resource_subscription_resource","label":"Full-Resource Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.597+00:00"},{"id":"2107636e-e602-4067-8d83-e7ac49b4db9d","created_at":"2026-05-27T16:45:23.642+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"17377d13-dee6-4aaf-9350-77bb0a23509a","direction":"outgoing","index":2,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":201,"timestamp":"2026-05-27T16:45:05.803+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"d37a918f-b4e1-4844-abdc-5316e04143d4","direction":"incoming","index":3,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":200,"timestamp":"2026-05-27T16:45:07.288+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat-subscriptions_r4_server_handshake_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.642+00:00"},{"id":"3c594a2d-1cb1-4256-ba29-d220f4a00393","created_at":"2026-05-27T16:45:23.653+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"17377d13-dee6-4aaf-9350-77bb0a23509a","direction":"outgoing","index":2,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":201,"timestamp":"2026-05-27T16:45:05.803+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"omit","result_message":"No heartbeat requests requested or received in previous tests.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat-subscriptions_r4_server_heartbeat_conformance","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.653+00:00"},{"id":"899728d5-fa92-40a2-a399-09fbe556fc97","created_at":"2026-05-27T16:45:23.656+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.656+00:00"},{"id":"58a883be-79c1-4a4c-8023-5a785a2d9b55","created_at":"2026-05-27T16:45:23.792+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Bundle: Bundle.entry[0].resource/*Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c*/.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Bundle: Bundle.entry[0].resource/*Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c*/.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"},{"message":"Bundle: Bundle.entry[0].resource/*Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c*/.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Bundle: Bundle.entry[0].resource/*Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c*/.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Bundle: Bundle: No types could be determined from the search string, so the types can't be checked","type":"info"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"17377d13-dee6-4aaf-9350-77bb0a23509a","direction":"outgoing","index":2,"result_id":"6f7cc5e1-2400-49bb-bda5-95f05b5986df","status":201,"timestamp":"2026-05-27T16:45:05.803+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"d66fcdb8-3f9c-4152-a6b0-ea05bcc8d804","direction":"outgoing","index":10,"result_id":"58a883be-79c1-4a4c-8023-5a785a2d9b55","status":200,"timestamp":"2026-05-27T16:45:23.808+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/8c7006e7-6066-4a1f-bae6-c52eaa7d026e/$status","verb":"get"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_status_operation-subscriptions_r4_server_status_invocation","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.792+00:00"},{"id":"1dd11d3b-8d53-4fdd-a816-e60553192607","created_at":"2026-05-27T16:45:23.816+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_status_operation","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.816+00:00"},{"id":"710f2079-00fd-4d0c-8e26-9e1e577ac608","created_at":"2026-05-27T16:45:23.828+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}","type":"textarea"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"1c7e04da-00a2-45ab-997b-f974b9c308b9","direction":"outgoing","index":12,"result_id":"710f2079-00fd-4d0c-8e26-9e1e577ac608","status":400,"timestamp":"2026-05-27T16:45:23.831+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_cross_version_extension","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.828+00:00"},{"id":"1207ece0-3cfc-411f-a94e-11b523122edb","created_at":"2026-05-27T16:45:23.842+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_topic","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Topic\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_topic","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.842+00:00"},{"id":"74c31838-5ebb-498c-a53c-82111da2417b","created_at":"2026-05-27T16:45:23.844+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_filter","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Filter\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_filter","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.844+00:00"},{"id":"0061168c-80d1-4c82-ab95-011e22228905","created_at":"2026-05-27T16:45:23.846+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_channel_type","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Channel Type\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_type","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.846+00:00"},{"id":"4e39682c-256c-47bd-85f2-97cdc20f8c4a","created_at":"2026-05-27T16:45:23.849+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_channel_endpoint","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Channel Endpoint\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_endpoint","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.849+00:00"},{"id":"ba2e4d3b-11b0-423c-9bbb-f4506fc4e816","created_at":"2026-05-27T16:45:23.851+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_payload_type","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Payload Type\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_payload_type","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.851+00:00"},{"id":"cf20bc90-c942-453e-a341-bfdb158f191e","created_at":"2026-05-27T16:45:23.854+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_channel_payload_combo","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Channel and Payload Combination\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_payload_combo","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.854+00:00"},{"id":"24ade585-2f0c-4930-b2e6-9ee9ad7a4cef","created_at":"2026-05-27T16:45:23.856+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"subscription_resource","label":"Workflow Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_topic","label":"Unsupported Subscription Topic","description":"A Subscription Topic for the `criteria` element that is not implemented by the server to test\n for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_filter","label":"Unsupported Subscription Filter","description":"A value for `filterCriteria` extension under the `criteria` that is not implemented by the\n server to test for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_channel_type","label":"Unsupported Subscription Channel Type","description":"A value for the `channel.type` element that is not implemented by the server to test for\n Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_channel_endpoint","label":"Unsupported Subscription Channel Endpoint","description":"An unsupported value for the `channel.endpoint` element to test for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_payload_type","label":"Unsupported Subscription Payload Type","description":"A value for the `content` extension under the `channel.payload` element that is not\n implemented by the server to test for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_channel_payload_combo","label":"Unsupported Subscription Channel and Payload Combination","description":"\n A channel (`channel.type`) and payload type (`content` extension under the `channel.payload` element)\n combination not implemented by the server to test for Subscription\n rejection. Provide as a JSON object with two keys as follows: {\"channel\": \"channel_type\",\n \"payload\": \"wrong_payload_type_for_this_channel\"}.\n ","value":null,"type":"text"}],"optional":false,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","updated_at":"2026-05-27T16:45:23.856+00:00"},{"id":"cee1dede-277d-4b05-b6d3-083c86cf3c64","created_at":"2026-05-27T16:45:23.861+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","description":"\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","description":"Credentials for Inferno to include when making requests against the server under test.","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:32+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","description":"\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"subscription_resource","label":"Workflow Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}","type":"textarea"},{"name":"empty_subscription_resource","label":"Empty Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"id_only_subscription_resource","label":"Id-Only Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"full_resource_subscription_resource","label":"Full-Resource Notification Subscription Resource","description":"\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ","value":null,"type":"textarea"},{"name":"unsupported_subscription_topic","label":"Unsupported Subscription Topic","description":"A Subscription Topic for the `criteria` element that is not implemented by the server to test\n for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_filter","label":"Unsupported Subscription Filter","description":"A value for `filterCriteria` extension under the `criteria` that is not implemented by the\n server to test for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_channel_type","label":"Unsupported Subscription Channel Type","description":"A value for the `channel.type` element that is not implemented by the server to test for\n Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_channel_endpoint","label":"Unsupported Subscription Channel Endpoint","description":"An unsupported value for the `channel.endpoint` element to test for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_payload_type","label":"Unsupported Subscription Payload Type","description":"A value for the `content` extension under the `channel.payload` element that is not\n implemented by the server to test for Subscription rejection.","value":null,"type":"text"},{"name":"unsupported_subscription_channel_payload_combo","label":"Unsupported Subscription Channel and Payload Combination","description":"\n A channel (`channel.type`) and payload type (`content` extension under the `channel.payload` element)\n combination not implemented by the server to test for Subscription\n rejection. Provide as a JSON object with two keys as follows: {\"channel\": \"channel_type\",\n \"payload\": \"wrong_payload_type_for_this_channel\"}.\n ","value":null,"type":"text"}],"optional":false,"outputs":[],"requests":[],"result":"skip","test_run_id":"88923d75-fa53-46b1-bc8b-42ff48f7b600","test_session_id":"9alKsZ2hubw","test_suite_id":"subscriptions_r5_backport_r4_server","updated_at":"2026-05-27T16:45:23.861+00:00"}] \ No newline at end of file +[ + { + "id": "cdb2d9a3-7f81-4e71-8e2d-e2883fffd147", + "created_at": "2026-10-06T14:02:01.584-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Subscription: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": false, + "outputs": [ + { + "name": "updated_subscription", + "type": "text", + "value": "{\"resourceType\":\"Subscription\",\"meta\":{\"profile\":[\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]},\"status\":\"requested\",\"end\":\"2020-12-31T12:00:00Z\",\"reason\":\"R4 Topic-Based Workflow Subscription for Patient Admission\",\"criteria\":\"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\"_criteria\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\"valueString\":\"Encounter.patient=Patient/123\"}]},\"channel\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\"valueUnsignedInt\":60},{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\"valuePositiveInt\":20}],\"type\":\"rest-hook\",\"header\":[\"Authorization: Bearer SAMPLE_TOKEN\"],\"endpoint\":\"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\"payload\":\"application/fhir+json\",\"_payload\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\"valueCode\":\"full-resource\"}]}}}" + } + ], + "requests": [], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_subscription_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:01.584-04:00" + }, + { + "id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "created_at": "2026-10-06T14:02:01.592-04:00", + "inputs": [ + { + "name": "updated_subscription", + "value": "{\"resourceType\":\"Subscription\",\"meta\":{\"profile\":[\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]},\"status\":\"requested\",\"end\":\"2020-12-31T12:00:00Z\",\"reason\":\"R4 Topic-Based Workflow Subscription for Patient Admission\",\"criteria\":\"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\"_criteria\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\"valueString\":\"Encounter.patient=Patient/123\"}]},\"channel\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\"valueUnsignedInt\":60},{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\"valuePositiveInt\":20}],\"type\":\"rest-hook\",\"header\":[\"Authorization: Bearer SAMPLE_TOKEN\"],\"endpoint\":\"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\"payload\":\"application/fhir+json\",\"_payload\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\"valueCode\":\"full-resource\"}]}}}", + "type": "text" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [ + { + "name": "confirmation_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/resume_pass?token=notification%20SAMPLE_TOKEN" + } + ], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_notification_delivery", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:19.951-04:00" + }, + { + "id": "081b7b38-1e6f-4860-bb36-64fb061aa1a6", + "created_at": "2026-10-06T14:02:19.968-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_creation_response_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:19.968-04:00" + }, + { + "id": "925ec25c-d204-4aba-855e-974f76aeeda4", + "created_at": "2026-10-06T14:02:19.969-04:00", + "inputs": [ + { + "name": "subscription_resource", + "label": "Workflow Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:19.969-04:00" + }, + { + "id": "450dbf84-ada9-4dca-986f-a6432dd197b2", + "created_at": "2026-10-06T14:02:19.973-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "07b127ce-ac24-47e8-8c7b-e0c67262f09d", + "direction": "incoming", + "index": 329, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 200, + "timestamp": "2026-10-06T14:02:03.115-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + }, + { + "id": "a73029a5-c8c3-4541-a246-d13266b6806a", + "direction": "incoming", + "index": 331, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 200, + "timestamp": "2026-10-06T14:02:10.138-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification-subscriptions_r4_server_notification_presence", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:19.973-04:00" + }, + { + "id": "c0a8b191-27ad-482b-aeae-e23fe159db3c", + "created_at": "2026-10-06T14:02:20.012-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "a73029a5-c8c3-4541-a246-d13266b6806a", + "direction": "incoming", + "index": 331, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 200, + "timestamp": "2026-10-06T14:02:10.138-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification-subscriptions_r4_server_notification_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.012-04:00" + }, + { + "id": "c5ccbe5e-2127-446d-aeef-1ae92405908d", + "created_at": "2026-10-06T14:02:20.014-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.014-04:00" + }, + { + "id": "ea0ff7be-7885-4e9c-bb25-8bd9ca63a8b7", + "created_at": "2026-10-06T14:02:20.017-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "subscription_resource", + "label": "Workflow Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.017-04:00" + }, + { + "id": "1bddcfdf-7b95-40ee-b64c-2662ee12913f", + "created_at": "2026-10-06T14:02:20.039-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "CapabilityStatement: CapabilityStatement.rest[0].resource[0].extension[0].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "CapabilityStatement: CapabilityStatement: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "c493cf9c-56ba-4e5a-b4d7-1bd47c10c1a0", + "direction": "outgoing", + "index": 334, + "result_id": "1bddcfdf-7b95-40ee-b64c-2662ee12913f", + "status": 200, + "timestamp": "2026-10-06T14:02:20.040-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/metadata", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement-subscriptions_r4_server_cs_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.039-04:00" + }, + { + "id": "66efd661-f7c1-4997-acf2-f9d670603889", + "created_at": "2026-10-06T14:02:20.043-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement-subscriptions_r4_server_topic_discovery", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.043-04:00" + }, + { + "id": "aa189a98-5cbc-4304-9920-1d919a496ff3", + "created_at": "2026-10-06T14:02:20.044-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.044-04:00" + }, + { + "id": "43288867-3096-4be8-b1bc-1cfc8a110d7c", + "created_at": "2026-10-06T14:02:20.047-04:00", + "inputs": [ + { + "name": "empty_subscription_resource", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "Did not input a Subscription resource of this type.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_subscription_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.047-04:00" + }, + { + "id": "cb61f9b2-2eb2-40ad-9f2f-7629e6a7698d", + "created_at": "2026-10-06T14:02:20.047-04:00", + "inputs": [ + { + "name": "empty_updated_subscription", + "value": null, + "type": "text" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "Input 'empty_updated_subscription' is nil, skipping test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_notification_delivery", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.047-04:00" + }, + { + "id": "8cfb9fea-2078-499e-bbf1-c52ed3a80af4", + "created_at": "2026-10-06T14:02:20.049-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "No successful Subscription creation request was made in the previous test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_creation_response_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.049-04:00" + }, + { + "id": "9ef9ad80-42b8-4d01-b1aa-94c8a9479b6b", + "created_at": "2026-10-06T14:02:20.049-04:00", + "inputs": [ + { + "name": "empty_subscription_resource", + "label": "Empty Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.049-04:00" + }, + { + "id": "273b7a22-fc4d-4712-83f2-8dc254ca7453", + "created_at": "2026-10-06T14:02:20.053-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nNo successful Subscription creation request of type empty\nwas made in the previous test.\n\n", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_notification_presence", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.053-04:00" + }, + { + "id": "eec88481-a868-413d-ab9f-2fa5a52a3dd3", + "created_at": "2026-10-06T14:02:20.054-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nNo successful Subscription creation request of type empty\nwas made in the previous test.\n\n", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_notification_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.054-04:00" + }, + { + "id": "b9751ef7-79cf-42bc-a4df-34be9494324b", + "created_at": "2026-10-06T14:02:20.055-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "No Subscriptions sent with notification payload type of `empty`", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_empty_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.055-04:00" + }, + { + "id": "44ad4180-dbff-45b3-adb2-25ac6d7823c9", + "created_at": "2026-10-06T14:02:20.056-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.056-04:00" + }, + { + "id": "919ca818-1977-4587-8c3b-f2f9c5ea8c55", + "created_at": "2026-10-06T14:02:20.057-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "empty_subscription_resource", + "label": "Empty Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.057-04:00" + }, + { + "id": "993ff00e-fc23-4e33-9056-8c4aea50dd7d", + "created_at": "2026-10-06T14:02:20.059-04:00", + "inputs": [ + { + "name": "id_only_subscription_resource", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "Did not input a Subscription resource of this type.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_subscription_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.059-04:00" + }, + { + "id": "e37a0127-a798-45e8-81b1-11220ad2884f", + "created_at": "2026-10-06T14:02:20.060-04:00", + "inputs": [ + { + "name": "id_only_updated_subscription", + "value": null, + "type": "text" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "Input 'id_only_updated_subscription' is nil, skipping test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_notification_delivery", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.060-04:00" + }, + { + "id": "fe121858-ab3d-430d-8c49-ec1f418f2843", + "created_at": "2026-10-06T14:02:20.061-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "No successful Subscription creation request was made in the previous test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_creation_response_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.061-04:00" + }, + { + "id": "b27ccfd3-9202-4ce4-a7f5-831b87ff474b", + "created_at": "2026-10-06T14:02:20.061-04:00", + "inputs": [ + { + "name": "id_only_subscription_resource", + "label": "Id-Only Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.061-04:00" + }, + { + "id": "bfdaef6b-5225-4f18-9736-a65a932c93c7", + "created_at": "2026-10-06T14:02:20.063-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nNo successful Subscription creation request of type id-only\nwas made in the previous test.\n\n", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_notification_presence", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.063-04:00" + }, + { + "id": "7e2bd02d-6452-4a2c-861b-c6c22d1510ff", + "created_at": "2026-10-06T14:02:20.064-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nNo successful Subscription creation request of type id-only\nwas made in the previous test.\n\n", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_notification_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.064-04:00" + }, + { + "id": "4458be39-7a99-4fab-9155-c580072116d3", + "created_at": "2026-10-06T14:02:20.064-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "No Subscriptions sent with notification payload type of `id-only`", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_id_only_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.064-04:00" + }, + { + "id": "c5f30e3b-cbc8-43b2-8de9-ea7e490fdef4", + "created_at": "2026-10-06T14:02:20.065-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.065-04:00" + }, + { + "id": "f46d2417-f3d1-4eee-aa14-37a6eb20a2ff", + "created_at": "2026-10-06T14:02:20.066-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "id_only_subscription_resource", + "label": "Id-Only Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.066-04:00" + }, + { + "id": "ccfb087a-df2c-4508-8f52-ec23a68162e9", + "created_at": "2026-10-06T14:02:20.067-04:00", + "inputs": [ + { + "name": "full_resource_subscription_resource", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "Did not input a Subscription resource of this type.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_subscription_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.067-04:00" + }, + { + "id": "aa1b6cb5-6782-47b8-a5e7-aaa8c88c53d3", + "created_at": "2026-10-06T14:02:20.068-04:00", + "inputs": [ + { + "name": "full_resource_updated_subscription", + "value": null, + "type": "text" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "Input 'full_resource_updated_subscription' is nil, skipping test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_notification_delivery", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.068-04:00" + }, + { + "id": "0d82e14f-de5c-4415-a4bd-0e6ba6427226", + "created_at": "2026-10-06T14:02:20.069-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_creation_response_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.069-04:00" + }, + { + "id": "60af83f2-743d-4003-9f12-aab1230c17cc", + "created_at": "2026-10-06T14:02:20.069-04:00", + "inputs": [ + { + "name": "full_resource_subscription_resource", + "label": "Full-Resource Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.069-04:00" + }, + { + "id": "d1885920-c6da-4e11-8347-c791bac4fb9c", + "created_at": "2026-10-06T14:02:20.072-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "07b127ce-ac24-47e8-8c7b-e0c67262f09d", + "direction": "incoming", + "index": 329, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 200, + "timestamp": "2026-10-06T14:02:03.115-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + }, + { + "id": "a73029a5-c8c3-4541-a246-d13266b6806a", + "direction": "incoming", + "index": 331, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 200, + "timestamp": "2026-10-06T14:02:10.138-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_notification_presence", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.072-04:00" + }, + { + "id": "684087f2-5823-4f65-a709-2807ce1cdad3", + "created_at": "2026-10-06T14:02:20.093-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "a73029a5-c8c3-4541-a246-d13266b6806a", + "direction": "incoming", + "index": 331, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 200, + "timestamp": "2026-10-06T14:02:10.138-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_notification_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.093-04:00" + }, + { + "id": "48cceab4-c7f3-464a-92c6-5461ddc4f757", + "created_at": "2026-10-06T14:02:20.132-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Encounter/86009987-eabe-42bf-8c02-b112b18cb616: Encounter: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "a73029a5-c8c3-4541-a246-d13266b6806a", + "direction": "incoming", + "index": 331, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 200, + "timestamp": "2026-10-06T14:02:10.138-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_full_resource_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.132-04:00" + }, + { + "id": "28c3a508-3c95-4ba5-9bc4-bee6f2efc86e", + "created_at": "2026-10-06T14:02:20.134-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.134-04:00" + }, + { + "id": "d11624cb-9079-4a49-a171-345c3637fb84", + "created_at": "2026-10-06T14:02:20.136-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "full_resource_subscription_resource", + "label": "Full-Resource Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.136-04:00" + }, + { + "id": "39332abe-f87d-4bc4-b3a7-0fe1c9779279", + "created_at": "2026-10-06T14:02:20.137-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "empty_subscription_resource", + "label": "Empty Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "id_only_subscription_resource", + "label": "Id-Only Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "full_resource_subscription_resource", + "label": "Full-Resource Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.137-04:00" + }, + { + "id": "2ffbcd77-8d93-4369-9d76-30788fd1d49b", + "created_at": "2026-10-06T14:02:20.156-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "07b127ce-ac24-47e8-8c7b-e0c67262f09d", + "direction": "incoming", + "index": 329, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 200, + "timestamp": "2026-10-06T14:02:03.115-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat-subscriptions_r4_server_handshake_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.156-04:00" + }, + { + "id": "b59c7136-0bc5-4538-b392-972f577244f0", + "created_at": "2026-10-06T14:02:20.159-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "omit", + "result_message": "No heartbeat requests requested or received in previous tests.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat-subscriptions_r4_server_heartbeat_conformance", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.159-04:00" + }, + { + "id": "966c8c58-b61d-49c9-aa1b-142ed67edd3c", + "created_at": "2026-10-06T14:02:20.159-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.159-04:00" + }, + { + "id": "e2091b2e-a106-484e-b30b-da65b3996824", + "created_at": "2026-10-06T14:02:20.215-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Bundle: Bundle.entry[0].resource/*Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c*/.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Bundle: Bundle.entry[0].resource/*Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c*/.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + }, + { + "message": "Bundle: Bundle.entry[0].resource/*Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c*/.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Bundle: Bundle.entry[0].resource/*Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c*/.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Bundle: Bundle: No types could be determined from the search string, so the types can't be checked", + "type": "info" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/2d5afc69-6ef2-420f-a8d1-8500c99eb96c: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "fc24b9a0-8727-497c-8863-bfe3361d42b6", + "direction": "outgoing", + "index": 336, + "result_id": "e2091b2e-a106-484e-b30b-da65b3996824", + "status": 200, + "timestamp": "2026-10-06T14:02:20.216-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f/$status", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_status_operation-subscriptions_r4_server_status_invocation", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.215-04:00" + }, + { + "id": "29ed61f9-aa80-417b-9b9f-01b05b805fde", + "created_at": "2026-10-06T14:02:20.217-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_status_operation", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.217-04:00" + }, + { + "id": "5fdeafec-5715-4331-8dfe-645f3a1edbc9", + "created_at": "2026-10-06T14:02:20.222-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "db10d8b4-045b-4783-8ff9-5f16956f5b11", + "direction": "outgoing", + "index": 338, + "result_id": "5fdeafec-5715-4331-8dfe-645f3a1edbc9", + "status": 400, + "timestamp": "2026-10-06T14:02:20.224-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_cross_version_extension", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.222-04:00" + }, + { + "id": "ef639edf-9bb7-411d-a534-a191431c701a", + "created_at": "2026-10-06T14:02:20.225-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_topic", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Topic\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_topic", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.225-04:00" + }, + { + "id": "35094f79-e177-4f6e-ac7b-2415c5bd8e75", + "created_at": "2026-10-06T14:02:20.228-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_filter", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Filter\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_filter", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.228-04:00" + }, + { + "id": "cc5fef1c-3e15-4cf6-8c7f-bf87498d7588", + "created_at": "2026-10-06T14:02:20.229-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_channel_type", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Channel Type\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_type", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.229-04:00" + }, + { + "id": "08b6cce5-db05-4329-8407-62f0b9d82a11", + "created_at": "2026-10-06T14:02:20.232-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_channel_endpoint", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Channel Endpoint\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_endpoint", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.232-04:00" + }, + { + "id": "8fa80e18-c734-40af-a269-feb579ae5870", + "created_at": "2026-10-06T14:02:20.233-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_payload_type", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Payload Type\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_payload_type", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.233-04:00" + }, + { + "id": "3329b80e-65c3-44bd-935b-62bc4b240c5f", + "created_at": "2026-10-06T14:02:20.234-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_channel_payload_combo", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Channel and Payload Combination\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_payload_combo", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.234-04:00" + }, + { + "id": "e6cbe9f9-c125-48b5-b6b5-2e04749ae9be", + "created_at": "2026-10-06T14:02:20.234-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "subscription_resource", + "label": "Workflow Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_topic", + "label": "Unsupported Subscription Topic", + "description": "A Subscription Topic for the `criteria` element that is not implemented by the server to test\n for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_filter", + "label": "Unsupported Subscription Filter", + "description": "A value for `filterCriteria` extension under the `criteria` that is not implemented by the\n server to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_type", + "label": "Unsupported Subscription Channel Type", + "description": "A value for the `channel.type` element that is not implemented by the server to test for\n Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_endpoint", + "label": "Unsupported Subscription Channel Endpoint", + "description": "An unsupported value for the `channel.endpoint` element to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_payload_type", + "label": "Unsupported Subscription Payload Type", + "description": "A value for the `content` extension under the `channel.payload` element that is not\n implemented by the server to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_payload_combo", + "label": "Unsupported Subscription Channel and Payload Combination", + "description": "\n A channel (`channel.type`) and payload type (`content` extension under the `channel.payload` element)\n combination not implemented by the server to test for Subscription\n rejection. Provide as a JSON object with two keys as follows: {\"channel\": \"channel_type\",\n \"payload\": \"wrong_payload_type_for_this_channel\"}.\n ", + "value": null, + "type": "text" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.234-04:00" + }, + { + "id": "0e6aa139-215c-4f7b-8e36-b4c3943fcfc1", + "created_at": "2026-10-06T14:02:20.259-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "84776976-627e-4e73-8b67-06b2560b9602", + "direction": "outgoing", + "index": 342, + "result_id": "0e6aa139-215c-4f7b-8e36-b4c3943fcfc1", + "status": 200, + "timestamp": "2026-10-06T14:02:20.260-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f", + "verb": "get" + }, + { + "id": "770caaed-c101-401a-a626-920b9664e374", + "direction": "outgoing", + "index": 343, + "result_id": "0e6aa139-215c-4f7b-8e36-b4c3943fcfc1", + "status": 200, + "timestamp": "2026-10-06T14:02:20.260-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f", + "verb": "put" + }, + { + "id": "ef3237f2-80de-4c81-934d-b057c4e5841a", + "direction": "outgoing", + "index": 344, + "result_id": "0e6aa139-215c-4f7b-8e36-b4c3943fcfc1", + "status": 200, + "timestamp": "2026-10-06T14:02:20.261-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete-subscriptions_r4_server_update_put", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.259-04:00" + }, + { + "id": "7bd2a852-197f-4b59-a0cd-73a8d94dcf22", + "created_at": "2026-10-06T14:02:20.276-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "17c9febb-0880-4b3e-8624-927ca27f6f4f", + "direction": "outgoing", + "index": 348, + "result_id": "7bd2a852-197f-4b59-a0cd-73a8d94dcf22", + "status": 200, + "timestamp": "2026-10-06T14:02:20.276-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f", + "verb": "get" + }, + { + "id": "8a341ed9-fbc8-433f-b580-34f994c18284", + "direction": "outgoing", + "index": 349, + "result_id": "7bd2a852-197f-4b59-a0cd-73a8d94dcf22", + "status": 200, + "timestamp": "2026-10-06T14:02:20.276-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f", + "verb": "patch" + }, + { + "id": "da978c15-2ef9-4e69-b1c2-ea5ec941fafd", + "direction": "outgoing", + "index": 350, + "result_id": "7bd2a852-197f-4b59-a0cd-73a8d94dcf22", + "status": 200, + "timestamp": "2026-10-06T14:02:20.277-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete-subscriptions_r4_server_update_patch", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.276-04:00" + }, + { + "id": "a4527a71-477c-4069-9270-4353ea48eb44", + "created_at": "2026-10-06T14:02:20.284-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "7fc45788-2971-48c3-8781-c0c17ed9fdd9", + "direction": "outgoing", + "index": 328, + "result_id": "fcd89102-edfc-461e-b372-88a07fd4954e", + "status": 201, + "timestamp": "2026-10-06T14:02:01.592-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "4ac911e2-5968-4424-b92d-7e56be68152b", + "direction": "outgoing", + "index": 353, + "result_id": "a4527a71-477c-4069-9270-4353ea48eb44", + "status": 204, + "timestamp": "2026-10-06T14:02:20.284-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f", + "verb": "delete" + }, + { + "id": "c4bd6187-b22c-4751-9c78-b206afba7ab1", + "direction": "outgoing", + "index": 354, + "result_id": "a4527a71-477c-4069-9270-4353ea48eb44", + "status": 404, + "timestamp": "2026-10-06T14:02:20.285-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/f2d314e6-e627-462d-8eee-e36e316ba20f", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete-subscriptions_r4_server_delete", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.284-04:00" + }, + { + "id": "a622bb5d-2b6b-4866-89be-ee3f83bbd680", + "created_at": "2026-10-06T14:02:20.285-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "updated_at": "2026-10-06T14:02:20.285-04:00" + }, + { + "id": "871df8fb-6fcf-404c-a3f8-12e3686e18ed", + "created_at": "2026-10-06T14:02:20.287-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:01:58-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "subscription_resource", + "label": "Workflow Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"full-resource\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "empty_subscription_resource", + "label": "Empty Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "id_only_subscription_resource", + "label": "Id-Only Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "full_resource_subscription_resource", + "label": "Full-Resource Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "unsupported_subscription_topic", + "label": "Unsupported Subscription Topic", + "description": "A Subscription Topic for the `criteria` element that is not implemented by the server to test\n for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_filter", + "label": "Unsupported Subscription Filter", + "description": "A value for `filterCriteria` extension under the `criteria` that is not implemented by the\n server to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_type", + "label": "Unsupported Subscription Channel Type", + "description": "A value for the `channel.type` element that is not implemented by the server to test for\n Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_endpoint", + "label": "Unsupported Subscription Channel Endpoint", + "description": "An unsupported value for the `channel.endpoint` element to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_payload_type", + "label": "Unsupported Subscription Payload Type", + "description": "A value for the `content` extension under the `channel.payload` element that is not\n implemented by the server to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_payload_combo", + "label": "Unsupported Subscription Channel and Payload Combination", + "description": "\n A channel (`channel.type`) and payload type (`content` extension under the `channel.payload` element)\n combination not implemented by the server to test for Subscription\n rejection. Provide as a JSON object with two keys as follows: {\"channel\": \"channel_type\",\n \"payload\": \"wrong_payload_type_for_this_channel\"}.\n ", + "value": null, + "type": "text" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "test_run_id": "209b8345-ed5d-4b8b-b410-58f95dc8c1f7", + "test_session_id": "4uIu14Dp9LH", + "test_suite_id": "subscriptions_r5_backport_r4_server", + "updated_at": "2026-10-06T14:02:20.287-04:00" + } +] \ No newline at end of file diff --git a/execution_scripts/subscriptions_r4_id_only_with_commands.yaml b/execution_scripts/subscriptions_r4_id_only_with_commands.yaml index 00ee8af..bde5963 100644 --- a/execution_scripts/subscriptions_r4_id_only_with_commands.yaml +++ b/execution_scripts/subscriptions_r4_id_only_with_commands.yaml @@ -74,6 +74,29 @@ steps: next_poll_session: client action_description: Attest that event notification was processed correctly + - session: client + status: waiting + last_completed: 2.1.01 + state_description: > + Step 6: Client is waiting at the update and delete interaction (2.1.01). The server suite's + update and deletion tests already updated (PUT and JSON Patch) but they will have failed, + so re-run the last server group. + start_run: + session: server + runnable: 7 + next_poll_session: server + action_description: Start server group 7 "Subscription Update and Deletion Verification" + + - session: server + status: done + last_completed: 7 + state_description: > + Step 7: Server Update / Delete group re-run is done. Advance the client wait so the client + suite can continue with update and delete conformance verification. + command: bundle exec ruby execution_scripts/advance_wait.rb '{client.wait_outputs.confirmation_url}' + next_poll_session: client + action_description: Advance client update and delete wait + - session: client status: done last_completed: suite diff --git a/execution_scripts/subscriptions_r4_id_only_with_commands_client_expected.json b/execution_scripts/subscriptions_r4_id_only_with_commands_client_expected.json index c0bbaf6..989af6a 100644 --- a/execution_scripts/subscriptions_r4_id_only_with_commands_client_expected.json +++ b/execution_scripts/subscriptions_r4_id_only_with_commands_client_expected.json @@ -1 +1,586 @@ -[{"id":"66e2ced9-cfaa-4020-acc0-a464672948be","created_at":"2026-05-27T16:44:26.972+00:00","inputs":[{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"client_endpoint_access_token","value":null,"type":"text"},{"name":"notification_bundle","value":"{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-id-only\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}","type":"textarea"}],"optional":false,"outputs":[{"name":"confirmation_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=SAMPLE_TOKEN"},{"name":"fail_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=SAMPLE_TOKEN"}],"requests":[],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-Group01-subscriptions_r4_client_interaction","test_run_id":"ff57ba96-3f4e-4f30-ac0a-329a1267c398","test_session_id":"43T48wLvDhd","updated_at":"2026-05-27T16:45:16.743+00:00"},{"id":"46ee302a-960f-48ff-bf96-3289700616f8","created_at":"2026-05-27T16:45:16.764+00:00","inputs":[],"optional":false,"outputs":[],"requests":[{"id":"40d05c87-ee1d-4d0c-843f-4830ac8795b9","direction":"outgoing","index":4,"result_id":"66e2ced9-cfaa-4020-acc0-a464672948be","status":200,"timestamp":"2026-05-27T16:44:56.089+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_handshake_notification_verification","test_run_id":"ff57ba96-3f4e-4f30-ac0a-329a1267c398","test_session_id":"43T48wLvDhd","updated_at":"2026-05-27T16:45:16.764+00:00"},{"id":"c9492030-e417-47e2-a591-5b28defe219c","created_at":"2026-05-27T16:45:16.770+00:00","inputs":[],"optional":false,"outputs":[],"requests":[{"id":"1cc726dc-5d4f-41a6-98ff-62c8d2f9f95d","direction":"outgoing","index":6,"result_id":"66e2ced9-cfaa-4020-acc0-a464672948be","status":200,"timestamp":"2026-05-27T16:45:02.123+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_event_notification_verification","test_run_id":"ff57ba96-3f4e-4f30-ac0a-329a1267c398","test_session_id":"43T48wLvDhd","updated_at":"2026-05-27T16:45:16.770+00:00"},{"id":"473cfb84-4e76-4034-be34-c8866d4b83ec","created_at":"2026-05-27T16:45:17.966+00:00","inputs":[],"messages":[{"message":"Subscription: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription.criteria.extension[0]: Unknown extension http://hl7.org/fhir/5.0/subscriptions-backport/StructureDefinition/backport-filter-criteria","type":"info"},{"message":"Subscription: Subscription.criteria.extension[0]: This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription|1.1.0 (this may not be a problem, but you should check that it's not intended to match a slice)","type":"info"},{"message":"Subscription: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"53876bc4-05b3-495c-aeaf-3b382ace9bf7","direction":"incoming","index":1,"result_id":"66e2ced9-cfaa-4020-acc0-a464672948be","status":201,"timestamp":"2026-05-27T16:44:54.576+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"POST"},{"id":"004f87ef-57fd-4b6b-af2a-969178842755","direction":"incoming","index":11,"result_id":"66e2ced9-cfaa-4020-acc0-a464672948be","status":400,"timestamp":"2026-05-27T16:45:14.915+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_subscription_verification","test_run_id":"ff57ba96-3f4e-4f30-ac0a-329a1267c398","test_session_id":"43T48wLvDhd","updated_at":"2026-05-27T16:45:17.966+00:00"},{"id":"76164d01-4195-49c2-b20e-c033e741a04f","created_at":"2026-05-27T16:45:18.152+00:00","inputs":[],"messages":[{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"1cc726dc-5d4f-41a6-98ff-62c8d2f9f95d","direction":"outgoing","index":6,"result_id":"66e2ced9-cfaa-4020-acc0-a464672948be","status":200,"timestamp":"2026-05-27T16:45:02.123+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_notification_input_verification","test_run_id":"ff57ba96-3f4e-4f30-ac0a-329a1267c398","test_session_id":"43T48wLvDhd","updated_at":"2026-05-27T16:45:18.152+00:00"},{"id":"9cd63b69-cfc4-44ba-97cf-fa8113fc00ca","created_at":"2026-05-27T16:45:18.166+00:00","inputs":[],"messages":[{"message":"\nParameters.parameter:topic.value[x] is populated in `id-only` Notification.\nThis value MAY be present when using id-only payloads","type":"info"}],"optional":false,"outputs":[],"requests":[{"id":"1cc726dc-5d4f-41a6-98ff-62c8d2f9f95d","direction":"outgoing","index":6,"result_id":"66e2ced9-cfaa-4020-acc0-a464672948be","status":200,"timestamp":"2026-05-27T16:45:02.123+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_notification_input_payload_verification","test_run_id":"ff57ba96-3f4e-4f30-ac0a-329a1267c398","test_session_id":"43T48wLvDhd","updated_at":"2026-05-27T16:45:18.166+00:00"},{"id":"da263908-7adf-4eb2-bc68-6b5d4dbac0da","created_at":"2026-05-27T16:45:18.175+00:00","inputs":[],"optional":false,"outputs":[{"name":"attest_true_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=43T48wLvDhd"},{"name":"attest_false_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=43T48wLvDhd"}],"requests":[{"id":"1cc726dc-5d4f-41a6-98ff-62c8d2f9f95d","direction":"outgoing","index":6,"result_id":"66e2ced9-cfaa-4020-acc0-a464672948be","status":200,"timestamp":"2026-05-27T16:45:02.123+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_processing_attestation","test_run_id":"ff57ba96-3f4e-4f30-ac0a-329a1267c398","test_session_id":"43T48wLvDhd","updated_at":"2026-05-27T16:45:19.782+00:00"},{"id":"c28ca861-76b9-4190-a17c-7311a9afb482","created_at":"2026-05-27T16:45:19.796+00:00","inputs":[{"name":"access_token","label":"Access Token","description":"\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"client_endpoint_access_token","label":"Client Notification Access Token","description":"\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ","value":null,"type":"text"},{"name":"notification_bundle","label":"Event Notification Bundle","description":"\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ","value":"{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-id-only\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}","type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-Group01","test_run_id":"ff57ba96-3f4e-4f30-ac0a-329a1267c398","test_session_id":"43T48wLvDhd","updated_at":"2026-05-27T16:45:19.796+00:00"},{"id":"942a53c1-757b-4cd0-8006-ab5640f0da3e","created_at":"2026-05-27T16:45:19.802+00:00","inputs":[],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification","test_run_id":"ff57ba96-3f4e-4f30-ac0a-329a1267c398","test_session_id":"43T48wLvDhd","updated_at":"2026-05-27T16:45:19.802+00:00"},{"id":"cd397386-9482-4633-b732-468ca21166ab","created_at":"2026-05-27T16:45:19.807+00:00","inputs":[],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification","test_run_id":"ff57ba96-3f4e-4f30-ac0a-329a1267c398","test_session_id":"43T48wLvDhd","updated_at":"2026-05-27T16:45:19.807+00:00"},{"id":"890e04f4-6f81-4853-b38c-b874a653bfa9","created_at":"2026-05-27T16:45:19.815+00:00","inputs":[{"name":"access_token","label":"Access Token","description":"\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"client_endpoint_access_token","label":"Client Notification Access Token","description":"\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ","value":null,"type":"text"},{"name":"notification_bundle","label":"Event Notification Bundle","description":"\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ","value":"{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-id-only\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}","type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow","test_run_id":"ff57ba96-3f4e-4f30-ac0a-329a1267c398","test_session_id":"43T48wLvDhd","updated_at":"2026-05-27T16:45:19.815+00:00"},{"id":"512a1a3e-ba4e-4a4f-b6be-fbed593e2f39","created_at":"2026-05-27T16:45:19.819+00:00","inputs":[{"name":"access_token","label":"Access Token","description":"\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ","value":"SAMPLE_TOKEN","type":"text"},{"name":"client_endpoint_access_token","label":"Client Notification Access Token","description":"\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ","value":null,"type":"text"},{"name":"notification_bundle","label":"Event Notification Bundle","description":"\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ","value":"{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-id-only\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}","type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_run_id":"ff57ba96-3f4e-4f30-ac0a-329a1267c398","test_session_id":"43T48wLvDhd","test_suite_id":"subscriptions_r5_backport_r4_client","updated_at":"2026-05-27T16:45:19.819+00:00"}] +[ + { + "id": "580d1e9f-a67b-4efb-a6a8-472069bb6299", + "created_at": "2026-10-06T14:02:34.718-04:00", + "inputs": [ + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "client_endpoint_access_token", + "value": null, + "type": "text" + }, + { + "name": "notification_bundle", + "value": "{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-id-only\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [ + { + "name": "confirmation_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=SAMPLE_TOKEN" + }, + { + "name": "fail_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=SAMPLE_TOKEN" + } + ], + "requests": [], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-Group01-subscriptions_r4_client_interaction", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:02:59.672-04:00" + }, + { + "id": "f2f97679-70e2-42a1-8f25-30b5e728e453", + "created_at": "2026-10-06T14:02:59.679-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "439caa1f-19d3-4ced-a3d8-560bde1063f7", + "direction": "outgoing", + "index": 361, + "result_id": "580d1e9f-a67b-4efb-a6a8-472069bb6299", + "status": 200, + "timestamp": "2026-10-06T14:02:39.320-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_handshake_notification_verification", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:02:59.679-04:00" + }, + { + "id": "c8291bf8-394c-496f-bc37-84f0f45fde44", + "created_at": "2026-10-06T14:02:59.680-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "357448ed-eab3-4f51-8195-6bda312fc164", + "direction": "outgoing", + "index": 363, + "result_id": "580d1e9f-a67b-4efb-a6a8-472069bb6299", + "status": 200, + "timestamp": "2026-10-06T14:02:46.342-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification-subscriptions_r4_client_event_notification_verification", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:02:59.680-04:00" + }, + { + "id": "1b2225a4-59d1-481f-ab51-f1c877383349", + "created_at": "2026-10-06T14:02:59.719-04:00", + "inputs": [], + "messages": [ + { + "message": "Subscription: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription.criteria.extension[0]: Unknown extension http://hl7.org/fhir/5.0/subscriptions-backport/StructureDefinition/backport-filter-criteria", + "type": "info" + }, + { + "message": "Subscription: Subscription.criteria.extension[0]: This element does not match any known slice defined in the profile http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription|1.1.0 (this may not be a problem, but you should check that it's not intended to match a slice)", + "type": "info" + }, + { + "message": "Subscription: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "64e4da0c-8dee-49f6-b4a0-058544e5fa82", + "direction": "incoming", + "index": 358, + "result_id": "580d1e9f-a67b-4efb-a6a8-472069bb6299", + "status": 201, + "timestamp": "2026-10-06T14:02:37.793-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "POST" + }, + { + "id": "6fa53746-b581-435d-a131-1203fca5fb50", + "direction": "incoming", + "index": 368, + "result_id": "580d1e9f-a67b-4efb-a6a8-472069bb6299", + "status": 400, + "timestamp": "2026-10-06T14:02:56.377-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_subscription_verification", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:02:59.719-04:00" + }, + { + "id": "1e2c6ef6-1821-4977-baed-c0225fa34a3a", + "created_at": "2026-10-06T14:02:59.756-04:00", + "inputs": [], + "messages": [ + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "357448ed-eab3-4f51-8195-6bda312fc164", + "direction": "outgoing", + "index": 363, + "result_id": "580d1e9f-a67b-4efb-a6a8-472069bb6299", + "status": 200, + "timestamp": "2026-10-06T14:02:46.342-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_notification_input_verification", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:02:59.756-04:00" + }, + { + "id": "220d9e09-b4a5-4004-9c8c-db33e53dfed1", + "created_at": "2026-10-06T14:02:59.759-04:00", + "inputs": [], + "messages": [ + { + "message": "\nParameters.parameter:topic.value[x] is populated in `id-only` Notification.\nThis value MAY be present when using id-only payloads", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "357448ed-eab3-4f51-8195-6bda312fc164", + "direction": "outgoing", + "index": 363, + "result_id": "580d1e9f-a67b-4efb-a6a8-472069bb6299", + "status": 200, + "timestamp": "2026-10-06T14:02:46.342-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_notification_input_payload_verification", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:02:59.759-04:00" + }, + { + "id": "db58967d-7250-4663-b48a-50c860a882e0", + "created_at": "2026-10-06T14:02:59.761-04:00", + "inputs": [], + "optional": false, + "outputs": [ + { + "name": "attest_true_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=diuXLijDN1n" + }, + { + "name": "attest_false_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=diuXLijDN1n" + } + ], + "requests": [ + { + "id": "357448ed-eab3-4f51-8195-6bda312fc164", + "direction": "outgoing", + "index": 363, + "result_id": "580d1e9f-a67b-4efb-a6a8-472069bb6299", + "status": 200, + "timestamp": "2026-10-06T14:02:46.342-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification-subscriptions_r4_client_processing_attestation", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:03:02.726-04:00" + }, + { + "id": "5b2e386b-9b2b-47d0-af97-2e024559ea8c", + "created_at": "2026-10-06T14:03:02.741-04:00", + "inputs": [ + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + } + ], + "optional": false, + "outputs": [ + { + "name": "subscription_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/a3978009-cb2d-4069-a39e-3bad639c6293" + }, + { + "name": "confirmation_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_pass?test_run_identifier=SAMPLE_TOKEN" + }, + { + "name": "fail_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/resume_fail?test_run_identifier=SAMPLE_TOKEN" + } + ], + "requests": [], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_workflow_interaction-subscriptions_r4_client_update_delete_interaction", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:03:06.150-04:00" + }, + { + "id": "029dcd30-66cd-4f08-81f8-5e4f59e57652", + "created_at": "2026-10-06T14:03:06.155-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "client_endpoint_access_token", + "label": "Client Notification Access Token", + "description": "\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ", + "value": null, + "type": "text" + }, + { + "name": "notification_bundle", + "label": "Event Notification Bundle", + "description": "\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ", + "value": "{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-id-only\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-Group01", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:03:06.155-04:00" + }, + { + "id": "717a121a-d9a9-47f9-a041-4313e3956516", + "created_at": "2026-10-06T14:03:06.156-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_interaction_verification", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:03:06.156-04:00" + }, + { + "id": "c9d0edce-5d1f-4e39-940a-e46999c65791", + "created_at": "2026-10-06T14:03:06.157-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow-subscriptions_r4_client_conformance_verification", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:03:06.157-04:00" + }, + { + "id": "22d1b07f-c27f-4348-90ea-989fde7d2672", + "created_at": "2026-10-06T14:03:06.158-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "client_endpoint_access_token", + "label": "Client Notification Access Token", + "description": "\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ", + "value": null, + "type": "text" + }, + { + "name": "notification_bundle", + "label": "Event Notification Bundle", + "description": "\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ", + "value": "{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-id-only\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_workflow", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:03:06.158-04:00" + }, + { + "id": "3d9df4ac-ca53-446d-9981-2c6f7cafd608", + "created_at": "2026-10-06T14:03:06.159-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription update, delete, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_workflow_interaction", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:03:06.159-04:00" + }, + { + "id": "629914d0-5600-487d-981c-ba3af6453a22", + "created_at": "2026-10-06T14:03:06.308-04:00", + "inputs": [], + "messages": [ + { + "message": "Request 1: Subscription/a3978009-cb2d-4069-a39e-3bad639c6293: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/a3978009-cb2d-4069-a39e-3bad639c6293: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/a3978009-cb2d-4069-a39e-3bad639c6293: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/a3978009-cb2d-4069-a39e-3bad639c6293: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "4b30f785-5198-4ff4-9a8c-084392ea82e7", + "direction": "incoming", + "index": 371, + "result_id": "580d1e9f-a67b-4efb-a6a8-472069bb6299", + "status": 200, + "timestamp": "2026-10-06T14:02:56.393-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/a3978009-cb2d-4069-a39e-3bad639c6293", + "verb": "PUT" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_conformance_verification-subscriptions_r4_client_put_update_verification", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:03:06.308-04:00" + }, + { + "id": "41ce874d-0735-429d-9e32-54f6cd34ab12", + "created_at": "2026-10-06T14:03:06.326-04:00", + "inputs": [], + "messages": [ + { + "message": "Request 1: Subscription/a3978009-cb2d-4069-a39e-3bad639c6293: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/a3978009-cb2d-4069-a39e-3bad639c6293: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/a3978009-cb2d-4069-a39e-3bad639c6293: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found", + "type": "warning" + }, + { + "message": "Request 1: Subscription/a3978009-cb2d-4069-a39e-3bad639c6293: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "d44aa42f-ad25-4cbc-b930-99ddef8ebe11", + "direction": "incoming", + "index": 377, + "result_id": "580d1e9f-a67b-4efb-a6a8-472069bb6299", + "status": 200, + "timestamp": "2026-10-06T14:02:56.411-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/a3978009-cb2d-4069-a39e-3bad639c6293", + "verb": "PATCH" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_conformance_verification-subscriptions_r4_client_patch_update_verification", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:03:06.326-04:00" + }, + { + "id": "49d07751-b56c-4464-b040-16600e84d474", + "created_at": "2026-10-06T14:03:06.329-04:00", + "inputs": [], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "3fd39d70-be03-499b-891c-5fe0d90726e0", + "direction": "incoming", + "index": 382, + "result_id": "580d1e9f-a67b-4efb-a6a8-472069bb6299", + "status": 204, + "timestamp": "2026-10-06T14:02:56.425-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/a3978009-cb2d-4069-a39e-3bad639c6293", + "verb": "DELETE" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_conformance_verification-subscriptions_r4_client_delete_verification", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:03:06.329-04:00" + }, + { + "id": "8529f277-098a-48b5-a5e8-0e7e50842242", + "created_at": "2026-10-06T14:03:06.329-04:00", + "inputs": [], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow-subscriptions_r4_client_update_delete_conformance_verification", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:03:06.329-04:00" + }, + { + "id": "d767d299-d9ec-43c4-9027-fd089261d892", + "created_at": "2026-10-06T14:03:06.331-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription update, delete, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_client-subscriptions_r4_client_update_delete_workflow", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "updated_at": "2026-10-06T14:03:06.331-04:00" + }, + { + "id": "4e493968-4f80-40ab-a7cf-0ae09b8a44d1", + "created_at": "2026-10-06T14:03:06.331-04:00", + "inputs": [ + { + "name": "access_token", + "label": "Access Token", + "description": "\n The bearer token that the client under test will use when making Subscription creation, $status, and other\n requests to Inferno's simulated Subscriptions server.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "client_endpoint_access_token", + "label": "Client Notification Access Token", + "description": "\n The bearer token that Inferno will send on requests to the client under test's rest-hook notification\n endpoint. Not needed if the client under test will create a Subscription with an appropriate header value\n in the `channel.header` element. If a value for the `authorization` header is provided in\n `channel.header`, this value will override it.\n ", + "value": null, + "type": "text" + }, + { + "name": "notification_bundle", + "label": "Event Notification Bundle", + "description": "\n The event notification bundle from which Inferno will derive a handshake notification, an event\n notification to send to the client endpoint, and responses to $status operation requests. The provided\n Bundle must conform to the R4 Topic-Based Subscription Notification Bundle profile.\n ", + "value": "{\n \"resourceType\" : \"Bundle\",\n \"id\" : \"r4-notification-id-only\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification-r4\"]\n },\n \"type\" : \"history\",\n \"timestamp\" : \"2020-05-29T11:44:13.1882432-05:00\",\n \"entry\" : [{\n \"fullUrl\" : \"urn:uuid:292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"resource\" : {\n \"resourceType\" : \"Parameters\",\n \"id\" : \"292d3c72-edc1-4d8a-afaa-d85e19c7f563\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4\"]\n },\n \"parameter\" : [{\n \"name\" : \"subscription\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Subscription/admission\"\n }\n },\n {\n \"name\" : \"topic\",\n \"valueCanonical\" : \"http://hl7.org/SubscriptionTopic/admission\"\n },\n {\n \"name\" : \"status\",\n \"valueCode\" : \"active\"\n },\n {\n \"name\" : \"type\",\n \"valueCode\" : \"event-notification\"\n },\n {\n \"name\" : \"events-since-subscription-start\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"notification-event\",\n \"part\" : [{\n \"name\" : \"event-number\",\n \"valueString\" : \"1\"\n },\n {\n \"name\" : \"timestamp\",\n \"valueInstant\" : \"2020-05-29T11:44:13.1882432-05:00\"\n },\n {\n \"name\" : \"focus\",\n \"valueReference\" : {\n \"reference\" : \"https://example.org/fhir/Encounter/86009987-eabe-42bf-8c02-b112b18cb616\"\n }\n }]\n }]\n },\n \"request\" : {\n \"method\" : \"GET\",\n \"url\" : \"https://example.org/fhir/Subscription/admission/$status\"\n },\n \"response\" : {\n \"status\" : \"200\"\n }\n }]\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_run_id": "ab462d1a-7179-47a7-ae4b-9c83b4ac3638", + "test_session_id": "diuXLijDN1n", + "test_suite_id": "subscriptions_r5_backport_r4_client", + "updated_at": "2026-10-06T14:03:06.331-04:00" + } +] \ No newline at end of file diff --git a/execution_scripts/subscriptions_r4_id_only_with_commands_server_expected.json b/execution_scripts/subscriptions_r4_id_only_with_commands_server_expected.json index 46e5f20..f0b5a29 100644 --- a/execution_scripts/subscriptions_r4_id_only_with_commands_server_expected.json +++ b/execution_scripts/subscriptions_r4_id_only_with_commands_server_expected.json @@ -1 +1,2373 @@ -[{"id":"e23b0f64-59f2-42d8-9f39-a009c9c382ff","created_at":"2026-05-27T16:44:54.547+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}","type":"textarea"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Subscription: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found","type":"warning"},{"message":"Subscription: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)","type":"warning"}],"optional":false,"outputs":[{"name":"updated_subscription","type":"text","value":"{\"resourceType\":\"Subscription\",\"meta\":{\"profile\":[\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]},\"status\":\"requested\",\"end\":\"2020-12-31T12:00:00Z\",\"reason\":\"R4 Topic-Based Workflow Subscription for Patient Admission\",\"criteria\":\"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\"_criteria\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\"valueString\":\"Encounter.patient=Patient/123\"}]},\"channel\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\"valueUnsignedInt\":60},{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\"valuePositiveInt\":20}],\"type\":\"rest-hook\",\"header\":[\"Authorization: Bearer SAMPLE_TOKEN\"],\"endpoint\":\"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\"payload\":\"application/fhir+json\",\"_payload\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\"valueCode\":\"id-only\"}]}}}"}],"requests":[],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_subscription_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:44:54.547+00:00"},{"id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","created_at":"2026-05-27T16:44:54.607+00:00","inputs":[{"name":"updated_subscription","value":"{\"resourceType\":\"Subscription\",\"meta\":{\"profile\":[\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]},\"status\":\"requested\",\"end\":\"2020-12-31T12:00:00Z\",\"reason\":\"R4 Topic-Based Workflow Subscription for Patient Admission\",\"criteria\":\"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\"_criteria\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\"valueString\":\"Encounter.patient=Patient/123\"}]},\"channel\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\"valueUnsignedInt\":60},{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\"valuePositiveInt\":20}],\"type\":\"rest-hook\",\"header\":[\"Authorization: Bearer SAMPLE_TOKEN\"],\"endpoint\":\"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\"payload\":\"application/fhir+json\",\"_payload\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\"valueCode\":\"id-only\"}]}}}","type":"text"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[{"name":"confirmation_url","type":"text","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/resume_pass?token=notification%20SAMPLE_TOKEN"}],"requests":[{"id":"3afa69af-3405-434a-be7d-299a6f07a24d","direction":"outgoing","index":2,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":201,"timestamp":"2026-05-27T16:44:54.610+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_notification_delivery","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:13.152+00:00"},{"id":"b81d2c73-2a2f-4765-b09c-0d3e2b328ebc","created_at":"2026-05-27T16:45:13.248+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"3afa69af-3405-434a-be7d-299a6f07a24d","direction":"outgoing","index":2,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":201,"timestamp":"2026-05-27T16:44:54.610+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_creation_response_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:13.248+00:00"},{"id":"5d87c383-017d-4925-97bc-1fcd37e50fcf","created_at":"2026-05-27T16:45:13.251+00:00","inputs":[{"name":"subscription_resource","label":"Workflow Subscription Resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}","type":"textarea"},{"name":"access_token","label":"Notification Access Token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:13.251+00:00"},{"id":"7b4f7382-f14c-4678-8276-a5d0bb04da45","created_at":"2026-05-27T16:45:13.257+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"3afa69af-3405-434a-be7d-299a6f07a24d","direction":"outgoing","index":2,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":201,"timestamp":"2026-05-27T16:44:54.610+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"73b6f938-84cc-45d5-b92d-ea5de9bfce19","direction":"incoming","index":3,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":200,"timestamp":"2026-05-27T16:44:56.089+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"},{"id":"992d3496-f749-462b-a197-5dd826541e6f","direction":"incoming","index":5,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":200,"timestamp":"2026-05-27T16:45:02.123+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification-subscriptions_r4_server_notification_presence","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:13.257+00:00"},{"id":"222fc82b-efa5-45b8-b3b1-3098c92ae663","created_at":"2026-05-27T16:45:13.550+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"3afa69af-3405-434a-be7d-299a6f07a24d","direction":"outgoing","index":2,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":201,"timestamp":"2026-05-27T16:44:54.610+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"992d3496-f749-462b-a197-5dd826541e6f","direction":"incoming","index":5,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":200,"timestamp":"2026-05-27T16:45:02.123+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification-subscriptions_r4_server_notification_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:13.550+00:00"},{"id":"d57b73e0-e7c5-4d29-a1ea-a6748d814b27","created_at":"2026-05-27T16:45:13.559+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:13.559+00:00"},{"id":"aa256cd2-b2c7-412b-ac5d-c0105b7e34e8","created_at":"2026-05-27T16:45:13.564+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","value":"SAMPLE_TOKEN","type":"text"},{"name":"subscription_resource","label":"Workflow Subscription Resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}","type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:13.564+00:00"},{"id":"16758091-73c2-4eb7-a003-5cce0208c3bd","created_at":"2026-05-27T16:45:14.416+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"CapabilityStatement: CapabilityStatement.rest[0].resource[0].extension[0].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"CapabilityStatement: CapabilityStatement: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"330744da-4fe9-4798-ac6c-0b2e2f22fbee","direction":"outgoing","index":8,"result_id":"16758091-73c2-4eb7-a003-5cce0208c3bd","status":200,"timestamp":"2026-05-27T16:45:14.422+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/metadata","verb":"get"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement-subscriptions_r4_server_cs_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.416+00:00"},{"id":"42d186a3-3810-48dc-98f8-8f3f857089df","created_at":"2026-05-27T16:45:14.434+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[{"id":"3afa69af-3405-434a-be7d-299a6f07a24d","direction":"outgoing","index":2,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":201,"timestamp":"2026-05-27T16:44:54.610+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement-subscriptions_r4_server_topic_discovery","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.434+00:00"},{"id":"dbb76488-6474-4933-8b75-a6c255158afd","created_at":"2026-05-27T16:45:14.438+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.438+00:00"},{"id":"51ea3b52-6d45-46bf-8da5-0c8189b70196","created_at":"2026-05-27T16:45:14.464+00:00","inputs":[{"name":"empty_subscription_resource","value":null,"type":"textarea"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"Did not input a Subscription resource of this type.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_subscription_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.464+00:00"},{"id":"4b3177e4-6c6f-43df-ae69-fba1275edd68","created_at":"2026-05-27T16:45:14.468+00:00","inputs":[{"name":"empty_updated_subscription","value":null,"type":"text"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"Input 'empty_updated_subscription' is nil, skipping test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_notification_delivery","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.468+00:00"},{"id":"b24f8ef9-0431-4e74-9e79-daa095170ce1","created_at":"2026-05-27T16:45:14.472+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"No successful Subscription creation request was made in the previous test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_creation_response_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.472+00:00"},{"id":"afe689b6-7c65-4d07-842d-b508bdd93119","created_at":"2026-05-27T16:45:14.474+00:00","inputs":[{"name":"empty_subscription_resource","label":"Empty Notification Subscription Resource","value":null,"type":"textarea"},{"name":"access_token","label":"Notification Access Token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.474+00:00"},{"id":"b1f70926-04cf-4f98-9cd0-3d6209bc388e","created_at":"2026-05-27T16:45:14.488+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nNo successful Subscription creation request of type empty\nwas made in the previous test.\n\n","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_notification_presence","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.488+00:00"},{"id":"6b625a7c-692d-4be2-860e-9a8e21be722c","created_at":"2026-05-27T16:45:14.491+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nNo successful Subscription creation request of type empty\nwas made in the previous test.\n\n","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_notification_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.491+00:00"},{"id":"93bab46e-bd35-418f-9e8e-7a31da427fba","created_at":"2026-05-27T16:45:14.494+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"No Subscriptions sent with notification payload type of `empty`","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_empty_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.494+00:00"},{"id":"20708f67-a45c-40fb-bc21-b0c8cde80b76","created_at":"2026-05-27T16:45:14.496+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.496+00:00"},{"id":"1d7af81f-3c70-47db-92b1-c6737a335c59","created_at":"2026-05-27T16:45:14.499+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","value":"SAMPLE_TOKEN","type":"text"},{"name":"empty_subscription_resource","label":"Empty Notification Subscription Resource","value":null,"type":"textarea"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.499+00:00"},{"id":"1e73be64-a7f3-46ca-890e-c0d88ae94f05","created_at":"2026-05-27T16:45:14.506+00:00","inputs":[{"name":"id_only_subscription_resource","value":null,"type":"textarea"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"Did not input a Subscription resource of this type.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_subscription_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.506+00:00"},{"id":"430822fe-0a0f-41a1-9404-ea1183804f46","created_at":"2026-05-27T16:45:14.509+00:00","inputs":[{"name":"id_only_updated_subscription","value":null,"type":"text"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"Input 'id_only_updated_subscription' is nil, skipping test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_notification_delivery","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.509+00:00"},{"id":"360cb446-005e-4b62-94d5-6987af4e5237","created_at":"2026-05-27T16:45:14.512+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"3afa69af-3405-434a-be7d-299a6f07a24d","direction":"outgoing","index":2,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":201,"timestamp":"2026-05-27T16:44:54.610+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_creation_response_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.512+00:00"},{"id":"f3bb9463-4413-45a4-84db-cade2c0f30e2","created_at":"2026-05-27T16:45:14.515+00:00","inputs":[{"name":"id_only_subscription_resource","label":"Id-Only Notification Subscription Resource","value":null,"type":"textarea"},{"name":"access_token","label":"Notification Access Token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.515+00:00"},{"id":"7e8715da-801b-4337-802f-e012008cb17f","created_at":"2026-05-27T16:45:14.525+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"3afa69af-3405-434a-be7d-299a6f07a24d","direction":"outgoing","index":2,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":201,"timestamp":"2026-05-27T16:44:54.610+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"73b6f938-84cc-45d5-b92d-ea5de9bfce19","direction":"incoming","index":3,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":200,"timestamp":"2026-05-27T16:44:56.089+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"},{"id":"992d3496-f749-462b-a197-5dd826541e6f","direction":"incoming","index":5,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":200,"timestamp":"2026-05-27T16:45:02.123+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_notification_presence","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.525+00:00"},{"id":"d349e73e-2250-4178-b48e-a30b59131463","created_at":"2026-05-27T16:45:14.588+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"3afa69af-3405-434a-be7d-299a6f07a24d","direction":"outgoing","index":2,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":201,"timestamp":"2026-05-27T16:44:54.610+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"992d3496-f749-462b-a197-5dd826541e6f","direction":"incoming","index":5,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":200,"timestamp":"2026-05-27T16:45:02.123+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_notification_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.588+00:00"},{"id":"66a0c58f-5c2a-4006-88da-1b379d7c34e2","created_at":"2026-05-27T16:45:14.603+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"\nParameters.parameter:topic.value[x] is populated in `id-only` Notification.\nThis value MAY be present when using id-only payloads","type":"info"}],"optional":false,"outputs":[],"requests":[{"id":"3afa69af-3405-434a-be7d-299a6f07a24d","direction":"outgoing","index":2,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":201,"timestamp":"2026-05-27T16:44:54.610+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"992d3496-f749-462b-a197-5dd826541e6f","direction":"incoming","index":5,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":200,"timestamp":"2026-05-27T16:45:02.123+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_id_only_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.603+00:00"},{"id":"3ac6eb9f-3eb9-47f6-82f1-9ec1a9c111d1","created_at":"2026-05-27T16:45:14.607+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.607+00:00"},{"id":"2a032d5c-9599-4924-a45d-7f0e0a686750","created_at":"2026-05-27T16:45:14.616+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","value":"SAMPLE_TOKEN","type":"text"},{"name":"id_only_subscription_resource","label":"Id-Only Notification Subscription Resource","value":null,"type":"textarea"}],"optional":true,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.616+00:00"},{"id":"2177949b-83b0-44b0-8fda-525b0a196a90","created_at":"2026-05-27T16:45:14.624+00:00","inputs":[{"name":"full_resource_subscription_resource","value":null,"type":"textarea"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"Did not input a Subscription resource of this type.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_subscription_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.624+00:00"},{"id":"7858f0e7-5e1c-4952-a700-5c3fba56367f","created_at":"2026-05-27T16:45:14.626+00:00","inputs":[{"name":"full_resource_updated_subscription","value":null,"type":"text"},{"name":"access_token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"Input 'full_resource_updated_subscription' is nil, skipping test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_notification_delivery","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.626+00:00"},{"id":"d812f86f-817e-4b48-ae12-d9b998bf4716","created_at":"2026-05-27T16:45:14.629+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"No successful Subscription creation request was made in the previous test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_creation_response_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.629+00:00"},{"id":"c5d6763e-8d88-4e6f-a7a9-0c7ad491ed77","created_at":"2026-05-27T16:45:14.631+00:00","inputs":[{"name":"full_resource_subscription_resource","label":"Full-Resource Notification Subscription Resource","value":null,"type":"textarea"},{"name":"access_token","label":"Notification Access Token","value":"SAMPLE_TOKEN","type":"text"},{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.631+00:00"},{"id":"cea3ef59-108a-4521-a060-f7937180e4dc","created_at":"2026-05-27T16:45:14.638+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nNo successful Subscription creation request of type full-resource\nwas made in the previous test.\n\n","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_notification_presence","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.638+00:00"},{"id":"ab92c9d5-24d8-4f56-ae1b-4f6f5b61b10a","created_at":"2026-05-27T16:45:14.641+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nNo successful Subscription creation request of type full-resource\nwas made in the previous test.\n\n","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_notification_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.641+00:00"},{"id":"7df340c9-7802-4685-8ab2-b264e6507dc1","created_at":"2026-05-27T16:45:14.644+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"omit","result_message":"No Subscriptions sent with notification payload type of `full-resource`","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_full_resource_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.644+00:00"},{"id":"4d9d2c65-d011-439e-9839-aa86ca300de0","created_at":"2026-05-27T16:45:14.645+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.645+00:00"},{"id":"40c2a649-4337-4d9d-b56a-3a936bebe2e1","created_at":"2026-05-27T16:45:14.649+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","value":"SAMPLE_TOKEN","type":"text"},{"name":"full_resource_subscription_resource","label":"Full-Resource Notification Subscription Resource","value":null,"type":"textarea"}],"optional":true,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.649+00:00"},{"id":"e4dfd53f-ddf0-4dcd-bb48-1adef6fafab2","created_at":"2026-05-27T16:45:14.652+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","value":"SAMPLE_TOKEN","type":"text"},{"name":"empty_subscription_resource","label":"Empty Notification Subscription Resource","value":null,"type":"textarea"},{"name":"id_only_subscription_resource","label":"Id-Only Notification Subscription Resource","value":null,"type":"textarea"},{"name":"full_resource_subscription_resource","label":"Full-Resource Notification Subscription Resource","value":null,"type":"textarea"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.652+00:00"},{"id":"fa380ce3-3b68-4758-b598-4ca5be233d4c","created_at":"2026-05-27T16:45:14.697+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"3afa69af-3405-434a-be7d-299a6f07a24d","direction":"outgoing","index":2,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":201,"timestamp":"2026-05-27T16:44:54.610+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"73b6f938-84cc-45d5-b92d-ea5de9bfce19","direction":"incoming","index":3,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":200,"timestamp":"2026-05-27T16:44:56.089+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener","verb":"POST"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat-subscriptions_r4_server_handshake_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.697+00:00"},{"id":"eaaa7c77-208d-43f1-863d-8c03a3510768","created_at":"2026-05-27T16:45:14.712+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"3afa69af-3405-434a-be7d-299a6f07a24d","direction":"outgoing","index":2,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":201,"timestamp":"2026-05-27T16:44:54.610+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"omit","result_message":"No heartbeat requests requested or received in previous tests.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat-subscriptions_r4_server_heartbeat_conformance","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.712+00:00"},{"id":"b675848f-296a-4457-a894-917cda936478","created_at":"2026-05-27T16:45:14.715+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.715+00:00"},{"id":"f6de804e-a4ea-4c9e-8cd8-9cbd70741bc8","created_at":"2026-05-27T16:45:14.879+00:00","inputs":[{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"messages":[{"message":"Bundle: Bundle.entry[0].resource/*Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563*/.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Bundle: Bundle.entry[0].resource/*Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563*/.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"},{"message":"Bundle: Bundle.entry[0].resource/*Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563*/.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Bundle: Bundle.entry[0].resource/*Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563*/.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Bundle: Bundle: No types could be determined from the search string, so the types can't be checked","type":"info"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'","type":"info"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found","type":"warning"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[0]: If the parameter 'subscription' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found Reference","type":"warning"},{"message":"Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1]: If the parameter 'topic' is an instance of the parameter defined in the base FHIR standard, then the type should be string, but found canonical","type":"warning"}],"optional":false,"outputs":[],"requests":[{"id":"3afa69af-3405-434a-be7d-299a6f07a24d","direction":"outgoing","index":2,"result_id":"31a957f0-8b88-4444-8fc6-f2680c823ecb","status":201,"timestamp":"2026-05-27T16:44:54.610+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"},{"id":"b17ed388-e22f-41d0-9a65-ff767999c540","direction":"outgoing","index":10,"result_id":"f6de804e-a4ea-4c9e-8cd8-9cbd70741bc8","status":200,"timestamp":"2026-05-27T16:45:14.893+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/dde66b29-faf6-4629-8d10-b12797f4bd07/$status","verb":"get"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_status_operation-subscriptions_r4_server_status_invocation","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.879+00:00"},{"id":"d728fc84-d52d-4b80-832f-3b57b2414a81","created_at":"2026-05-27T16:45:14.901+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"pass","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_status_operation","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.901+00:00"},{"id":"0388a3d5-c25f-4b45-9c60-3b2cc0e9e7a5","created_at":"2026-05-27T16:45:14.915+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}","type":"textarea"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[{"id":"65cfd068-37a2-4c83-b6b1-ba7afef7049a","direction":"outgoing","index":12,"result_id":"0388a3d5-c25f-4b45-9c60-3b2cc0e9e7a5","status":400,"timestamp":"2026-05-27T16:45:14.918+00:00","url":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription","verb":"post"}],"result":"pass","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_cross_version_extension","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.915+00:00"},{"id":"491f8d49-7980-40a8-9402-ba4aea6181c2","created_at":"2026-05-27T16:45:14.928+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_topic","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Topic\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_topic","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.928+00:00"},{"id":"56c41e09-f75b-48ea-9b6b-cf2482e0b2b9","created_at":"2026-05-27T16:45:14.931+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_filter","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Filter\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_filter","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.931+00:00"},{"id":"6dbd832d-3f85-41bc-aa11-d6001424a81d","created_at":"2026-05-27T16:45:14.934+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_channel_type","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Channel Type\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_type","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.934+00:00"},{"id":"d028e3d9-6b9e-44bd-9e4c-2bd918115596","created_at":"2026-05-27T16:45:14.938+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_channel_endpoint","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Channel Endpoint\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_endpoint","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.938+00:00"},{"id":"38dc9e4f-08f7-4c75-9ca7-f51482567ab5","created_at":"2026-05-27T16:45:14.940+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_payload_type","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Payload Type\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_payload_type","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.940+00:00"},{"id":"effbc1e0-b889-4fea-bb3d-a0580e1a9689","created_at":"2026-05-27T16:45:14.943+00:00","inputs":[{"name":"subscription_resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_channel_payload_combo","value":null,"type":"text"},{"name":"url","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"}],"optional":false,"outputs":[],"requests":[],"result":"skip","result_message":"\nProvide a value in the \"Unsupported Subscription Channel and Payload Combination\" input to run this test.","test_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_payload_combo","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.943+00:00"},{"id":"ef6a5a39-5619-4af6-a306-6a0ce4515281","created_at":"2026-05-27T16:45:14.945+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"subscription_resource","label":"Workflow Subscription Resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}","type":"textarea"},{"name":"unsupported_subscription_topic","label":"Unsupported Subscription Topic","value":null,"type":"text"},{"name":"unsupported_subscription_filter","label":"Unsupported Subscription Filter","value":null,"type":"text"},{"name":"unsupported_subscription_channel_type","label":"Unsupported Subscription Channel Type","value":null,"type":"text"},{"name":"unsupported_subscription_channel_endpoint","label":"Unsupported Subscription Channel Endpoint","value":null,"type":"text"},{"name":"unsupported_subscription_payload_type","label":"Unsupported Subscription Payload Type","value":null,"type":"text"},{"name":"unsupported_subscription_channel_payload_combo","label":"Unsupported Subscription Channel and Payload Combination","value":null,"type":"text"}],"optional":false,"outputs":[],"requests":[],"result":"skip","test_group_id":"subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","updated_at":"2026-05-27T16:45:14.945+00:00"},{"id":"40cadbec-c9fb-4339-8313-a141b0504874","created_at":"2026-05-27T16:45:14.953+00:00","inputs":[{"name":"url","label":"FHIR Server Base URL","value":"http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir","type":"text"},{"name":"smart_auth_info","label":"OAuth Credentials","value":"{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-05-27T16:44:26+00:00\",\"name\":\"smart_auth_info\"}","type":"auth_info"},{"name":"access_token","label":"Notification Access Token","value":"SAMPLE_TOKEN","type":"text"},{"name":"subscription_resource","label":"Workflow Subscription Resource","value":"{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}","type":"textarea"},{"name":"empty_subscription_resource","label":"Empty Notification Subscription Resource","value":null,"type":"textarea"},{"name":"id_only_subscription_resource","label":"Id-Only Notification Subscription Resource","value":null,"type":"textarea"},{"name":"full_resource_subscription_resource","label":"Full-Resource Notification Subscription Resource","value":null,"type":"textarea"},{"name":"unsupported_subscription_topic","label":"Unsupported Subscription Topic","value":null,"type":"text"},{"name":"unsupported_subscription_filter","label":"Unsupported Subscription Filter","value":null,"type":"text"},{"name":"unsupported_subscription_channel_type","label":"Unsupported Subscription Channel Type","value":null,"type":"text"},{"name":"unsupported_subscription_channel_endpoint","label":"Unsupported Subscription Channel Endpoint","value":null,"type":"text"},{"name":"unsupported_subscription_payload_type","label":"Unsupported Subscription Payload Type","value":null,"type":"text"},{"name":"unsupported_subscription_channel_payload_combo","label":"Unsupported Subscription Channel and Payload Combination","value":null,"type":"text"}],"optional":false,"outputs":[],"requests":[],"result":"skip","test_run_id":"14ff69e9-6241-4d14-a2de-c94197017ba2","test_session_id":"1scAkG7ask6","test_suite_id":"subscriptions_r5_backport_r4_server","updated_at":"2026-05-27T16:45:14.953+00:00"}] +[ + { + "id": "b47bf20e-8a4f-4ab3-90f7-dd62863ae5c6", + "created_at": "2026-10-06T14:02:37.787-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Subscription: Subscription.status: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-status|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription.channel.type: ValueSet 'http://hl7.org/fhir/ValueSet/subscription-channel-type|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription.channel.payload: ValueSet 'http://hl7.org/fhir/ValueSet/mimetypes|4.3.0' not found", + "type": "warning" + }, + { + "message": "Subscription: Subscription: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": false, + "outputs": [ + { + "name": "updated_subscription", + "type": "text", + "value": "{\"resourceType\":\"Subscription\",\"meta\":{\"profile\":[\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]},\"status\":\"requested\",\"end\":\"2020-12-31T12:00:00Z\",\"reason\":\"R4 Topic-Based Workflow Subscription for Patient Admission\",\"criteria\":\"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\"_criteria\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\"valueString\":\"Encounter.patient=Patient/123\"}]},\"channel\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\"valueUnsignedInt\":60},{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\"valuePositiveInt\":20}],\"type\":\"rest-hook\",\"header\":[\"Authorization: Bearer SAMPLE_TOKEN\"],\"endpoint\":\"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\"payload\":\"application/fhir+json\",\"_payload\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\"valueCode\":\"id-only\"}]}}}" + } + ], + "requests": [], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_subscription_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:37.787-04:00" + }, + { + "id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "created_at": "2026-10-06T14:02:37.794-04:00", + "inputs": [ + { + "name": "updated_subscription", + "value": "{\"resourceType\":\"Subscription\",\"meta\":{\"profile\":[\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]},\"status\":\"requested\",\"end\":\"2020-12-31T12:00:00Z\",\"reason\":\"R4 Topic-Based Workflow Subscription for Patient Admission\",\"criteria\":\"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\"_criteria\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\"valueString\":\"Encounter.patient=Patient/123\"}]},\"channel\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\"valueUnsignedInt\":60},{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\"valuePositiveInt\":20}],\"type\":\"rest-hook\",\"header\":[\"Authorization: Bearer SAMPLE_TOKEN\"],\"endpoint\":\"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\"payload\":\"application/fhir+json\",\"_payload\":{\"extension\":[{\"url\":\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\"valueCode\":\"id-only\"}]}}}", + "type": "text" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [ + { + "name": "confirmation_url", + "type": "text", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/resume_pass?token=notification%20SAMPLE_TOKEN" + } + ], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_notification_delivery", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.132-04:00" + }, + { + "id": "010d7349-5e30-4880-9da1-6f7729308bb6", + "created_at": "2026-10-06T14:02:56.148-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction-subscriptions_r4_server_creation_response_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.148-04:00" + }, + { + "id": "eeced9a0-dc0f-432a-ad99-898ea094a686", + "created_at": "2026-10-06T14:02:56.149-04:00", + "inputs": [ + { + "name": "subscription_resource", + "label": "Workflow Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.149-04:00" + }, + { + "id": "0ac9530e-4381-47e6-917e-930a64a49809", + "created_at": "2026-10-06T14:02:56.152-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "1598d13c-3ce0-480a-8a22-7e7702b9cd6a", + "direction": "incoming", + "index": 360, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 200, + "timestamp": "2026-10-06T14:02:39.320-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + }, + { + "id": "1ff9ac9f-0d75-45fd-83a2-3523986e112d", + "direction": "incoming", + "index": 362, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 200, + "timestamp": "2026-10-06T14:02:46.341-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification-subscriptions_r4_server_notification_presence", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.152-04:00" + }, + { + "id": "df38c563-c59e-4b46-83f1-d2329e0b333c", + "created_at": "2026-10-06T14:02:56.184-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "1ff9ac9f-0d75-45fd-83a2-3523986e112d", + "direction": "incoming", + "index": 362, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 200, + "timestamp": "2026-10-06T14:02:46.341-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification-subscriptions_r4_server_notification_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.184-04:00" + }, + { + "id": "bd99dbd2-e239-4108-97e5-01fa0ea0f319", + "created_at": "2026-10-06T14:02:56.186-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow-subscriptions_r4_server_interaction_verification", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.186-04:00" + }, + { + "id": "4f9ed886-4cc7-4e9f-9965-57a05ce4c0e9", + "created_at": "2026-10-06T14:02:56.188-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "subscription_resource", + "label": "Workflow Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}", + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_workflow", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.188-04:00" + }, + { + "id": "d9af99ce-2785-49a1-b267-f231baba8505", + "created_at": "2026-10-06T14:02:56.210-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "CapabilityStatement: CapabilityStatement.rest[0].resource[0].extension[0].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "CapabilityStatement: CapabilityStatement: Constraint failed: dom-6: 'A resource should have narrative for robust management' (defined in http://hl7.org/fhir/StructureDefinition/DomainResource) (Best Practice Recommendation)", + "type": "warning" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "0691a096-8213-48cd-94e7-bf4c8ae18a07", + "direction": "outgoing", + "index": 365, + "result_id": "d9af99ce-2785-49a1-b267-f231baba8505", + "status": 200, + "timestamp": "2026-10-06T14:02:56.211-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/metadata", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement-subscriptions_r4_server_cs_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.210-04:00" + }, + { + "id": "740c5023-9e7c-49ea-8f6d-10c1821da6ba", + "created_at": "2026-10-06T14:02:56.213-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement-subscriptions_r4_server_topic_discovery", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.213-04:00" + }, + { + "id": "abef30d2-d672-46ce-b45c-ede57794e214", + "created_at": "2026-10-06T14:02:56.214-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_capability_statement", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.214-04:00" + }, + { + "id": "3c6f319a-4490-449b-875c-9bf07aabda90", + "created_at": "2026-10-06T14:02:56.216-04:00", + "inputs": [ + { + "name": "empty_subscription_resource", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "Did not input a Subscription resource of this type.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_subscription_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.216-04:00" + }, + { + "id": "bc8ff74b-e860-444c-bc58-1cf843568ee9", + "created_at": "2026-10-06T14:02:56.217-04:00", + "inputs": [ + { + "name": "empty_updated_subscription", + "value": null, + "type": "text" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "Input 'empty_updated_subscription' is nil, skipping test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_notification_delivery", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.217-04:00" + }, + { + "id": "681f9ed6-1a7b-4d69-afdc-97a8d43db435", + "created_at": "2026-10-06T14:02:56.218-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "No successful Subscription creation request was made in the previous test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction-subscriptions_r4_server_creation_response_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.218-04:00" + }, + { + "id": "51b72fff-4ca2-4823-bc25-9adc88b013e8", + "created_at": "2026-10-06T14:02:56.218-04:00", + "inputs": [ + { + "name": "empty_subscription_resource", + "label": "Empty Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.218-04:00" + }, + { + "id": "4d8f62be-0893-47aa-93ab-720e18d13e27", + "created_at": "2026-10-06T14:02:56.234-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nNo successful Subscription creation request of type empty\nwas made in the previous test.\n\n", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_notification_presence", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.234-04:00" + }, + { + "id": "9b75daaa-5b80-4c50-bc97-e0753326c9d6", + "created_at": "2026-10-06T14:02:56.235-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nNo successful Subscription creation request of type empty\nwas made in the previous test.\n\n", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_notification_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.235-04:00" + }, + { + "id": "c63f7e3a-3a7b-44c0-a635-ddcc9b124c0e", + "created_at": "2026-10-06T14:02:56.236-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "No Subscriptions sent with notification payload type of `empty`", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification-subscriptions_r4_server_empty_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.236-04:00" + }, + { + "id": "d30b0705-3035-4533-8763-d201d9b34f13", + "created_at": "2026-10-06T14:02:56.236-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content-subscriptions_r4_server_empty_content_interaction_verification", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.236-04:00" + }, + { + "id": "14dabec5-7182-4b0c-91a3-c32363a325c1", + "created_at": "2026-10-06T14:02:56.238-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "empty_subscription_resource", + "label": "Empty Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_empty_content", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.238-04:00" + }, + { + "id": "423280b2-5fcf-4aac-ac37-930f5bce400b", + "created_at": "2026-10-06T14:02:56.240-04:00", + "inputs": [ + { + "name": "id_only_subscription_resource", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "Did not input a Subscription resource of this type.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_subscription_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.240-04:00" + }, + { + "id": "6215761d-3589-4a55-bf26-ba934f0ce7d0", + "created_at": "2026-10-06T14:02:56.240-04:00", + "inputs": [ + { + "name": "id_only_updated_subscription", + "value": null, + "type": "text" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "Input 'id_only_updated_subscription' is nil, skipping test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_notification_delivery", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.240-04:00" + }, + { + "id": "4cff4ff3-00cb-414a-83df-33776b51b777", + "created_at": "2026-10-06T14:02:56.242-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction-subscriptions_r4_server_creation_response_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.242-04:00" + }, + { + "id": "5114770c-72c4-4568-a1fe-91e7ab222674", + "created_at": "2026-10-06T14:02:56.242-04:00", + "inputs": [ + { + "name": "id_only_subscription_resource", + "label": "Id-Only Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.242-04:00" + }, + { + "id": "05805a58-98c9-48d2-bffb-e22b370a486b", + "created_at": "2026-10-06T14:02:56.245-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "1598d13c-3ce0-480a-8a22-7e7702b9cd6a", + "direction": "incoming", + "index": 360, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 200, + "timestamp": "2026-10-06T14:02:39.320-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + }, + { + "id": "1ff9ac9f-0d75-45fd-83a2-3523986e112d", + "direction": "incoming", + "index": 362, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 200, + "timestamp": "2026-10-06T14:02:46.341-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_notification_presence", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.245-04:00" + }, + { + "id": "2d1863a3-73ae-4b25-9534-5d9d3d4b1137", + "created_at": "2026-10-06T14:02:56.272-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "1ff9ac9f-0d75-45fd-83a2-3523986e112d", + "direction": "incoming", + "index": 362, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 200, + "timestamp": "2026-10-06T14:02:46.341-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_notification_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.272-04:00" + }, + { + "id": "21b54165-a9fb-4267-80dc-694c45f4efbb", + "created_at": "2026-10-06T14:02:56.276-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "\nParameters.parameter:topic.value[x] is populated in `id-only` Notification.\nThis value MAY be present when using id-only payloads", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "1ff9ac9f-0d75-45fd-83a2-3523986e112d", + "direction": "incoming", + "index": 362, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 200, + "timestamp": "2026-10-06T14:02:46.341-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification-subscriptions_r4_server_id_only_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.276-04:00" + }, + { + "id": "41145657-6831-406b-9d02-31ac41d3075c", + "created_at": "2026-10-06T14:02:56.277-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content-subscriptions_r4_server_id_only_content_interaction_verification", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.277-04:00" + }, + { + "id": "64599db1-1a78-418d-93f4-3ac27912fb60", + "created_at": "2026-10-06T14:02:56.280-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "id_only_subscription_resource", + "label": "Id-Only Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_id_only_content", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.280-04:00" + }, + { + "id": "dd5b0c76-277d-4729-b3c4-9013055896ef", + "created_at": "2026-10-06T14:02:56.282-04:00", + "inputs": [ + { + "name": "full_resource_subscription_resource", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "Did not input a Subscription resource of this type.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_subscription_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.282-04:00" + }, + { + "id": "34910a81-c077-4415-8cb7-2b735a8cccb5", + "created_at": "2026-10-06T14:02:56.282-04:00", + "inputs": [ + { + "name": "full_resource_updated_subscription", + "value": null, + "type": "text" + }, + { + "name": "access_token", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "Input 'full_resource_updated_subscription' is nil, skipping test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_notification_delivery", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.282-04:00" + }, + { + "id": "14f30927-c1b2-44ff-98dd-a0bac5a4911c", + "created_at": "2026-10-06T14:02:56.283-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "No successful Subscription creation request was made in the previous test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction-subscriptions_r4_server_creation_response_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.283-04:00" + }, + { + "id": "f8a947ba-57b6-48c7-b149-4abe194ae02f", + "created_at": "2026-10-06T14:02:56.284-04:00", + "inputs": [ + { + "name": "full_resource_subscription_resource", + "label": "Full-Resource Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.284-04:00" + }, + { + "id": "5060b8e3-8ade-44fa-859d-d409c1d96823", + "created_at": "2026-10-06T14:02:56.286-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nNo successful Subscription creation request of type full-resource\nwas made in the previous test.\n\n", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_notification_presence", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.286-04:00" + }, + { + "id": "62c622da-8477-4dce-a6de-fb6726776a14", + "created_at": "2026-10-06T14:02:56.287-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nNo successful Subscription creation request of type full-resource\nwas made in the previous test.\n\n", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_notification_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.287-04:00" + }, + { + "id": "81d6047b-d6ac-4683-a066-0347bd3f9d8f", + "created_at": "2026-10-06T14:02:56.288-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "omit", + "result_message": "No Subscriptions sent with notification payload type of `full-resource`", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification-subscriptions_r4_server_full_resource_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.288-04:00" + }, + { + "id": "30392e7e-58ca-43af-9ba2-3e5c1a3bbec4", + "created_at": "2026-10-06T14:02:56.288-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content-subscriptions_r4_server_full_resource_content_interaction_verification", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.288-04:00" + }, + { + "id": "5102266a-0ab4-414c-b9eb-c102d8975b0c", + "created_at": "2026-10-06T14:02:56.289-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "full_resource_subscription_resource", + "label": "Full-Resource Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification-subscriptions_r4_server_full_resource_content", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.289-04:00" + }, + { + "id": "d843ee4a-e401-4e08-9d03-93776e42957d", + "created_at": "2026-10-06T14:02:56.290-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "empty_subscription_resource", + "label": "Empty Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "id_only_subscription_resource", + "label": "Id-Only Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "full_resource_subscription_resource", + "label": "Full-Resource Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_event_notification", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.290-04:00" + }, + { + "id": "f8835bea-3c62-4510-9782-180fcfcaa94b", + "created_at": "2026-10-06T14:02:56.309-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "1598d13c-3ce0-480a-8a22-7e7702b9cd6a", + "direction": "incoming", + "index": 360, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 200, + "timestamp": "2026-10-06T14:02:39.320-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener", + "verb": "POST" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat-subscriptions_r4_server_handshake_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.309-04:00" + }, + { + "id": "8187127e-fe14-462d-a61e-4500973e3208", + "created_at": "2026-10-06T14:02:56.311-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "omit", + "result_message": "No heartbeat requests requested or received in previous tests.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat-subscriptions_r4_server_heartbeat_conformance", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.311-04:00" + }, + { + "id": "cbbbc23a-9d34-4ae2-b5c1-75bad97fb7cf", + "created_at": "2026-10-06T14:02:56.312-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_handshake_heartbeat", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.312-04:00" + }, + { + "id": "18eb5b15-a135-472a-8405-482bfc5a95a9", + "created_at": "2026-10-06T14:02:56.370-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "messages": [ + { + "message": "Bundle: Bundle.entry[0].resource/*Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563*/.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Bundle: Bundle.entry[0].resource/*Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563*/.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + }, + { + "message": "Bundle: Bundle.entry[0].resource/*Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563*/.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Bundle: Bundle.entry[0].resource/*Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563*/.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Bundle: Bundle: No types could be determined from the search string, so the types can't be checked", + "type": "info" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1].value.ofType(canonical): A definition could not be found for Canonical URL 'https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission'", + "type": "info" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[3].value.ofType(code): ValueSet 'http://hl7.org/fhir/ValueSet/subscription-notification-type' not found", + "type": "warning" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[0]: The parameter 'subscription' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type Reference. Check that this is correct", + "type": "info" + }, + { + "message": "Parameters/292d3c72-edc1-4d8a-afaa-d85e19c7f563: Parameters.parameter[1]: The parameter 'topic' has the same name as a parameter for at least one operation in the core specification. In the base specification, the parameter has a type of string, but this parameter instead has a value of type canonical. Check that this is correct", + "type": "info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "876132a0-9c48-4466-bf72-472b1bb0c6be", + "direction": "outgoing", + "index": 367, + "result_id": "18eb5b15-a135-472a-8405-482bfc5a95a9", + "status": 200, + "timestamp": "2026-10-06T14:02:56.371-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/a3978009-cb2d-4069-a39e-3bad639c6293/$status", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_status_operation-subscriptions_r4_server_status_invocation", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.370-04:00" + }, + { + "id": "0919dd12-1f22-4224-b42e-df3043e0c243", + "created_at": "2026-10-06T14:02:56.372-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_status_operation", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.372-04:00" + }, + { + "id": "e08e9fb1-512b-4c39-a801-39c328026dcf", + "created_at": "2026-10-06T14:02:56.377-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "e5cb444f-f818-4854-b2a1-a38bd9d8ed7a", + "direction": "outgoing", + "index": 369, + "result_id": "e08e9fb1-512b-4c39-a801-39c328026dcf", + "status": 400, + "timestamp": "2026-10-06T14:02:56.379-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_cross_version_extension", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.377-04:00" + }, + { + "id": "bed75ecc-343e-414c-bfd8-112e7e366732", + "created_at": "2026-10-06T14:02:56.380-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_topic", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Topic\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_topic", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.380-04:00" + }, + { + "id": "61eac7e2-d127-4680-8cd4-a367f4f3b9ba", + "created_at": "2026-10-06T14:02:56.381-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_filter", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Filter\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_filter", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.381-04:00" + }, + { + "id": "4ebc8685-ce72-4f79-9b45-4dbce0b29fcc", + "created_at": "2026-10-06T14:02:56.381-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_channel_type", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Channel Type\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_type", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.381-04:00" + }, + { + "id": "2c5961d6-ec42-4085-ad35-39dcba1c0b5c", + "created_at": "2026-10-06T14:02:56.382-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_channel_endpoint", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Channel Endpoint\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_endpoint", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.382-04:00" + }, + { + "id": "583314d0-ac47-4fff-995c-8ae1a2cf222c", + "created_at": "2026-10-06T14:02:56.383-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_payload_type", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Payload Type\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_payload_type", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.383-04:00" + }, + { + "id": "db6bf53f-dd6e-4950-a1b4-322931fc39b8", + "created_at": "2026-10-06T14:02:56.383-04:00", + "inputs": [ + { + "name": "subscription_resource", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_channel_payload_combo", + "value": null, + "type": "text" + }, + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "result_message": "\nProvide a value in the \"Unsupported Subscription Channel and Payload Combination\" input to run this test.", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection-subscriptions_r4_server_reject_subscription_channel_payload_combo", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.383-04:00" + }, + { + "id": "132bbed2-357d-44ea-8206-80d4742a503e", + "created_at": "2026-10-06T14:02:56.384-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "subscription_resource", + "label": "Workflow Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "unsupported_subscription_topic", + "label": "Unsupported Subscription Topic", + "description": "A Subscription Topic for the `criteria` element that is not implemented by the server to test\n for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_filter", + "label": "Unsupported Subscription Filter", + "description": "A value for `filterCriteria` extension under the `criteria` that is not implemented by the\n server to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_type", + "label": "Unsupported Subscription Channel Type", + "description": "A value for the `channel.type` element that is not implemented by the server to test for\n Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_endpoint", + "label": "Unsupported Subscription Channel Endpoint", + "description": "An unsupported value for the `channel.endpoint` element to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_payload_type", + "label": "Unsupported Subscription Payload Type", + "description": "A value for the `content` extension under the `channel.payload` element that is not\n implemented by the server to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_payload_combo", + "label": "Unsupported Subscription Channel and Payload Combination", + "description": "\n A channel (`channel.type`) and payload type (`content` extension under the `channel.payload` element)\n combination not implemented by the server to test for Subscription\n rejection. Provide as a JSON object with two keys as follows: {\"channel\": \"channel_type\",\n \"payload\": \"wrong_payload_type_for_this_channel\"}.\n ", + "value": null, + "type": "text" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_subscription_rejection", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.384-04:00" + }, + { + "id": "54b2acb9-3710-4b5d-8a8f-659ced3f65c7", + "created_at": "2026-10-06T14:02:56.397-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "e070d2b0-dd32-459f-ab9f-ee0c4816a1fe", + "direction": "outgoing", + "index": 373, + "result_id": "54b2acb9-3710-4b5d-8a8f-659ced3f65c7", + "status": 200, + "timestamp": "2026-10-06T14:02:56.399-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/a3978009-cb2d-4069-a39e-3bad639c6293", + "verb": "get" + }, + { + "id": "f1d4b8ef-420b-4fd4-9968-edced8b73b4f", + "direction": "outgoing", + "index": 374, + "result_id": "54b2acb9-3710-4b5d-8a8f-659ced3f65c7", + "status": 200, + "timestamp": "2026-10-06T14:02:56.400-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/a3978009-cb2d-4069-a39e-3bad639c6293", + "verb": "put" + }, + { + "id": "cc25af71-377a-4b06-ba0f-b7db15079e86", + "direction": "outgoing", + "index": 375, + "result_id": "54b2acb9-3710-4b5d-8a8f-659ced3f65c7", + "status": 200, + "timestamp": "2026-10-06T14:02:56.400-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/a3978009-cb2d-4069-a39e-3bad639c6293", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete-subscriptions_r4_server_update_put", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.397-04:00" + }, + { + "id": "8923a921-a20b-4848-a9b1-64b5f20dc9b0", + "created_at": "2026-10-06T14:02:56.415-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "ae6cee33-c8e1-42f0-9a9d-374f167b3642", + "direction": "outgoing", + "index": 379, + "result_id": "8923a921-a20b-4848-a9b1-64b5f20dc9b0", + "status": 200, + "timestamp": "2026-10-06T14:02:56.416-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/a3978009-cb2d-4069-a39e-3bad639c6293", + "verb": "get" + }, + { + "id": "93ab9e22-5d3f-446a-ab9b-44eb1a543fa5", + "direction": "outgoing", + "index": 380, + "result_id": "8923a921-a20b-4848-a9b1-64b5f20dc9b0", + "status": 200, + "timestamp": "2026-10-06T14:02:56.416-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/a3978009-cb2d-4069-a39e-3bad639c6293", + "verb": "patch" + }, + { + "id": "63dbf3f1-3afd-4906-8e65-c271c0b126b7", + "direction": "outgoing", + "index": 381, + "result_id": "8923a921-a20b-4848-a9b1-64b5f20dc9b0", + "status": 200, + "timestamp": "2026-10-06T14:02:56.417-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/a3978009-cb2d-4069-a39e-3bad639c6293", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete-subscriptions_r4_server_update_patch", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.415-04:00" + }, + { + "id": "45ed1237-ec59-40ff-a79a-d392f9b23a3b", + "created_at": "2026-10-06T14:02:56.428-04:00", + "inputs": [ + { + "name": "url", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": false, + "outputs": [], + "requests": [ + { + "id": "c4052cbf-ba46-45ee-b59a-6cb201eec937", + "direction": "outgoing", + "index": 359, + "result_id": "66b34204-bfa7-4d75-becb-d622b30bf9ad", + "status": 201, + "timestamp": "2026-10-06T14:02:37.795-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription", + "verb": "post" + }, + { + "id": "40c82e12-9f49-460f-9e4c-cf58dd99ab41", + "direction": "outgoing", + "index": 384, + "result_id": "45ed1237-ec59-40ff-a79a-d392f9b23a3b", + "status": 204, + "timestamp": "2026-10-06T14:02:56.429-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/a3978009-cb2d-4069-a39e-3bad639c6293", + "verb": "delete" + }, + { + "id": "78a0c40d-2735-46a0-bb91-bb27cd5909c0", + "direction": "outgoing", + "index": 385, + "result_id": "45ed1237-ec59-40ff-a79a-d392f9b23a3b", + "status": 404, + "timestamp": "2026-10-06T14:02:56.429-04:00", + "url": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir/Subscription/a3978009-cb2d-4069-a39e-3bad639c6293", + "verb": "get" + } + ], + "result": "pass", + "test_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete-subscriptions_r4_server_delete", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.428-04:00" + }, + { + "id": "870ecf46-2e54-4772-91f5-eb9a9d7f44c6", + "created_at": "2026-10-06T14:02:56.430-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + } + ], + "optional": true, + "outputs": [], + "requests": [], + "result": "pass", + "test_group_id": "subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "updated_at": "2026-10-06T14:02:56.430-04:00" + }, + { + "id": "01d397de-1bea-436c-b86a-df47859d0480", + "created_at": "2026-10-06T14:02:56.432-04:00", + "inputs": [ + { + "name": "url", + "label": "FHIR Server Base URL", + "description": "\n FHIR base URL for the server under test where Inferno will send\n Subscription Creation, $status, and other requests as a part of\n these tests.\n ", + "value": "http://localhost:4567/custom/subscriptions_r5_backport_r4_client/fhir", + "type": "text" + }, + { + "name": "smart_auth_info", + "label": "OAuth Credentials", + "description": "Credentials for Inferno to include when making requests against the server under test.", + "value": "{\"auth_type\":\"public\",\"access_token\":\"SAMPLE_TOKEN\",\"issue_time\":\"2026-10-06T14:02:34-04:00\",\"name\":\"smart_auth_info\"}", + "type": "auth_info" + }, + { + "name": "access_token", + "label": "Notification Access Token", + "description": "\n An access token that the server under test will send to Inferno on notifications\n so that the request gets associated with this test session. The token must be\n provided as a `Bearer` token in the `Authorization` header of HTTP requests\n sent to Inferno.\n ", + "value": "SAMPLE_TOKEN", + "type": "text" + }, + { + "name": "subscription_resource", + "label": "Workflow Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to perform the Subscription creation and Notification\n response workflow. The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification endpoint.\n This input is also used by the unsupported Subscription test as the base on which to add unsupported\n element values to test for server rejection.\n ", + "value": "{\n \"resourceType\" : \"Subscription\",\n \"meta\" : {\n \"profile\" : [\"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription\"]\n },\n \"status\" : \"requested\",\n \"end\" : \"2020-12-31T12:00:00Z\",\n \"reason\" : \"R4 Topic-Based Workflow Subscription for Patient Admission\",\n \"criteria\" : \"https://inferno.healthit.gov/suites/custom/subscriptions_r5_backport_r4_client/topics/patient-admission\",\n \"_criteria\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria\",\n \"valueString\" : \"Encounter.patient=Patient/123\"\n }]\n },\n \"channel\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout\",\n \"valueUnsignedInt\" : 60\n },\n {\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count\",\n \"valuePositiveInt\" : 20\n }],\n \"type\" : \"rest-hook\",\n \"header\": [\"Authorization: Bearer SAMPLE_TOKEN\"],\n \"endpoint\" : \"http://localhost:4567/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener\",\n \"payload\" : \"application/fhir+json\",\n \"_payload\" : {\n \"extension\" : [{\n \"url\" : \"http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content\",\n \"valueCode\" : \"id-only\"\n }]\n }\n }\n}", + "type": "textarea" + }, + { + "name": "empty_subscription_resource", + "label": "Empty Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an empty Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "id_only_subscription_resource", + "label": "Id-Only Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send an id-only Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "full_resource_subscription_resource", + "label": "Full-Resource Notification Subscription Resource", + "description": "\n A Subscription resource in JSON format that Inferno will send to the server under test\n so that it can demonstrate its ability to send a full-resource Notification.\n The instance must be conformant to the R4/B Topic-Based Subscription profile.\n Inferno may modify the Subscription before submission, e.g., to point to Inferno's notification\n endpoint.\n ", + "value": null, + "type": "textarea" + }, + { + "name": "unsupported_subscription_topic", + "label": "Unsupported Subscription Topic", + "description": "A Subscription Topic for the `criteria` element that is not implemented by the server to test\n for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_filter", + "label": "Unsupported Subscription Filter", + "description": "A value for `filterCriteria` extension under the `criteria` that is not implemented by the\n server to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_type", + "label": "Unsupported Subscription Channel Type", + "description": "A value for the `channel.type` element that is not implemented by the server to test for\n Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_endpoint", + "label": "Unsupported Subscription Channel Endpoint", + "description": "An unsupported value for the `channel.endpoint` element to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_payload_type", + "label": "Unsupported Subscription Payload Type", + "description": "A value for the `content` extension under the `channel.payload` element that is not\n implemented by the server to test for Subscription rejection.", + "value": null, + "type": "text" + }, + { + "name": "unsupported_subscription_channel_payload_combo", + "label": "Unsupported Subscription Channel and Payload Combination", + "description": "\n A channel (`channel.type`) and payload type (`content` extension under the `channel.payload` element)\n combination not implemented by the server to test for Subscription\n rejection. Provide as a JSON object with two keys as follows: {\"channel\": \"channel_type\",\n \"payload\": \"wrong_payload_type_for_this_channel\"}.\n ", + "value": null, + "type": "text" + } + ], + "optional": false, + "outputs": [], + "requests": [], + "result": "skip", + "test_run_id": "d87a36bb-03a7-4c68-850e-dd2e1c4d1fd5", + "test_session_id": "gMQ73fBmHAK", + "test_suite_id": "subscriptions_r5_backport_r4_server", + "updated_at": "2026-10-06T14:02:56.432-04:00" + } +] \ No newline at end of file diff --git a/lib/subscriptions_test_kit/common/notification_conformance_verification.rb b/lib/subscriptions_test_kit/common/notification_conformance_verification.rb index f9fd335..34c8199 100644 --- a/lib/subscriptions_test_kit/common/notification_conformance_verification.rb +++ b/lib/subscriptions_test_kit/common/notification_conformance_verification.rb @@ -48,17 +48,19 @@ def check_history_bundle_request_response(bundle, subscription_status_entry, sub end end - def parameters_verification(subscription_status) + def parameters_verification(subscription_status, validator: :default) resource_type = subscription_status.resourceType if resource_type == 'Parameters' - resource_is_valid?(resource: subscription_status, profile_url: 'http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4') + resource_is_valid?(resource: subscription_status, validator:, + profile_url: 'http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4') else add_message('error', "Unexpected resource type: Expected `Parameters`. Got `#{resource_type}`") end end - def notification_verification(notification_bundle, notification_type, subscription_id: nil, status: nil) + def notification_verification(notification_bundle, notification_type, subscription_id: nil, status: nil, + validator: :default) assert_valid_json(notification_bundle) bundle = FHIR.from_contents(notification_bundle) assert bundle.present?, 'Not a FHIR resource' @@ -76,7 +78,7 @@ def notification_verification(notification_bundle, notification_type, subscripti check_history_bundle_request_response(bundle, subscription_status_entry, subscription_id) subscription_status = subscription_status_entry.resource - parameters_verification(subscription_status) + parameters_verification(subscription_status, validator:) return unless subscription_status.respond_to?(:parameter) diff --git a/lib/subscriptions_test_kit/common/subscription_conformance_verification.rb b/lib/subscriptions_test_kit/common/subscription_conformance_verification.rb index d81032c..6753039 100644 --- a/lib/subscriptions_test_kit/common/subscription_conformance_verification.rb +++ b/lib/subscriptions_test_kit/common/subscription_conformance_verification.rb @@ -44,11 +44,13 @@ def valid_url?(url) false end - def subscription_verification(subscription_resource) + def subscription_verification(subscription_resource, validator: :default) assert_valid_json(subscription_resource) subscription = JSON.parse(subscription_resource) + assert(subscription.is_a?(Hash), 'The Subscription must be a JSON object.') subscription_channel = subscription['channel'] + assert(subscription_channel.is_a?(Hash), 'The Subscription must include a `channel` element.') assert(channel_field_matches?(subscription_channel, 'type', 'rest-hook'), %( The `type` element on the Subscription resource must be set to `rest-hook`, the `#{subscription_channel['type']}` channel type is unsupported.)) @@ -62,7 +64,7 @@ def subscription_verification(subscription_resource) end subscription_resource = FHIR.from_contents(subscription.to_json) assert_resource_type('Subscription', resource: subscription_resource) - assert_valid_resource(resource: subscription_resource, + assert_valid_resource(resource: subscription_resource, validator:, profile_url: 'http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription') cross_version_extension_check(subscription) diff --git a/lib/subscriptions_test_kit/docs/subscriptions_r5_backport_r4_client_suite_description.md b/lib/subscriptions_test_kit/docs/subscriptions_r5_backport_r4_client_suite_description.md index b56455f..95043f6 100644 --- a/lib/subscriptions_test_kit/docs/subscriptions_r5_backport_r4_client_suite_description.md +++ b/lib/subscriptions_test_kit/docs/subscriptions_r5_backport_r4_client_suite_description.md @@ -13,20 +13,26 @@ requirements and may change the test verification logic. ## Test Methodology -For these tests Inferno simulates a Subscriptions server application. Inferno will wait for -the client under test to request a Subscription and then will send notifications -back to the client based on that Subscription using additional information provided by the tester. -Using the interactions between Inferno and the client under test, Inferno will verify that +For these tests Inferno simulates a Subscriptions server application. The client contains +two groups: +- *Demonstrate the Rest-Hook Subscription Workflow*, which tests the client's ability to + create a Subscription using the rest-hook channel and receive notifications based on it. +- *Demonstrate Subscription Update and Deletion*, which tests the client's ability to + update and delete the Subscription created during the first group. + +During each group, Inferno will wait for the client system to make requests against Inferno. +Inferno will react to those requests, triggering handshakes and notifications. +Using the interactions between Inferno and the client system, Inferno will verify that the client meets the obligations from the implementation guide both on individual interactions and in aggregate. -Inferno does not implement a real data repository that recognizes resource-level changes -and so relies on the tester to provide an event notification that Inferno will send back -to the client under test. Inferno will manipulate this provided notification to generate other -notifications, such as handshakes and `$status` operation responses, to send -and respond with as directed by the IG. Inferno will verify that the provided event -notification is conformant and that it matches the requirements for the Subscription -sent by the client under test. +Inferno does not implement a real data repository that recognizes resource-level changes. +So, for the first group, Inferno relies on the tester to provide an event notification that +Inferno will send back to the client system. Inferno will manipulate this provided +notification to generate other notifications, such as handshakes and `$status` operation +responses, to send and respond with as directed by the IG. Inferno will verify that the +provided event notification is conformant and that it matches the requirements for the +Subscription sent by the client system. The content of all Subscription interactions sent by the client, as well as tester-provided notifications, will be checked @@ -41,7 +47,7 @@ HL7® FHIR® resources are checked for conformance using the Java validator with The following inputs must be provided by the tester at a minimum to execute any tests in this suite: -1. *Access Token*: A `Bearer` token that the client under test will send in the +1. *Access Token*: A `Bearer` token that the client system will send in the `Authorization` header of HTTP requests made against Inferno. Inferno uses the value to identify incoming requests that belong to the testing session. 1. *Notification Bundle*: an `event-notification` conforming to the [R4 Topic-Based @@ -49,7 +55,7 @@ any tests in this suite: Inferno uses this as the basis for responses and notifications that it will send to the client. -All other details needed to interact with the client under test, such as where to send notifications, +All other details needed to interact with the client system, such as where to send notifications, will be determined from the subscription that the client will create. Once the testing start, Inferno will wait for a Subscription creation request and then send the relevant handshakes and notification requests to the client and verify the interaction. @@ -81,8 +87,14 @@ To run the client tests against the server tests: 1. Wait 10-15 seconds while the client session makes requests, then click the "Click here" link in the wait dialog to evaluate the notifications. 1. Back in the client session, click the "click here to complete the test" link - and respond to the attestation based on the results in the server session and review - the results. + and respond to the attestation based on the results in the server session. +1. The client session will then wait for the Subscription to be updated and deleted. The server + session's *Subscription Update and Deletion Verification* tests have already made these requests, + but they will have failed as Inferno only accepts these interactions when made during this test. + Return to the server session and re-run the *Subscription Update and Deletion Verification* + group. +1. Once the server run has completed, return to the client session and click the "click here to + complete the test" link and review the results. NOTE: Inferno uses the `Bearer` token sent in the `Authorization` HTTP header to associate requests with sessions. If multiple concurrent sessions are configured @@ -99,7 +111,7 @@ that appears when initiating a test run. ### Client Notification Access Token -If the client under test needs Inferno to send a specific `Bearer` token in the HTTP `Authorization` header +If the client system needs Inferno to send a specific `Bearer` token in the HTTP `Authorization` header when sending notifications and it cannot be specified in the `channel.header` element of the Subscription instance that the client sends to Inferno, then a value can be provided here. @@ -111,7 +123,7 @@ that the test kit covers and does not cover in the [Requirements Coverage](https://github.com/inferno-framework/subscriptions-test-kit/blob/main/lib/subscriptions_test_kit/requirements/generated/subscriptions-test-kit_requirements_coverage.csv) CSV document. -Specific limitations to highlight include +Specific limitations to highlight include: - Inferno supports only the `rest-hook` channel type. Support for other channels may be added in the future. If there is a channel type that you would like to see verified, please [provide feedback](https://github.com/inferno-framework/subscriptions-test-kit/issues) to that effect. @@ -123,4 +135,13 @@ Specific limitations to highlight include are defined within the SubscriptionTopic which is not available in FHIR R4. - When sending notifications, Inferno supports only JSON payloads and will always use `application/fhir+json` as the value of the `content-type` HTTP header, unless the client system explicitly asks for - `application/json` using the `Subscription.channel.payload` element. \ No newline at end of file + `application/json` using the `Subscription.channel.payload` element. +- Inferno supports Subscription `PATCH` requests only when they use JSON Patch. XML Patch and FHIRPath Patch + are not supported. +- Inferno does not support re-creating a deleted Subscription with a `PUT` request. Once the client deletes the + Subscription, Inferno responds to `PUT` and `PATCH` requests for it with `404 Not Found`, and the update + conformance verification tests will report those requests as failures. +- Inferno records each request it receives just after responding to it, and its simulated Subscription reflects + only the requests it has recorded. As a result, a request sent immediately after an update or delete, for + example in parallel or over a separate connection, may be answered as if that change had not happened yet. + If Inferno's responses appear inconsistent with earlier changes, pause briefly between requests. diff --git a/lib/subscriptions_test_kit/docs/subscriptions_r5_backport_r4_server_suite_description.md b/lib/subscriptions_test_kit/docs/subscriptions_r5_backport_r4_server_suite_description.md index 27611b0..05d2276 100644 --- a/lib/subscriptions_test_kit/docs/subscriptions_r5_backport_r4_server_suite_description.md +++ b/lib/subscriptions_test_kit/docs/subscriptions_r5_backport_r4_server_suite_description.md @@ -24,13 +24,17 @@ Over the course of a test session, Inferno may request multiple Subscriptions to different features of the IG, e.g., different notification content types. Because the choice of what topics and specific features to implement is left to individual servers, Inferno does not dictate specific Subscription features or topics. Instead, the -tester will provide Subsription instances that Inferno will submit, modified lightly if needed, +tester will provide Subscription instances that Inferno will submit, modified lightly if needed, e.g., to point to Inferno's notification endpoint, to the server as a part of the tests. In order for the tests to pass, the provided Subscription instances must themselves be conformant and consistent with the notifications subsequently sent, but no other requirements are placed on them, except those related to Inferno limitations (see the Current Limitations section below). +At the end of the session, Inferno will update the Subscription created during the Subscription +workflow tests using `PUT` and JSON Patch `PATCH` requests and then delete it, verifying that the +server supports these optional interactions. + The content of all interactions sent by the server (responses and notifications), as well as tester-provided requests, will be checked for conformance to the Subscriptions IG requirements individually and used in @@ -91,8 +95,14 @@ To run the server tests against the client tests: 1. Wait 10-15 seconds while the client session makes requests, then click the "Click here" link in the wait dialog to evaluate the notifications. 1. Back in the client session, click the "click here to complete the test" link - and respond to the attestation -1. Meanwhile, the server tests will have completed and will be ready for review. + and respond to the attestation based on the results in the server session. +1. The client session will then wait for the Subscription to be updated and deleted. The server + session's *Subscription Update and Deletion Verification* tests have already made these requests, + but they will have failed as Inferno only accepts these interactions when made during this test. + Return to the server session and re-run the *Subscription Update and Deletion Verification* + group. +1. Once the server run has completed, return to the client session and click the "click here to + complete the test" link. Return to the server session to review the results. NOTE: Inferno uses the `Bearer` token sent in the `Authorization` HTTP header to associate requests with sessions. If multiple concurrent sessions are configured @@ -177,4 +187,6 @@ Specific limitations to highlight include header using the `Subscription.channel.payload` element. Testers may instruct Inferno to request that `application/json` be used instead by placing it in the `Subscription.channel.payload` element of the Subscription they provide for Inferno - to use. \ No newline at end of file + to use. +- When verifying Subscription modification using `PATCH`, Inferno only uses JSON Patch. XML Patch and + FHIRPath Patch are not tested. diff --git a/lib/subscriptions_test_kit/endpoints/subscription_create_endpoint.rb b/lib/subscriptions_test_kit/endpoints/subscription_create_endpoint.rb index 1021ab5..ddd56da 100644 --- a/lib/subscriptions_test_kit/endpoints/subscription_create_endpoint.rb +++ b/lib/subscriptions_test_kit/endpoints/subscription_create_endpoint.rb @@ -6,23 +6,25 @@ module SubscriptionsTestKit class SubscriptionCreateEndpoint < Inferno::DSL::SuiteEndpoint include SubscriptionsR5BackportR4Client::SubscriptionSimulationUtils + error_response_format :operation_outcome + def test_run_identifier request.headers['authorization']&.delete_prefix('Bearer ') end def make_response response.format = :json - response.status = 400 begin subscription = FHIR.from_contents(request.body.string) rescue StandardError - response.body = operation_outcome('error', 'invalid', 'No recognized R4 Subscription in request body').to_json + fhir_error_response(400, 'invalid', 'No recognized R4 Subscription in request body') return end verification_outcome = verify_subscription(subscription) if verification_outcome.present? + response.status = 400 response.body = verification_outcome.to_json return end @@ -34,7 +36,7 @@ def make_response subscription_hash = JSON.parse(existing_subscription_request.response_body) error_text = 'Inferno only supports one subscription per test run. Subscription already created with ' \ "ID #{subscription_hash['id']}" - response.body = operation_outcome('error', 'business-rule', error_text).to_json + fhir_error_response(400, 'business-rule', error_text) return end @@ -60,35 +62,5 @@ def make_response def tags [SUBSCRIPTION_CREATE_TAG] end - - def verify_subscription(subscription) - unless subscription.is_a? FHIR::Subscription - return operation_outcome('error', 'invalid', 'No recognized R4 Subscription in request body') - end - - unless subscription.channel&.type == 'rest-hook' - return operation_outcome('error', 'business-rule', 'channel.type must be rest-hook') - end - - unless valid_url?(subscription.channel&.endpoint) - return operation_outcome('error', 'value', 'channel.endpoint is not recognized as a conformant URL') - end - - heartbeat_period = find_heartbeat_period(subscription) - operation_outcome('error', 'not-supported', 'heartbeatPeriod is not supported') unless heartbeat_period.nil? - end - - def find_heartbeat_period(subscription) - subscription.channel&.extension&.find do |e| - e.url == 'http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-heartbeat-period' - end - end - - def valid_url?(url) - uri = URI.parse(url) - %w[http https].include?(uri.scheme) - rescue URI::InvalidURIError - false - end end end diff --git a/lib/subscriptions_test_kit/endpoints/subscription_delete_endpoint.rb b/lib/subscriptions_test_kit/endpoints/subscription_delete_endpoint.rb new file mode 100644 index 0000000..dd55897 --- /dev/null +++ b/lib/subscriptions_test_kit/endpoints/subscription_delete_endpoint.rb @@ -0,0 +1,38 @@ +require_relative '../tags' +require_relative '../suites/subscriptions_r5_backport_r4_client/common/subscription_simulation_utils' + +module SubscriptionsTestKit + class SubscriptionDeleteEndpoint < Inferno::DSL::SuiteEndpoint + include SubscriptionsR5BackportR4Client::SubscriptionSimulationUtils + + error_response_format :operation_outcome + + def test_run_identifier + request.headers['authorization']&.delete_prefix('Bearer ') + end + + def make_response + unless subscription_change_allowed? + reject_subscription_change + return + end + + subscription_id = request.params[:id] + subscription = find_subscription(test_run.test_session_id) + + if subscription.present? && subscription.id == subscription_id + # Deleting an already deleted resource has no effect, so respond the same way + response.status = 204 + else + fhir_error_response(404, 'not-found', "No subscription exists with ID #{subscription_id}") + end + end + + # Rejected changes are left untagged so that they are not treated as part of the update and delete tests + def tags + return [] unless subscription_change_allowed? + + [SUBSCRIPTION_DELETE_TAG, request.params[:id]] + end + end +end diff --git a/lib/subscriptions_test_kit/endpoints/subscription_patch_endpoint.rb b/lib/subscriptions_test_kit/endpoints/subscription_patch_endpoint.rb new file mode 100644 index 0000000..412fa09 --- /dev/null +++ b/lib/subscriptions_test_kit/endpoints/subscription_patch_endpoint.rb @@ -0,0 +1,69 @@ +require 'hana' +require_relative 'subscription_update_endpoint' + +module SubscriptionsTestKit + # Supports updates via JSON Patch (https://hl7.org/fhir/R4/http.html#patch). Other patch formats + # (XML Patch and FHIRPath Patch) are not supported. + class SubscriptionPatchEndpoint < SubscriptionUpdateEndpoint + # Not inherited from SubscriptionUpdateEndpoint, so it must be declared here as well + error_response_format :operation_outcome + + def requested_subscription_hash(current_subscription) + # Media types are case-insensitive + unless request.content_type&.downcase&.start_with?(JSON_PATCH_MIME_TYPE) + fhir_error_response(415, 'not-supported', + "Inferno only supports JSON Patch requests with Content-Type '#{JSON_PATCH_MIME_TYPE}'") + return + end + + patch = parse_json_patch(request.body.string) + if patch.nil? + fhir_error_response(400, 'invalid', 'Request body is not a valid JSON Patch document') + return + end + + # Apply the patch to the Subscription as the client would see it on a read + current_status = current_subscription_status_code(current_subscription) + current_hash = current_subscription.source_hash.deep_dup.merge('status' => current_status) + apply_json_patch(patch, current_hash) + end + + # The Subscription hash with the patch applied, or nil if an error response has been set + def apply_json_patch(patch, subscription_hash) + patched_hash = Hana::Patch.new(patch).apply(subscription_hash) + return patched_hash if patched_hash.is_a?(Hash) + + fhir_error_response(422, 'processing', 'Applying the JSON Patch did not produce a JSON object') + nil + # Besides its own exceptions, Hana raises plain Ruby errors for some patches it cannot apply, e.g., an + # IndexError for a copy from a missing array index or a TypeError for a path through a number + rescue StandardError => e + fhir_error_response(422, 'processing', "Unable to apply JSON Patch: #{e.message}") + nil + end + + def parse_json_patch(body) + patch = JSON.parse(body) + return unless patch.is_a?(Array) && patch.all? { |operation| valid_json_patch_operation?(operation) } + + patch + rescue JSON::ParserError + nil + end + + # Checks the members each operation requires (https://datatracker.ietf.org/doc/html/rfc6902#section-4) + # so that malformed operations are rejected here rather than raising non-patch errors when applied + def valid_json_patch_operation?(operation) + return false unless operation.is_a?(Hash) && operation['path'].is_a?(String) + + case operation['op'] + when 'add', 'replace', 'test' + operation.key?('value') + when 'move', 'copy' + operation['from'].is_a?(String) + else + operation['op'] == 'remove' + end + end + end +end diff --git a/lib/subscriptions_test_kit/endpoints/subscription_read_endpoint.rb b/lib/subscriptions_test_kit/endpoints/subscription_read_endpoint.rb index d056830..b96016c 100644 --- a/lib/subscriptions_test_kit/endpoints/subscription_read_endpoint.rb +++ b/lib/subscriptions_test_kit/endpoints/subscription_read_endpoint.rb @@ -5,6 +5,8 @@ module SubscriptionsTestKit class SubscriptionReadEndpoint < Inferno::DSL::SuiteEndpoint include SubscriptionsR5BackportR4Client::SubscriptionSimulationUtils + error_response_format :operation_outcome + def test_run_identifier request.headers['authorization']&.delete_prefix('Bearer ') end @@ -13,15 +15,13 @@ def make_response response.format = :json subscription_id = request.params[:id] - subscription = find_subscription(test_run.test_session_id) + subscription = find_current_subscription(test_run.test_session_id) if subscription.present? && subscription.id == subscription_id - status_code = determine_subscription_status_code(subscription_id) + status_code = current_subscription_status_code(subscription) response.body = subscription.source_hash.merge('status' => status_code).to_json else - response.status = 404 - response.body = operation_outcome('error', 'not-found', - "No subscription exists with ID #{subscription_id}").to_json + fhir_error_response(404, 'not-found', "No subscription exists with ID #{subscription_id}") end end diff --git a/lib/subscriptions_test_kit/endpoints/subscription_status_endpoint.rb b/lib/subscriptions_test_kit/endpoints/subscription_status_endpoint.rb index d2dbf84..1ddca5d 100644 --- a/lib/subscriptions_test_kit/endpoints/subscription_status_endpoint.rb +++ b/lib/subscriptions_test_kit/endpoints/subscription_status_endpoint.rb @@ -5,33 +5,35 @@ module SubscriptionsTestKit class SubscriptionStatusEndpoint < Inferno::DSL::SuiteEndpoint include SubscriptionsR5BackportR4Client::SubscriptionSimulationUtils + error_response_format :operation_outcome + def test_run_identifier request.headers['authorization']&.delete_prefix('Bearer ') end def make_response response.format = :json - subscription = find_subscription(test_run.test_session_id) + subscription = find_current_subscription(test_run.test_session_id) - unless subscription.present? - not_found + subscription_id = request.params[:id] + if subscription.blank? || (subscription_id.present? && subscription_id != subscription.id) + fhir_error_response(404, 'not-found') return end - subscription_id = request.params[:id] + status_code = current_subscription_status_code(subscription) # Handle resource-level status params unless subscription_id.present? begin params = FHIR.from_contents(request.body.string) rescue StandardError - response.status = 400 - response.body = operation_outcome('error', 'invalid', 'Invalid Parameters in request body').to_json + fhir_error_response(400, 'invalid', 'Invalid Parameters in request body') return end - unless subscription_params_match?(params, subscription) - not_found + unless subscription_params_match?(params, subscription, status_code) + fhir_error_response(404, 'not-found') return end end @@ -39,32 +41,25 @@ def make_response notification_json = notification_bundle_input(result) subscription_url = "#{base_subscription_url}/#{subscription.id}" subscription_topic = subscription.criteria - status_code = determine_subscription_status_code(subscription_id) event_count = determine_event_count(test_run.test_session_id) response.status = 200 response.body = derive_status_bundle(notification_json, subscription_url, subscription_topic, status_code, event_count, request.url).to_json end - def subscription_params_match?(params, subscription) + def subscription_params_match?(params, subscription, status_code) id_params = find_params(params, 'id') return false if id_params&.any? && id_params&.none? { |p| p.valueString == subscription.id } status_params = find_params(params, 'status') - subscription_status = determine_subscription_status_code(subscription.id) - status_params.blank? || status_params.any? { |p| p.valueString == subscription_status } + status_params.blank? || status_params.any? { |p| p.valueString == status_code } end def tags [SUBSCRIPTION_STATUS_TAG] end - def not_found - response.status = 404 - response.body = operation_outcome('error', 'not-found').to_json - end - def find_params(params, name) params&.parameter&.filter { |p| p.name == name } end diff --git a/lib/subscriptions_test_kit/endpoints/subscription_update_endpoint.rb b/lib/subscriptions_test_kit/endpoints/subscription_update_endpoint.rb new file mode 100644 index 0000000..c5955c1 --- /dev/null +++ b/lib/subscriptions_test_kit/endpoints/subscription_update_endpoint.rb @@ -0,0 +1,81 @@ +require_relative '../tags' +require_relative '../suites/subscriptions_r5_backport_r4_client/common/subscription_simulation_utils' + +module SubscriptionsTestKit + class SubscriptionUpdateEndpoint < Inferno::DSL::SuiteEndpoint + include SubscriptionsR5BackportR4Client::SubscriptionSimulationUtils + + error_response_format :operation_outcome + + def test_run_identifier + request.headers['authorization']&.delete_prefix('Bearer ') + end + + def make_response + if subscription_change_allowed? + update_subscription + else + reject_subscription_change + end + end + + def update_subscription + response.format = :json + subscription_id = request.params[:id] + + current_subscription = find_current_subscription(test_run.test_session_id) + unless current_subscription.present? && current_subscription.id == subscription_id + fhir_error_response(404, 'not-found', "No subscription exists with ID #{subscription_id}") + return + end + + # We have to manipulate the raw hash so that we don't lose the _payload primitive extension + subscription_hash = requested_subscription_hash(current_subscription) + return if subscription_hash.nil? + + begin + subscription = FHIR.from_contents(subscription_hash.to_json) + rescue StandardError + subscription = nil + end + + verification_outcome = verify_subscription(subscription) + if verification_outcome.present? + response.status = 400 + response.body = verification_outcome.to_json + return + end + + unless subscription.id == subscription_id + fhir_error_response(400, 'invalid', "Updated Subscription id '#{subscription.id}' does not match the id " \ + "'#{subscription_id}' in the request URL") + return + end + + subscription_hash['status'] = current_subscription_status_code(subscription) + subscription_hash['channel']['payload'] = actual_mime_type(subscription) + response.status = 200 + response.body = subscription_hash.to_json + end + + # The requested state of the Subscription as a raw hash, or nil if an error response has been set + def requested_subscription_hash(_current_subscription) + subscription_hash = begin + JSON.parse(request.body.string) + rescue JSON::ParserError + nil + end + return subscription_hash if subscription_hash.is_a?(Hash) + + fhir_error_response(400, 'invalid', 'No recognized R4 Subscription in request body') + nil + end + + # Rejected changes are left untagged so that they are not treated as part of the update and delete tests + def tags + return [] unless subscription_change_allowed? + + [SUBSCRIPTION_UPDATE_TAG, request.params[:id]] + end + end +end diff --git a/lib/subscriptions_test_kit/fhir_validation.rb b/lib/subscriptions_test_kit/fhir_validation.rb new file mode 100644 index 0000000..eb904d5 --- /dev/null +++ b/lib/subscriptions_test_kit/fhir_validation.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +module SubscriptionsTestKit + # Values shared by the FHIR validators that the client and server suites define + # Validator definitions kept in the suites rather than pulled out into this module + # to keep them local to the suites even though identical. + SUBSCRIPTIONS_BACKPORT_IG = 'hl7.fhir.uv.subscriptions-backport#1.1.0' + UNRESOLVED_URL_VALIDATION_MESSAGE = /\A\S+: \S+: URL value '.*' does not resolve/ +end diff --git a/lib/subscriptions_test_kit/requirements/generated/subscriptions_r5_backport_r4_server_requirements_coverage.csv b/lib/subscriptions_test_kit/requirements/generated/subscriptions_r5_backport_r4_server_requirements_coverage.csv index 9d95164..8fe8ce8 100644 --- a/lib/subscriptions_test_kit/requirements/generated/subscriptions_r5_backport_r4_server_requirements_coverage.csv +++ b/lib/subscriptions_test_kit/requirements/generated/subscriptions_r5_backport_r4_server_requirements_coverage.csv @@ -103,8 +103,8 @@ hl7.fhir.uv.subscriptions_1.1.0,122,https://hl7.org/fhir/uv/subscriptions-backpo hl7.fhir.uv.subscriptions_1.1.0,123,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/CapabilityStatement-backport-subscription-server-r4.html#summary,MAY support the $get-ws-binding-token operation,MAY,Server,,Not Tested,Used for Websocket channels that Inferno does not currently support,NA,NA hl7.fhir.uv.subscriptions_1.1.0,124,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/CapabilityStatement-backport-subscription-server-r4.html#summary,A Server SHALL be capable of returning a Subscription resource using: GET [base]/Subscription/[id],SHALL,Server,,,,"","" hl7.fhir.uv.subscriptions_1.1.0,125,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/CapabilityStatement-backport-subscription-server-r4.html#summary,A Server SHOULD be capable of creating a Subscription resource using either: POST [base]/Subscription or PUT [base]/Subscription/[id],SHOULD,Server,,,,"","" -hl7.fhir.uv.subscriptions_1.1.0,126,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/CapabilityStatement-backport-subscription-server-r4.html#summary,A Server SHOULD be capable of modifying a Subscription resource using either: PUT [base]/Subscription/[id] or PATCH [base]/Subscription/[id],SHOULD,Server,,,,"","" -hl7.fhir.uv.subscriptions_1.1.0,127,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/CapabilityStatement-backport-subscription-server-r4.html#summary,A Server SHOULD be capable of deleting a Subscription resource using: DELETE [base]/Subscription/[id],SHOULD,Server,,,,"","" +hl7.fhir.uv.subscriptions_1.1.0,126,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/CapabilityStatement-backport-subscription-server-r4.html#summary,A Server SHOULD be capable of modifying a Subscription resource using either: PUT [base]/Subscription/[id] or PATCH [base]/Subscription/[id],SHOULD,Server,,,,"7.01, 7.02","subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete-subscriptions_r4_server_update_put, subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete-subscriptions_r4_server_update_patch" +hl7.fhir.uv.subscriptions_1.1.0,127,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/CapabilityStatement-backport-subscription-server-r4.html#summary,A Server SHOULD be capable of deleting a Subscription resource using: DELETE [base]/Subscription/[id],SHOULD,Server,,,,7.03,subscriptions_r5_backport_r4_server-subscriptions_r4_server_update_delete-subscriptions_r4_server_delete hl7.fhir.uv.subscriptions_1.1.0,128,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/CapabilityStatement-backport-subscription-server-r4.html#summary,A Server [MAY] be capable of searching for Subscription resources using: GET [base]/Subscription/?[parameters],MAY,Server,,,,"","" hl7.fhir.uv.subscriptions_1.1.0,129,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/CapabilityStatement-backport-subscription-server-r4.html#summary,Search Parameter Summary: SHALL [support] url,SHALL,Server,,,,"","" hl7.fhir.uv.subscriptions_1.1.0,130,https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/CapabilityStatement-backport-subscription-server-r4.html#summary,Search Parameter Summary: SHOULD [support] status,SHOULD,Server,,,,"","" diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/common/subscription_simulation_utils.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/common/subscription_simulation_utils.rb index 028987c..d05e8bd 100644 --- a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/common/subscription_simulation_utils.rb +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/common/subscription_simulation_utils.rb @@ -7,9 +7,16 @@ module SubscriptionSimulationUtils # application/json, so we'll allow that. Disallow XML for now. DEFAULT_MIME_TYPE = 'application/fhir+json' ALLOWED_MIME_TYPES = [DEFAULT_MIME_TYPE, 'application/json'].freeze + JSON_PATCH_MIME_TYPE = 'application/json-patch+json' def notification_bundle_input(test_result) - JSON.parse(test_result.input_json).find { |i| i['name'] == 'notification_bundle' }['value'] + input = JSON.parse(test_result.input_json).find { |i| i['name'] == 'notification_bundle' } + return input['value'] if input.present? + + # Tests that wait after the Subscription workflow (e.g., update and delete) do not take the notification + # bundle as an input, so fall back to the value stored for the session. + Inferno::Repositories::SessionData.new.load(test_session_id: test_result.test_session_id, + name: 'notification_bundle') end def client_access_token_input(test_result) @@ -69,19 +76,63 @@ def find_subscription(test_session_id, as_json: false) end return unless request - begin - if as_json - # needed to access primitive extensions - JSON.parse(request.response_body) - else - FHIR.from_contents(request.response_body) - end - rescue StandardError - nil - end + parse_subscription(request.response_body, as_json:) + end + + # The created Subscription as modified by any subsequent successful updates, or nil if it has been deleted. + # Updates and deletes are only accepted during the update and delete interaction test (see + # subscription_change_allowed?), so each run of that test starts again from the created Subscription. + def find_current_subscription(test_session_id) + subscription = find_subscription(test_session_id) + return if subscription.nil? + + # Only updates and deletes are tagged with the Subscription id, so load them together + delete_requests, update_requests = requests_repo.tagged_requests(test_session_id, [subscription.id]) + .partition { |r| r.tags.include?(SUBSCRIPTION_DELETE_TAG) } + return if delete_requests.any? { |r| r.status.between?(200, 299) } + + update_request = update_requests.reverse.find { |r| r.status == 200 } + return subscription unless update_request + + parse_subscription(update_request.response_body) + end + + # For endpoints: whether the waiting test accepts changes (updates and deletes) to the Subscription, which + # a test indicates with the accepts_subscription_changes config option + def subscription_change_allowed? + test.config.options[:accepts_subscription_changes] == true end + # For endpoints: reject a change to the Subscription requested while a different test is waiting + def reject_subscription_change + fhir_error_response(422, 'business-rule', %( + Inferno only accepts Subscription updates and deletes during the Demonstrate Subscription Update and + Deletion tests. + ).squish) + end + + # For endpoints: respond with an error status and an OperationOutcome describing the error + def fhir_error_response(status, code, text = nil) + response.format = :json + response.status = status + response.body = operation_outcome('error', code, text).to_json + end + + # Inferno does not act on status changes requested by the client, except to honor requests to turn + # the Subscription off + def current_subscription_status_code(subscription) + return 'off' if subscription.status == 'off' + + determine_subscription_status_code(subscription.id) + end + + # Memoized because the handshakes do not change while an endpoint responds to a request def determine_subscription_status_code(subscription_id) + @subscription_status_codes ||= {} + @subscription_status_codes[subscription_id] ||= handshake_status_code(subscription_id) + end + + def handshake_status_code(subscription_id) handshakes = requests_repo.tagged_requests(test_run.test_session_id, [REST_HOOK_HANDSHAKE_NOTIFICATION_TAG]) handshake = handshakes.filter { |h| notification_subscription_id(h.request_body) == subscription_id }.last @@ -106,8 +157,51 @@ def actual_mime_type(subscription) end end + # Checks that Inferno is able to simulate the requested Subscription. + # Returns an OperationOutcome describing the problem, or nil if the Subscription is supported. + def verify_subscription(subscription) + unless subscription.is_a? FHIR::Subscription + return operation_outcome('error', 'invalid', 'No recognized R4 Subscription in request body') + end + + unless subscription.channel&.type == 'rest-hook' + return operation_outcome('error', 'business-rule', 'channel.type must be rest-hook') + end + + unless valid_channel_endpoint?(subscription.channel&.endpoint) + return operation_outcome('error', 'value', 'channel.endpoint is not recognized as a conformant URL') + end + + heartbeat_period = find_heartbeat_period(subscription) + operation_outcome('error', 'not-supported', 'heartbeatPeriod is not supported') unless heartbeat_period.nil? + end + private + def parse_subscription(subscription_json, as_json: false) + if as_json + # needed to access primitive extensions + JSON.parse(subscription_json) + else + FHIR.from_contents(subscription_json) + end + rescue StandardError + nil + end + + def find_heartbeat_period(subscription) + subscription.channel&.extension&.find do |e| + e.url == 'http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-heartbeat-period' + end + end + + def valid_channel_endpoint?(url) + uri = URI.parse(url) + %w[http https].include?(uri.scheme) + rescue URI::InvalidURIError + false + end + def requests_repo @requests_repo ||= Inferno::Repositories::Requests.new end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/fixtures/capability_statement.json b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/fixtures/capability_statement.json index 104abe9..4cbf12a 100644 --- a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/fixtures/capability_statement.json +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/fixtures/capability_statement.json @@ -9,6 +9,9 @@ "format": [ "json" ], + "patchFormat": [ + "application/json-patch+json" + ], "software": { "name": "Inferno Subscriptions Test Kit Client Suite" }, @@ -42,6 +45,15 @@ }, { "code": "create" + }, + { + "code": "update" + }, + { + "code": "patch" + }, + { + "code": "delete" } ], "operation": [ diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/conformance_verification/delete_verification_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/conformance_verification/delete_verification_test.rb new file mode 100644 index 0000000..decd325 --- /dev/null +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/conformance_verification/delete_verification_test.rb @@ -0,0 +1,33 @@ +# frozen_string_literal: true + +require_relative '../../common/subscription_simulation_utils' + +module SubscriptionsTestKit + module SubscriptionsR5BackportR4Client + class DeleteVerificationTest < Inferno::Test + include SubscriptionSimulationUtils + + id :subscriptions_r4_client_delete_verification + title 'Client Subscription Delete Conformance Verification' + description %( + This test verifies that the client under test sent a conformant + [delete](https://hl7.org/fhir/R4/http.html#delete) request for the Subscription it created + in this session to Inferno's simulated FHIR server. + ) + + run do + subscription = find_subscription(test_session_id) + skip_if(subscription.nil?, 'No Subscription was created in this session') + + load_tagged_requests(SUBSCRIPTION_DELETE_TAG) + skip_if(requests.none?, 'Inferno did not receive a Subscription delete request') + + delete_request = requests.find { |r| r.tags.include?(subscription.id) } + assert(delete_request.present?, %( + Subscription delete request(s) did not target the created Subscription with id #{subscription.id}. + Requested URL(s): #{requests.map { |r| "`#{r.url}`" }.join(', ')} + )) + end + end + end +end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/conformance_verification/patch_update_verification_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/conformance_verification/patch_update_verification_test.rb new file mode 100644 index 0000000..c43a4e1 --- /dev/null +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/conformance_verification/patch_update_verification_test.rb @@ -0,0 +1,44 @@ +# frozen_string_literal: true + +require_relative '../../../../common/subscription_conformance_verification' +require_relative 'update_request_loading' + +module SubscriptionsTestKit + module SubscriptionsR5BackportR4Client + class PatchUpdateVerificationTest < Inferno::Test + include SubscriptionConformanceVerification + include UpdateRequestLoading + + id :subscriptions_r4_client_patch_update_verification + title 'Client Subscription PATCH Update Conformance Verification' + description %( + This test verifies that the [patch](https://hl7.org/fhir/R4/http.html#patch) (`PATCH`) requests + that the client under test sent to Inferno for the Subscription it created during this session + are conformant. Specifically, that each request + - was a [JSON Patch](https://datatracker.ietf.org/doc/html/rfc6902) that Inferno was able to + apply to the Subscription, and + - resulted in a patched Subscription that is conformant to the [R4/B Topic-Based Subscription + profile](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription.html) + and meets other requirements placed on it by the IG. + + Requests sent for other Subscription ids are not considered. + + Inferno manages the `Subscription.status` and `Subscription.channel.payload` values itself (see the + *Subscription Update and Delete Interaction* test), so the values that the patch gives those elements + are not verified and not used by Inferno. + + Inferno does not support XML Patch or FHIRPath Patch requests. + ) + + run do + load_update_requests('patch') + + verify_update_requests do |patch_request| + # The response contains the Subscription with the patch applied, except for the status and + # payload values that Inferno manages + subscription_verification(patch_request.response_body) + end + end + end + end +end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/conformance_verification/put_update_verification_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/conformance_verification/put_update_verification_test.rb new file mode 100644 index 0000000..2073779 --- /dev/null +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/conformance_verification/put_update_verification_test.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true + +require_relative '../../../../common/subscription_conformance_verification' +require_relative 'update_request_loading' + +module SubscriptionsTestKit + module SubscriptionsR5BackportR4Client + class PutUpdateVerificationTest < Inferno::Test + include SubscriptionConformanceVerification + include UpdateRequestLoading + + id :subscriptions_r4_client_put_update_verification + title 'Client Subscription PUT Update Conformance Verification' + description %( + This test verifies that the [update](https://hl7.org/fhir/R4/http.html#update) (`PUT`) requests + that the client under test sent to Inferno for the Subscription it created during this session + are conformant. Specifically, that each request + - was accepted by Inferno, which requires, for example, that the `id` of the Subscription in the request + body matches the `id` in the request URL, and + - contained a Subscription in the request body that is conformant to the [R4/B Topic-Based Subscription + profile](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription.html) + and meets other requirements placed on it by the IG. + + Requests sent for other Subscription ids are not considered. + ) + + run do + load_update_requests('put') + + verify_update_requests do |update_request| + subscription_verification(update_request.request_body) + end + end + end + end +end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/conformance_verification/update_request_loading.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/conformance_verification/update_request_loading.rb new file mode 100644 index 0000000..572775e --- /dev/null +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/conformance_verification/update_request_loading.rb @@ -0,0 +1,61 @@ +# frozen_string_literal: true + +require_relative '../../common/subscription_simulation_utils' + +module SubscriptionsTestKit + module SubscriptionsR5BackportR4Client + module UpdateRequestLoading + include SubscriptionSimulationUtils + + # Loads the update requests for the created Subscription that used the given HTTP method. Requests that + # targeted other ids are ignored. Skips if the client did not send any such requests. + def load_update_requests(verb) + subscription = find_subscription(test_session_id) + skip_if(subscription.nil?, 'No Subscription was created in this session') + + update_requests = requests_repo.tagged_requests(test_session_id, [SUBSCRIPTION_UPDATE_TAG, subscription.id]) + requests.concat(update_requests.select { |r| r.verb.casecmp?(verb) }) + skip_if(requests.none?, %( + Inferno did not receive a #{verb.upcase} request for the created Subscription with id #{subscription.id} + )) + + subscription + end + + # Verifies each loaded update request, using the given block for the checks specific to the HTTP method. + # Every request must have been accepted by Inferno and pass those checks. Each message is prefixed with + # the number of the request that it is about. + def verify_update_requests(&) + requests.each.with_index(1) do |update_request, request_number| + verify_update_request(update_request, request_number, &) + end + + no_error_verification("Subscription #{requests.first.verb.upcase} update request is not conformant.") + end + + def verify_update_request(update_request, request_number) + first_message_index = messages.length + begin + assert(update_request.status == 200, %( + Inferno could not apply the request (status #{update_request.status}): + #{error_response_text(update_request.response_body)} + )) + yield update_request + rescue Inferno::Exceptions::AssertionException => e + add_message('error', e.message) + end + + messages[first_message_index..].each do |message| + message[:message] = "Request #{request_number}: #{message[:message]}" + end + end + + def error_response_text(response_body) + outcome = JSON.parse(response_body) + (outcome.dig('issue', 0, 'details', 'text') if outcome.is_a?(Hash)) || 'no details provided' + rescue JSON::ParserError, TypeError + 'no details provided' + end + end + end +end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/update_delete_conformance_verification_group.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/update_delete_conformance_verification_group.rb new file mode 100644 index 0000000..dd2ef4f --- /dev/null +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/update_delete_conformance_verification_group.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +require_relative 'conformance_verification/put_update_verification_test' +require_relative 'conformance_verification/patch_update_verification_test' +require_relative 'conformance_verification/delete_verification_test' + +module SubscriptionsTestKit + module SubscriptionsR5BackportR4Client + class UpdateDeleteConformanceVerificationGroup < Inferno::TestGroup + id :subscriptions_r4_client_update_delete_conformance_verification + title 'Subscription Update and Delete Conformance Verification' + + test from: :subscriptions_r4_client_put_update_verification, optional: true + test from: :subscriptions_r4_client_patch_update_verification, optional: true + test from: :subscriptions_r4_client_delete_verification, optional: true + end + end +end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/update_delete_interaction_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/update_delete_interaction_test.rb new file mode 100644 index 0000000..bc09779 --- /dev/null +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow/update_delete_interaction_test.rb @@ -0,0 +1,95 @@ +# frozen_string_literal: true + +require_relative '../common/subscription_simulation_utils' + +module SubscriptionsTestKit + module SubscriptionsR5BackportR4Client + class UpdateDeleteInteractionTest < Inferno::Test + include URLs + include SubscriptionSimulationUtils + + id :subscriptions_r4_client_update_delete_interaction + title 'Subscription Update and Delete Interaction' + description %( + During this test, Inferno will wait while the client system changes the Subscription + that it created during the *Demonstrate the Rest-Hook Subscription Workflow* tests. + Inferno accepts the FHIR [update](https://hl7.org/fhir/R4/http.html#update), + [patch](https://hl7.org/fhir/R4/http.html#patch) (JSON only), and [delete](https://hl7.org/fhir/R4/http.html#delete) + interactions and testers can demonstrate system support for any or all of them. + + Additional notes: + - Inferno will not send additional notifications or handshakes based on the updated Subscription. + - Inferno will modify the `Subscription.channel.payload` value on the updated Subscription to + `application/fhir+json` unless it is `application/json`. + - Inferno manages the `Subscription.status` value and will ignore requested changes to it, unless + the requested status is `off`. + - Inferno only accepts updates and deletes of the Subscription while this test is waiting. + - Each run of this test starts from the Subscription as created during the *Demonstrate the Rest-Hook + Subscription Workflow* tests. Changes made during earlier runs of this test, including deletion, + are not carried over. + ) + + input :access_token, + title: 'Access Token', + description: %( + The bearer token that the client under test will use when making Subscription update, delete, and other + requests to Inferno's simulated Subscriptions server. + ) + # Inferno's Subscription update and delete endpoints only accept requests while this test is waiting + config options: { accepts_subscription_changes: true } + + output :confirmation_url + output :fail_url + output :subscription_url + + run do + subscription = find_subscription(test_session_id) + skip_if(subscription.nil?, %( + No Subscription was created in this session. Run the *Demonstrate the Rest-Hook Subscription Workflow* + tests before running these tests. + )) + + subscription_url = "#{fhir_subscription_url}/#{subscription.id}" + output(subscription_url:) + confirmation_url = "#{resume_pass_url_client}?test_run_identifier=#{access_token}" + output(confirmation_url:) + fail_url = "#{resume_fail_url_client}?test_run_identifier=#{access_token}" + output(fail_url:) + + wait( + identifier: access_token, + timeout: 600, + message: <<~MESSAGE + Inferno will wait while the client updates and/or deletes the Subscription created earlier + in the session. The Subscription is in the state it was created in: changes made during + earlier runs of these tests, including deletion, have not been kept. Inferno accepts the FHIR [update](https://hl7.org/fhir/R4/http.html#update), + [patch](https://hl7.org/fhir/R4/http.html#patch) (JSON only), and [delete](https://hl7.org/fhir/R4/http.html#delete) + interactions and testers can demonstrate system support for any or all of them by making + a request using the corresponding HTTP verb against `#{subscription_url}`: + + - **PUT**: Change the Subscription with the update interaction by sending + a PUT request containing an updated Subscription resource in the request body. + - **PATCH**: Change the Subscription with a patch interaction by sending + a PATCH request containing a JSON Patch (`Content-Type: application/json-patch+json`) + in the request body + - **DELETE**: Remove the Subscription with a delete interaction by sending a + DELETE request with no body. + + All requests must have the Authorization header set to: + + `Bearer #{access_token}` + + At any point while this test is waiting, Inferno will respond to Subscription GET and $status requests + for the Subscription until it has been deleted. + + Once the client has demonstrated the Subscription interactions it supports, + [click here to complete the test](#{confirmation_url}) + + If at any point something has gone wrong and the client is unable to continue, + [click here to fail the test](#{fail_url}) + MESSAGE + ) + end + end + end +end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow_group.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow_group.rb new file mode 100644 index 0000000..bb67c4a --- /dev/null +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/update_delete_workflow_group.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +require_relative 'update_delete_workflow/update_delete_interaction_test' +require_relative 'update_delete_workflow/update_delete_conformance_verification_group' + +module SubscriptionsTestKit + module SubscriptionsR5BackportR4Client + class UpdateDeleteWorkflowGroup < Inferno::TestGroup + id :subscriptions_r4_client_update_delete_workflow + title 'Demonstrate Subscription Update and Deletion' + description %( + During this test, the tester will demonstrate the ability of the client + to update and/or delete the Subscription instance that it created + during the *Demonstrate the Rest-Hook Subscription Workflow* tests. + Those tests must be run first in the same session. + + Inferno will wait for the client to send update and delete requests and + will then verify that the requests are conformant. Note that + - Update and delete requests are only accepted by Inferno while + this group is waiting. + - If this group is re-run, Inferno will forget about the previous + update and delete interactions sent by the Subscriptions client. + The Subscriptions client can interact with it as it was after + it was created. If the Subscriptions client cannot reactivate + the deleted Subscription and make updates to it again, re-run + the *Demonstrate the Rest-Hook Subscription Workflow* group + to create a new Subscription. + ) + run_as_group + optional + + group 'Subscription Update and Delete Interaction' do + id :subscriptions_r4_client_update_delete_workflow_interaction + test from: :subscriptions_r4_client_update_delete_interaction + end + + group from: :subscriptions_r4_client_update_delete_conformance_verification + end + end +end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/notification_input_verification_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/notification_input_verification_test.rb index 08205f2..d499c11 100644 --- a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/notification_input_verification_test.rb +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/notification_input_verification_test.rb @@ -14,13 +14,15 @@ class NotificationInputVerificationTest < Inferno::Test to the [R4 Topic-Based Subscription Notification Bundle profile](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription-notification-r4.html). The content of the notification will be based on the Bundle provided by the tester. + To ensure that the subscriptions client is driving its behavior only based on + standard information, custom extensions are not allowed within the notifcation Bundle. ) simulation_verification run do load_tagged_requests(REST_HOOK_EVENT_NOTIFICATION_TAG) skip_if(requests.none?, 'Inferno did not send an event notification') - notification_verification(request.request_body, 'event-notification') + notification_verification(request.request_body, 'event-notification', validator: :no_custom_extensions) no_error_verification('Notification bundle was not conformant, see error messages') end end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/processing_attestation_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/processing_attestation_test.rb index 0e2816f..e51a7fb 100644 --- a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/processing_attestation_test.rb +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client/workflow/conformance_verification/processing_attestation_test.rb @@ -16,6 +16,7 @@ class ProcessingAttestationTest < Inferno::Test of what should happen when the client receives an event notification for the requested Subscription. ) + attestation output :attest_true_url output :attest_false_url diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client_suite.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client_suite.rb index b70159c..90d47ef 100644 --- a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client_suite.rb +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_client_suite.rb @@ -1,8 +1,13 @@ # frozen_string_literal: true require_relative 'subscriptions_r5_backport_r4_client/workflow_group' +require_relative 'subscriptions_r5_backport_r4_client/update_delete_workflow_group' +require_relative '../fhir_validation' require_relative '../endpoints/subscription_create_endpoint' require_relative '../endpoints/subscription_read_endpoint' +require_relative '../endpoints/subscription_update_endpoint' +require_relative '../endpoints/subscription_patch_endpoint' +require_relative '../endpoints/subscription_delete_endpoint' require_relative '../endpoints/subscription_status_endpoint' module SubscriptionsTestKit @@ -43,10 +48,23 @@ class SubscriptionsR5BackportR4ClientSuite < Inferno::TestSuite # All FHIR validation requests will use this FHIR validator fhir_resource_validator do - igs 'hl7.fhir.uv.subscriptions-backport#1.1.0' + igs SUBSCRIPTIONS_BACKPORT_IG exclude_message do |message| - message.message.match?(/\A\S+: \S+: URL value '.*' does not resolve/) + message.message.match?(UNRESOLVED_URL_VALIDATION_MESSAGE) + end + end + + # Used to validate tester-provided content so that it cannot rely on extensions not defined in the IG + fhir_resource_validator :no_custom_extensions do + igs SUBSCRIPTIONS_BACKPORT_IG + + validation_context do + extensions [] # no extensions not in the spec + end + + exclude_message do |message| + message.message.match?(UNRESOLVED_URL_VALIDATION_MESSAGE) end end @@ -61,6 +79,9 @@ class SubscriptionsR5BackportR4ClientSuite < Inferno::TestSuite suite_endpoint :post, FHIR_SUBSCRIPTION_PATH, SubscriptionCreateEndpoint suite_endpoint :get, FHIR_SUBSCRIPTION_INSTANCE_PATH, SubscriptionReadEndpoint + suite_endpoint :put, FHIR_SUBSCRIPTION_INSTANCE_PATH, SubscriptionUpdateEndpoint + suite_endpoint :patch, FHIR_SUBSCRIPTION_INSTANCE_PATH, SubscriptionPatchEndpoint + suite_endpoint :delete, FHIR_SUBSCRIPTION_INSTANCE_PATH, SubscriptionDeleteEndpoint suite_endpoint :post, FHIR_SUBSCRIPTION_INSTANCE_STATUS_PATH, SubscriptionStatusEndpoint suite_endpoint :get, FHIR_SUBSCRIPTION_INSTANCE_STATUS_PATH, SubscriptionStatusEndpoint suite_endpoint :post, FHIR_SUBSCRIPTION_RESOURCE_STATUS_PATH, SubscriptionStatusEndpoint @@ -74,6 +95,7 @@ class SubscriptionsR5BackportR4ClientSuite < Inferno::TestSuite end group from: :subscriptions_r4_client_workflow + group from: :subscriptions_r4_client_update_delete_workflow end end end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/subscription_conformance_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/subscription_conformance_test.rb index a9d82f2..7e1fb7e 100644 --- a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/subscription_conformance_test.rb +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/interaction/subscription_conformance_test.rb @@ -11,7 +11,8 @@ class SubscriptionConformanceTest < Inferno::Test This test accepts a Subscription resource as an input and verifies that it is conformant to the [R4/B Topic-Based Subscription profile](https://hl7.org/fhir/uv/subscriptions-backport/STU1.1/StructureDefinition-backport-subscription.html) and that it is constructed to make supported notifications to Inferno's simulated - Subscriptions client. + Subscriptions client. To ensure that the subscriptions server is driving its behavior only based on + standard information, custom extensions are not allowed within the provided Subscription. For the server to successfuly deliver notifications recognized by this test session, the Subscription `channel` element should have it's subelements populated with the following information: @@ -65,7 +66,7 @@ class SubscriptionConformanceTest < Inferno::Test updated_subscription = subscription.to_json output(updated_subscription:) - subscription_verification(updated_subscription) + subscription_verification(updated_subscription, validator: :no_custom_extensions) no_error_verification('Subscription resource is not conformant.') end end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/subscription_creation.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/subscription_creation.rb index d82f439..9a1d761 100644 --- a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/subscription_creation.rb +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/subscription_creation.rb @@ -63,6 +63,7 @@ def send_subscription(subscription) tags = ['subscription_creation'] payload_type = subscription_payload_type(subscription) tags.append(payload_type) if payload_type.present? + tags.append('workflow') if config.options[:workflow_subscription] fhir_operation('/Subscription', body: subscription, tags:) assert_response_status(201) diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/subscription_update_delete.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/subscription_update_delete.rb new file mode 100644 index 0000000..afc03e6 --- /dev/null +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/common/subscription_update_delete.rb @@ -0,0 +1,43 @@ +module SubscriptionsTestKit + module SubscriptionsR5BackportR4Server + module SubscriptionUpdateDelete + def created_subscription_id + creation_requests = load_tagged_requests('subscription_creation', 'workflow').select { |r| r.status == 201 } + skip_if creation_requests.empty?, %( + No successful Subscription creation request has been made during the "Demonstrate the Subscription Workflow" + group. Run that group successfully before re-running this one. + ) + + JSON.parse(creation_requests.first.response_body)['id'] + end + + # Returns the raw JSON hash so that primitive extensions, such as the payload content extension on + # Subscription.channel.payload, are preserved + def read_subscription_json(subscription_id) + fhir_read(:subscription, subscription_id) + assert_response_status(200) + assert_valid_json(request.response_body) + JSON.parse(request.response_body) + end + + # FHIR models drop primitive extensions, so send the raw JSON as the body of the update + def raw_subscription_resource(subscription_hash) + FHIR::Subscription.new(subscription_hash).tap do |resource| + resource.define_singleton_method(:to_json) { |*| subscription_hash.to_json } + end + end + + def updated_reason(subscription, interaction) + "#{subscription['reason']} (updated by Inferno using #{interaction} at #{Time.now.utc.iso8601})" + end + + def verify_reason_updated(subscription_id, expected_reason) + subscription = read_subscription_json(subscription_id) + assert(subscription['reason'] == expected_reason, %( + Expected the `reason` of the updated Subscription to be `#{expected_reason}`, but was + `#{subscription['reason']}`. + )) + end + end + end +end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/update_delete/delete_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/update_delete/delete_test.rb new file mode 100644 index 0000000..1691948 --- /dev/null +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/update_delete/delete_test.rb @@ -0,0 +1,30 @@ +require_relative '../common/subscription_update_delete' + +module SubscriptionsTestKit + module SubscriptionsR5BackportR4Server + class DeleteTest < Inferno::Test + include SubscriptionUpdateDelete + + id :subscriptions_r4_server_delete + title 'Server supports deleting a Subscription' + description %( + During this test, Inferno will send a FHIR [delete](https://hl7.org/fhir/R4/http.html#delete) request + for the Subscription created during the "Demonstrate the Subscription Workflow" group. Inferno will + verify that the server responds with a `200`, `202`, or `204` status and that a subsequent read of + the Subscription returns a `404` or `410` status. + ) + optional + verifies_requirements 'hl7.fhir.uv.subscriptions_1.1.0@127' + + run do + subscription_id = created_subscription_id + + fhir_delete(:subscription, subscription_id) + assert_response_status([200, 202, 204]) + + fhir_read(:subscription, subscription_id) + assert_response_status([404, 410]) + end + end + end +end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/update_delete/update_patch_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/update_delete/update_patch_test.rb new file mode 100644 index 0000000..c8e6ccc --- /dev/null +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/update_delete/update_patch_test.rb @@ -0,0 +1,33 @@ +require_relative '../common/subscription_update_delete' + +module SubscriptionsTestKit + module SubscriptionsR5BackportR4Server + class UpdatePatchTest < Inferno::Test + include SubscriptionUpdateDelete + + id :subscriptions_r4_server_update_patch + title 'Server supports updating a Subscription using JSON Patch' + description %( + During this test, Inferno will send a [patch](https://hl7.org/fhir/R4/http.html#patch) (`PATCH`) + request using [JSON Patch](https://datatracker.ietf.org/doc/html/rfc6902) to change the `reason` + of the Subscription created during the "Demonstrate the Subscription Workflow" group. Inferno + will verify that the server responds with a `200` status and that a subsequent read of the Subscription + reflects the change. Inferno does not test XML Patch or FHIRPath Patch. + ) + optional + + verifies_requirements 'hl7.fhir.uv.subscriptions_1.1.0@126' + + run do + subscription_id = created_subscription_id + subscription = read_subscription_json(subscription_id) + expected_reason = updated_reason(subscription, 'JSON Patch') + + fhir_patch(:subscription, subscription_id, [{ op: 'add', path: '/reason', value: expected_reason }]) + assert_response_status(200) + + verify_reason_updated(subscription_id, expected_reason) + end + end + end +end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/update_delete/update_put_test.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/update_delete/update_put_test.rb new file mode 100644 index 0000000..3101008 --- /dev/null +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/update_delete/update_put_test.rb @@ -0,0 +1,32 @@ +require_relative '../common/subscription_update_delete' + +module SubscriptionsTestKit + module SubscriptionsR5BackportR4Server + class UpdatePutTest < Inferno::Test + include SubscriptionUpdateDelete + + id :subscriptions_r4_server_update_put + title 'Server supports updating a Subscription using PUT' + description %( + During this test, Inferno will send a FHIR [update](https://hl7.org/fhir/R4/http.html#update) + (`PUT`) request to change the `reason` of the Subscription created during the "Demonstrate the + Subscription Workflow" group. Inferno will verify that the server responds with a `200` status + and that a subsequent read of the Subscription reflects the change. + ) + optional + + verifies_requirements 'hl7.fhir.uv.subscriptions_1.1.0@126' + + run do + subscription_id = created_subscription_id + subscription = read_subscription_json(subscription_id) + expected_reason = updated_reason(subscription, 'PUT') + + fhir_update(raw_subscription_resource(subscription.merge('reason' => expected_reason)), subscription_id) + assert_response_status(200) + + verify_reason_updated(subscription_id, expected_reason) + end + end + end +end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/update_delete_group.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/update_delete_group.rb new file mode 100644 index 0000000..c4ab384 --- /dev/null +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/update_delete_group.rb @@ -0,0 +1,27 @@ +require_relative 'update_delete/update_put_test' +require_relative 'update_delete/update_patch_test' +require_relative 'update_delete/delete_test' + +module SubscriptionsTestKit + module SubscriptionsR5BackportR4Server + class UpdateDeleteGroup < Inferno::TestGroup + id :subscriptions_r4_server_update_delete + title 'Subscription Update and Deletion Verification' + description %( + During this group, Inferno will verify that the Subscriptions server supports requests that + modify and delete Subscription resources. + + This group must be run after the "Demonstrate the Subscription Workflow" group because + it updates and then deletes the Subscription created during that group. Because the + Subscription is deleted, the "Demonstrate the Subscription Workflow" tests must be run + again before re-running this group or others, like the "Subscription $status Operation + Verification" group, that rely on that Subscription. + ) + optional + + test from: :subscriptions_r4_server_update_put + test from: :subscriptions_r4_server_update_patch + test from: :subscriptions_r4_server_delete + end + end +end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/workflow_group.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/workflow_group.rb index 2f6b5cc..c30a251 100644 --- a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/workflow_group.rb +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server/workflow_group.rb @@ -5,7 +5,7 @@ module SubscriptionsTestKit module SubscriptionsR5BackportR4Server class WorkflowGroup < Inferno::TestGroup id :subscriptions_r4_server_workflow - title 'Demonstrate the subscription workflow' + title 'Demonstrate the Subscription Workflow' description %( Demonstrate the ability of the server to accept a request for the creation of a FHIR Subscription instance and deliver an event notification @@ -20,7 +20,11 @@ class WorkflowGroup < Inferno::TestGroup input_order :url, :smart_auth_info, :access_token, :subscription_resource - group from: :subscriptions_r4_server_interaction + group from: :subscriptions_r4_server_interaction do + # tags the Subscription creation request so that later groups, such as update and delete, + # can find the Subscription created by this group rather than one created in another group + config(options: { workflow_subscription: true }) + end group from: :subscriptions_r4_server_interaction_verification end end diff --git a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server_suite.rb b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server_suite.rb index c5c4db5..be313f6 100644 --- a/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server_suite.rb +++ b/lib/subscriptions_test_kit/suites/subscriptions_r5_backport_r4_server_suite.rb @@ -4,7 +4,9 @@ require_relative 'subscriptions_r5_backport_r4_server/handshake_heartbeat_group' require_relative 'subscriptions_r5_backport_r4_server/status_operation_group' require_relative 'subscriptions_r5_backport_r4_server/subscription_rejection_group' +require_relative 'subscriptions_r5_backport_r4_server/update_delete_group' require_relative '../endpoints/subscription_rest_hook_endpoint' +require_relative '../fhir_validation' require_relative '../urls' module SubscriptionsTestKit @@ -69,10 +71,23 @@ class SubscriptionsR5BackportR4ServerSuite < Inferno::TestSuite # All FHIR validation requests will use this FHIR validator fhir_resource_validator do - igs 'hl7.fhir.uv.subscriptions-backport#1.1.0' + igs SUBSCRIPTIONS_BACKPORT_IG exclude_message do |message| - message.message.match?(/\A\S+: \S+: URL value '.*' does not resolve/) + message.message.match?(UNRESOLVED_URL_VALIDATION_MESSAGE) + end + end + + # Used to validate tester-provided content so that it cannot rely on extensions not defined in the IG + fhir_resource_validator :no_custom_extensions do + igs SUBSCRIPTIONS_BACKPORT_IG + + validation_context do + extensions [] # no extensions not in the spec + end + + exclude_message do |message| + message.message.match?(UNRESOLVED_URL_VALIDATION_MESSAGE) end end @@ -92,6 +107,7 @@ def self.extract_token_from_query_params(request) group from: :subscriptions_r4_server_handshake_heartbeat group from: :subscriptions_r4_server_status_operation group from: :subscriptions_r4_server_subscription_rejection + group from: :subscriptions_r4_server_update_delete end end end diff --git a/lib/subscriptions_test_kit/tags.rb b/lib/subscriptions_test_kit/tags.rb index 5506029..4cceb2d 100644 --- a/lib/subscriptions_test_kit/tags.rb +++ b/lib/subscriptions_test_kit/tags.rb @@ -4,6 +4,8 @@ module SubscriptionsTestKit NOTIFICATION_TAG = 'subscription_notification' SUBSCRIPTION_CREATE_TAG = 'subscription_create' SUBSCRIPTION_READ_TAG = 'subscription_read' + SUBSCRIPTION_UPDATE_TAG = 'subscription_update' + SUBSCRIPTION_DELETE_TAG = 'subscription_delete' SUBSCRIPTION_STATUS_TAG = 'subscription_status' REST_HOOK_HANDSHAKE_NOTIFICATION_TAG = 'rest_hook_handshake_notification' REST_HOOK_EVENT_NOTIFICATION_TAG = 'rest_hook_event_notification' diff --git a/spec/subscriptions_test_kit/common/subscription_conformance_verification_spec.rb b/spec/subscriptions_test_kit/common/subscription_conformance_verification_spec.rb index 6b749b4..858d859 100644 --- a/spec/subscriptions_test_kit/common/subscription_conformance_verification_spec.rb +++ b/spec/subscriptions_test_kit/common/subscription_conformance_verification_spec.rb @@ -86,6 +86,21 @@ def entity_result_message(runnable) expect(result.result_message).to eq('Invalid JSON. ') end + it 'fails if subscription is not a JSON object' do + result = run(test, subscription_resource: '[]') + + expect(result.result).to eq('fail') + expect(result.result_message).to eq('The Subscription must be a JSON object.') + end + + it 'fails if subscription does not contain a channel' do + subscription_resource.delete('channel') + result = run(test, subscription_resource: subscription_resource.to_json) + + expect(result.result).to eq('fail') + expect(result.result_message).to eq('The Subscription must include a `channel` element.') + end + it 'fails if subscription channel type is not set to `rest-hook`' do subscription_resource['channel']['type'] = 'email' result = run(test, subscription_resource: subscription_resource.to_json) diff --git a/spec/subscriptions_test_kit/endpoints/error_response_format_spec.rb b/spec/subscriptions_test_kit/endpoints/error_response_format_spec.rb new file mode 100644 index 0000000..8a84ebc --- /dev/null +++ b/spec/subscriptions_test_kit/endpoints/error_response_format_spec.rb @@ -0,0 +1,35 @@ +RSpec.describe 'Simulated FHIR server error responses', :request do # rubocop:disable RSpec/DescribeClass + let(:suite_id) { 'subscriptions_r5_backport_r4_client' } + let(:base_path) { "/custom/#{suite_id}/fhir/Subscription" } + + before { header 'Authorization', 'Bearer NO_WAITING_SESSION' } + + [ + [:post, ''], + [:get, '/123'], + [:put, '/123'], + [:patch, '/123'], + [:delete, '/123'], + [:get, '/123/$status'], + [:post, '/123/$status'], + [:post, '/$status'] + ].each do |verb, path| + it "returns an OperationOutcome for #{verb.upcase} Subscription#{path} when no session is waiting" do + send(verb, "#{base_path}#{path}", '{}') + + expect(last_response.status).to eq(500) + expect(last_response.content_type).to start_with('application/fhir+json') + outcome = FHIR.from_contents(last_response.body) + expect(outcome).to be_a(FHIR::OperationOutcome) + expect(outcome.issue.first.code).to eq('not-found') + expect(outcome.issue.first.details.text).to include('NO_WAITING_SESSION') + end + end + + it 'returns a plain text error from the server suite notification endpoint' do + post('/custom/subscriptions_r5_backport_r4_server/subscription/channel/notification_listener', '{}') + + expect(last_response.status).to eq(500) + expect { JSON.parse(last_response.body) }.to raise_error(JSON::ParserError) + end +end diff --git a/spec/subscriptions_test_kit/subscription_r4_server/common/interaction/notification_delivery_test_spec.rb b/spec/subscriptions_test_kit/subscription_r4_server/common/interaction/notification_delivery_test_spec.rb index e355b16..a306ed6 100644 --- a/spec/subscriptions_test_kit/subscription_r4_server/common/interaction/notification_delivery_test_spec.rb +++ b/spec/subscriptions_test_kit/subscription_r4_server/common/interaction/notification_delivery_test_spec.rb @@ -135,7 +135,8 @@ def post_fhir(path, data) post_json(subscription_channel, heartbeat_bundle) post_json(subscription_channel, notification_bundle) expect(last_response).to be_server_error - expect(last_response.body).to eq("Unable to find test run with identifier 'notification WRONG_TOKEN'.") + expect(last_response.body) + .to include("identifier 'notification WRONG_TOKEN' is not associated with a waiting session") get(resume_pass_url) @@ -144,4 +145,40 @@ def post_fhir(path, data) expect(subscription_creation_request).to have_been_made end end + + describe 'Subscription creation request tags' do + let(:requests_repo) { Inferno::Repositories::Requests.new } + + def delivery_test_in(group_id) + group = suite.groups.find { |g| g.id.end_with?(group_id) } || + suite.groups.flat_map(&:groups).find { |g| g.id.end_with?(group_id) } + group.groups.first.tests.find { |t| t.id.end_with?('notification_delivery') } + end + + def creation_request_tags(runnable) + stub_request(:post, "#{server_endpoint}/Subscription").to_return(status: 201, body: subscription_resource.to_json) + result = run(runnable, updated_subscription: subscription_resource.to_json, access_token:, url: server_endpoint) + requests_repo.tagged_requests(test_session.id, ['subscription_creation']) + .find { |request| request.result_id == result.id }.tags + end + + it 'tags the creation request from the workflow group as a workflow creation' do + expect(creation_request_tags(delivery_test_in('workflow'))).to include('workflow') + end + + it 'does not tag creation requests from the event notification groups as workflow creations' do + expect(creation_request_tags(delivery_test_in('empty_content'))).to_not include('workflow') + end + + it 'tags creation requests from exactly one test, which is in the workflow group' do + all_tests = lambda do |group| + group.tests + group.groups.flat_map { |child| all_tests.call(child) } + end + workflow_creation_tests = suite.groups.flat_map { |group| all_tests.call(group) }.select do |runnable| + runnable.id.end_with?('notification_delivery') && runnable.config.options[:workflow_subscription] + end + + expect(workflow_creation_tests.map(&:id)).to eq([delivery_test_in('workflow').id]) + end + end end diff --git a/spec/subscriptions_test_kit/subscription_r4_server/common/interaction/subscription_conformance_test_spec.rb b/spec/subscriptions_test_kit/subscription_r4_server/common/interaction/subscription_conformance_test_spec.rb index 4f50f4f..219ee5c 100644 --- a/spec/subscriptions_test_kit/subscription_r4_server/common/interaction/subscription_conformance_test_spec.rb +++ b/spec/subscriptions_test_kit/subscription_r4_server/common/interaction/subscription_conformance_test_spec.rb @@ -49,13 +49,33 @@ igs('hl7.fhir.uv.subscriptions-backport#1.1.0') end + + fhir_resource_validator :no_custom_extensions do + url ENV.fetch('FHIR_RESOURCE_VALIDATOR_URL') + + cli_context do + txServer nil + displayWarnings true + disableDefaultResourceFetcher true + extensions [] + end + + igs('hl7.fhir.uv.subscriptions-backport#1.1.0') + end end end + def no_custom_extensions_request?(request) + body = JSON.parse(request.body) + context = body['validationContext'] || body['cliContext'] + context['extensions'] == [] + end + it 'passes if conformant subscription passed in' do allow(test).to receive(:suite).and_return(suite) verification_request = stub_request(:post, validation_url) + .with { |request| no_custom_extensions_request?(request) } .to_return(status: 200, body: operation_outcome_success.to_json) result = run(test, subscription_resource: subscription_resource.to_json, @@ -64,5 +84,19 @@ expect(result.result).to eq('pass') expect(verification_request).to have_been_made end + + it 'fails if the validator reports an error, such as for a custom extension' do + allow(test).to receive(:suite).and_return(suite) + + verification_request = stub_request(:post, validation_url) + .with { |request| no_custom_extensions_request?(request) } + .to_return(status: 200, body: operation_outcome_failure.to_json) + + result = run(test, subscription_resource: subscription_resource.to_json, + access_token:) + + expect(result.result).to eq('fail') + expect(verification_request).to have_been_made + end end end diff --git a/spec/subscriptions_test_kit/subscription_r4_server/update_delete/delete_test_spec.rb b/spec/subscriptions_test_kit/subscription_r4_server/update_delete/delete_test_spec.rb new file mode 100644 index 0000000..e35f7b1 --- /dev/null +++ b/spec/subscriptions_test_kit/subscription_r4_server/update_delete/delete_test_spec.rb @@ -0,0 +1,50 @@ +require_relative 'shared_context' + +RSpec.describe SubscriptionsTestKit::SubscriptionsR5BackportR4Server::DeleteTest, :runnable do + include_context 'with a created server Subscription' + + it 'skips if no Subscription was created' do + expect(run(test, url:).result).to eq('skip') + end + + describe 'when a Subscription was created' do + before { create_subscription_request } + + it 'passes when the Subscription is deleted' do + delete_request = stub_request(:delete, subscription_url).to_return(status: 204) + read_request = stub_request(:get, subscription_url).to_return(status: 410) + + expect(run(test, url:).result).to eq('pass') + expect(delete_request).to have_been_made + expect(read_request).to have_been_made + end + + it 'passes when the server accepts the deletion and the Subscription is deleted' do + stub_request(:delete, subscription_url).to_return(status: 202) + read_request = stub_request(:get, subscription_url).to_return(status: 404) + + expect(run(test, url:).result).to eq('pass') + expect(read_request).to have_been_made + end + + it 'fails when the server accepts the deletion but the Subscription can still be read' do + stub_request(:delete, subscription_url).to_return(status: 202) + stub_request(:get, subscription_url).to_return(status: 200, body: subscription.to_json) + + expect(run(test, url:).result).to eq('fail') + end + + it 'fails when the server rejects the deletion' do + stub_request(:delete, subscription_url).to_return(status: 405) + + expect(run(test, url:).result).to eq('fail') + end + + it 'fails when the Subscription can still be read after deletion' do + stub_request(:delete, subscription_url).to_return(status: 200) + stub_request(:get, subscription_url).to_return(status: 200, body: subscription.to_json) + + expect(run(test, url:).result).to eq('fail') + end + end +end diff --git a/spec/subscriptions_test_kit/subscription_r4_server/update_delete/shared_context.rb b/spec/subscriptions_test_kit/subscription_r4_server/update_delete/shared_context.rb new file mode 100644 index 0000000..c0ec6ce --- /dev/null +++ b/spec/subscriptions_test_kit/subscription_r4_server/update_delete/shared_context.rb @@ -0,0 +1,16 @@ +RSpec.shared_context('with a created server Subscription') do + let(:suite_id) { 'subscriptions_r5_backport_r4_server' } + let(:test) { find_test suite, described_class.id } + let(:result) { repo_create(:result, test_session_id: test_session.id) } + let(:url) { 'http://example.com/fhir' } + let(:subscription_url) { "#{url}/Subscription/123" } + let(:subscription) do + JSON.parse(File.read(File.join(__dir__, '../../..', 'fixtures', 'subscription_resource_example.json'))) + end + + def create_subscription_request(tags: ['subscription_creation', 'workflow']) + repo_create(:request, direction: 'outgoing', url: "#{url}/Subscription", result:, + test_session_id: test_session.id, status: 201, response_body: subscription.to_json, + tags:) + end +end diff --git a/spec/subscriptions_test_kit/subscription_r4_server/update_delete/update_patch_test_spec.rb b/spec/subscriptions_test_kit/subscription_r4_server/update_delete/update_patch_test_spec.rb new file mode 100644 index 0000000..822a9bc --- /dev/null +++ b/spec/subscriptions_test_kit/subscription_r4_server/update_delete/update_patch_test_spec.rb @@ -0,0 +1,37 @@ +require_relative 'shared_context' + +RSpec.describe SubscriptionsTestKit::SubscriptionsR5BackportR4Server::UpdatePatchTest, :runnable do + include_context 'with a created server Subscription' + + it 'skips if no Subscription was created' do + expect(run(test, url:).result).to eq('skip') + end + + describe 'when a Subscription was created' do + before { create_subscription_request } + + it 'passes when the server applies a JSON Patch' do + updated_reason = nil + patch_request = stub_request(:patch, subscription_url) + .with(headers: { 'Content-Type' => 'application/json-patch+json' }) do |request| + operation = JSON.parse(request.body).first + updated_reason = operation['value'] + operation['op'] == 'add' && operation['path'] == '/reason' + end + .to_return(status: 200) + stub_request(:get, subscription_url) + .to_return(status: 200, body: subscription.to_json) + .then.to_return { { status: 200, body: subscription.merge('reason' => updated_reason).to_json } } + + expect(run(test, url:).result).to eq('pass') + expect(patch_request).to have_been_made + end + + it 'fails when the server does not support JSON Patch' do + stub_request(:get, subscription_url).to_return(status: 200, body: subscription.to_json) + stub_request(:patch, subscription_url).to_return(status: 415) + + expect(run(test, url:).result).to eq('fail') + end + end +end diff --git a/spec/subscriptions_test_kit/subscription_r4_server/update_delete/update_put_test_spec.rb b/spec/subscriptions_test_kit/subscription_r4_server/update_delete/update_put_test_spec.rb new file mode 100644 index 0000000..c2bb6b0 --- /dev/null +++ b/spec/subscriptions_test_kit/subscription_r4_server/update_delete/update_put_test_spec.rb @@ -0,0 +1,51 @@ +require_relative 'shared_context' + +RSpec.describe SubscriptionsTestKit::SubscriptionsR5BackportR4Server::UpdatePutTest, :runnable do + include_context 'with a created server Subscription' + + it 'skips if no Subscription was created' do + expect(run(test, url:).result).to eq('skip') + end + + it 'skips if a Subscription was only created outside of the workflow group' do + create_subscription_request(tags: ['subscription_creation', 'empty']) + + expect(run(test, url:).result).to eq('skip') + end + + describe 'when a Subscription was created' do + before { create_subscription_request } + + it 'passes when the server applies the update and preserves primitive extensions in the request' do + updated_reason = nil + request_matcher = lambda do |request| + body = JSON.parse(request.body) + updated_reason = body['reason'] + body.dig('channel', '_payload', 'extension').present? && updated_reason.include?('PUT') + end + update_request = stub_request(:put, subscription_url) + .with(&request_matcher) + .to_return { |request| { status: 200, body: request.body } } + stub_request(:get, subscription_url) + .to_return(status: 200, body: subscription.to_json) + .then.to_return { { status: 200, body: subscription.merge('reason' => updated_reason).to_json } } + + expect(run(test, url:).result).to eq('pass') + expect(update_request).to have_been_made + end + + it 'fails when the server does not return a 200' do + stub_request(:get, subscription_url).to_return(status: 200, body: subscription.to_json) + stub_request(:put, subscription_url).to_return(status: 405) + + expect(run(test, url:).result).to eq('fail') + end + + it 'fails when the update is not reflected in a subsequent read' do + stub_request(:get, subscription_url).to_return(status: 200, body: subscription.to_json) + stub_request(:put, subscription_url).to_return(status: 200) + + expect(run(test, url:).result).to eq('fail') + end + end +end diff --git a/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/conformance_verification/delete_verification_test_spec.rb b/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/conformance_verification/delete_verification_test_spec.rb new file mode 100644 index 0000000..85d8a79 --- /dev/null +++ b/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/conformance_verification/delete_verification_test_spec.rb @@ -0,0 +1,46 @@ +RSpec.describe SubscriptionsTestKit::SubscriptionsR5BackportR4Client::DeleteVerificationTest, :runnable do + let(:suite_id) { 'subscriptions_r5_backport_r4_client' } + let(:test) { find_test suite, described_class.id } + let(:result) { repo_create(:result, test_session_id: test_session.id) } + let(:subscription_id) { 'abc-123' } + let(:subscription_base_url) { "http://example.com/custom/#{suite_id}/fhir/Subscription" } + + def create_request(verb:, url:, status:, tags:, response_body: nil) + repo_create(:request, verb:, url:, direction: 'incoming', status:, response_body:, + result:, test_session_id: test_session.id, tags:) + end + + def create_subscription + create_request(verb: 'POST', url: subscription_base_url, status: 201, + tags: [SubscriptionsTestKit::SUBSCRIPTION_CREATE_TAG], + response_body: { resourceType: 'Subscription', id: subscription_id }.to_json) + end + + def delete_subscription(id: subscription_id, status: 204) + create_request(verb: 'DELETE', url: "#{subscription_base_url}/#{id}", status:, + tags: [SubscriptionsTestKit::SUBSCRIPTION_DELETE_TAG, id]) + end + + it 'skips when no Subscription was created' do + expect(run(test).result).to eq('skip') + end + + it 'skips when no delete request was received' do + create_subscription + expect(run(test).result).to eq('skip') + end + + it 'passes when the created Subscription is deleted' do + create_subscription + delete_subscription + + expect(run(test).result).to eq('pass') + end + + it 'fails when the delete request does not target the created Subscription' do + create_subscription + delete_subscription(id: 'other', status: 404) + + expect(run(test).result).to eq('fail') + end +end diff --git a/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/conformance_verification/patch_update_verification_test_spec.rb b/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/conformance_verification/patch_update_verification_test_spec.rb new file mode 100644 index 0000000..12f77d9 --- /dev/null +++ b/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/conformance_verification/patch_update_verification_test_spec.rb @@ -0,0 +1,59 @@ +require_relative 'update_verification_context' + +RSpec.describe SubscriptionsTestKit::SubscriptionsR5BackportR4Client::PatchUpdateVerificationTest, :runnable do + include_context 'with client Subscription update requests' + + it 'skips when no Subscription was created' do + expect(run(test).result).to eq('skip') + end + + it 'skips when the created Subscription was not updated' do + create_subscription + expect(run(test).result).to eq('skip') + end + + it 'skips when the Subscription was only updated using PUT' do + create_subscription + put_subscription(subscription) + + result = run(test) + expect(result.result).to eq('skip') + expect(result.result_message).to match(/did not receive a PATCH request/) + end + + it 'passes when a JSON Patch results in a conformant Subscription' do + validation_request = stub_request(:post, validation_url) + .to_return(status: 200, body: validation_success.to_json) + create_subscription + patch_subscription(status: 200, response_body: subscription.merge('reason' => 'patched')) + + expect(run(test).result).to eq('pass') + expect(validation_request).to have_been_made + end + + it 'skips when only a different Subscription id was patched' do + create_subscription + patch_subscription(status: 404, response_body: error_outcome('not found'), id: 'other') + expect(run(test).result).to eq('skip') + end + + it 'fails when any patch is not conformant, identifying the request' do + stub_request(:post, validation_url).to_return(status: 200, body: validation_success.to_json) + create_subscription + patch_subscription(status: 200, response_body: subscription.merge('reason' => 'patched')) + patch_subscription(status: 422, response_body: error_outcome('Unable to apply')) + + expect(run(test).result).to eq('fail') + expect(entity_result_message).to match(/Request 2: .*Unable to apply/m) + end + + it 'fails when Inferno could not apply a patch' do + create_subscription + patch_subscription(status: 422, response_body: { + resourceType: 'OperationOutcome', + issue: [{ severity: 'error', code: 'processing', details: { text: 'Unable to apply' } }] + }) + + expect(run(test).result).to eq('fail') + end +end diff --git a/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/conformance_verification/put_update_verification_test_spec.rb b/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/conformance_verification/put_update_verification_test_spec.rb new file mode 100644 index 0000000..529fb4f --- /dev/null +++ b/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/conformance_verification/put_update_verification_test_spec.rb @@ -0,0 +1,82 @@ +require_relative 'update_verification_context' + +RSpec.describe SubscriptionsTestKit::SubscriptionsR5BackportR4Client::PutUpdateVerificationTest, :runnable do + include_context 'with client Subscription update requests' + + it 'skips when no Subscription was created' do + expect(run(test).result).to eq('skip') + end + + it 'skips when the created Subscription was not updated' do + create_subscription + expect(run(test).result).to eq('skip') + end + + it 'skips when only a different Subscription id was updated' do + create_subscription + put_subscription(subscription.merge('id' => 'other'), id: 'other') + expect(run(test).result).to eq('skip') + end + + it 'skips when the Subscription was only updated using PATCH' do + create_subscription + patch_subscription(status: 200, response_body: subscription) + + result = run(test) + expect(result.result).to eq('skip') + expect(result.result_message).to match(/did not receive a PUT request/) + end + + it 'passes when the PUT update is conformant' do + validation_request = stub_request(:post, validation_url) + .to_return(status: 200, body: validation_success.to_json) + create_subscription + put_subscription(subscription) + + expect(run(test).result).to eq('pass') + expect(validation_request).to have_been_made + end + + it 'fails when Inferno rejected the PUT update' do + create_subscription + put_subscription(subscription.merge('id' => 'other'), status: 400, + response_body: error_outcome('id does not match')) + + expect(run(test).result).to eq('fail') + expect(entity_result_message).to match(/status 400.*id does not match/m) + end + + it 'ignores PUT updates to a different Subscription id' do + stub_request(:post, validation_url).to_return(status: 200, body: validation_success.to_json) + create_subscription + put_subscription(subscription.merge('id' => 'other'), id: 'other') + put_subscription(subscription) + + expect(run(test).result).to eq('pass') + expect(entity_result_message).to be_empty + end + + it 'fails when any PUT update is not conformant, identifying the request' do + stub_request(:post, validation_url).to_return(status: 200, body: validation_success.to_json) + create_subscription + put_subscription(subscription) + put_subscription(subscription.merge('id' => 'other'), status: 400, + response_body: error_outcome('id does not match')) + + expect(run(test).result).to eq('fail') + expect(entity_result_message).to match(/Request 2: .*status 400.*id does not match/m) + end + + { + 'not a JSON object' => [], + 'null' => nil, + 'missing a channel' => { 'resourceType' => 'Subscription', 'id' => 'abc-123' } + }.each do |description, body| + it "fails when the PUT body is #{description}" do + create_subscription + put_subscription(body) + + expect(run(test).result).to eq('fail') + end + end +end diff --git a/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/conformance_verification/update_verification_context.rb b/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/conformance_verification/update_verification_context.rb new file mode 100644 index 0000000..f0d97fc --- /dev/null +++ b/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/conformance_verification/update_verification_context.rb @@ -0,0 +1,44 @@ +RSpec.shared_context('with client Subscription update requests') do + let(:suite_id) { 'subscriptions_r5_backport_r4_client' } + let(:test) { find_test suite, described_class.id } + let(:result) { repo_create(:result, test_session_id: test_session.id) } + let(:subscription_id) { 'abc-123' } + let(:subscription_base_url) { "http://example.com/custom/#{suite_id}/fhir/Subscription" } + let(:subscription) do + JSON.parse(File.read(File.join(__dir__, '../../../../..', 'fixtures', 'subscription_resource_example.json'))) + .merge('id' => subscription_id) + end + let(:validation_success) { { outcomes: [{ issues: [] }], sessionId: test_session.id } } + + def entity_result_message + Inferno::Repositories::Results.new.current_results_for_test_session_and_runnables(test_session.id, [test]) + .first.messages.map(&:message).join(' ') + end + + def create_request(verb:, url:, status:, tags:, request_body: nil, response_body: nil) + repo_create(:request, verb:, url:, direction: 'incoming', status:, request_body:, response_body:, + result:, test_session_id: test_session.id, tags:) + end + + def create_subscription + create_request(verb: 'POST', url: subscription_base_url, status: 201, + tags: [SubscriptionsTestKit::SUBSCRIPTION_CREATE_TAG], response_body: subscription.to_json) + end + + def put_subscription(body, id: subscription_id, status: 200, response_body: body) + create_request(verb: 'PUT', url: "#{subscription_base_url}/#{id}", status:, + tags: [SubscriptionsTestKit::SUBSCRIPTION_UPDATE_TAG, id], request_body: body.to_json, + response_body: response_body.to_json) + end + + def error_outcome(text) + { resourceType: 'OperationOutcome', issue: [{ severity: 'error', code: 'invalid', details: { text: } }] } + end + + def patch_subscription(status:, response_body:, id: subscription_id) + create_request(verb: 'PATCH', url: "#{subscription_base_url}/#{id}", status:, + tags: [SubscriptionsTestKit::SUBSCRIPTION_UPDATE_TAG, id], + request_body: [{ op: 'replace', path: '/reason', value: 'patched' }].to_json, + response_body: response_body.to_json) + end +end diff --git a/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/update_delete_interaction_test_spec.rb b/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/update_delete_interaction_test_spec.rb new file mode 100644 index 0000000..1d77ed5 --- /dev/null +++ b/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/update_delete_workflow/update_delete_interaction_test_spec.rb @@ -0,0 +1,321 @@ +RSpec.describe SubscriptionsTestKit::SubscriptionsR5BackportR4Client::UpdateDeleteInteractionTest, :request do + let(:suite_id) { 'subscriptions_r5_backport_r4_client' } + let(:test) { find_test suite, described_class.id } + let(:results_repo) { Inferno::Repositories::Results.new } + let(:access_token) { '1234' } + let(:subscription_id) { 'abc-123' } + let(:subscription_url) { "/custom/#{suite_id}/fhir/Subscription/#{subscription_id}" } + let(:resume_pass_url) { "/custom/#{suite_id}/resume_pass" } + let(:subscription) do + subscription = JSON.parse(File.read(File.join(__dir__, '../../../..', 'fixtures', + 'subscription_resource_example.json'))) + # Inferno does not support heartbeats + subscription['channel']['extension'].reject! { |e| e['url'].end_with?('backport-heartbeat-period') } + subscription.merge('id' => subscription_id) + end + let(:notification_json) do + File.read(File.join(__dir__, '../../../..', 'fixtures', 'empty_notification_bundle_example.json')) + end + + def create_subscription_request + repo_create( + :request, + verb: 'POST', + url: "http://example.com/custom/#{suite_id}/fhir/Subscription", + direction: 'incoming', + status: 201, + request_body: subscription.except('id').to_json, + response_body: subscription.to_json, + result: repo_create(:result, test_session_id: test_session.id), + test_session_id: test_session.id, + tags: [SubscriptionsTestKit::SUBSCRIPTION_CREATE_TAG] + ) + end + + def authorize + header 'Authorization', "Bearer #{access_token}" + end + + def json_patch(path, operations, content_type: 'application/json-patch+json') + header 'Content-Type', content_type + patch(path, operations.to_json) + end + + it 'skips when no Subscription was created' do + result = run(test, access_token:) + expect(result.result).to eq('skip') + end + + describe 'when a Subscription was created' do + before { create_subscription_request } + + it 'waits and outputs the url of the Subscription' do + result = run(test, access_token:) + expect(result.result).to eq('wait') + expect(JSON.parse(result.output_json).find { |o| o['name'] == 'subscription_url' }['value']) + .to end_with(subscription_url) + end + + it 'responds to updates and deletes of the Subscription' do + result = run(test, access_token:) + expect(result.result).to eq('wait') + + updated_subscription = subscription.merge('reason' => 'updated reason', 'status' => 'off') + authorize + put(subscription_url, updated_subscription.to_json) + expect(last_response.status).to eq(200) + expect(JSON.parse(last_response.body)).to include('reason' => 'updated reason', 'status' => 'off') + + get(subscription_url) + expect(last_response.status).to eq(200) + expect(JSON.parse(last_response.body)).to include('reason' => 'updated reason', 'status' => 'off') + + delete(subscription_url) + expect(last_response.status).to eq(204) + + get(subscription_url) + expect(last_response.status).to eq(404) + + put(subscription_url, updated_subscription.to_json) + expect(last_response.status).to eq(404) + + get("#{resume_pass_url}?test_run_identifier=#{access_token}") + expect(results_repo.find(result.id).result).to eq('pass') + end + + it 'starts from the created Subscription when an earlier run deleted it' do + run(test, access_token:) + authorize + delete(subscription_url) + expect(last_response.status).to eq(204) + get("#{resume_pass_url}?test_run_identifier=#{access_token}") + + expect(run(test, access_token:).result).to eq('wait') + get(subscription_url) + expect(last_response.status).to eq(200) + end + + it 'starts from the created Subscription when an earlier run updated it' do + run(test, access_token:) + authorize + put(subscription_url, subscription.merge('reason' => 'updated reason').to_json) + get("#{resume_pass_url}?test_run_identifier=#{access_token}") + + expect(run(test, access_token:).result).to eq('wait') + get(subscription_url) + expect(JSON.parse(last_response.body)['reason']).to eq(subscription['reason']) + end + + describe 'while a different test is waiting' do + let(:workflow_test) { find_test suite, SubscriptionsTestKit::SubscriptionsR5BackportR4Client::InteractionTest.id } + + before do + run(workflow_test, access_token:, notification_bundle: notification_json) + authorize + end + + it 'rejects updates and deletes of the Subscription' do + put(subscription_url, subscription.merge('reason' => 'updated reason').to_json) + expect(last_response.status).to eq(422) + + header 'Content-Type', 'application/json-patch+json' + patch(subscription_url, [{ op: 'replace', path: '/reason', value: 'patched reason' }].to_json) + expect(last_response.status).to eq(422) + + delete(subscription_url) + expect(last_response.status).to eq(422) + + get(subscription_url) + expect(last_response.status).to eq(200) + expect(JSON.parse(last_response.body)['reason']).to eq(subscription['reason']) + end + + it 'does not apply rejected changes during a later run of the update and delete tests' do + delete(subscription_url) + get("#{resume_pass_url}?test_run_identifier=#{access_token}") + + run(test, access_token:) + get(subscription_url) + expect(last_response.status).to eq(200) + end + end + + it 'responds to $status requests while waiting' do + session_data_repo.save(test_session_id: test_session.id, name: 'notification_bundle', + value: notification_json, type: 'textarea') + run(test, access_token:) + + authorize + get("#{subscription_url}/$status") + expect(last_response.status).to eq(200) + expect(FHIR.from_contents(last_response.body)).to be_a(FHIR::Bundle) + end + + it 'reports a client-requested off status from $status' do + session_data_repo.save(test_session_id: test_session.id, name: 'notification_bundle', + value: notification_json, type: 'textarea') + run(test, access_token:) + + authorize + put(subscription_url, subscription.merge('status' => 'off').to_json) + + get("#{subscription_url}/$status") + expect(last_response.status).to eq(200) + status_param = FHIR.from_contents(last_response.body).entry.first.resource + .parameter.find { |p| p.name == 'status' } + expect(status_param.valueCode).to eq('off') + end + + it 'rejects a $status request for a Subscription that does not exist' do + session_data_repo.save(test_session_id: test_session.id, name: 'notification_bundle', + value: notification_json, type: 'textarea') + run(test, access_token:) + + authorize + get("/custom/#{suite_id}/fhir/Subscription/other/$status") + expect(last_response.status).to eq(404) + end + + it 'rejects an update when the id in the body does not match the url' do + run(test, access_token:) + + authorize + put(subscription_url, subscription.merge('id' => 'other').to_json) + expect(last_response.status).to eq(400) + end + + it 'rejects an update whose body is not a JSON object' do + run(test, access_token:) + + authorize + put(subscription_url, 'null') + expect(last_response.status).to eq(400) + + get(subscription_url) + expect(last_response.status).to eq(200) + end + + it 'rejects an update of a Subscription that does not exist' do + run(test, access_token:) + + authorize + put("/custom/#{suite_id}/fhir/Subscription/other", subscription.merge('id' => 'other').to_json) + expect(last_response.status).to eq(404) + end + + describe 'with a JSON Patch request' do + before do + run(test, access_token:) + authorize + end + + it 'applies the patch to the Subscription' do + json_patch(subscription_url, [{ op: 'test', path: '/status', value: 'requested' }, + { op: 'replace', path: '/reason', value: 'patched reason' }]) + expect(last_response.status).to eq(200) + expect(JSON.parse(last_response.body)).to include('id' => subscription_id, 'reason' => 'patched reason') + expect(JSON.parse(last_response.body).dig('channel', '_payload')).to be_present + + get(subscription_url) + expect(JSON.parse(last_response.body)).to include('reason' => 'patched reason') + end + + it 'applies the patch to the latest version of the Subscription' do + put(subscription_url, subscription.merge('reason' => 'updated reason').to_json) + json_patch(subscription_url, [{ op: 'test', path: '/reason', value: 'updated reason' }, + { op: 'replace', path: '/status', value: 'off' }]) + expect(last_response.status).to eq(200) + expect(JSON.parse(last_response.body)).to include('reason' => 'updated reason', 'status' => 'off') + end + + it 'rejects patch formats other than JSON Patch' do + json_patch(subscription_url, { resourceType: 'Parameters' }, content_type: 'application/fhir+json') + expect(last_response.status).to eq(415) + end + + it 'rejects a body that is not a JSON Patch document' do + json_patch(subscription_url, { op: 'remove', path: '/reason' }) + expect(last_response.status).to eq(400) + end + + { + 'an unknown op' => { op: 'frob', path: '/reason' }, + 'a missing path' => { op: 'remove' }, + 'a path that is not a string' => { op: 'replace', path: 5, value: 'patched reason' }, + 'a missing value' => { op: 'replace', path: '/reason' }, + 'a missing from' => { op: 'copy', path: '/reason' }, + 'a from that is not a string' => { op: 'move', from: 5, path: '/reason' } + }.each do |description, operation| + it "rejects a JSON Patch operation with #{description}" do + json_patch(subscription_url, [operation]) + expect(last_response.status).to eq(400) + expect(JSON.parse(last_response.body).dig('issue', 0, 'details', 'text')) + .to eq('Request body is not a valid JSON Patch document') + end + end + + it 'accepts a JSON Patch operation with a null value' do + json_patch(subscription_url, [{ op: 'add', path: '/error', value: nil }]) + expect(last_response.status).to eq(200) + end + + it 'rejects a patch that cannot be applied' do + json_patch(subscription_url, [{ op: 'test', path: '/reason', value: 'something else' }]) + expect(last_response.status).to eq(422) + end + + { + 'copies from an array index that does not exist' => [ + { op: 'copy', from: '/channel/header/99', path: '/reason' } + ], + 'has a path through a number' => [ + { op: 'add', path: '/count', value: 1 }, { op: 'add', path: '/count/a/b', value: 1 } + ], + 'has a path through a boolean' => [ + { op: 'add', path: '/flag', value: true }, { op: 'test', path: '/flag/a/b', value: 1 } + ] + }.each do |description, operations| + it "rejects a patch that #{description}" do + json_patch(subscription_url, operations) + expect(last_response.status).to eq(422) + expect(JSON.parse(last_response.body).dig('issue', 0, 'details', 'text')) + .to start_with('Unable to apply JSON Patch') + end + end + + it 'accepts a JSON Patch Content-Type in any case' do + json_patch(subscription_url, [{ op: 'replace', path: '/reason', value: 'patched reason' }], + content_type: 'Application/JSON-Patch+json') + expect(last_response.status).to eq(200) + end + + [nil, 'not a subscription', []].each do |value| + it "rejects a patch that replaces the Subscription with #{value.inspect}" do + json_patch(subscription_url, [{ op: 'replace', path: '', value: }]) + expect(last_response.status).to eq(422) + + get(subscription_url) + expect(last_response.status).to eq(200) + end + end + + it 'rejects a patch that results in a Subscription Inferno does not support' do + json_patch(subscription_url, [{ op: 'replace', path: '/channel/type', value: 'websocket' }]) + expect(last_response.status).to eq(400) + end + + it 'rejects a patch that changes the Subscription id' do + json_patch(subscription_url, [{ op: 'replace', path: '/id', value: 'other' }]) + expect(last_response.status).to eq(400) + end + end + + it 'rejects a delete of a Subscription that does not exist' do + run(test, access_token:) + + authorize + delete("/custom/#{suite_id}/fhir/Subscription/other") + expect(last_response.status).to eq(404) + end + end +end diff --git a/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/workflow/interaction_test_spec.rb b/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/workflow/interaction_test_spec.rb index fafefd6..c85c8da 100644 --- a/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/workflow/interaction_test_spec.rb +++ b/spec/subscriptions_test_kit/suites/subscription_r5_backport_r4_client/workflow/interaction_test_spec.rb @@ -35,6 +35,40 @@ expect(result.result).to eq('pass') end + describe 'when the client creates a Subscription' do + let(:subscription_path) { "/custom/#{suite_id}/fhir/Subscription" } + let(:subscription) do + subscription = JSON.parse(File.read(File.join(__dir__, '../../../..', 'fixtures', + 'subscription_resource_example.json'))) + # Inferno does not support heartbeats + subscription['channel']['extension'].reject! { |e| e['url'].end_with?('backport-heartbeat-period') } + subscription + end + + before do + run(test, access_token:, notification_bundle: valid_notification_json) + header 'Authorization', "Bearer #{access_token}" + end + + it 'rejects a request body that is not a Subscription' do + post(subscription_path, 'not json') + expect(last_response.status).to eq(400) + expect(JSON.parse(last_response.body).dig('issue', 0, 'code')).to eq('invalid') + end + + it 'rejects a second Subscription' do + repo_create(:request, verb: 'POST', url: "http://example.com#{subscription_path}", direction: 'incoming', + status: 201, response_body: subscription.merge('id' => 'abc-123').to_json, + result: repo_create(:result, test_session_id: test_session.id), + test_session_id: test_session.id, + tags: [SubscriptionsTestKit::SUBSCRIPTION_CREATE_TAG]) + + post(subscription_path, subscription.to_json) + expect(last_response.status).to eq(400) + expect(JSON.parse(last_response.body).dig('issue', 0, 'code')).to eq('business-rule') + end + end + it 'fails when the tester chooses to fail the tests' do inputs = { access_token:, notification_bundle: valid_notification_json } result = run(test, inputs) diff --git a/subscriptions_test_kit.gemspec b/subscriptions_test_kit.gemspec index 6bd6d55..b04781f 100644 --- a/subscriptions_test_kit.gemspec +++ b/subscriptions_test_kit.gemspec @@ -9,7 +9,8 @@ Gem::Specification.new do |spec| spec.homepage = 'https://github.com/inferno-framework/subscriptions-test-kit' spec.license = 'Apache-2.0' spec.add_dependency 'faraday', '~> 1.10.5' - spec.add_dependency 'inferno_core', '~> 1.3', '>= 1.3.1' + spec.add_dependency 'hana', '~> 1.3' + spec.add_dependency 'inferno_core', '~> 1.4', '>= 1.4.6' spec.required_ruby_version = Gem::Requirement.new('>= 3.3.6') spec.metadata['inferno_test_kit'] = 'true' spec.metadata['homepage_uri'] = spec.homepage