Projo FHIR Documentation
0.1.0 - ci-build Switzerland flag

Projo FHIR Documentation - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Projo Subscription ( Experimental )

Official URL: https://projo.evoleen.com/fhir/StructureDefinition/projo-subscription Version: 0.1.0
Draft as of 2024-01-01 Computable Name: ProjoSubscription

Copyright/Legal: Copyright (c) Projo. Licensed under CC0-1.0 (public domain dedication). FHIR(R) is the registered trademark of HL7 and is used with permission. This IG references WhatsApp(R), a trademark of Meta Platforms, Inc., for descriptive purposes only.

One of the four managed Subscriptions that wire the orchestrator and sidecar together. Each carries a meta.tag from the managed-subscription code system identifying its role. Reconciliation is by _tag search (always indexed in HAPI), NOT by criteria — so criteria changes are recoverable without duplicates. Channel type is message; endpoint is channel:fire-arrow-azure-queue:. Projo never resets Subscription.status (would tear down the live subscription).

Documentation-only artifact. Projo's runtime extensions, code systems, identifier systems and search parameter are TypeScript constants and bootstrap-time resources, NOT deployed StructureDefinitions. This StructureDefinition exists to document the contract; the source of truth is src/functions/src/lib/fhir/types.ts and docs/FHIR_EXTENSIONS.md.

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 Managed FHIR Subscription (one of four)
... 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
Binding: SubscriptionStatus (required): The status of a subscription.
... criteria Σ 1..1 string Resource query criteria (recoverable via _tag reconciliation)
... 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 message (always)
Binding: SubscriptionChannelType (required): The type of method used to execute a subscription.
Fixed Value: message
.... endpoint Σ 1..1 url channel:fire-arrow-azure-queue:<queueName>
.... payload Σ 1..1 code application/fhir+json (always)
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
Fixed Value: 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 Managed FHIR Subscription (one of four)
... meta
.... tag 1..1 Coding managed-subscription code (identifies the subscription role)
..... system 1..1 uri Identity of the terminology system
Fixed Value: https://firearrow.io/fhir/CodeSystem/managed-subscription
..... code 1..1 code Symbol in syntax defined by the system
Binding: Fire Arrow Managed Subscription Value Set (required)
... status 1..1 code requested | active
... criteria 1..1 string Resource query criteria (recoverable via _tag reconciliation)
.... type 1..1 code message (always)
Fixed Value: message
.... endpoint 1..1 url channel:fire-arrow-azure-queue:<queueName>
.... payload 1..1 code application/fhir+json (always)
Fixed Value: application/fhir+json

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Subscription.meta.tag.​code Base required Fire Arrow Managed Subscription Value Set 📦0.1.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Managed FHIR Subscription (one of four)
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 1..1 Coding managed-subscription code (identifies the subscription role)
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://firearrow.io/fhir/CodeSystem/managed-subscription
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
Binding: Fire Arrow Managed Subscription Value Set (required)
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
... 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
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 Resource query criteria (recoverable via _tag reconciliation)
... 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 message (always)
Binding: SubscriptionChannelType (required): The type of method used to execute a subscription.
Fixed Value: message
.... endpoint Σ 1..1 url channel:fire-arrow-azure-queue:<queueName>
.... payload Σ 1..1 code application/fhir+json (always)
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
Fixed Value: 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.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Subscription.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Subscription.meta.tag.​code Base required Fire Arrow Managed Subscription Value Set 📦0.1.0 This IG
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: 2 elements(3 nested mandatory elements)
Fixed: 3 elements

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Managed FHIR Subscription (one of four)
... 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
Binding: SubscriptionStatus (required): The status of a subscription.
... criteria Σ 1..1 string Resource query criteria (recoverable via _tag reconciliation)
... 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 message (always)
Binding: SubscriptionChannelType (required): The type of method used to execute a subscription.
Fixed Value: message
.... endpoint Σ 1..1 url channel:fire-arrow-azure-queue:<queueName>
.... payload Σ 1..1 code application/fhir+json (always)
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
Fixed Value: 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 Managed FHIR Subscription (one of four)
... meta
.... tag 1..1 Coding managed-subscription code (identifies the subscription role)
..... system 1..1 uri Identity of the terminology system
Fixed Value: https://firearrow.io/fhir/CodeSystem/managed-subscription
..... code 1..1 code Symbol in syntax defined by the system
Binding: Fire Arrow Managed Subscription Value Set (required)
... status 1..1 code requested | active
... criteria 1..1 string Resource query criteria (recoverable via _tag reconciliation)
.... type 1..1 code message (always)
Fixed Value: message
.... endpoint 1..1 url channel:fire-arrow-azure-queue:<queueName>
.... payload 1..1 code application/fhir+json (always)
Fixed Value: application/fhir+json

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Subscription.meta.tag.​code Base required Fire Arrow Managed Subscription Value Set 📦0.1.0 This IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Subscription 0..* Subscription Managed FHIR Subscription (one of four)
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... versionId Σ 0..1 id Version specific identifier
.... lastUpdated Σ 0..1 instant When the resource version last changed
.... source Σ 0..1 uri Identifies where the resource comes from
.... profile Σ 0..* canonical(StructureDefinition) Profiles this resource claims to conform to
.... security Σ 0..* Coding Security Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.
.... tag Σ 1..1 Coding managed-subscription code (identifies the subscription role)
Binding: CommonTags (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones".
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... system Σ 1..1 uri Identity of the terminology system
Fixed Value: https://firearrow.io/fhir/CodeSystem/managed-subscription
..... version Σ 0..1 string Version of the system - if relevant
..... code Σ 1..1 code Symbol in syntax defined by the system
Binding: Fire Arrow Managed Subscription Value Set (required)
..... display Σ 0..1 string Representation defined by the system
..... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
... 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
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 Resource query criteria (recoverable via _tag reconciliation)
... 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 message (always)
Binding: SubscriptionChannelType (required): The type of method used to execute a subscription.
Fixed Value: message
.... endpoint Σ 1..1 url channel:fire-arrow-azure-queue:<queueName>
.... payload Σ 1..1 code application/fhir+json (always)
Binding: Mime Types (required): The mime type of an attachment. Any valid mime type is allowed.
Fixed Value: 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.meta.security Base extensible SecurityLabels 📍4.0.1 FHIR Std.
Subscription.meta.tag Base example Common Tags 📍4.0.1 FHIR Std.
Subscription.meta.tag.​code Base required Fire Arrow Managed Subscription Value Set 📦0.1.0 This IG
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: 2 elements(3 nested mandatory elements)
Fixed: 3 elements

 

Other representations of profile: CSV, Excel, Schematron