Release 4B Snapshot 3: Connectathon 32 Base

This page is part of the FHIR Specification (v4.3.0: R4B - STU (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 icon Work Group Maturity Level : 3 2   Trial Use Security Category : Business Compartments : Not linked to any defined compartments

Detailed Descriptions for the elements in the Subscription resource.

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
Element Id Subscription
Definition

The subscription resource is used to define a push-based subscription from describes a server particular client's request 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 be notified about a message on the defined "channel" so that another system can take an appropriate action. 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 SubscriptionStatusCodes 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 1..1 0..1
Type string
Summary true
Subscription.criteria Subscription.filterBy
Element Id Subscription.criteria Subscription.filterBy
Definition

The rules that the server should use filter properties to determine when be applied to generate notifications 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 subscription. 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 1..1 0..1
Terminology Binding All FHIR Types ( Extensible )
Type string uri
Summary true
Subscription.filterBy.filterParameter
Comments Element Id Subscription.filterBy.filterParameter
Definition

The rules are search criteria (without filter as defined in the [base] part). Like Bundle.entry.request.url, it has no leading "/". SubscriptionTopic.canfilterBy.filterParameter element.

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

A record of the last error that occurred Operator to apply when determining matches (Search Modifiers), from the server processed a notification. 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 string code
Summary true
Comments

If filterDefinition refers to a SearchParameter, then the modifiers indicated must be allowed by the SearchParameter.

Subscription.channel Subscription.filterBy.value
Element Id Subscription.channel Subscription.filterBy.value
Definition

Details where to send notifications when resources are received that meet the criteria. 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.channel.type Subscription.channelType
Element Id Subscription.channel.type 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
Subscription.channel.endpoint Subscription.endpoint
Element Id Subscription.channel.endpoint 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, and websocket, rest-hook the end-point must be an http: or https: URL; for websocket ws: or wss:; for email, a mailto: url, for sms, a tel: url, url; and for message the endpoint can be in any form of url the server understands (usually, http: 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.channel.payload Subscription.header
Element Id Subscription.channel.payload Subscription.header
Definition

The mime type Additional headers / information to send as part of the payload 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 - either application/fhir+xml, or application/fhir+json. If the payload 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, then there a heartbeat notification is no payload 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 notification, just maximum amount of time a notification. 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 and SMS subscriptions.

Short Display MIME type to send, or omit for no payload
Cardinality 0..1
Terminology Binding MimeType 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.channel.header Subscription.maxCount
Element Id Subscription.channel.header Subscription.maxCount
Definition

Additional headers / information to send as part 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 notification. 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..* 0..1
Type string positiveInt
Summary true