Subscriptions R5 Backport
0.1.0 - ballot

Subscriptions R5 Backport - Local Development build (v0.1.0). See the Directory of published versions

Resource Profile: Backported R5 Subscription Notification Bundle

Defining URL:http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification
Version:0.1.0
Name:BackportSubscriptionNotification
Title:Backported R5 Subscription Notification Bundle
Status:Active as of 2021-11-09T16:42:00-06:00
Definition:

Profile on the R4 Bundle resource to enable R5-style topic-based subscription notifications in FHIR R4.

Publisher:HL7 FHIR Infrastructure WG
Source Resource:XML / JSON / Turtle

The official URL for this profile is:

http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-notification

Formal Views of Profile Content

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

​This structure is derived from Bundle

Summary

Mandatory: 3 elements
Must-Support: 2 elements

Slices

This structure defines the following Slices:

  • The element Bundle.entry is sliced based on the value of type:resource

​This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle I0..*​BundleContains a collection of resources
backport-notification-bundle-1: A notification bundle MUST have a SubscriptionStatus as the first entry
... type 1..1​codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Required Pattern: history
... Slices for entry 1..*​BackboneElementEntry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
.... entry:subscriptionStatus S1..1​BackboneElementEntry in the bundle - will have a resource or information
..... resource S1..1​SubscriptionStatusA resource in the bundle

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle I0..*​BundleContains a collection of resources
backport-notification-bundle-1: A notification bundle MUST have a SubscriptionStatus as the first entry
... id Σ0..1​idLogical id of this artifact
... meta Σ0..1​MetaMetadata about the resource
... implicitRules ?!Σ0..1​uriA set of rules under which this content was created
... identifier Σ0..1​IdentifierPersistent identifier for the bundle
... type Σ1..1​code​document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.


Required Pattern: history
... timestamp Σ0..1​instantWhen the bundle was assembled
... total ΣI0..1​unsignedIntIf search, the total number of matches
... link Σ0..*​BackboneElementLinks related to this Bundle
.... id 0..1​idUnique id for inter-element referencing
.... extension 0..*​ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
.... relation Σ1..1​stringSee http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
.... url Σ1..1​uriReference details for the link
... Slices for entry ΣI1..*​BackboneElementEntry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... entry:All Slices Content/Rules for all slices
..... id 0..1​idUnique id for inter-element referencing
..... extension 0..*​ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*​See link (Bundle)Links related to this entry
..... fullUrl Σ0..1​uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ0..1ResourceA resource in the bundle
..... search ΣI0..1​BackboneElementSearch related information
...... id 0..1​idUnique id for inter-element referencing
...... extension 0..*​ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1​code​match | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1​decimalSearch ranking (between 0 and 1)
..... request ΣI0..1​BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1​idUnique id for inter-element referencing
...... extension 0..*​ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1​code​GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1​uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1​stringFor managing cache currency
...... ifModifiedSince Σ0..1​instantFor managing cache currency
...... ifMatch Σ0..1​stringFor managing update contention
...... ifNoneExist Σ0..1​stringFor conditional creates
..... response ΣI0..1​BackboneElementResults of execution (transaction/batch/history)
...... id 0..1​idUnique id for inter-element referencing
...... extension 0..*​ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1​stringStatus response code (text optional)
...... location Σ0..1​uriThe location (if the operation returns a location)
...... etag Σ0..1​stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1​instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:subscriptionStatus SΣI1..1​BackboneElementEntry in the bundle - will have a resource or information
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... id 0..1​idUnique id for inter-element referencing
..... extension 0..*​ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*​See link (Bundle)Links related to this entry
..... fullUrl Σ0..1​uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource SΣ1..1​SubscriptionStatusA resource in the bundle
..... search ΣI0..1​BackboneElementSearch related information
...... id 0..1​idUnique id for inter-element referencing
...... extension 0..*​ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1​code​match | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1​decimalSearch ranking (between 0 and 1)
..... request ΣI0..1​BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1​idUnique id for inter-element referencing
...... extension 0..*​ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1​code​GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1​uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1​stringFor managing cache currency
...... ifModifiedSince Σ0..1​instantFor managing cache currency
...... ifMatch Σ0..1​stringFor managing update contention
...... ifNoneExist Σ0..1​stringFor conditional creates
..... response ΣI0..1​BackboneElementResults of execution (transaction/batch/history)
...... id 0..1​idUnique id for inter-element referencing
...... extension 0..*​ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1​stringStatus response code (text optional)
...... location Σ0..1​uriThe location (if the operation returns a location)
...... etag Σ0..1​stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1​instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
... signature Σ0..1​SignatureDigital Signature

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle I0..*​BundleContains a collection of resources
backport-notification-bundle-1: A notification bundle MUST have a SubscriptionStatus as the first entry
... entry:subscriptionStatus ΣI1..1​BackboneElementEntry in the bundle - will have a resource or information
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... resource Σ1..1​SubscriptionStatusA resource in the bundle

doco Documentation for this format

