Foundation
This
page
is
part
of
the
Continuous
Integration
Build
of
FHIR
Specification
(v5.0.0:
R5
-
STU
).
This
is
the
current
published
version
in
it's
permanent
home
(it
will
always
(will
be
available
incorrect/inconsistent
at
this
URL).
For
a
full
list
of
available
versions,
see
times).
See
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
| Responsible Owner: FHIR Infrastructure Work Group | Standards Status : Informative | Compartments : No defined compartments |
ShEx statement for subscriptiontopic
PREFIX fhir: <http://hl7.org/fhir/> PREFIX fhirvs: <http://hl7.org/fhir/ValueSet/> PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>IMPORT <uri.shex> IMPORT <code.shex> IMPORT <date.shex> IMPORT <string.shex># ShEx Version 2.2 IMPORT <Uri.shex> IMPORT <Code.shex> IMPORT <Date.shex> IMPORT <String.shex> IMPORT <Coding.shex> IMPORT <Period.shex>IMPORT <boolean.shex> IMPORT <dateTime.shex> IMPORT <markdown.shex> IMPORT <canonical.shex>IMPORT <Boolean.shex> IMPORT <DateTime.shex> IMPORT <Markdown.shex> IMPORT <Canonical.shex> IMPORT <Identifier.shex> IMPORT <UsageContext.shex> IMPORT <ContactDetail.shex> IMPORT <DomainResource.shex> IMPORT <CodeableConcept.shex> IMPORT <BackboneElement.shex> start=@<SubscriptionTopic> AND {fhir:nodeRole [fhir:treeRoot]} # The definition of a specific topic for triggering events within the Subscriptions framework <SubscriptionTopic> EXTENDS @<DomainResource> CLOSED { a [fhir:SubscriptionTopic]?;fhir:nodeRole [fhir:treeRoot]?;a [fhir:SubscriptionTopic]?; fhir:nodeRole [fhir:treeRoot]?; fhir:url @<uri>; # Canonical identifier for thisfhir:url @<Uri>; # Canonical identifier for this # subscription topic, represented as # an absolute URI (globally unique) fhir:identifier @<OneOrMore_Identifier>?; # Business identifier for # subscription topicfhir:version @<string>?; # Business version of thefhir:version @<String>?; # Business version of the # subscription topicfhir:versionAlgorithm @<string> ORfhir:versionAlgorithm @<String> OR @<Coding> ?; # How to compare versionsfhir:name @<string>?; # Name for this subscription topicfhir:name @<String>?; # Name for this subscription topic # (computer friendly)fhir:title @<string>?; # Name for this subscription topicfhir:title @<String>?; # Name for this subscription topic # (human friendly)fhir:derivedFrom @<OneOrMore_canonical>?; # Based on FHIR protocol orfhir:derivedFrom @<OneOrMore_Canonical>?; # Based on FHIR protocol or # definitionfhir:status @<code> ANDfhir:status @<Code> AND {fhir:v @fhirvs:publication-status}; # draft | active | retired | unknownfhir:experimental @<boolean>?; # If for testing purposes, not real # usage fhir:date @<dateTime>?; # Date status first applied fhir:publisher @<string>?; # The name of the individual orfhir:experimental @<Boolean>?; # If For testing only - never for # real usage fhir:date @<DateTime>?; # Date status first applied fhir:publisher @<String>?; # The name of the individual or # organization that published the # SubscriptionTopic fhir:contact @<OneOrMore_ContactDetail>?; # Contact details for the publisherfhir:description @<markdown>?; # Natural language description offhir:description @<Markdown>?; # Natural language description of # the SubscriptionTopic fhir:useContext @<OneOrMore_UsageContext>?; # Content intends to support these # contexts fhir:jurisdiction @<OneOrMore_CodeableConcept>?; # Intended jurisdiction of the # SubscriptionTopic (if applicable)fhir:purpose @<markdown>?; # Why this SubscriptionTopic isfhir:purpose @<Markdown>?; # Why this SubscriptionTopic is # definedfhir:copyright @<markdown>?; # Use and/or publishing restrictions fhir:copyrightLabel @<string>?; # Copyright holder and year(s) fhir:approvalDate @<date>?; # When SubscriptionTopic is/wasfhir:copyright @<Markdown>?; # Notice about intellectual property # ownership, can include # restrictions on use fhir:copyrightLabel @<String>?; # Copyright holder and year(s) fhir:approvalDate @<Date>?; # When SubscriptionTopic is/was # approved by publisherfhir:lastReviewDate @<date>?; # Date the Subscription Topic wasfhir:lastReviewDate @<Date>?; # Date the Subscription Topic was # last reviewed by the publisher fhir:effectivePeriod @<Period>?; # The effective date range for the # SubscriptionTopicfhir:resourceTrigger @<OneOrMore_SubscriptionTopic.resourceTrigger>?; # Definition of a resource-based # trigger for the subscription topic fhir:eventTrigger @<OneOrMore_SubscriptionTopic.eventTrigger>?; # Event definitions the # SubscriptionTopic fhir:canFilterBy @<OneOrMore_SubscriptionTopic.canFilterBy>?; # Properties by which a Subscription # can filter notifications from thefhir:trigger @<OneOrMore_SubscriptionTopic.trigger>?; # Definition of a trigger for the # subscription topic } # Definition of a trigger for the subscription topic <SubscriptionTopic.trigger> EXTENDS @<BackboneElement> CLOSED { fhir:description @<Markdown>?; # Text representation of the # resource trigger fhir:resource @<Uri>; # Key Data Type, Resource (reference # to definition), or relevant # definition for this trigger fhir:supportedInteraction @<OneOrMore_Code> AND {fhir:v @fhirvs:interaction-trigger}?; # create | update | delete fhir:queryCriteria @<SubscriptionTopic.trigger.queryCriteria>?; # Query based trigger rule fhir:fhirPathCriteria @<String>?; # FHIRPath based trigger rule fhir:event @<CodeableConcept>?; # Event which can trigger a # notification from the # SubscriptionTopicfhir:notificationShape @<OneOrMore_SubscriptionTopic.notificationShape>?; # Properties for describing thefhir:canFilterBy @<OneOrMore_SubscriptionTopic.trigger.canFilterBy>?; # Properties by which a Subscription # can filter notifications based on # this trigger fhir:notificationShape @<OneOrMore_SubscriptionTopic.trigger.notificationShape>?; # Properties for describing the # shape of notifications generated# by this topic# by this trigger } # Query based trigger rule<SubscriptionTopic.resourceTrigger.queryCriteria> EXTENDS @<BackboneElement> CLOSED { fhir:previous @<string>?; # Rule applied to previous resource<SubscriptionTopic.trigger.queryCriteria> EXTENDS @<BackboneElement> CLOSED { fhir:previous @<String>?; # Rule applied to previous resource # statefhir:resultForCreate @<code> ANDfhir:resultForCreate @<Code> AND {fhir:v @fhirvs:subscriptiontopic-cr-behavior}?; # test-passes | test-failsfhir:current @<string>?; # Rule applied to current resourcefhir:current @<String>?; # Rule applied to current resource # statefhir:resultForDelete @<code> ANDfhir:resultForDelete @<Code> AND {fhir:v @fhirvs:subscriptiontopic-cr-behavior}?; # test-passes | test-failsfhir:requireBoth @<boolean>?; # Both must be true flagfhir:requireBoth @<Boolean>?; # Both must be true flag }# Properties by which a Subscription can filter notifications from the SubscriptionTopic <SubscriptionTopic.canFilterBy> EXTENDS @<BackboneElement> CLOSED { fhir:description @<markdown>?; # Description of this filter# Properties by which a Subscription can filter notifications based on this trigger <SubscriptionTopic.trigger.canFilterBy> EXTENDS @<BackboneElement> CLOSED { fhir:description @<Markdown>?; # Description of this filter # parameterfhir:resource @<uri>?; # URL of the triggering Resourcefhir:resource @<Uri>?; # URL of the triggering Resource # that this filter applies tofhir:filterParameter @<string>; # Human-readable andfhir:filterParameter @<String>; # Human-readable and # computation-friendly name for a # filter parameter usable by # subscriptions on this topic, via # Subscription.filterBy.filterPara- # meterfhir:filterDefinition @<uri>?; # Canonical URL for afhir:filterDefinition @<Uri>?; # Canonical URL for a # filterParameter definitionfhir:comparator @<OneOrMore_code> ANDfhir:comparator @<OneOrMore_Code> AND {fhir:v @fhirvs:search-comparator}?; # eq | ne | gt | lt | ge | le | sa | # eb | apfhir:modifier @<OneOrMore_code> ANDfhir:modifier @<OneOrMore_Code> AND {fhir:v @fhirvs:search-modifier-code}?; # missing | exact | contains | not | # text | in | not-in | below | above # | type | identifier | of-type | # code-text | text-advanced | # iterate }# Properties for describing the shape of notifications generated by this topic <SubscriptionTopic.notificationShape> EXTENDS @<BackboneElement> CLOSED { fhir:resource @<uri>; # URL of the Resource that is the # focus (main) resource in a # notification shape fhir:include @<OneOrMore_string>?; # Include directives, rooted in the# Properties for describing the shape of notifications generated by this trigger <SubscriptionTopic.trigger.notificationShape> EXTENDS @<BackboneElement> CLOSED { fhir:resource @<Uri>; # URL of the key definition that is # the focus in a notification shape fhir:include @<OneOrMore_String>?; # Include directives, rooted in the # resource for this shapefhir:revInclude @<OneOrMore_string>?; # Reverse include directives, rootedfhir:revInclude @<OneOrMore_String>?; # Reverse include directives, rooted # in the resource for this shape fhir:relatedQuery @<OneOrMore_SubscriptionTopic.trigger.notificationShape.relatedQuery>?; # Query describing data relevant to # this notification }# Definition of a resource-based trigger for the subscription topic <SubscriptionTopic.resourceTrigger> EXTENDS @<BackboneElement> CLOSED { fhir:description @<markdown>?; # Text representation of the # resource trigger fhir:resource @<uri>; # Data Type or Resource (reference # to definition) for this trigger # definition fhir:supportedInteraction @<OneOrMore_code> AND {fhir:v @fhirvs:interaction-trigger}?; # create | update | delete fhir:queryCriteria @<SubscriptionTopic.resourceTrigger.queryCriteria>?; # Query based trigger rule fhir:fhirPathCriteria @<string>?; # FHIRPath based trigger rule } # Event definitions the SubscriptionTopic <SubscriptionTopic.eventTrigger> EXTENDS @<BackboneElement> CLOSED { fhir:description @<markdown>?; # Text representation of the event # trigger fhir:event @<CodeableConcept>; # Event which can trigger a # notification from the # SubscriptionTopic fhir:resource @<uri>; # Data Type or Resource (reference # to definition) for this trigger # definition# Query describing data relevant to this notification <SubscriptionTopic.trigger.notificationShape.relatedQuery> EXTENDS @<BackboneElement> CLOSED { fhir:queryType @<Coding>?; # Coded information describing the # type of data this query provides fhir:query @<String>; # Query to perform } #---------------------- Cardinality Types (OneOrMore) ------------------- <OneOrMore_Identifier> CLOSED { rdf:first @<Identifier> ; rdf:rest [rdf:nil] OR @<OneOrMore_Identifier> }<OneOrMore_canonical> CLOSED { rdf:first @<canonical> ; rdf:rest [rdf:nil] OR @<OneOrMore_canonical><OneOrMore_Canonical> CLOSED { rdf:first @<Canonical> ; rdf:rest [rdf:nil] OR @<OneOrMore_Canonical> } <OneOrMore_ContactDetail> CLOSED { rdf:first @<ContactDetail> ; rdf:rest [rdf:nil] OR @<OneOrMore_ContactDetail> } <OneOrMore_UsageContext> CLOSED { rdf:first @<UsageContext> ; rdf:rest [rdf:nil] OR @<OneOrMore_UsageContext> } <OneOrMore_CodeableConcept> CLOSED { rdf:first @<CodeableConcept> ; rdf:rest [rdf:nil] OR @<OneOrMore_CodeableConcept> }<OneOrMore_SubscriptionTopic.resourceTrigger> CLOSED { rdf:first @<SubscriptionTopic.resourceTrigger> ; rdf:rest [rdf:nil] OR @<OneOrMore_SubscriptionTopic.resourceTrigger><OneOrMore_SubscriptionTopic.trigger> CLOSED { rdf:first @<SubscriptionTopic.trigger> ; rdf:rest [rdf:nil] OR @<OneOrMore_SubscriptionTopic.trigger> }<OneOrMore_SubscriptionTopic.eventTrigger> CLOSED { rdf:first @<SubscriptionTopic.eventTrigger> ; rdf:rest [rdf:nil] OR @<OneOrMore_SubscriptionTopic.eventTrigger><OneOrMore_Code> CLOSED { rdf:first @<Code> ; rdf:rest [rdf:nil] OR @<OneOrMore_Code> }<OneOrMore_SubscriptionTopic.canFilterBy> CLOSED { rdf:first @<SubscriptionTopic.canFilterBy> ; rdf:rest [rdf:nil] OR @<OneOrMore_SubscriptionTopic.canFilterBy><OneOrMore_SubscriptionTopic.trigger.canFilterBy> CLOSED { rdf:first @<SubscriptionTopic.trigger.canFilterBy> ; rdf:rest [rdf:nil] OR @<OneOrMore_SubscriptionTopic.trigger.canFilterBy> }<OneOrMore_SubscriptionTopic.notificationShape> CLOSED { rdf:first @<SubscriptionTopic.notificationShape> ; rdf:rest [rdf:nil] OR @<OneOrMore_SubscriptionTopic.notificationShape><OneOrMore_SubscriptionTopic.trigger.notificationShape> CLOSED { rdf:first @<SubscriptionTopic.trigger.notificationShape> ; rdf:rest [rdf:nil] OR @<OneOrMore_SubscriptionTopic.trigger.notificationShape> }<OneOrMore_code> CLOSED { rdf:first @<code> ; rdf:rest [rdf:nil] OR @<OneOrMore_code><OneOrMore_String> CLOSED { rdf:first @<String> ; rdf:rest [rdf:nil] OR @<OneOrMore_String> }<OneOrMore_string> CLOSED { rdf:first @<string> ; rdf:rest [rdf:nil] OR @<OneOrMore_string><OneOrMore_SubscriptionTopic.trigger.notificationShape.relatedQuery> CLOSED { rdf:first @<SubscriptionTopic.trigger.notificationShape.relatedQuery> ; rdf:rest [rdf:nil] OR @<OneOrMore_SubscriptionTopic.trigger.notificationShape.relatedQuery> } #---------------------- Value Sets ------------------------ # FHIR RESTful interaction codes used for SubscriptionTopic trigger. fhirvs:interaction-trigger ["create" "update" "delete"] # The lifecycle status of an artifact. fhirvs:publication-status ["draft" "active" "retired" "unknown"] # What Search Comparator Codes are supported in search. fhirvs:search-comparator ["eq" "ne" "gt" "lt" "ge" "le" "sa" "eb" "ap"] # A supported modifier for a search parameter. fhirvs:search-modifier-code ["missing" "exact" "contains" "not" "text" "in" "not-in" "below" "above" "type" "identifier" "of-type" "code-text" "text-advanced" "iterate"] # Behavior a server can exhibit when a criteria state does not exist (e.g., state prior to a create or after a delete). fhirvs:subscriptiontopic-cr-behavior ["test-passes" "test-fails"]
Usage note: every effort has been made to ensure that the ShEx files are correct and useful, but they are not a normative part of the specification.
FHIR
®©
HL7.org
2011+.
FHIR
R5
hl7.fhir.core#5.0.0
R6
hl7.fhir.core#6.0.0-ballot3
generated
on
Sun,
Mar
26,
2023
15:26+1100.
Mon,
Nov
10,
2025
15:23+0000.
Links:
Search
|
Version
History
|
Contents
|
Glossary
|
QA
|
Compare
to
R4
|
Compare
to
R4B
R5
|
Compare
to
Last
Ballot
|
|
Propose
a
change