FoundationThis page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version in it's permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions
. Page versions: R5 R4B
| FHIR Infrastructure Work Group | Maturity Level: N/A | 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>
IMPORT <Coding.shex>
IMPORT <Period.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]?;
fhir:url @<uri>; # Canonical identifier for this
# subscription topic, represented as
# an absolute URI (globally unique)
fhir:identifier @<OneOrMore_Identifier>?; # Business identifier for
# subscription topic
fhir:version @<string>?; # Business version of the
# subscription topic
fhir:versionAlgorithm @<string> OR
@<Coding> ?; # How to compare versions
fhir:name @<string>?; # Name for this subscription topic
# (computer friendly)
fhir:title @<string>?; # Name for this subscription topic
# (human friendly)
fhir:derivedFrom @<OneOrMore_canonical>?; # Based on FHIR protocol or
# definition
fhir:status @<code> AND
{fhir:v @fhirvs:publication-status}; # draft | active | retired | unknown
fhir:experimental @<boolean>?; # If for testing purposes, not 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 publisher
fhir: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 is
# defined
fhir:copyright @<markdown>?; # Use and/or publishing restrictions
fhir:copyrightLabel @<string>?; # Copyright holder and year(s)
fhir:approvalDate @<date>?; # When SubscriptionTopic is/was
# approved by publisher
fhir:lastReviewDate @<date>?; # Date the Subscription Topic was
# last reviewed by the publisher
fhir:effectivePeriod @<Period>?; # The effective date range for the
# SubscriptionTopic
fhir: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 the
# SubscriptionTopic
fhir:notificationShape @<OneOrMore_SubscriptionTopic.notificationShape>?; # Properties for describing the
# shape of notifications generated
# by this topic
}
# Query based trigger rule
<SubscriptionTopic.resourceTrigger.queryCriteria> EXTENDS @<BackboneElement> CLOSED {
fhir:previous @<string>?; # Rule applied to previous resource
# state
fhir:resultForCreate @<code> AND
{fhir:v @fhirvs:subscriptiontopic-cr-behavior}?; # test-passes | test-fails
fhir:current @<string>?; # Rule applied to current resource
# state
fhir:resultForDelete @<code> AND
{fhir:v @fhirvs:subscriptiontopic-cr-behavior}?; # test-passes | test-fails
fhir: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
# parameter
fhir:resource @<uri>?; # URL of the triggering Resource
# that this filter applies to
fhir:filterParameter @<string>; # Human-readable and
# computation-friendly name for a
# filter parameter usable by
# subscriptions on this topic, via
# Subscription.filterBy.filterPara-
# meter
fhir:filterDefinition @<uri>?; # Canonical URL for a
# filterParameter definition
fhir:comparator @<OneOrMore_code> AND
{fhir:v @fhirvs:search-comparator}?; # eq | ne | gt | lt | ge | le | sa |
# eb | ap
fhir: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
# resource for this shape
fhir:revInclude @<OneOrMore_string>?; # Reverse include directives, rooted
# in the resource for this shape
}
# 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
}
#---------------------- 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_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.eventTrigger> CLOSED {
rdf:first @<SubscriptionTopic.eventTrigger> ;
rdf:rest [rdf:nil] OR @<OneOrMore_SubscriptionTopic.eventTrigger>
}
<OneOrMore_SubscriptionTopic.canFilterBy> CLOSED {
rdf:first @<SubscriptionTopic.canFilterBy> ;
rdf:rest [rdf:nil] OR @<OneOrMore_SubscriptionTopic.canFilterBy>
}
<OneOrMore_SubscriptionTopic.notificationShape> CLOSED {
rdf:first @<SubscriptionTopic.notificationShape> ;
rdf:rest [rdf:nil] OR @<OneOrMore_SubscriptionTopic.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>
}
#---------------------- 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 generated on Sun, Mar 26, 2023 15:26+1100.
Links: Search |
Version History |
Contents |
Glossary |
QA |
Compare to R4 |
Compare to R4B |
|
Propose a change