Profiles & Operations > Profile: Subscription Notification Bundle
Profile: Subscription Notification Bundle
The Subscription Notification Bundle resource is used by the server to notify a subscription client of available content, for example, HealthcareService or DiagnosticReport resourcesthat have been created or updated.
In order to align with the use of FHIR R4 at OntarioHealth, Subscription Notification Bundles are expected to conform to the Bundle profile defined by the Subscriptions R5 Backport Implementation Guide.
This profile provides guidance for implementing FHIR R5 Bundle resource features & elements using FHIR R4.
Simplifier project page: R4B Topic-Based Subscription Notification Bundle
Derived from: Subscription R5 Backport
| Canonical_URL | Profile_Status | Profile_Version | FHIR_Version |
|---|---|---|---|
| http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification | active | 1.2.0-ballot | 4.3.0 |
Formal Views of Profile Content
Description of Profiles, Differentials, Snapshots and how the different presentations work
Differential View
| BackportSubscriptionNotificationR4 (Bundle) | C | Bundle | |
| id | Σ | 0..1 | string |
| meta | Σ | 0..1 | Meta |
| implicitRules | Σ ?! | 0..1 | uri |
| language | 0..1 | codeBinding | |
| identifier | Σ | 0..1 | Identifier |
| type | Σ | 1..1 | codeBindingPattern |
| timestamp | Σ | 0..1 | instant |
| total | Σ C | 0..1 | unsignedInt |
| link | Σ | 0..* | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| relation | Σ | 1..1 | string |
| url | Σ | 1..1 | uri |
| entry | Σ C | 1..* | BackboneElement |
| (All Slices) | |||
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| link | Σ | 0..* | see (link) |
| fullUrl | Σ | 0..1 | uri |
| resource | Σ | 0..1 | Resource |
| search | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| mode | Σ | 0..1 | codeBinding |
| score | Σ | 0..1 | decimal |
| request | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| method | Σ | 1..1 | codeBinding |
| url | Σ | 1..1 | uri |
| ifNoneMatch | Σ | 0..1 | string |
| ifModifiedSince | Σ | 0..1 | instant |
| ifMatch | Σ | 0..1 | string |
| ifNoneExist | Σ | 0..1 | string |
| response | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| status | Σ | 1..1 | string |
| location | Σ | 0..1 | uri |
| etag | Σ | 0..1 | string |
| lastModified | Σ | 0..1 | instant |
| outcome | Σ | 0..1 | Resource |
| subscriptionStatus | S Σ C | 1..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| link | Σ | 0..* | see (link) |
| fullUrl | Σ | 0..1 | uri |
| resource | S | 1..1 | BackportSubscriptionStatusR4 |
| search | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| mode | Σ | 0..1 | codeBinding |
| score | Σ | 0..1 | decimal |
| request | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| method | Σ | 1..1 | codeBinding |
| url | Σ | 1..1 | uri |
| ifNoneMatch | Σ | 0..1 | string |
| ifModifiedSince | Σ | 0..1 | instant |
| ifMatch | Σ | 0..1 | string |
| ifNoneExist | Σ | 0..1 | string |
| response | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| status | Σ | 1..1 | string |
| location | Σ | 0..1 | uri |
| etag | Σ | 0..1 | string |
| lastModified | Σ | 0..1 | instant |
| outcome | Σ | 0..1 | Resource |
| signature | Σ | 0..1 | Signature |
Hybrid View
| BackportSubscriptionNotificationR4 (Bundle) | C | Bundle | |
| id | Σ | 0..1 | string |
| meta | Σ | 0..1 | Meta |
| implicitRules | Σ ?! | 0..1 | uri |
| language | 0..1 | codeBinding | |
| identifier | Σ | 0..1 | Identifier |
| type | Σ | 1..1 | codeBindingPattern |
| timestamp | Σ | 0..1 | instant |
| total | Σ C | 0..1 | unsignedInt |
| link | Σ | 0..* | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| relation | Σ | 1..1 | string |
| url | Σ | 1..1 | uri |
| entry | Σ C | 1..* | BackboneElement |
| (All Slices) | |||
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| link | Σ | 0..* | see (link) |
| fullUrl | Σ | 0..1 | uri |
| resource | Σ | 0..1 | Resource |
| search | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| mode | Σ | 0..1 | codeBinding |
| score | Σ | 0..1 | decimal |
| request | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| method | Σ | 1..1 | codeBinding |
| url | Σ | 1..1 | uri |
| ifNoneMatch | Σ | 0..1 | string |
| ifModifiedSince | Σ | 0..1 | instant |
| ifMatch | Σ | 0..1 | string |
| ifNoneExist | Σ | 0..1 | string |
| response | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| status | Σ | 1..1 | string |
| location | Σ | 0..1 | uri |
| etag | Σ | 0..1 | string |
| lastModified | Σ | 0..1 | instant |
| outcome | Σ | 0..1 | Resource |
| subscriptionStatus | S Σ C | 1..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| link | Σ | 0..* | see (link) |
| fullUrl | Σ | 0..1 | uri |
| resource | S | 1..1 | BackportSubscriptionStatusR4 |
| search | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| mode | Σ | 0..1 | codeBinding |
| score | Σ | 0..1 | decimal |
| request | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| method | Σ | 1..1 | codeBinding |
| url | Σ | 1..1 | uri |
| ifNoneMatch | Σ | 0..1 | string |
| ifModifiedSince | Σ | 0..1 | instant |
| ifMatch | Σ | 0..1 | string |
| ifNoneExist | Σ | 0..1 | string |
| response | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| status | Σ | 1..1 | string |
| location | Σ | 0..1 | uri |
| etag | Σ | 0..1 | string |
| lastModified | Σ | 0..1 | instant |
| outcome | Σ | 0..1 | Resource |
| signature | Σ | 0..1 | Signature |
Snapshot View
| BackportSubscriptionNotificationR4 (Bundle) | C | Bundle | |
| id | Σ | 0..1 | string |
| meta | Σ | 0..1 | Meta |
| implicitRules | Σ ?! | 0..1 | uri |
| language | 0..1 | codeBinding | |
| identifier | Σ | 0..1 | Identifier |
| type | Σ | 1..1 | codeBindingPattern |
| timestamp | Σ | 0..1 | instant |
| total | Σ C | 0..1 | unsignedInt |
| link | Σ | 0..* | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| relation | Σ | 1..1 | string |
| url | Σ | 1..1 | uri |
| entry | Σ C | 1..* | BackboneElement |
| (All Slices) | |||
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| link | Σ | 0..* | see (link) |
| fullUrl | Σ | 0..1 | uri |
| resource | Σ | 0..1 | Resource |
| search | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| mode | Σ | 0..1 | codeBinding |
| score | Σ | 0..1 | decimal |
| request | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| method | Σ | 1..1 | codeBinding |
| url | Σ | 1..1 | uri |
| ifNoneMatch | Σ | 0..1 | string |
| ifModifiedSince | Σ | 0..1 | instant |
| ifMatch | Σ | 0..1 | string |
| ifNoneExist | Σ | 0..1 | string |
| response | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| status | Σ | 1..1 | string |
| location | Σ | 0..1 | uri |
| etag | Σ | 0..1 | string |
| lastModified | Σ | 0..1 | instant |
| outcome | Σ | 0..1 | Resource |
| subscriptionStatus | S Σ C | 1..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| link | Σ | 0..* | see (link) |
| fullUrl | Σ | 0..1 | uri |
| resource | S | 1..1 | BackportSubscriptionStatusR4 |
| search | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| mode | Σ | 0..1 | codeBinding |
| score | Σ | 0..1 | decimal |
| request | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| method | Σ | 1..1 | codeBinding |
| url | Σ | 1..1 | uri |
| ifNoneMatch | Σ | 0..1 | string |
| ifModifiedSince | Σ | 0..1 | instant |
| ifMatch | Σ | 0..1 | string |
| ifNoneExist | Σ | 0..1 | string |
| response | Σ C | 0..1 | BackboneElement |
| id | 0..1 | string | |
| extension | C | 0..* | Extension |
| modifierExtension | Σ ?! C | 0..* | Extension |
| status | Σ | 1..1 | string |
| location | Σ | 0..1 | uri |
| etag | Σ | 0..1 | string |
| lastModified | Σ | 0..1 | instant |
| outcome | Σ | 0..1 | Resource |
| signature | Σ | 0..1 | Signature |
Table View
| Bundle | 0..* | |
| Bundle.id | id | 0..1 |
| Bundle.meta | Meta | 0..1 |
| Bundle.implicitRules | uri | 0..1 |
| Bundle.language | code | 0..1 |
| Bundle.identifier | Identifier | 0..1 |
| Bundle.type | code | 1..1 |
| Bundle.timestamp | instant | 0..1 |
| Bundle.total | unsignedInt | 0..1 |
| Bundle.link | BackboneElement | 0..* |
| Bundle.link.id | string | 0..1 |
| Bundle.link.extension | Extension | 0..* |
| Bundle.link.modifierExtension | Extension | 0..* |
| Bundle.link.relation | string | 1..1 |
| Bundle.link.url | uri | 1..1 |
| Bundle.entry | BackboneElement | 1..* |
| Bundle.entry.id | string | 0..1 |
| Bundle.entry.extension | Extension | 0..* |
| Bundle.entry.modifierExtension | Extension | 0..* |
| Bundle.entry.link | 0..* | |
| Bundle.entry.fullUrl | uri | 0..1 |
| Bundle.entry.resource | Resource | 0..1 |
| Bundle.entry.search | BackboneElement | 0..1 |
| Bundle.entry.search.id | string | 0..1 |
| Bundle.entry.search.extension | Extension | 0..* |
| Bundle.entry.search.modifierExtension | Extension | 0..* |
| Bundle.entry.search.mode | code | 0..1 |
| Bundle.entry.search.score | decimal | 0..1 |
| Bundle.entry.request | BackboneElement | 0..1 |
| Bundle.entry.request.id | string | 0..1 |
| Bundle.entry.request.extension | Extension | 0..* |
| Bundle.entry.request.modifierExtension | Extension | 0..* |
| Bundle.entry.request.method | code | 1..1 |
| Bundle.entry.request.url | uri | 1..1 |
| Bundle.entry.request.ifNoneMatch | string | 0..1 |
| Bundle.entry.request.ifModifiedSince | instant | 0..1 |
| Bundle.entry.request.ifMatch | string | 0..1 |
| Bundle.entry.request.ifNoneExist | string | 0..1 |
| Bundle.entry.response | BackboneElement | 0..1 |
| Bundle.entry.response.id | string | 0..1 |
| Bundle.entry.response.extension | Extension | 0..* |
| Bundle.entry.response.modifierExtension | Extension | 0..* |
| Bundle.entry.response.status | string | 1..1 |
| Bundle.entry.response.location | uri | 0..1 |
| Bundle.entry.response.etag | string | 0..1 |
| Bundle.entry.response.lastModified | instant | 0..1 |
| Bundle.entry.response.outcome | Resource | 0..1 |
| Bundle.entry:subscriptionStatus | BackboneElement | 1..1 |
| Bundle.entry:subscriptionStatus.id | string | 0..1 |
| Bundle.entry:subscriptionStatus.extension | Extension | 0..* |
| Bundle.entry:subscriptionStatus.modifierExtension | Extension | 0..* |
| Bundle.entry:subscriptionStatus.link | 0..* | |
| Bundle.entry:subscriptionStatus.fullUrl | uri | 0..1 |
| Bundle.entry:subscriptionStatus.resource | BackportSubscriptionStatusR4 | 1..1 |
| Bundle.entry:subscriptionStatus.search | BackboneElement | 0..1 |
| Bundle.entry:subscriptionStatus.search.id | string | 0..1 |
| Bundle.entry:subscriptionStatus.search.extension | Extension | 0..* |
| Bundle.entry:subscriptionStatus.search.modifierExtension | Extension | 0..* |
| Bundle.entry:subscriptionStatus.search.mode | code | 0..1 |
| Bundle.entry:subscriptionStatus.search.score | decimal | 0..1 |
| Bundle.entry:subscriptionStatus.request | BackboneElement | 0..1 |
| Bundle.entry:subscriptionStatus.request.id | string | 0..1 |
| Bundle.entry:subscriptionStatus.request.extension | Extension | 0..* |
| Bundle.entry:subscriptionStatus.request.modifierExtension | Extension | 0..* |
| Bundle.entry:subscriptionStatus.request.method | code | 1..1 |
| Bundle.entry:subscriptionStatus.request.url | uri | 1..1 |
| Bundle.entry:subscriptionStatus.request.ifNoneMatch | string | 0..1 |
| Bundle.entry:subscriptionStatus.request.ifModifiedSince | instant | 0..1 |
| Bundle.entry:subscriptionStatus.request.ifMatch | string | 0..1 |
| Bundle.entry:subscriptionStatus.request.ifNoneExist | string | 0..1 |
| Bundle.entry:subscriptionStatus.response | BackboneElement | 0..1 |
| Bundle.entry:subscriptionStatus.response.id | string | 0..1 |
| Bundle.entry:subscriptionStatus.response.extension | Extension | 0..* |
| Bundle.entry:subscriptionStatus.response.modifierExtension | Extension | 0..* |
| Bundle.entry:subscriptionStatus.response.status | string | 1..1 |
| Bundle.entry:subscriptionStatus.response.location | uri | 0..1 |
| Bundle.entry:subscriptionStatus.response.etag | string | 0..1 |
| Bundle.entry:subscriptionStatus.response.lastModified | instant | 0..1 |
| Bundle.entry:subscriptionStatus.response.outcome | Resource | 0..1 |
| Bundle.signature | Signature | 0..1 |
JSON View
Usage Notes:
.type
- FHIR R4 does not have a subscription-notification Bundle type, so "history" must be used
.entry:subscriptionStatus
- The first entry in the bundle must be a Parameter resource, conforming to the BackportSubscriptionStatusR4 profile (See Profile: Subscription Status from this IG's drop-down)
.entry
- After the first subscriptionStatus entry element, the remaining elements will be the payload of the subscription (referenced in the subscriptionStatus entry), e.g. HealthcareService resources