This page is part of the FHIR Specification (v1.4.0: STU 3 Ballot 3). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
Detailed Descriptions for the elements in the Subscription resource.
Subscription | |
Definition | The subscription resource is used to define a push based subscription from a server to another system. Once a subscription is registered with the server, the server checks every resource that is created or updated, and if the resource matches the given criteria, it sends a message on the defined "channel" so that another system is able to take an appropriate action. |
Control | 1..1 |
Alternate Names | WebHook; Hook; Routing Rule |
Summary | true |
Subscription.criteria | |
Definition | The rules that the server should use to determine when to generate notifications for this subscription. |
Control | 1..1 |
Type | string |
Summary | true |
Comments | The rules are a search criteria (without the [base] part). Like Bundle.entry.request.url, it has no leading "/". |
Subscription.contact | |
Definition | Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting. |
Control | 0..* |
Type | ContactPoint |
Summary | true |
Subscription.reason | |
Definition | A description of why this subscription is defined. |
Control | 1..1 |
Type | string |
Summary | true |
Subscription.status | |
Definition | The status of the subscription, which marks the server state for managing the subscription. |
Control | 1..1 |
Binding | SubscriptionStatus: The status of a subscription. (Required) |
Type | code |
Is Modifier | true |
Summary | true |
Comments | A client can only submit subscription resources in the requested or off state. Only the server can move a subscription from requested to active, and then to error. Either the server or the client can turn a subscription off. |
Subscription.error | |
Definition | A record of the last error that occurred when the server processed a notification. |
Control | 0..1 |
Type | string |
Summary | true |
Subscription.channel | |
Definition | Details where to send notifications when resources are received that meet the criteria. |
Control | 1..1 |
Summary | true |
Subscription.channel.type | |
Definition | The type of channel to send notifications on. |
Control | 1..1 |
Binding | SubscriptionChannelType: The type of method used to execute a subscription. (Required) |
Type | code |
Summary | true |
Subscription.channel.endpoint | |
Definition | The uri that describes the actual end-point to send messages to. |
Control | 0..1 |
Type | uri |
Summary | true |
Comments | For rest-hook, and websocket, the end-point must be an http: or https: URL; for email, a mailto: url, for sms, a tel: url, and for message the endpoint can be in any form of url the server understands (usually, http: or mllp:). The URI is allowed to be relative; in which case, it is relative to the server end-point (since their may be more than one, clients should avoid using relative URIs). |
Subscription.channel.payload | |
Definition | The mime type to send the payload in - either application/xml+fhir, or application/json+fhir. If the mime type is blank, then there is no payload in the notification, just a notification. |
Control | 1..1 |
Type | string |
Summary | true |
Comments | Sending the payload has obvious security consequences. The server is responsible for ensuring that the content is appropriately secured. |
Subscription.channel.header | |
Definition | Additional headers / information to send as part of the notification. |
Control | 0..1 |
Type | string |
Summary | true |
Comments | Exactly what these mean depend on the channel type. The can convey additional information to the recipient and/or meet security requirements. |
Subscription.end | |
Definition | The time for the server to turn the subscription off. |
Control | 0..1 |
Type | instant |
Summary | true |
Comments | The server is permitted to deviate from this time, but should observe it. |
Subscription.tag | |
Definition | A tag to add to any resource that matches the criteria, after the subscription is processed. |
Control | 0..* |
Binding | SubscriptionTag: Tags to put on a resource after subscriptions have been sent. (Example) |
Type | Coding |
Summary | true |
Comments | So that other systems can tell which resources have been the subject of a notification. |