​This structure is derived from Bundle

Summary

Mandatory: 3 elements
Must-Support: 2 elements

Slices

This structure defines the following Slices:

  • The element Bundle.entry is sliced based on the value of type:resource

Differential View

​This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle I0..*​BundleContains a collection of resources
backport-notification-bundle-1: A notification bundle MUST have a SubscriptionStatus as the first entry
... type 1..1​codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Required Pattern: history
... Slices for entry 1..*​BackboneElementEntry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
.... entry:subscriptionStatus S1..1​BackboneElementEntry in the bundle - will have a resource or information
..... resource S1..1​SubscriptionStatusA resource in the bundle

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle I0..*​BundleContains a collection of resources
backport-notification-bundle-1: A notification bundle MUST have a SubscriptionStatus as the first entry
... id Σ0..1​idLogical id of this artifact
... meta Σ0..1​MetaMetadata about the resource
... implicitRules ?!Σ0..1​uriA set of rules under which this content was created
... identifier Σ0..1​IdentifierPersistent identifier for the bundle
... type Σ1..1​code​document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.


Required Pattern: history
... timestamp Σ0..1​instantWhen the bundle was assembled
... total ΣI0..1​unsignedIntIf search, the total number of matches
... link Σ0..*​BackboneElementLinks related to this Bundle
.... id 0..1​idUnique id for inter-element referencing
.... extension 0..*​ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
.... relation Σ1..1​stringSee http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
.... url Σ1..1​uriReference details for the link
... Slices for entry ΣI1..*​BackboneElementEntry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... entry:All Slices Content/Rules for all slices
..... id 0..1​idUnique id for inter-element referencing
..... extension 0..*​ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*​See link (Bundle)Links related to this entry
..... fullUrl Σ0..1​uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ0..1ResourceA resource in the bundle
..... search ΣI0..1​BackboneElementSearch related information
...... id 0..1​idUnique id for inter-element referencing
...... extension 0..*​ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1​code​match | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1​decimalSearch ranking (between 0 and 1)
..... request ΣI0..1​BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1​idUnique id for inter-element referencing
...... extension 0..*​ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1​code​GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1​uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1​stringFor managing cache currency
...... ifModifiedSince Σ0..1​instantFor managing cache currency
...... ifMatch Σ0..1​stringFor managing update contention
...... ifNoneExist Σ0..1​stringFor conditional creates
..... response ΣI0..1​BackboneElementResults of execution (transaction/batch/history)
...... id 0..1​idUnique id for inter-element referencing
...... extension 0..*​ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1​stringStatus response code (text optional)
...... location Σ0..1​uriThe location (if the operation returns a location)
...... etag Σ0..1​stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1​instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
.... entry:subscriptionStatus SΣI1..1​BackboneElementEntry in the bundle - will have a resource or information
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
..... id 0..1​idUnique id for inter-element referencing
..... extension 0..*​ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
..... link Σ0..*​See link (Bundle)Links related to this entry
..... fullUrl Σ0..1​uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource SΣ1..1​SubscriptionStatusA resource in the bundle
..... search ΣI0..1​BackboneElementSearch related information
...... id 0..1​idUnique id for inter-element referencing
...... extension 0..*​ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
...... mode Σ0..1​code​match | include | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.

...... score Σ0..1​decimalSearch ranking (between 0 and 1)
..... request ΣI0..1​BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1​idUnique id for inter-element referencing
...... extension 0..*​ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
...... method Σ1..1​code​GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.

...... url Σ1..1​uriURL for HTTP equivalent of this entry
...... ifNoneMatch Σ0..1​stringFor managing cache currency
...... ifModifiedSince Σ0..1​instantFor managing cache currency
...... ifMatch Σ0..1​stringFor managing update contention
...... ifNoneExist Σ0..1​stringFor conditional creates
..... response ΣI0..1​BackboneElementResults of execution (transaction/batch/history)
...... id 0..1​idUnique id for inter-element referencing
...... extension 0..*​ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*​ExtensionExtensions that cannot be ignored even if unrecognized
...... status Σ1..1​stringStatus response code (text optional)
...... location Σ0..1​uriThe location (if the operation returns a location)
...... etag Σ0..1​stringThe Etag for the resource (if relevant)
...... lastModified Σ0..1​instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
... signature Σ0..1​SignatureDigital Signature

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Terminology Bindings

PathConformanceValueSet / Code
Bundle.languagepreferred​CommonLanguages
Max Binding: AllLanguages
Bundle.typerequiredPattern: history
Bundle.entry.search.moderequired​SearchEntryMode
Bundle.entry.request.methodrequired​HTTPVerb
Bundle.entry:subscriptionStatus.search.moderequired​SearchEntryMode
Bundle.entry:subscriptionStatus.request.methodrequired​HTTPVerb

Constraints

IdPathDetailsRequirements
backport-notification-bundle-1BundleA notification bundle MUST have a SubscriptionStatus as the first entry
: entry.first().resource.is(SubscriptionStatus)