CH EPR mHealth (R4)
0.1.1 - Draft Standard for Trial Use

This page is part of the CH EPR mHealth (R4) (v0.1.1: DSTU 1) based on FHIR R4. . For a full list of available versions, see the Directory of published versions

StructureDefinition: IHE_PMIR_Subscription

See https://wiki.ihe.net/index.php/Patient_Master_Identity_Registry_(PMIR)

The official URL for this profile is:

http://ihe.net/fhir/StructureDefinition/IHE.PMIR.Subscription

Formal Views of Profile Content

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

This structure is derived from Subscription

Summary

Mandatory: 2 elements (2 nested mandatory elements)
Fixed Value: 1 element

This structure is derived from Subscription

NameFlagsCard.TypeDescription & Constraintsdoco
.. Subscription 0..*SubscriptionServer push subscription criteria
... contact
.... system 1..1codephone | fax | email | pager | url | sms | other
.... value 1..1stringThe actual contact point details
... criteria 1..1stringRule for server push
... channel
.... type 1..1coderest-hook | websocket | email | sms | message
Fixed Value: message
.... endpoint 1..1urlWhere the channel points to
.... payload 1..1codeMIME type to send, or omit for no payload

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Subscription I0..*SubscriptionServer push subscription criteria
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... status ?!ΣI1..1coderequested | active | error | off
Binding: SubscriptionStatus (required)
... contact ΣI0..*ContactPointContact details for source (e.g. troubleshooting)
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... system ΣI1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required)
.... value ΣI1..1stringThe actual contact point details
.... use ?!ΣI0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
.... rank ΣI0..1positiveIntSpecify preferred order of use (1 = highest)
.... period ΣI0..1PeriodTime period when the contact point was/is in use
... end ΣI0..1instantWhen to automatically delete the subscription
... reason ΣI1..1stringDescription of why this subscription was created
... criteria ΣI1..1stringRule for server push
... error ΣI0..1stringLatest error note
... channel ΣI1..1BackboneElementThe channel on which to report matches to the criteria
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type ΣI1..1coderest-hook | websocket | email | sms | message
Binding: SubscriptionChannelType (required)
Fixed Value: message
.... endpoint ΣI1..1urlWhere the channel points to
.... payload ΣI1..1codeMIME type to send, or omit for no payload
Binding: Mime Types (required)
.... header ΣI0..*stringUsage depends on the channel type

doco Documentation for this format

This structure is derived from Subscription

Summary

Mandatory: 2 elements (2 nested mandatory elements)
Fixed Value: 1 element

Differential View

This structure is derived from Subscription

NameFlagsCard.TypeDescription & Constraintsdoco
.. Subscription 0..*SubscriptionServer push subscription criteria
... contact
.... system 1..1codephone | fax | email | pager | url | sms | other
.... value 1..1stringThe actual contact point details
... criteria 1..1stringRule for server push
... channel
.... type 1..1coderest-hook | websocket | email | sms | message
Fixed Value: message
.... endpoint 1..1urlWhere the channel points to
.... payload 1..1codeMIME type to send, or omit for no payload

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Subscription I0..*SubscriptionServer push subscription criteria
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... status ?!ΣI1..1coderequested | active | error | off
Binding: SubscriptionStatus (required)
... contact ΣI0..*ContactPointContact details for source (e.g. troubleshooting)
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
Slice: Unordered, Open by value:url
.... system ΣI1..1codephone | fax | email | pager | url | sms | other
Binding: ContactPointSystem (required)
.... value ΣI1..1stringThe actual contact point details
.... use ?!ΣI0..1codehome | work | temp | old | mobile - purpose of this contact point
Binding: ContactPointUse (required)
.... rank ΣI0..1positiveIntSpecify preferred order of use (1 = highest)
.... period ΣI0..1PeriodTime period when the contact point was/is in use
... end ΣI0..1instantWhen to automatically delete the subscription
... reason ΣI1..1stringDescription of why this subscription was created
... criteria ΣI1..1stringRule for server push
... error ΣI0..1stringLatest error note
... channel ΣI1..1BackboneElementThe channel on which to report matches to the criteria
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... type ΣI1..1coderest-hook | websocket | email | sms | message
Binding: SubscriptionChannelType (required)
Fixed Value: message
.... endpoint ΣI1..1urlWhere the channel points to
.... payload ΣI1..1codeMIME type to send, or omit for no payload
Binding: Mime Types (required)
.... header ΣI0..*stringUsage depends on the channel type

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

Terminology Bindings

PathConformanceValueSet / Code
Subscription.languagepreferredCommonLanguages
Max Binding: AllLanguages
Subscription.statusrequiredSubscriptionStatus
Subscription.contact.systemrequiredContactPointSystem
Subscription.contact.userequiredContactPointUse
Subscription.channel.typerequiredFixed Value: message
Subscription.channel.payloadrequiredMime Types

Constraints

Constraints

IdPathDetailsRequirements
dom-2SubscriptionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3SubscriptionIf 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-4SubscriptionIf 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-5SubscriptionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6SubscriptionA resource should have narrative for robust management
: text.`div`.exists()
ele-1Subscription.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Subscription.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Subscription.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Subscription.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Subscription.statusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.contactAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.contact.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Subscription.contact.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Subscription.contact.systemAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.contact.valueAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.contact.useAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.contact.rankAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.contact.periodAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.endAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.reasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.criteriaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.errorAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.channelAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.channel.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Subscription.channel.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Subscription.channel.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Subscription.channel.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Subscription.channel.typeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.channel.endpointAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.channel.payloadAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Subscription.channel.headerAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())