Netherlands - Generic Functions for data exchange Implementation Guide
0.3.0 - ci-build Netherlands flag

Netherlands - Generic Functions for data exchange Implementation Guide, published by Stichting Nuts. This guide is not an authorized publication; it is the continuous build for version 0.3.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/nuts-foundation/nl-generic-functions-ig/ and changes regularly. See the Directory of published versions

Resource Profile: NL COW Subscription

Official URL: http://nuts-foundation.github.io/nl-generic-functions-ig/StructureDefinition/nl-cow-subscription Version: 0.3.0
Draft as of 2026-09-07 Computable Name: NlCowSubscription

Broad, long-lived Subscription from a Placer to a Fulfiller for Notified Pull. One Subscription covers all Coordination Tasks for a single use-case topic between the two partners. Creation of the Subscription (in-band or out-of-band) is use-case defined; the Placer MUST check that a Subscription exists for the Fulfiller before notifying.

Usages:

  • This Profile is not used by any profiles in this Specification

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Server push subscription criteria
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code requested | active | error | off
Binding: SubscriptionStatus (required): The status of a subscription.
... criteria Σ 1..1 string Rule for server push
... channel Σ 1..1 BackboneElement The channel on which to report matches to the criteria
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type Σ 1..1 code rest-hook | websocket | email | sms | message
Binding: SubscriptionChannelType (required): The type of method used to execute a subscription.
Required Pattern: rest-hook
.... endpoint Σ 1..1 url Where the channel points to
.... payload Σ 0..1 code MIME type to send, or omit for no payload
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
Required Pattern: application/fhir+json

doco Documentation for this format

Terminology Bindings

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

Constraints

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

This structure is derived from Subscription

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Server push subscription criteria
... channel
.... type 1..1 code rest-hook | websocket | email | sms | message
Required Pattern: rest-hook
.... endpoint 1..1 url Where the channel points to
.... payload 0..1 code MIME type to send, or omit for no payload
Required Pattern: application/fhir+json

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

doco Documentation for this format

Terminology Bindings

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

Constraints

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

This structure is derived from Subscription

Summary

Mandatory: 1 element

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Server push subscription criteria
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code requested | active | error | off
Binding: SubscriptionStatus (required): The status of a subscription.
... criteria Σ 1..1 string Rule for server push
... channel Σ 1..1 BackboneElement The channel on which to report matches to the criteria
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... type Σ 1..1 code rest-hook | websocket | email | sms | message
Binding: SubscriptionChannelType (required): The type of method used to execute a subscription.
Required Pattern: rest-hook
.... endpoint Σ 1..1 url Where the channel points to
.... payload Σ 0..1 code MIME type to send, or omit for no payload
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
Required Pattern: application/fhir+json

doco Documentation for this format

Terminology Bindings

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

Constraints

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

Differential View

This structure is derived from Subscription

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Server push subscription criteria
... channel
.... type 1..1 code rest-hook | websocket | email | sms | message
Required Pattern: rest-hook
.... endpoint 1..1 url Where the channel points to
.... payload 0..1 code MIME type to send, or omit for no payload
Required Pattern: application/fhir+json

doco Documentation for this format

Snapshot View

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

doco Documentation for this format

Terminology Bindings

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

Constraints

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

This structure is derived from Subscription

Summary

Mandatory: 1 element

 

Other representations of profile: CSV, Excel, Schematron