This page is part of the FHIR Specification (v5.0.0-snapshot3: R5 Snapshot #3, to support Connectathon 32). 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
FHIR Infrastructure Work Group | Maturity Level: 2 | Trial Use | Security Category: Business | Compartments: Not linked to any defined compartments |
Detailed Descriptions for the elements in the Subscription resource.
| Subscription | |
| Element Id | Subscription |
| Definition | The subscription resource describes a particular client's request to be notified about a SubscriptionTopic. |
| Short Display | Notification about a SubscriptionTopic |
| Cardinality | 0..* |
| Type | DomainResource |
| Alternate Names | WebHook; Hook; Routing Rule |
| Summary | false |
| Subscription.identifier | |
| Element Id | Subscription.identifier |
| Definition | A formal identifier that is used to identify this code system when it is represented in other formats, or referenced in a specification, model, design or an instance. |
| Short Display | Additional identifiers (business identifier) |
| Note | This is a business identifier, not a resource identifier (see discussion) |
| Cardinality | 0..* |
| Type | Identifier |
| Summary | true |
| Subscription.name | |
| Element Id | Subscription.name |
| Definition | A natural language name identifying the subscription. |
| Short Display | Human readable name for this subscription |
| Cardinality | 0..1 |
| Type | string |
| Summary | true |
| Subscription.status | |
| Element Id | Subscription.status |
| Definition | The status of the subscription, which marks the server state for managing the subscription. |
| Short Display | requested | active | error | off | entered-in-error |
| Cardinality | 1..1 |
| Terminology Binding | Subscription Status (Required) |
| Type | code |
| Is Modifier | true (Reason: This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid) |
| 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. This element is labeled as a modifier because the status contains codes that mark the resource as not currently valid. |
| Subscription.topic | |
| Element Id | Subscription.topic |
| Definition | The reference to the subscription topic to be notified about. |
| Short Display | Reference to the subscription topic being subscribed to |
| Cardinality | 1..1 |
| Type | canonical(SubscriptionTopic) |
| Summary | true |
| Subscription.contact | |
| Element Id | Subscription.contact |
| Definition | Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting. |
| Short Display | Contact details for source (e.g. troubleshooting) |
| Cardinality | 0..* |
| Type | ContactPoint |
| Summary | true |
| Subscription.end | |
| Element Id | Subscription.end |
| Definition | The time for the server to turn the subscription off. |
| Short Display | When to automatically delete the subscription |
| Cardinality | 0..1 |
| Type | instant |
| Summary | true |
| Comments | The server is permitted to deviate from this time but should observe it. |
| Subscription.managingEntity | |
| Element Id | Subscription.managingEntity |
| Definition | Entity with authorization to make subsequent revisions to the Subscription and also determines what data the subscription is authorized to disclose. |
| Short Display | Entity responsible for Subscription changes |
| Cardinality | 0..1 |
| Type | Reference(CareTeam | HealthcareService | Organization | RelatedPerson | Patient | Practitioner | PractitionerRole) |
| Summary | true |
| Subscription.reason | |
| Element Id | Subscription.reason |
| Definition | A description of why this subscription is defined. |
| Short Display | Description of why this subscription was created |
| Cardinality | 0..1 |
| Type | string |
| Summary | true |
| Subscription.filterBy | |
| Element Id | Subscription.filterBy |
| Definition | The filter properties to be applied to narrow the subscription topic stream. When multiple filters are applied, evaluates to true if all the conditions are met; otherwise it returns false. (i.e., logical AND). |
| Short Display | Criteria for narrowing the subscription topic stream |
| Cardinality | 0..* |
| Summary | true |
| Subscription.filterBy.resourceType | |
| Element Id | Subscription.filterBy.resourceType |
| Definition | If the element is a reference to another resource, this element contains "Reference", and the targetProfile element defines what resources can be referenced. The targetProfile may be a reference to the general definition of a resource (e.g. http://hl7.org/fhir/StructureDefinition/Patient). |
| Short Display | Allowed Data type or Resource (reference to definition) for this Subscription |
| Cardinality | 0..1 |
| Terminology Binding | All FHIR Types (Extensible) |
| Type | uri |
| Summary | true |
| Subscription.filterBy.filterParameter | |
| Element Id | Subscription.filterBy.filterParameter |
| Definition | The filter as defined in the |
| Short Display | Filter label defined in SubscriptionTopic |
| Cardinality | 1..1 |
| Type | string |
| Summary | true |
| Subscription.filterBy.modifier | |
| Element Id | Subscription.filterBy.modifier |
| Definition | Operator to apply when determining matches (Search Modifiers), from the list of allowed modifiers for this filter in the relevant SubscriptionTopic. |
| Short Display | = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type |
| Cardinality | 0..1 |
| Terminology Binding | Subscription Search Modifier (Required) |
| Type | code |
| Summary | true |
| Comments | If filterDefinition refers to a SearchParameter, then the modifiers indicated must be allowed by the SearchParameter. |
| Subscription.filterBy.value | |
| Element Id | Subscription.filterBy.value |
| Definition | The literal value or resource path as is legal in search - for example, "Patient/123" or "le1950". |
| Short Display | Literal value or resource path |
| Cardinality | 1..1 |
| Type | string |
| Summary | true |
| Subscription.channelType | |
| Element Id | Subscription.channelType |
| Definition | The type of channel to send notifications on. |
| Short Display | Channel type for notifications |
| Cardinality | 1..1 |
| Terminology Binding | Subscription Channel Type (Extensible) |
| Type | Coding |
| Summary | true |
| Subscription.endpoint | |
| Element Id | Subscription.endpoint |
| Definition | The url that describes the actual end-point to send messages to. |
| Short Display | Where the channel points to |
| Cardinality | 0..1 |
| Type | url |
| Summary | true |
| Comments | For rest-hook the end-point must be an http: or https: URL; for websocket ws: or wss:; for email, a mailto: url; and for message the endpoint can be in any form of url the server understands (usually, http/s: or mllp:). The URI is allowed to be relative; in which case, it is relative to the server end-point (since there may be more than one, clients should avoid using relative URIs). |
| Subscription.header | |
| Element Id | Subscription.header |
| Definition | Additional headers / information to send as part of the notification. |
| Short Display | Usage depends on the channel type |
| Cardinality | 0..* |
| Type | string |
| Summary | true |
| Comments | Exactly what these mean depend on the channel type. They can convey additional information to the recipient and/or meet security requirements; for example, support of multiple headers in the outgoing notifications for rest-hook type subscriptions. |
| Subscription.heartbeatPeriod | |
| Element Id | Subscription.heartbeatPeriod |
| Definition | If present, a 'hearbeat" notification (keepalive) is sent via this channel with an the interval period equal to this elements integer value in seconds. If not present, a heartbeat notification is not sent. |
| Short Display | Interval in seconds to send 'heartbeat' notification |
| Cardinality | 0..1 |
| Type | unsignedInt |
| Summary | true |
| Subscription.timeout | |
| Element Id | Subscription.timeout |
| Definition | If present, the maximum amount of time a server will allow before failing a notification attempt. |
| Short Display | Timeout in seconds to attempt notification delivery |
| Cardinality | 0..1 |
| Type | unsignedInt |
| Summary | true |
| Subscription.contentType | |
| Element Id | Subscription.contentType |
| Definition | The mime type to send the payload in - either application/fhir+xml, or application/fhir+json. The MIME types "text/plain" and "text/html" may also be used for Email subscriptions. |
| Short Display | MIME type to send, or omit for no payload |
| Cardinality | 0..1 |
| Terminology Binding | Mime Types (Required) |
| Type | code |
| Summary | true |
| Subscription.content | |
| Element Id | Subscription.content |
| Definition | How much of the resource content to deliver in the notification payload. The choices are an empty payload, only the resource id, or the full resource content. |
| Short Display | empty | id-only | full-resource |
| Cardinality | 0..1 |
| Terminology Binding | SubscriptionPayloadContent (Required) |
| Type | code |
| Summary | true |
| Comments | Sending the payload has obvious security implications. The server is responsible for ensuring that the content is appropriately secured. |
| Subscription.maxCount | |
| Element Id | Subscription.maxCount |
| Definition | If present, the maximum number of triggering resources that will be included in a notification bundle (e.g., a server will not include more than this number of trigger resources in a single notification). Note that this is not a strict limit on the number of entries in a bundle, as dependent resources can be included. |
| Short Display | Maximum number of triggering resources included in notification bundles |
| Cardinality | 0..1 |
| Type | positiveInt |
| Summary | true |