UMC IDMP Request and Publish API
0.1.0 - CI Build International flag

UMC IDMP Request and Publish API, published by Uppsala Monitoring Centre. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/Uppsala-Monitoring-Centre/WHO-UMC-IDMP-Service/ and changes regularly. See the Directory of published versions

Resource Profile: Subscription for event notifications

Official URL: http://who-umc.org/idmp/StructureDefinition/Subscription-IdmpEvent Version: 0.1.0
Active as of 2025-06-18 Computable Name: SubscriptionIdmpEvent

Subscription for event notifications

Usages:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Notification about a SubscriptionTopic
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... topic Σ 1..1 canonical(SubscriptionTopic) Available topics are found at https://idmp.who-umc.org/fhir/SubscriptionTopic
... channelType Σ 1..1 Coding Channel type for notifications
Binding: SubscriptionChannelType (extensible): The type of method used to execute a subscription.
.... system Σ 0..1 uri Identity of the terminology system
Required Pattern: http://terminology.hl7.org/CodeSystem/subscription-channel-type
.... code ΣC 0..1 code Symbol in syntax defined by the system
Binding: Channel Type Value Set (required)
... endpoint Σ 1..1 url Where the channel points to
... content Σ 1..1 code id-only
Binding: SubscriptionPayloadContent (required): Codes to represent how much resource content to send in the notification payload.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Subscription.statusrequiredSubscriptionStatusCodes
http://hl7.org/fhir/ValueSet/subscription-status|5.0.0
From the FHIR Standard
Subscription.channelTypeextensibleSubscriptionChannelType
http://hl7.org/fhir/ValueSet/subscription-channel-type
From the FHIR Standard
Subscription.channelType.coderequiredchannelType
http://who-umc.org/idmp/ValueSet/channelType
From this IG
Subscription.contentrequiredSubscriptionPayloadContent
http://hl7.org/fhir/ValueSet/subscription-payload-content|5.0.0
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorSubscriptionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorSubscriptionIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorSubscriptionIf 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-5errorSubscriptionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceSubscriptionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Subscription

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Notification about a SubscriptionTopic
... topic 1..1 canonical(SubscriptionTopic) Available topics are found at https://idmp.who-umc.org/fhir/SubscriptionTopic
... channelType
.... system 0..1 uri Identity of the terminology system
Required Pattern: http://terminology.hl7.org/CodeSystem/subscription-channel-type
.... code 0..1 code Symbol in syntax defined by the system
Binding: Channel Type Value Set (required)
... endpoint 1..1 url Where the channel points to

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Subscription.channelType.coderequiredchannelType
http://who-umc.org/idmp/ValueSet/channelType
From this IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Notification about a SubscriptionTopic
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta 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
... identifier Σ 0..* Identifier Additional identifiers (business identifier)
... name Σ 0..1 string Human readable name for this subscription
... status ?!Σ 1..1 code requested | active | error | off | entered-in-error
Binding: SubscriptionStatusCodes (required): The status of a subscription.
... topic Σ 1..1 canonical(SubscriptionTopic) Available topics are found at https://idmp.who-umc.org/fhir/SubscriptionTopic
... contact Σ 0..* ContactPoint Contact details for source (e.g. troubleshooting)
... end Σ 0..1 instant When to automatically delete the subscription
... managingEntity Σ 0..1 Reference(CareTeam | HealthcareService | Organization | RelatedPerson | Patient | Practitioner | PractitionerRole) Entity responsible for Subscription changes
... reason Σ 0..1 string Description of why this subscription was created
... filterBy ΣC 0..* BackboneElement Criteria for narrowing the subscription topic stream
Constraints: scr-1
.... 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
.... resourceType Σ 0..1 uri Allowed Resource (reference to definition) for this Subscription filter
Binding: SubscriptionTypes (extensible): A type of resource, or a Reference (from all versions)
Additional BindingsPurpose
AllResourceTypes UI Binding
.... filterParameter Σ 1..1 string Filter label defined in SubscriptionTopic
.... comparator C 0..1 code eq | ne | gt | lt | ge | le | sa | eb | ap
Binding: SearchComparator (required): Search Comparator Codes applied to this filter.
.... modifier C 0..1 code missing | exact | contains | not | text | in | not-in | below | above | type | identifier | of-type | code-text | text-advanced | iterate
Binding: SearchModifierCode (required): Search Modifier Code applied to this filter.
.... value Σ 1..1 string Literal value or resource path
... channelType Σ 1..1 Coding Channel type for notifications
Binding: SubscriptionChannelType (extensible): The type of method used to execute a subscription.
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... system Σ 0..1 uri Identity of the terminology system
Required Pattern: http://terminology.hl7.org/CodeSystem/subscription-channel-type
.... version Σ 0..1 string Version of the system - if relevant
.... code ΣC 0..1 code Symbol in syntax defined by the system
Binding: Channel Type Value Set (required)
.... display ΣC 0..1 string Representation defined by the system
.... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
... endpoint Σ 1..1 url Where the channel points to
... parameter 0..* BackboneElement Channel type
.... 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
.... name 1..1 string Name (key) of the parameter
.... value 1..1 string Value of the parameter to use or pass through
... heartbeatPeriod Σ 0..1 unsignedInt Interval in seconds to send 'heartbeat' notification
... timeout Σ 0..1 unsignedInt Timeout in seconds to attempt notification delivery
... contentType Σ 0..1 code MIME type to send, or omit for no payload
Binding: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
... content Σ 1..1 code id-only
Binding: SubscriptionPayloadContent (required): Codes to represent how much resource content to send in the notification payload.
... maxCount Σ 0..1 positiveInt Maximum number of events that can be combined in a single notification

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Subscription.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
From the FHIR Standard
Subscription.statusrequiredSubscriptionStatusCodes
http://hl7.org/fhir/ValueSet/subscription-status|5.0.0
From the FHIR Standard
Subscription.filterBy.resourceTypeextensibleSubscriptionTypes
http://hl7.org/fhir/ValueSet/subscription-types
From the FHIR Standard
Subscription.filterBy.comparatorrequiredSearchComparator
http://hl7.org/fhir/ValueSet/search-comparator|5.0.0
From the FHIR Standard
Subscription.filterBy.modifierrequiredSearchModifierCode
http://hl7.org/fhir/ValueSet/search-modifier-code|5.0.0
From the FHIR Standard
Subscription.channelTypeextensibleSubscriptionChannelType
http://hl7.org/fhir/ValueSet/subscription-channel-type
From the FHIR Standard
Subscription.channelType.coderequiredchannelType
http://who-umc.org/idmp/ValueSet/channelType
From this IG
Subscription.contentTyperequiredMimeTypes(a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|5.0.0
From the FHIR Standard
Subscription.contentrequiredSubscriptionPayloadContent
http://hl7.org/fhir/ValueSet/subscription-payload-content|5.0.0
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorSubscriptionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorSubscriptionIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorSubscriptionIf 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-5errorSubscriptionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceSubscriptionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
scr-1errorSubscription.filterBySubscription filters may only contain a modifier or a comparator
: (comparator.exists() and modifier.exists()).not()

This structure is derived from Subscription

Summary

Mandatory: 2 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Notification about a SubscriptionTopic
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... topic Σ 1..1 canonical(SubscriptionTopic) Available topics are found at https://idmp.who-umc.org/fhir/SubscriptionTopic
... channelType Σ 1..1 Coding Channel type for notifications
Binding: SubscriptionChannelType (extensible): The type of method used to execute a subscription.
.... system Σ 0..1 uri Identity of the terminology system
Required Pattern: http://terminology.hl7.org/CodeSystem/subscription-channel-type
.... code ΣC 0..1 code Symbol in syntax defined by the system
Binding: Channel Type Value Set (required)
... endpoint Σ 1..1 url Where the channel points to
... content Σ 1..1 code id-only
Binding: SubscriptionPayloadContent (required): Codes to represent how much resource content to send in the notification payload.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Subscription.statusrequiredSubscriptionStatusCodes
http://hl7.org/fhir/ValueSet/subscription-status|5.0.0
From the FHIR Standard
Subscription.channelTypeextensibleSubscriptionChannelType
http://hl7.org/fhir/ValueSet/subscription-channel-type
From the FHIR Standard
Subscription.channelType.coderequiredchannelType
http://who-umc.org/idmp/ValueSet/channelType
From this IG
Subscription.contentrequiredSubscriptionPayloadContent
http://hl7.org/fhir/ValueSet/subscription-payload-content|5.0.0
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorSubscriptionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorSubscriptionIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorSubscriptionIf 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-5errorSubscriptionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceSubscriptionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from Subscription

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Notification about a SubscriptionTopic
... topic 1..1 canonical(SubscriptionTopic) Available topics are found at https://idmp.who-umc.org/fhir/SubscriptionTopic
... channelType
.... system 0..1 uri Identity of the terminology system
Required Pattern: http://terminology.hl7.org/CodeSystem/subscription-channel-type
.... code 0..1 code Symbol in syntax defined by the system
Binding: Channel Type Value Set (required)
... endpoint 1..1 url Where the channel points to

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Subscription.channelType.coderequiredchannelType
http://who-umc.org/idmp/ValueSet/channelType
From this IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Notification about a SubscriptionTopic
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta 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
... identifier Σ 0..* Identifier Additional identifiers (business identifier)
... name Σ 0..1 string Human readable name for this subscription
... status ?!Σ 1..1 code requested | active | error | off | entered-in-error
Binding: SubscriptionStatusCodes (required): The status of a subscription.
... topic Σ 1..1 canonical(SubscriptionTopic) Available topics are found at https://idmp.who-umc.org/fhir/SubscriptionTopic
... contact Σ 0..* ContactPoint Contact details for source (e.g. troubleshooting)
... end Σ 0..1 instant When to automatically delete the subscription
... managingEntity Σ 0..1 Reference(CareTeam | HealthcareService | Organization | RelatedPerson | Patient | Practitioner | PractitionerRole) Entity responsible for Subscription changes
... reason Σ 0..1 string Description of why this subscription was created
... filterBy ΣC 0..* BackboneElement Criteria for narrowing the subscription topic stream
Constraints: scr-1
.... 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
.... resourceType Σ 0..1 uri Allowed Resource (reference to definition) for this Subscription filter
Binding: SubscriptionTypes (extensible): A type of resource, or a Reference (from all versions)
Additional BindingsPurpose
AllResourceTypes UI Binding
.... filterParameter Σ 1..1 string Filter label defined in SubscriptionTopic
.... comparator C 0..1 code eq | ne | gt | lt | ge | le | sa | eb | ap
Binding: SearchComparator (required): Search Comparator Codes applied to this filter.
.... modifier C 0..1 code missing | exact | contains | not | text | in | not-in | below | above | type | identifier | of-type | code-text | text-advanced | iterate
Binding: SearchModifierCode (required): Search Modifier Code applied to this filter.
.... value Σ 1..1 string Literal value or resource path
... channelType Σ 1..1 Coding Channel type for notifications
Binding: SubscriptionChannelType (extensible): The type of method used to execute a subscription.
.... id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... system Σ 0..1 uri Identity of the terminology system
Required Pattern: http://terminology.hl7.org/CodeSystem/subscription-channel-type
.... version Σ 0..1 string Version of the system - if relevant
.... code ΣC 0..1 code Symbol in syntax defined by the system
Binding: Channel Type Value Set (required)
.... display ΣC 0..1 string Representation defined by the system
.... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
... endpoint Σ 1..1 url Where the channel points to
... parameter 0..* BackboneElement Channel type
.... 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
.... name 1..1 string Name (key) of the parameter
.... value 1..1 string Value of the parameter to use or pass through
... heartbeatPeriod Σ 0..1 unsignedInt Interval in seconds to send 'heartbeat' notification
... timeout Σ 0..1 unsignedInt Timeout in seconds to attempt notification delivery
... contentType Σ 0..1 code MIME type to send, or omit for no payload
Binding: MimeTypes (required): BCP 13 (RFCs 2045, 2046, 2047, 4288, 4289 and 2049)
... content Σ 1..1 code id-only
Binding: SubscriptionPayloadContent (required): Codes to represent how much resource content to send in the notification payload.
... maxCount Σ 0..1 positiveInt Maximum number of events that can be combined in a single notification

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Subscription.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
From the FHIR Standard
Subscription.statusrequiredSubscriptionStatusCodes
http://hl7.org/fhir/ValueSet/subscription-status|5.0.0
From the FHIR Standard
Subscription.filterBy.resourceTypeextensibleSubscriptionTypes
http://hl7.org/fhir/ValueSet/subscription-types
From the FHIR Standard
Subscription.filterBy.comparatorrequiredSearchComparator
http://hl7.org/fhir/ValueSet/search-comparator|5.0.0
From the FHIR Standard
Subscription.filterBy.modifierrequiredSearchModifierCode
http://hl7.org/fhir/ValueSet/search-modifier-code|5.0.0
From the FHIR Standard
Subscription.channelTypeextensibleSubscriptionChannelType
http://hl7.org/fhir/ValueSet/subscription-channel-type
From the FHIR Standard
Subscription.channelType.coderequiredchannelType
http://who-umc.org/idmp/ValueSet/channelType
From this IG
Subscription.contentTyperequiredMimeTypes(a valid code from urn:ietf:bcp:13)
http://hl7.org/fhir/ValueSet/mimetypes|5.0.0
From the FHIR Standard
Subscription.contentrequiredSubscriptionPayloadContent
http://hl7.org/fhir/ValueSet/subscription-payload-content|5.0.0
From the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorSubscriptionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorSubscriptionIf 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().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorSubscriptionIf 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-5errorSubscriptionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceSubscriptionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
scr-1errorSubscription.filterBySubscription filters may only contain a modifier or a comparator
: (comparator.exists() and modifier.exists()).not()

This structure is derived from Subscription

Summary

Mandatory: 2 elements

 

Other representations of profile: CSV, Excel, Schematron