FHIR Release 3 (STU) CI-Build

This page is part of the FHIR Specification (v3.0.2: STU 3). The current version which supercedes this version is 5.0.0 . For a full list Continuous Integration Build of available versions, see FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon . Page versions: R5 R4B R4 R3 R2

Responsible Owner: FHIR Infrastructure icon Work Group   Normative Maturity Level : 3   Trial Use Security Category : Business Compartments : Not linked to any No defined compartments

Detailed Descriptions for the elements in the Subscription resource.

Control Control Control Control Control
Definition Element Id Subscription
Definition

The subscription resource is used describes a particular client's request to define be notified about a push based subscription from SubscriptionTopic.

Short Display Information about a server request for notifications 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 client based on the defined "channel" so that another system is able to take an appropriate action. a SubscriptionTopic
Control Cardinality 0..*
1..1 Type DomainResource
Alternate Names WebHook; Hook; Routing Rule
Summary false
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
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
Definition 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
Control Cardinality 1..1
Terminology Binding SubscriptionStatus 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.

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
Definition 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)
Control Cardinality 0..*
Type ContactPoint
Summary true
Definition Element Id Subscription.end
Definition

The time for the server to turn the subscription off.

Short Display When to automatically delete the subscription
Control Cardinality 0..1
Type instant
Summary true
Comments

The server is permitted to deviate from this time, time but should observe it.

Element Id Subscription.managingEntity
Definition

Entity with authorization to communicate with the server about this Subscription, such as requesting changes (e.g., updating an endpoint URL).

Short Display Entity responsible for Subscription changes
Cardinality 0..1
Type Reference ( CareTeam | Device | Group | HealthcareService | Organization | RelatedPerson | Patient | Practitioner | PractitionerRole )
Summary true
Comments

Note that the managing entity for a subscription does not need to be the client (e.g., in the case of server-managed Subscriptions).

Definition Element Id Subscription.reason
Definition

A description of why this subscription is defined.

Short Display Description of why this subscription was created
Control Cardinality 1..1 0..1
Type string
Summary true
Definition Element Id Subscription.filterBy
Definition

The rules that filter properties to be applied to narrow the server should use subscription topic stream. When multiple filters are applied, evaluates to determine when true if all the conditions applicable to generate notifications that resource are met; otherwise it returns false (i.e., logical AND).

Short Display Criteria for narrowing the subscription topic stream
Cardinality 0..*
Summary true
Constraints
Defined on this subscription. element
scr-1 Rule Subscription filters may only contain a modifier or a comparator (comparator.exists() and modifier.exists()).not()
Element Id Subscription.filterBy.resource
Definition

A resource listed in the SubscriptionTopic this Subscription references ( SubscriptionTopic.canFilterBy.resource ). This element can be used to differentiate filters for topics that include more than one resource type.

Short Display Allowed Resource (reference to definition) for this Subscription filter
Cardinality 0..1
1..1 Terminology Binding Types used with Subscriptions ( Extensible )
Additional Bindings Purpose
All Resource Types UI Binding
Type uri
Summary true
Element Id Subscription.filterBy.filterParameter
Definition

The filter as defined in the SubscriptionTopic.canFilterBy.filterParameter element.

Short Display Filter label defined in SubscriptionTopic
Cardinality 1..1
Type string
Summary true
Comments Element Id Subscription.filterBy.comparator
Definition

The rules are Comparator applied to this filter parameter.

Short Display eq | ne | gt | lt | ge | le | sa | eb | ap
Cardinality 0..1
Terminology Binding Search Comparator ( Required )
Type code
Summary false
Comments

Must be a search criteria (without comparator allowed by the [base] part). Like Bundle.entry.request.url, it has no leading "/". SubscriptionTopic relevant to this Subscription filter.

Constraints
Affect this element
scr-1 Rule Subscription filters may only contain a modifier or a comparator (comparator.exists() and modifier.exists()).not()
Element Id Subscription.filterBy.modifier
Definition

Modifier applied to this filter parameter.

Short Display missing | exact | contains | not | text | in | not-in | below | above | type | identifier | of-type | code-text | text-advanced | iterate
Cardinality 0..1
Terminology Binding Search Modifier Code ( Required )
Type code
Summary false
Comments

A record of the last error that occurred when the server processed Must be a notification. modifier allowed by the SubscriptionTopic relevant to this Subscription filter.

Constraints Control
Affect this element
scr-1 Rule Subscription filters may only contain a modifier or a comparator 0..1 (comparator.exists() and modifier.exists()).not()
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
Definition Element Id Subscription.filterBy.event
Definition

