Carequality Subscription Implementation Guide for Push Notifications
1.0.0 - CI Build
This page is part of the Carequality Subscription Implementation Guide for Push Notifications (v1.0.0: Release) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
Official URL: https://carequality.org/IG/push-notifications/StructureDefinition/CEQsubscription | Version: 1.0.0 | |||
Draft as of 2024-12-18 | Computable Name: CEQsubscription |
Extended Elements and Constraints Specific to the Carequality Use Case Carequality has defined a custom flow for a Subscription that removes the criteria use in favor of specific events defined as URIs. This adds requirements that the PatientID and an identifier be added to the resource. The identifier element is the endpoint id [Base]/fhir/Subscription/[identifier] A termination (Subscription.end) date is required and may not be more than 2 years from original date of subscription. A renewal may be submitted prior to expiry for a period of up to two additional years.
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Subscription
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | Subscription | Server push subscription criteria CEQ-Param-Name: searchParamName shall be Patient or PatientID |
![]() ![]() ![]() |
2..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
1..1 | (Complex) | Carequality Subscription Required Elements URL: https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension | |
![]() ![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Value of extension Required Pattern: eq | |
![]() ![]() ![]() ![]() |
1..* | canonical() | Backport R5 Subscription Topic Canonical URL: https://carequality.org/IG/push-notifications/StructureDefinition/backport-topic-canonical | |
![]() ![]() ![]() |
1..1 | instant | When to automatically delete the subscription | |
![]() ![]() ![]() |
1..1 | string | Simplified query string for Patient using ?id= or ?identifier= | |
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
1..1 | code | rest-hook | websocket | email | sms | message Fixed Value: rest-hook | |
![]() |
Id | Grade | Path(s) | Details | Requirements |
CEQ-Param-Name | error | Subscription | searchParamName shall be Patient or PatientID : extension('https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension').extension('searchParamName').value in ( 'Patient' | 'PatientID' ) |
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | Subscription | Server push subscription criteria dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-3: 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 dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management CEQ-Param-Name: searchParamName shall be Patient or PatientID |
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
2..* | Extension | Extension Slice: Unordered, Open by value:url ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() ![]() |
1..1 | (Complex) | Carequality Subscription Required Elements URL: https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() ![]() ![]() |
5..* | Extension | Extension Slice: Unordered, Open by value:url ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Extension | A Business Identifier ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "subIdentifier" | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "searchParamName" | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension ele-1: All FHIR elements must have a @value or children | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "searchModifier" | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Value of extension ele-1: All FHIR elements must have a @value or children Required Pattern: eq | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | End recipient of the notification ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "endUser" | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Recipient CQ Directory Reference ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "CQOrganization" | |
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension" | |
![]() ![]() ![]() ![]() |
1..* | canonical() | Backport R5 Subscription Topic Canonical URL: https://carequality.org/IG/push-notifications/StructureDefinition/backport-topic-canonical ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() |
?!Σ | 1..1 | code | requested | active | error | off Binding: SubscriptionStatus (required): The status of a subscription. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
Σ | 1..1 | instant | When to automatically delete the subscription ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
Σ | 1..1 | string | Description of why this subscription was created ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
Σ | 1..1 | string | Simplified query string for Patient using ?id= or ?identifier= ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
Σ | 1..1 | BackboneElement | The channel on which to report matches to the criteria ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | rest-hook | websocket | email | sms | message Binding: SubscriptionChannelType (required): The type of method used to execute a subscription. ele-1: All FHIR elements must have a @value or children Fixed Value: rest-hook |
![]() |
Path | Conformance | ValueSet / Code | URI |
Subscription.status | required | SubscriptionStatushttp://hl7.org/fhir/ValueSet/subscription-status|4.0.1 from the FHIR Standard | |
Subscription.channel.type | required | Fixed Value: rest-hookhttp://hl7.org/fhir/ValueSet/subscription-channel-type|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
CEQ-Param-Name | error | Subscription | searchParamName shall be Patient or PatientID : extension('https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension').extension('searchParamName').value in ( 'Patient' | 'PatientID' ) | |
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() |
Name | Flags | Card. | Type | Description & Constraints![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | Subscription | Server push subscription criteria CEQ-Param-Name: searchParamName shall be Patient or PatientID | ||||
![]() ![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
![]() ![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() ![]() |
2..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
1..1 | (Complex) | Carequality Subscription Required Elements URL: https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
5..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Extension | A Business Identifier | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "subIdentifier" | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "searchParamName" | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "searchModifier" | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Value of extension Required Pattern: eq | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | End recipient of the notification | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "endUser" | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Recipient CQ Directory Reference | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "CQOrganization" | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension" | |||||
![]() ![]() ![]() ![]() |
1..* | canonical() | Backport R5 Subscription Topic Canonical URL: https://carequality.org/IG/push-notifications/StructureDefinition/backport-topic-canonical | |||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
?!Σ | 1..1 | code | requested | active | error | off Binding: SubscriptionStatus (required): The status of a subscription. | ||||
![]() ![]() ![]() |
Σ | 0..* | ContactPoint | Contact details for source (e.g. troubleshooting) | ||||
![]() ![]() ![]() |
Σ | 1..1 | instant | When to automatically delete the subscription | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | Description of why this subscription was created | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | Simplified query string for Patient using ?id= or ?identifier= | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Latest error note | ||||
![]() ![]() ![]() |
Σ | 1..1 | BackboneElement | The channel on which to report matches to the criteria | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | rest-hook | websocket | email | sms | message Binding: SubscriptionChannelType (required): The type of method used to execute a subscription. Fixed Value: rest-hook | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | url | Where the channel points to | ||||
![]() ![]() ![]() ![]() |
Σ | 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. | ||||
![]() ![]() ![]() ![]() |
Σ | 0..* | string | Usage depends on the channel type | ||||
![]() |
Path | Conformance | ValueSet / Code | URI | |||
Subscription.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages from the FHIR Standard
| ||||
Subscription.status | required | SubscriptionStatushttp://hl7.org/fhir/ValueSet/subscription-status|4.0.1 from the FHIR Standard | ||||
Subscription.channel.type | required | Fixed Value: rest-hookhttp://hl7.org/fhir/ValueSet/subscription-channel-type|4.0.1 from the FHIR Standard | ||||
Subscription.channel.payload | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
CEQ-Param-Name | error | Subscription | searchParamName shall be Patient or PatientID : extension('https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension').extension('searchParamName').value in ( 'Patient' | 'PatientID' ) | |
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
Differential View
This structure is derived from Subscription
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | Subscription | Server push subscription criteria CEQ-Param-Name: searchParamName shall be Patient or PatientID |
![]() ![]() ![]() |
2..* | Extension | Extension Slice: Unordered, Open by value:url | |
![]() ![]() ![]() ![]() |
1..1 | (Complex) | Carequality Subscription Required Elements URL: https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension | |
![]() ![]() ![]() ![]() ![]() |
Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Value of extension Required Pattern: eq | |
![]() ![]() ![]() ![]() |
1..* | canonical() | Backport R5 Subscription Topic Canonical URL: https://carequality.org/IG/push-notifications/StructureDefinition/backport-topic-canonical | |
![]() ![]() ![]() |
1..1 | instant | When to automatically delete the subscription | |
![]() ![]() ![]() |
1..1 | string | Simplified query string for Patient using ?id= or ?identifier= | |
![]() ![]() ![]() |
||||
![]() ![]() ![]() ![]() |
1..1 | code | rest-hook | websocket | email | sms | message Fixed Value: rest-hook | |
![]() |
Id | Grade | Path(s) | Details | Requirements |
CEQ-Param-Name | error | Subscription | searchParamName shall be Patient or PatientID : extension('https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension').extension('searchParamName').value in ( 'Patient' | 'PatientID' ) |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() |
C | 0..* | Subscription | Server push subscription criteria dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources dom-3: 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 dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated dom-5: If a resource is contained in another resource, it SHALL NOT have a security label dom-6: A resource should have narrative for robust management CEQ-Param-Name: searchParamName shall be Patient or PatientID |
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
2..* | Extension | Extension Slice: Unordered, Open by value:url ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() ![]() |
1..1 | (Complex) | Carequality Subscription Required Elements URL: https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() ![]() ![]() |
5..* | Extension | Extension Slice: Unordered, Open by value:url ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Extension | A Business Identifier ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "subIdentifier" | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "searchParamName" | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension ele-1: All FHIR elements must have a @value or children | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "searchModifier" | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Value of extension ele-1: All FHIR elements must have a @value or children Required Pattern: eq | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | End recipient of the notification ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "endUser" | |
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Recipient CQ Directory Reference ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "CQOrganization" | |
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension" | |
![]() ![]() ![]() ![]() |
1..* | canonical() | Backport R5 Subscription Topic Canonical URL: https://carequality.org/IG/push-notifications/StructureDefinition/backport-topic-canonical ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both | |
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() |
?!Σ | 1..1 | code | requested | active | error | off Binding: SubscriptionStatus (required): The status of a subscription. ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
Σ | 1..1 | instant | When to automatically delete the subscription ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
Σ | 1..1 | string | Description of why this subscription was created ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
Σ | 1..1 | string | Simplified query string for Patient using ?id= or ?identifier= ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() |
Σ | 1..1 | BackboneElement | The channel on which to report matches to the criteria ele-1: All FHIR elements must have a @value or children |
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both |
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | rest-hook | websocket | email | sms | message Binding: SubscriptionChannelType (required): The type of method used to execute a subscription. ele-1: All FHIR elements must have a @value or children Fixed Value: rest-hook |
![]() |
Path | Conformance | ValueSet / Code | URI |
Subscription.status | required | SubscriptionStatushttp://hl7.org/fhir/ValueSet/subscription-status|4.0.1 from the FHIR Standard | |
Subscription.channel.type | required | Fixed Value: rest-hookhttp://hl7.org/fhir/ValueSet/subscription-channel-type|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
CEQ-Param-Name | error | Subscription | searchParamName shall be Patient or PatientID : extension('https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension').extension('searchParamName').value in ( 'Patient' | 'PatientID' ) | |
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() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints![]() | ||||
---|---|---|---|---|---|---|---|---|
![]() ![]() |
C | 0..* | Subscription | Server push subscription criteria CEQ-Param-Name: searchParamName shall be Patient or PatientID | ||||
![]() ![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() ![]() |
0..1 | Narrative | Text summary of the resource, for human interpretation | |||||
![]() ![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() ![]() |
2..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() |
1..1 | (Complex) | Carequality Subscription Required Elements URL: https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension | |||||
![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() |
5..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
S | 1..1 | Extension | A Business Identifier | ||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "subIdentifier" | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "searchParamName" | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | string | Value of extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "searchModifier" | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | code | Value of extension Required Pattern: eq | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | End recipient of the notification | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "endUser" | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |||||
![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | Extension | Recipient CQ Directory Reference | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..0 | |||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "CQOrganization" | |||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
0..1 | string | Value of extension | |||||
![]() ![]() ![]() ![]() ![]() |
1..1 | uri | "https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension" | |||||
![]() ![]() ![]() ![]() |
1..* | canonical() | Backport R5 Subscription Topic Canonical URL: https://carequality.org/IG/push-notifications/StructureDefinition/backport-topic-canonical | |||||
![]() ![]() ![]() |
?! | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() ![]() |
?!Σ | 1..1 | code | requested | active | error | off Binding: SubscriptionStatus (required): The status of a subscription. | ||||
![]() ![]() ![]() |
Σ | 0..* | ContactPoint | Contact details for source (e.g. troubleshooting) | ||||
![]() ![]() ![]() |
Σ | 1..1 | instant | When to automatically delete the subscription | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | Description of why this subscription was created | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | Simplified query string for Patient using ?id= or ?identifier= | ||||
![]() ![]() ![]() |
Σ | 0..1 | string | Latest error note | ||||
![]() ![]() ![]() |
Σ | 1..1 | BackboneElement | The channel on which to report matches to the criteria | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | rest-hook | websocket | email | sms | message Binding: SubscriptionChannelType (required): The type of method used to execute a subscription. Fixed Value: rest-hook | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | url | Where the channel points to | ||||
![]() ![]() ![]() ![]() |
Σ | 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. | ||||
![]() ![]() ![]() ![]() |
Σ | 0..* | string | Usage depends on the channel type | ||||
![]() |
Path | Conformance | ValueSet / Code | URI | |||
Subscription.language | preferred | CommonLanguageshttp://hl7.org/fhir/ValueSet/languages from the FHIR Standard
| ||||
Subscription.status | required | SubscriptionStatushttp://hl7.org/fhir/ValueSet/subscription-status|4.0.1 from the FHIR Standard | ||||
Subscription.channel.type | required | Fixed Value: rest-hookhttp://hl7.org/fhir/ValueSet/subscription-channel-type|4.0.1 from the FHIR Standard | ||||
Subscription.channel.payload | required | Mime Types (a valid code from urn:ietf:bcp:13 )http://hl7.org/fhir/ValueSet/mimetypes|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
CEQ-Param-Name | error | Subscription | searchParamName shall be Patient or PatientID : extension('https://carequality.org/IG/push-notifications/StructureDefinition/CEQextension').extension('searchParamName').value in ( 'Patient' | 'PatientID' ) | |
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
Other representations of profile: CSV, Excel, Schematron