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-11-19 Computable Name: SubscriptionIdmpEvent

Subscription for event notifications

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 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

Path Status Usage ValueSet Version Source
Subscription.status Base required Subscription Status 📍5.0.0 FHIR Std.
Subscription.channelType Base extensible Subscription Channel Type 📍5.0.0 FHIR Std.
Subscription.channelType.​code Base required Channel Type Value Set 📦0.1.0 This IG
Subscription.content Base required Subscription Payload Content 📍5.0.0 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().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-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()

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)

Path Status Usage ValueSet Version Source
Subscription.channelType.​code Base required Channel Type Value Set 📦0.1.0 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

Path Status Usage ValueSet Version Source
Subscription.language Base required All Languages 📍5.0.0 FHIR Std.
Subscription.status Base required Subscription Status 📍5.0.0 FHIR Std.
Subscription.filterBy.​resourceType Base extensible Types used with Subscriptions 📍5.0.0 FHIR Std.
Subscription.filterBy.​comparator Base required Search Comparator 📍5.0.0 FHIR Std.
Subscription.filterBy.​modifier Base required Search Modifier Code 📍5.0.0 FHIR Std.
Subscription.channelType Base extensible Subscription Channel Type 📍5.0.0 FHIR Std.
Subscription.channelType.​code Base required Channel Type Value Set 📦0.1.0 This IG
Subscription.contentType Base required Mime Types 📍5.0.0 FHIR Std.
Subscription.content Base required Subscription Payload Content 📍5.0.0 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().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-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()
scr-1 error Subscription.filterBy Subscription 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

Path Status Usage ValueSet Version Source
Subscription.status Base required Subscription Status 📍5.0.0 FHIR Std.
Subscription.channelType Base extensible Subscription Channel Type 📍5.0.0 FHIR Std.
Subscription.channelType.​code Base required Channel Type Value Set 📦0.1.0 This IG
Subscription.content Base required Subscription Payload Content 📍5.0.0 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().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-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()

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)

Path Status Usage ValueSet Version Source
Subscription.channelType.​code Base required Channel Type Value Set 📦0.1.0 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

Path Status Usage ValueSet Version Source
Subscription.language Base required All Languages 📍5.0.0 FHIR Std.
Subscription.status Base required Subscription Status 📍5.0.0 FHIR Std.
Subscription.filterBy.​resourceType Base extensible Types used with Subscriptions 📍5.0.0 FHIR Std.
Subscription.filterBy.​comparator Base required Search Comparator 📍5.0.0 FHIR Std.
Subscription.filterBy.​modifier Base required Search Modifier Code 📍5.0.0 FHIR Std.
Subscription.channelType Base extensible Subscription Channel Type 📍5.0.0 FHIR Std.
Subscription.channelType.​code Base required Channel Type Value Set 📦0.1.0 This IG
Subscription.contentType Base required Mime Types 📍5.0.0 FHIR Std.
Subscription.content Base required Subscription Payload Content 📍5.0.0 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().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-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()
scr-1 error Subscription.filterBy Subscription 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