R6 Ballot (1st Draft)

This page is part of the FHIR Specification v6.0.0-ballot1: Release 6 Ballot (1st Draft) (see Ballot Notes). The current version is 5.0.0. For a full list of available versions, see the Directory of published versions

FHIR Infrastructure icon Work GroupMaturity Level: 3 Trial UseSecurity Category: Business Compartments: No defined compartments

Detailed Descriptions for the elements in the Subscription resource.

Subscription
Element IdSubscription
Definition

The subscription resource describes a particular client's request to be notified about a SubscriptionTopic.

Short DisplayNotification about a SubscriptionTopic
Cardinality0..*
TypeDomainResource
Alternate NamesWebHook; Hook; Routing Rule
Summaryfalse
Subscription.identifier
Element IdSubscription.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 DisplayAdditional identifiers (business identifier)
NoteThis is a business identifier, not a resource identifier (see discussion)
Cardinality0..*
TypeIdentifier
Summarytrue
Subscription.name
Element IdSubscription.name
Definition

A natural language name identifying the subscription.

Short DisplayHuman readable name for this subscription
Cardinality0..1
Typestring
Summarytrue
Subscription.status
Element IdSubscription.status
Definition

The status of the subscription, which marks the server state for managing the subscription.

Short Displayrequested | active | error | off | entered-in-error
Cardinality1..1
Terminology BindingSubscription Status (Required)
Typecode
Is Modifiertrue (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)
Summarytrue
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 IdSubscription.topic
Definition

The reference to the subscription topic to be notified about.

Short DisplayReference to the subscription topic being subscribed to
Cardinality1..1
Typecanonical(SubscriptionTopic)
Summarytrue
Subscription.contact
Element IdSubscription.contact
Definition

Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.

Short DisplayContact details for source (e.g. troubleshooting)
Cardinality0..*
TypeContactPoint
Summarytrue
Subscription.end
Element IdSubscription.end
Definition

The time for the server to turn the subscription off.

Short DisplayWhen to automatically delete the subscription
Cardinality0..1
Typeinstant
Summarytrue
Comments

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

Subscription.managingEntity
Element IdSubscription.managingEntity
Definition

Entity with authorization to make subsequent revisions to the Subscription and also determines what data the subscription is authorized to disclose.

Short DisplayEntity responsible for Subscription changes
Cardinality0..1
TypeReference(CareTeam | HealthcareService | Organization | RelatedPerson | Patient | Practitioner | PractitionerRole)
Summarytrue
Subscription.reason
Element IdSubscription.reason
Definition

A description of why this subscription is defined.

Short DisplayDescription of why this subscription was created
Cardinality0..1
Typestring
Summarytrue
Subscription.filterBy
Element IdSubscription.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 applicable to that resource are met; otherwise it returns false (i.e., logical AND).

Short DisplayCriteria for narrowing the subscription topic stream
Cardinality0..*
Summarytrue
Invariants
Defined on this element
scr-1Rule Subscription filters may only contain a modifier or a comparator(comparator.exists() and modifier.exists()).not()
Subscription.filterBy.resource
Element IdSubscription.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 DisplayAllowed Resource (reference to definition) for this Subscription filter
Cardinality0..1
Terminology BindingTypes used with Subscriptions (Extensible)
Additional BindingsPurpose
All Resource TypesUI Binding
Typeuri
Summarytrue
Subscription.filterBy.filterParameter
Element IdSubscription.filterBy.filterParameter
Definition

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

Short DisplayFilter label defined in SubscriptionTopic
Cardinality1..1
Typestring
Summarytrue
Subscription.filterBy.comparator
Element IdSubscription.filterBy.comparator
Definition

Comparator applied to this filter parameter.

Short Displayeq | ne | gt | lt | ge | le | sa | eb | ap
Cardinality0..1
Terminology BindingSearch Comparator (Required)
Typecode
Summaryfalse
Comments

Must be a comparator allowed by the SubscriptionTopic relevant to this Subscription filter.

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

Modifier applied to this filter parameter.

Short Displaymissing | exact | contains | not | text | in | not-in | below | above | type | identifier | of-type | code-text | text-advanced | iterate
Cardinality0..1
Terminology BindingSearch Modifier Code (Required)
Typecode
Summaryfalse
Comments

Must be a modifier allowed by the SubscriptionTopic relevant to this Subscription filter.

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

The literal value or resource path as is legal in search - for example, Patient/123 or le1950.

Short DisplayLiteral value or resource path
Cardinality1..1
Typestring
Summarytrue
Subscription.channelType
Element IdSubscription.channelType
Definition

The type of channel to send notifications on.

Short DisplayChannel type for notifications
Cardinality1..1
Terminology BindingSubscription Channel Type (Extensible)
TypeCoding
Summarytrue
Subscription.endpoint
Element IdSubscription.endpoint
Definition

The url that describes the actual end-point to send notifications to.

Short DisplayWhere the channel points to
Cardinality0..1
Typeurl
Summarytrue
Comments

For rest-hook the end-point must be an http: or https: URL; for websockets, 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.parameter
Element IdSubscription.parameter
Definition

Channel-dependent information to send as part of the notification (e.g., HTTP Headers).

Short DisplayChannel type
Cardinality0..*
Summaryfalse
Comments

Exactly what these mean depend on the channel type. They can convey additional information to the server or recipient and/or meet security requirements; for example, support of multiple headers in the outgoing notifications for rest-hook type subscriptions. Note that names are not required to be unique, but channel definitions can impose restrictions.

Subscription.parameter.name
Element IdSubscription.parameter.name
Definition

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

Short DisplayName (key) of the parameter
Cardinality1..1
Typestring
Summaryfalse
Subscription.parameter.value
Element IdSubscription.parameter.value
Definition

Parameter value for information passed to the channel for notifications, for example in the case of a REST hook wanting to pass through an authorization header, the value would be Bearer 0193....

Short DisplayValue of the parameter to use or pass through
Cardinality1..1
Typestring
Summaryfalse
Subscription.heartbeatPeriod
Element IdSubscription.heartbeatPeriod
Definition

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 DisplayInterval in seconds to send 'heartbeat' notification
Cardinality0..1
TypeunsignedInt
Summarytrue
Subscription.timeout
Element IdSubscription.timeout
Definition

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

Short DisplayTimeout in seconds to attempt notification delivery
Cardinality0..1
TypeunsignedInt
Summarytrue
Subscription.contentType
Element IdSubscription.contentType
Definition

The MIME type to send the payload in - e.g., application/fhir+xml or application/fhir+json. Note that:

  • clients may request notifications 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 DisplayMIME type to send, or omit for no payload
Cardinality0..1
Terminology BindingMime Types (Required)
Typecode
Summarytrue
Subscription.content
Element IdSubscription.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 Displayempty | id-only | full-resource
Cardinality0..1
Terminology BindingSubscription Payload Content (Required)
Typecode
Summarytrue
Comments

Sending the payload has obvious security implications. The server is responsible for ensuring that the content is appropriately secured.

Subscription.maxCount
Element IdSubscription.maxCount
Definition

If present, the maximum number of events that will be included in a notification bundle. Note that this is not a strict limit on the number of entries in a bundle, as dependent resources can be included.

Short DisplayMaximum number of events that can be combined in a single notification
Cardinality0..1
TypepositiveInt
Summarytrue