This page is part of the Twiin Workflow (v0.3.0-draft: Release 1 Draft) based on FHIR (HL7® FHIR® Standard) R4. No current official version has been published yet. For a full list of available versions, see the Directory of published versions
| Official URL: https://fhir.twiin.nl/ig/workflow/StructureDefinition/twiin-workflow-subscription | Version: 0.3.0-draft | |||
| Draft as of 2026-10-16 | Computable Name: TwiinWorkflowSubscription | |||
Copyright/Legal: Copyright 2026 Twiin. Licensed under CC BY-SA 4.0. |
||||
Subscription under TA Workflow, on top of the Twiin Subscription of TA Notifications (TA sections Summary of the profiles → Subscription; Subscription). The payload mode is id-only, the filter is owner:identifier=[system]|[value], and a heartbeat period is required.
Usages:
You can also check for usages in the FHIR IG Statistics
Description of Profiles, Differentials, Snapshots, and their representations.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | TwiinSubscription | Server push subscription criteria Constraints: twiin-sub-1 |
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |
![]() ![]() |
1..1 | code | requested | active | error | off Binding: SubscriptionStatus (required): The status of a subscription. | |
![]() ![]() |
1..1 | string | Description of why this subscription was created | |
![]() ![]() |
1..1 | string | Canonical URL for the topic used to generate events | |
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |
![]() ![]() ![]() ![]() |
C | 1..1 | string | Backported R5 FilterBy Criteria URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria Constraints: twiin-wsub-1 |
![]() ![]() |
1..1 | BackboneElement | The channel on which to report matches to the criteria | |
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |
![]() ![]() ![]() ![]() |
1..1 | unsignedInt | Backport R5 Subscription Heartbeat Period URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-heartbeat-period | |
![]() ![]() ![]() ![]() |
0..1 | unsignedInt | Timeout in seconds to attempt notification delivery URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout | |
![]() ![]() ![]() ![]() |
0..1 | positiveInt | Maximum number of triggering resources included in notification bundles URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count | |
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |
![]() ![]() ![]() |
1..1 | code | rest-hook | websocket | email | sms | message Binding: SubscriptionChannelType (required): The type of method used to execute a subscription. Required Pattern: rest-hook | |
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() |
0..1 | Coding | Extended channel type for notifications URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-channel-type | |
![]() ![]() ![]() |
1..1 | url | Where the channel points to | |
![]() ![]() ![]() |
1..1 | code | MIME type to send, or omit for no payload Binding: Twiin Notification Formats (required) | |
![]() ![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() ![]() |
1..1 | (Complex) | Backport R5 Subscription Payload Content Information URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url | ||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content" | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Notification content level Slice: Unordered, Closed by type:$this | |
![]() ![]() ![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Value of extension Binding: Backported R5 Subscription Content Value Set (required) Required Pattern: id-only | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Subscription.status | Base | required | SubscriptionStatus | 📍4.0.1 → 4.0.0 | FHIR Std. |
| Subscription.channel.type | Base | required | SubscriptionChannelType | 📍4.0.1 → 4.0.0 | FHIR Std. |
| Subscription.channel.payload | Base | required | Twiin Notification Formats | 📦0.2.0-draft | Twiin Notifications v0.2 |
| Subscription.channel.payload.extension:content.value[x]:valueCode | Base | required | Backported R5 Subscription Content Value Set | 📦1.1.0 | Subscriptions R5 Backport v1.1 |
| 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.exists() and ('#'+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(uri) = '#').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()
|
| twiin-sub-1 | warning | Subscription | criteria is the canonical URL of a SubscriptionTopic: an http(s) URL without a query. This is a heuristic to catch an R4 search expression in criteria. |
criteria.matches('^https?://[^?]+$')
|
| twiin-wsub-1 | error | Subscription.criteria.extension:filterCriteria | The filter is of the form owner:identifier=[system]|[value] (TA section Subscription). |
value.ofType(string).matches('^owner:identifier=[^|\\s]+[|][^|\\s]+$')
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..* | TwiinSubscription | Server push subscription criteria | |
![]() ![]() |
||||
![]() ![]() ![]() |
1..* | Extension | Extension | |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
C | 1..1 | BackportFilterCriteria | Backported R5 FilterBy Criteria Constraints: twiin-wsub-1 |
![]() ![]() |
||||
![]() ![]() ![]() |
1..* | Extension | Extension | |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
1..1 | BackportHeartbeatPeriod | Backport R5 Subscription Heartbeat Period | |
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() |
1..1 | BackportPayloadContent | Backport R5 Subscription Payload Content Information | |
![]() ![]() ![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Value of extension Required Pattern: id-only | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| twiin-wsub-1 | error | Subscription.criteria.extension:filterCriteria | The filter is of the form owner:identifier=[system]|[value] (TA section Subscription). |
value.ofType(string).matches('^owner:identifier=[^|\\s]+[|][^|\\s]+$')
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | TwiinSubscription | Server push subscription criteria Constraints: twiin-sub-1 | ||||
![]() ![]() |
0..1 | id | Logical id of this artifact | |||||
![]() ![]() |
0..1 | Meta | Metadata about the resource | |||||
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): IETF language tag
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources Constraints: dom-r4b | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |||||
![]() ![]() |
1..1 | code | requested | active | error | off Binding: SubscriptionStatus (required): The status of a subscription. | |||||
![]() ![]() |
0..* | ContactPoint | Contact details for source (e.g. troubleshooting) | |||||
![]() ![]() |
0..1 | instant | When to automatically delete the subscription | |||||
![]() ![]() |
1..1 | string | Description of why this subscription was created | |||||
![]() ![]() |
1..1 | string | Canonical URL for the topic used to generate events | |||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |||||
![]() ![]() ![]() ![]() |
C | 1..1 | string | Backported R5 FilterBy Criteria URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria Constraints: twiin-wsub-1 | ||||
![]() ![]() ![]() |
0..1 | string | Primitive value for string Max Length:1048576 | |||||
![]() ![]() |
0..1 | string | Latest error note | |||||
![]() ![]() |
1..1 | BackboneElement | The channel on which to report matches to the criteria | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |||||
![]() ![]() ![]() ![]() |
1..1 | unsignedInt | Backport R5 Subscription Heartbeat Period URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-heartbeat-period | |||||
![]() ![]() ![]() ![]() |
0..1 | unsignedInt | Timeout in seconds to attempt notification delivery URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout | |||||
![]() ![]() ![]() ![]() |
0..1 | positiveInt | Maximum number of triggering resources included in notification bundles URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() |
1..1 | code | rest-hook | websocket | email | sms | message Binding: SubscriptionChannelType (required): The type of method used to execute a subscription. Required Pattern: rest-hook | |||||
![]() ![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | Coding | Extended channel type for notifications URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-channel-type | |||||
![]() ![]() ![]() ![]() |
0..1 | code | Primitive value for code | |||||
![]() ![]() ![]() |
1..1 | url | Where the channel points to | |||||
![]() ![]() ![]() |
1..1 | code | MIME type to send, or omit for no payload Binding: Twiin Notification Formats (required) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | (Complex) | Backport R5 Subscription Payload Content Information URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url | ||||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content" | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Notification content level Slice: Unordered, Closed by type:$this | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Value of extension Binding: Backported R5 Subscription Content Value Set (required) Required Pattern: id-only | |||||
![]() ![]() ![]() ![]() |
0..1 | code | Primitive value for code | |||||
![]() ![]() ![]() |
0..* | string | Usage depends on the channel type | |||||
Documentation for this format | ||||||||
| 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 → 4.0.0 | FHIR Std. |
| Subscription.channel.type | Base | required | SubscriptionChannelType | 📍4.0.1 → 4.0.0 | FHIR Std. |
| Subscription.channel.payload | Base | required | Twiin Notification Formats | 📦0.2.0-draft | Twiin Notifications v0.2 |
| Subscription.channel.payload.extension:content.value[x]:valueCode | Base | required | Backported R5 Subscription Content Value Set | 📦1.1.0 | Subscriptions R5 Backport v1.1 |
| 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.exists() and ('#'+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(uri) = '#').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()
|
| dom-r4b | warning | Subscription.contained | Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems |
($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
|
| 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()
|
| twiin-sub-1 | warning | Subscription | criteria is the canonical URL of a SubscriptionTopic: an http(s) URL without a query. This is a heuristic to catch an R4 search expression in criteria. |
criteria.matches('^https?://[^?]+$')
|
| twiin-wsub-1 | error | Subscription.criteria.extension:filterCriteria | The filter is of the form owner:identifier=[system]|[value] (TA section Subscription). |
value.ofType(string).matches('^owner:identifier=[^|\\s]+[|][^|\\s]+$')
|
Key Elements View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | TwiinSubscription | Server push subscription criteria Constraints: twiin-sub-1 |
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |
![]() ![]() |
1..1 | code | requested | active | error | off Binding: SubscriptionStatus (required): The status of a subscription. | |
![]() ![]() |
1..1 | string | Description of why this subscription was created | |
![]() ![]() |
1..1 | string | Canonical URL for the topic used to generate events | |
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |
![]() ![]() ![]() ![]() |
C | 1..1 | string | Backported R5 FilterBy Criteria URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria Constraints: twiin-wsub-1 |
![]() ![]() |
1..1 | BackboneElement | The channel on which to report matches to the criteria | |
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |
![]() ![]() ![]() ![]() |
1..1 | unsignedInt | Backport R5 Subscription Heartbeat Period URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-heartbeat-period | |
![]() ![]() ![]() ![]() |
0..1 | unsignedInt | Timeout in seconds to attempt notification delivery URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout | |
![]() ![]() ![]() ![]() |
0..1 | positiveInt | Maximum number of triggering resources included in notification bundles URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count | |
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |
![]() ![]() ![]() |
1..1 | code | rest-hook | websocket | email | sms | message Binding: SubscriptionChannelType (required): The type of method used to execute a subscription. Required Pattern: rest-hook | |
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() |
0..1 | Coding | Extended channel type for notifications URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-channel-type | |
![]() ![]() ![]() |
1..1 | url | Where the channel points to | |
![]() ![]() ![]() |
1..1 | code | MIME type to send, or omit for no payload Binding: Twiin Notification Formats (required) | |
![]() ![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() ![]() |
1..1 | (Complex) | Backport R5 Subscription Payload Content Information URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url | ||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content" | |
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Notification content level Slice: Unordered, Closed by type:$this | |
![]() ![]() ![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Value of extension Binding: Backported R5 Subscription Content Value Set (required) Required Pattern: id-only | |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Subscription.status | Base | required | SubscriptionStatus | 📍4.0.1 → 4.0.0 | FHIR Std. |
| Subscription.channel.type | Base | required | SubscriptionChannelType | 📍4.0.1 → 4.0.0 | FHIR Std. |
| Subscription.channel.payload | Base | required | Twiin Notification Formats | 📦0.2.0-draft | Twiin Notifications v0.2 |
| Subscription.channel.payload.extension:content.value[x]:valueCode | Base | required | Backported R5 Subscription Content Value Set | 📦1.1.0 | Subscriptions R5 Backport v1.1 |
| 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.exists() and ('#'+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(uri) = '#').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()
|
| twiin-sub-1 | warning | Subscription | criteria is the canonical URL of a SubscriptionTopic: an http(s) URL without a query. This is a heuristic to catch an R4 search expression in criteria. |
criteria.matches('^https?://[^?]+$')
|
| twiin-wsub-1 | error | Subscription.criteria.extension:filterCriteria | The filter is of the form owner:identifier=[system]|[value] (TA section Subscription). |
value.ofType(string).matches('^owner:identifier=[^|\\s]+[|][^|\\s]+$')
|
Differential View
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() |
|---|---|---|---|---|
![]() |
0..* | TwiinSubscription | Server push subscription criteria | |
![]() ![]() |
||||
![]() ![]() ![]() |
1..* | Extension | Extension | |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
C | 1..1 | BackportFilterCriteria | Backported R5 FilterBy Criteria Constraints: twiin-wsub-1 |
![]() ![]() |
||||
![]() ![]() ![]() |
1..* | Extension | Extension | |
![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() |
1..1 | BackportHeartbeatPeriod | Backport R5 Subscription Heartbeat Period | |
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() |
1..1 | BackportPayloadContent | Backport R5 Subscription Payload Content Information | |
![]() ![]() ![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Value of extension Required Pattern: id-only | |
Documentation for this format | ||||
| Id | Grade | Path(s) | Description | Expression |
| twiin-wsub-1 | error | Subscription.criteria.extension:filterCriteria | The filter is of the form owner:identifier=[system]|[value] (TA section Subscription). |
value.ofType(string).matches('^owner:identifier=[^|\\s]+[|][^|\\s]+$')
|
Snapshot ViewView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | TwiinSubscription | Server push subscription criteria Constraints: twiin-sub-1 | ||||
![]() ![]() |
0..1 | id | Logical id of this artifact | |||||
![]() ![]() |
0..1 | Meta | Metadata about the resource | |||||
![]() ![]() |
0..1 | uri | A set of rules under which this content was created | |||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): IETF language tag
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources Constraints: dom-r4b | |||||
![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() |
0..* | Extension | Extensions that cannot be ignored | |||||
![]() ![]() |
1..1 | code | requested | active | error | off Binding: SubscriptionStatus (required): The status of a subscription. | |||||
![]() ![]() |
0..* | ContactPoint | Contact details for source (e.g. troubleshooting) | |||||
![]() ![]() |
0..1 | instant | When to automatically delete the subscription | |||||
![]() ![]() |
1..1 | string | Description of why this subscription was created | |||||
![]() ![]() |
1..1 | string | Canonical URL for the topic used to generate events | |||||
![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |||||
![]() ![]() ![]() ![]() |
C | 1..1 | string | Backported R5 FilterBy Criteria URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-filter-criteria Constraints: twiin-wsub-1 | ||||
![]() ![]() ![]() |
0..1 | string | Primitive value for string Max Length:1048576 | |||||
![]() ![]() |
0..1 | string | Latest error note | |||||
![]() ![]() |
1..1 | BackboneElement | The channel on which to report matches to the criteria | |||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url Slicing Note: The rules on this element (including its children) apply to all the slices, but are not repeated in them | |||||
![]() ![]() ![]() ![]() |
1..1 | unsignedInt | Backport R5 Subscription Heartbeat Period URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-heartbeat-period | |||||
![]() ![]() ![]() ![]() |
0..1 | unsignedInt | Timeout in seconds to attempt notification delivery URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-timeout | |||||
![]() ![]() ![]() ![]() |
0..1 | positiveInt | Maximum number of triggering resources included in notification bundles URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-max-count | |||||
![]() ![]() ![]() |
0..* | Extension | Extensions that cannot be ignored even if unrecognized | |||||
![]() ![]() ![]() |
1..1 | code | rest-hook | websocket | email | sms | message Binding: SubscriptionChannelType (required): The type of method used to execute a subscription. Required Pattern: rest-hook | |||||
![]() ![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | Coding | Extended channel type for notifications URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-channel-type | |||||
![]() ![]() ![]() ![]() |
0..1 | code | Primitive value for code | |||||
![]() ![]() ![]() |
1..1 | url | Where the channel points to | |||||
![]() ![]() ![]() |
1..1 | code | MIME type to send, or omit for no payload Binding: Twiin Notification Formats (required) | |||||
![]() ![]() ![]() ![]() |
0..1 | string | xml:id (or equivalent in JSON) | |||||
![]() ![]() ![]() ![]() |
1..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | (Complex) | Backport R5 Subscription Payload Content Information URL: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | id | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | Extension Slice: Unordered, Open by value:url | ||||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-payload-content" | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Notification content level Slice: Unordered, Closed by type:$this | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Value of extension Binding: Backported R5 Subscription Content Value Set (required) Required Pattern: id-only | |||||
![]() ![]() ![]() ![]() |
0..1 | code | Primitive value for code | |||||
![]() ![]() ![]() |
0..* | string | Usage depends on the channel type | |||||
Documentation for this format | ||||||||
| 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 → 4.0.0 | FHIR Std. |
| Subscription.channel.type | Base | required | SubscriptionChannelType | 📍4.0.1 → 4.0.0 | FHIR Std. |
| Subscription.channel.payload | Base | required | Twiin Notification Formats | 📦0.2.0-draft | Twiin Notifications v0.2 |
| Subscription.channel.payload.extension:content.value[x]:valueCode | Base | required | Backported R5 Subscription Content Value Set | 📦1.1.0 | Subscriptions R5 Backport v1.1 |
| 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.exists() and ('#'+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(uri) = '#').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()
|
| dom-r4b | warning | Subscription.contained | Containing new R4B resources within R4 resources may cause interoperability issues if instances are shared with R4 systems |
($this is Citation or $this is Evidence or $this is EvidenceReport or $this is EvidenceVariable or $this is MedicinalProductDefinition or $this is PackagedProductDefinition or $this is AdministrableProductDefinition or $this is Ingredient or $this is ClinicalUseDefinition or $this is RegulatedAuthorization or $this is SubstanceDefinition or $this is SubscriptionStatus or $this is SubscriptionTopic) implies (%resource is Citation or %resource is Evidence or %resource is EvidenceReport or %resource is EvidenceVariable or %resource is MedicinalProductDefinition or %resource is PackagedProductDefinition or %resource is AdministrableProductDefinition or %resource is Ingredient or %resource is ClinicalUseDefinition or %resource is RegulatedAuthorization or %resource is SubstanceDefinition or %resource is SubscriptionStatus or %resource is SubscriptionTopic)
|
| 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()
|
| twiin-sub-1 | warning | Subscription | criteria is the canonical URL of a SubscriptionTopic: an http(s) URL without a query. This is a heuristic to catch an R4 search expression in criteria. |
criteria.matches('^https?://[^?]+$')
|
| twiin-wsub-1 | error | Subscription.criteria.extension:filterCriteria | The filter is of the form owner:identifier=[system]|[value] (TA section Subscription). |
value.ofType(string).matches('^owner:identifier=[^|\\s]+[|][^|\\s]+$')
|
Other representations of profile: CSV, Excel, Schematron