Details where An event filter to be applied to send notifications when resources are received that meet the criteria. topic - e.g., if a topic defined multiple event triggers, this can be used to specify a single one. Multiple values are or-joined, multiple codings within a value are and-joined.

Short Display Event to filter by
Cardinality 0..*
1..1 Terminology Binding hl7VS-eventCode icon ( Example )
Type CodeableConcept
Summary true
Definition Element Id Subscription.channelType
Definition

The type of channel to send notifications on.

Short Display Channel type for notifications
Cardinality 1..1
Terminology Binding SubscriptionChannelType Subscription Channel Type ( Required Extensible )
Type code Coding
Summary true
Definition Element Id Subscription.endpoint
Definition

The uri Channel-specific URL that describes the actual end-point to send messages to. where notifications are sent.

Short Display URL where the channel sends notifications
Control Cardinality 0..1
Type uri url
Summary true
Comments

The URL requirements are based on channel type. For rest-hook, and websocket, example, in a rest-hook channel, the end-point URL must be an http: use the http or https: URL; for email, a mailto: url, for sms, a tel: url, https protocol and for message the endpoint can be supplied by the client; in any form of url a websocket channel, the server understands (usually, http: URL uses the ws or mllp:). The wss protocol and is supplied by the server.

Note that the URI is allowed to be relative; in which case, it is relative. Relative URLs are relative to the FHIR server end-point base URL (since their there may be more than one, clients should avoid using relative URIs).

Definition Element Id Subscription.parameter
Definition

The mime type Channel-dependent information to send as part of the payload in - either application/fhir+xml, notification (e.g., HTTP Headers).

Short Display Channel type dependent information
Cardinality 0..*
Summary false
Comments

Exactly what these mean depends on the channel type. They can convey additional information to the server or application/fhir+json. If recipient and/or meet security requirements; for example, support of multiple headers in the payload is outgoing notifications for rest-hook type subscriptions. Note that names are not present, then there is no payload required to be unique, but channel definitions can impose restrictions.

Element Id Subscription.parameter.name
Definition

Parameter name for information passed to the channel for notifications, for example in the notification, just case of a notification. REST hook wanting to pass through an authorization header, the name would be Authorization.

Short Display Name (key) of the parameter
Cardinality 0..1 1..1
Type string
Summary true false
Comments Element Id Subscription.parameter.value
Definition

Sending Parameter value for information passed to the payload has obvious security implications. The server is responsible channel for ensuring that notifications, for example in the content is appropriately secured. case of a REST hook wanting to pass through an authorization header, the value would be Bearer 0193... .

Short Display Value of the parameter to use or pass through
Cardinality 1..1
Type string
Summary false
Definition Element Id Subscription.heartbeatPeriod
Definition

Additional headers / information If present, a 'heartbeat' notification (keep-alive) is sent via this channel with an 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 as part of 'heartbeat' notification
Cardinality 0..1
Type unsignedInt
Summary true
Element Id Subscription.timeout
Definition

If present, the notification. maximum amount of time a server will allow before failing a notification attempt.

Short Display Timeout in seconds to attempt notification delivery
Cardinality 0..* 0..1
Type string unsignedInt
Summary true
Comments Element Id Subscription.contentType
Definition

Exactly what these mean depend on the channel type. They can convey additional information The MIME type to send the recipient and/or meet security requirements; for example, support of multiple headers payload in the outgoing - e.g., application/fhir+xml or application/fhir+json . Note that:

  • clients may request notifications for rest-hook type subscriptions. in a specific FHIR version by using the FHIR Version Parameter - e.g., application/fhir+json; fhirVersion=4.0 .

  • additional MIME types can be allowed by channels - e.g., text/plain and text/html are defined by the Email channel.

Short Display MIME type to send, or omit for no payload
Cardinality 0..1
Terminology Binding Mime Types ( Required )
Type code
Summary true
Definition Element Id Subscription.content
Definition

A tag to add to any How much resource that matches content to deliver in the criteria, after notification payloads. The choices are an empty payload, only the subscription is processed. resource id, or the full resource content.

Short Display empty | id-only | full-resource
Control Cardinality 0..* 0..1
Terminology Binding SubscriptionTag Subscription Payload Content ( Example Required )
Type Coding code
Summary true
Comments

Sending the payload has obvious security implications. The server is responsible for ensuring that the content is appropriately secured. For additional information, see Notification Content .

Element Id Subscription.maxCount
Definition

So If present, the maximum number of events that other systems can tell which resources have been will be included in a notification bundle. Note that this is not a strict limit on the subject number of entries in a notification. bundle, as dependent resources can be included.

Short Display Maximum number of events that can be combined in a single notification
Cardinality 0..1
Type positiveInt
Summary true