Data Sharing Framework (DSF) Implementation Guide
2.0.0 - ci-build

Data Sharing Framework (DSF) Implementation Guide - Local Development build (v2.0.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Subscription

Official URL: http://dsf.dev/fhir/StructureDefinition/subscription Version: 2.0.0
Active as of 2025-11-26 Computable Name: Subscription

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Server push subscription criteria
... meta Σ 0..1 Meta(2.0.0) Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... reason Σ 1..1 string Description of why this subscription was created
... criteria Σ 1..1 string Rule for server push
... channel Σ 1..1 BackboneElement The channel on which to report matches to the criteria
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type Σ 1..1 code rest-hook | websocket | email | sms | message
Binding: SubscriptionChannelType (required): The type of method used to execute a subscription.
Fixed Value: websocket
.... payload ΣC 0..1 code MIME type to send, or omit for no payload
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
Constraints: payload-fhir-json-or-xml

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Subscription.status Base required SubscriptionStatus 📍4.0.1 FHIR Std.
Subscription.channel.​type Base required SubscriptionChannelType 📍4.0.1 FHIR Std.
Subscription.channel.​payload Base required MimeType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Subscription If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Subscription If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Subscription If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Subscription If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Subscription A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
payload-fhir-json-or-xml error Subscription.channel.payload Subscription.channel.payload must be 'application/fhir+json' or 'application/fhir+xml' $this.empty().not() implies ($this = 'application/fhir+json' or $this = 'application/fhir+xml')

This structure is derived from Subscription

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Server push subscription criteria
... meta 0..1 Meta(2.0.0) Metadata about the resource
... channel
.... type 1..1 code rest-hook | websocket | email | sms | message
Fixed Value: websocket
.... payload C 0..1 code MIME type to send, or omit for no payload
Constraints: payload-fhir-json-or-xml

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
payload-fhir-json-or-xml error Subscription.channel.payload Subscription.channel.payload must be 'application/fhir+json' or 'application/fhir+xml' $this.empty().not() implies ($this = 'application/fhir+json' or $this = 'application/fhir+xml')
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Server push subscription criteria
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta(2.0.0) Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code requested | active | error | off
Binding: SubscriptionStatus (required): The status of a subscription.
... contact Σ 0..* ContactPoint Contact details for source (e.g. troubleshooting)
... end Σ 0..1 instant When to automatically delete the subscription
... reason Σ 1..1 string Description of why this subscription was created
... criteria Σ 1..1 string Rule for server push
... error Σ 0..1 string Latest error note
... channel Σ 1..1 BackboneElement The channel on which to report matches to the criteria
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type Σ 1..1 code rest-hook | websocket | email | sms | message
Binding: SubscriptionChannelType (required): The type of method used to execute a subscription.
Fixed Value: websocket
.... endpoint Σ 0..1 url Where the channel points to
.... payload ΣC 0..1 code MIME type to send, or omit for no payload
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
Constraints: payload-fhir-json-or-xml
.... header Σ 0..* string Usage depends on the channel type

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Subscription.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Subscription.status Base required SubscriptionStatus 📍4.0.1 FHIR Std.
Subscription.channel.​type Base required SubscriptionChannelType 📍4.0.1 FHIR Std.
Subscription.channel.​payload Base required MimeType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Subscription If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Subscription If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Subscription If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Subscription If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Subscription A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
payload-fhir-json-or-xml error Subscription.channel.payload Subscription.channel.payload must be 'application/fhir+json' or 'application/fhir+xml' $this.empty().not() implies ($this = 'application/fhir+json' or $this = 'application/fhir+xml')

This structure is derived from Subscription

Summary

Fixed: 1 element

Structures

This structure refers to these other structures:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Server push subscription criteria
... meta Σ 0..1 Meta(2.0.0) Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... reason Σ 1..1 string Description of why this subscription was created
... criteria Σ 1..1 string Rule for server push
... channel Σ 1..1 BackboneElement The channel on which to report matches to the criteria
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type Σ 1..1 code rest-hook | websocket | email | sms | message
Binding: SubscriptionChannelType (required): The type of method used to execute a subscription.
Fixed Value: websocket
.... payload ΣC 0..1 code MIME type to send, or omit for no payload
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
Constraints: payload-fhir-json-or-xml

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Subscription.status Base required SubscriptionStatus 📍4.0.1 FHIR Std.
Subscription.channel.​type Base required SubscriptionChannelType 📍4.0.1 FHIR Std.
Subscription.channel.​payload Base required MimeType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Subscription If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Subscription If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Subscription If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Subscription If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Subscription A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
payload-fhir-json-or-xml error Subscription.channel.payload Subscription.channel.payload must be 'application/fhir+json' or 'application/fhir+xml' $this.empty().not() implies ($this = 'application/fhir+json' or $this = 'application/fhir+xml')

Differential View

This structure is derived from Subscription

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Server push subscription criteria
... meta 0..1 Meta(2.0.0) Metadata about the resource
... channel
.... type 1..1 code rest-hook | websocket | email | sms | message
Fixed Value: websocket
.... payload C 0..1 code MIME type to send, or omit for no payload
Constraints: payload-fhir-json-or-xml

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
payload-fhir-json-or-xml error Subscription.channel.payload Subscription.channel.payload must be 'application/fhir+json' or 'application/fhir+xml' $this.empty().not() implies ($this = 'application/fhir+json' or $this = 'application/fhir+xml')

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Server push subscription criteria
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta(2.0.0) Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code requested | active | error | off
Binding: SubscriptionStatus (required): The status of a subscription.
... contact Σ 0..* ContactPoint Contact details for source (e.g. troubleshooting)
... end Σ 0..1 instant When to automatically delete the subscription
... reason Σ 1..1 string Description of why this subscription was created
... criteria Σ 1..1 string Rule for server push
... error Σ 0..1 string Latest error note
... channel Σ 1..1 BackboneElement The channel on which to report matches to the criteria
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type Σ 1..1 code rest-hook | websocket | email | sms | message
Binding: SubscriptionChannelType (required): The type of method used to execute a subscription.
Fixed Value: websocket
.... endpoint Σ 0..1 url Where the channel points to
.... payload ΣC 0..1 code MIME type to send, or omit for no payload
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
Constraints: payload-fhir-json-or-xml
.... header Σ 0..* string Usage depends on the channel type

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Subscription.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Subscription.status Base required SubscriptionStatus 📍4.0.1 FHIR Std.
Subscription.channel.​type Base required SubscriptionChannelType 📍4.0.1 FHIR Std.
Subscription.channel.​payload Base required MimeType 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Subscription If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Subscription If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error Subscription If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error Subscription If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Subscription A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
payload-fhir-json-or-xml error Subscription.channel.payload Subscription.channel.payload must be 'application/fhir+json' or 'application/fhir+xml' $this.empty().not() implies ($this = 'application/fhir+json' or $this = 'application/fhir+xml')

This structure is derived from Subscription

Summary

Fixed: 1 element

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron