PREFIX fhir:
PREFIX fhirvs:
PREFIX xsd:
PREFIX rdf:
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
start=@ AND {fhir:nodeRole [fhir:treeRoot]}
# Notification about a SubscriptionTopic
EXTENDS @ CLOSED {
a [fhir:Subscription]?;
fhir:nodeRole [fhir:treeRoot]?;
fhir:identifier @?; # Additional identifiers (business
# identifier)
fhir:name @?; # Human readable name for this
# subscription
fhir:status @ AND
{fhir:v @fhirvs:subscription-status}; # requested | active | error | off |
# entered-in-error
fhir:topic @; # Reference to the subscription
# topic being subscribed to
fhir:contact @?; # Contact details for source (e.g.
# troubleshooting)
fhir:end @?; # When to automatically delete the
# subscription
fhir:managingEntity @ AND {fhir:link
@ OR
@ OR
@ OR
@ OR
@ OR
@ OR
@ ? }?; # Entity responsible for
# Subscription changes
fhir:reason @?; # Description of why this
# subscription was created
fhir:filterBy @?; # Criteria for narrowing the
# subscription topic stream
fhir:channelType @; # Channel type for notifications
fhir:endpoint @?; # Where the channel points to
fhir:parameter @?; # Channel type
fhir:heartbeatPeriod @?; # Interval in seconds to send
# 'heartbeat' notification
fhir:timeout @?; # Timeout in seconds to attempt
# notification delivery
fhir:contentType @ AND
{fhir:v @fhirvs:mimetypes}?; # MIME type to send, or omit for no
# payload
fhir:content @ AND
{fhir:v @fhirvs:subscription-payload-content}?; # empty | id-only | full-resource
fhir:maxCount @?; # Maximum number of events that can
# be combined in a single
# notification
}
# Criteria for narrowing the subscription topic stream
EXTENDS @ CLOSED {
fhir:resource @?; # Allowed Resource (reference to
# definition) for this Subscription
# filter
fhir:filterParameter @; # Filter label defined in
# SubscriptionTopic
fhir:comparator @ AND
{fhir:v @fhirvs:search-comparator}?; # eq | ne | gt | lt | ge | le | sa |
# eb | ap
fhir:modifier @ 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
fhir:value @; # Literal value or resource path
}
# Channel type
EXTENDS @ CLOSED {
fhir:name @; # Name (key) of the parameter
fhir:value @; # Value of the parameter to use or
# pass through
}
#---------------------- Cardinality Types (OneOrMore) -------------------
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
#---------------------- Value Sets ------------------------
# This value set includes all possible codes from BCP-13 (see http://tools.ietf.org/html/bcp13)
fhirvs:mimetypes xsd:string #EXTERNAL
# 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"]
# Codes to represent how much resource content to send in the notification payload.
fhirvs:subscription-payload-content ["empty" "id-only" "full-resource"]
# State values for FHIR Subscriptions.
fhirvs:subscription-status ["requested" "active" "error" "off" "entered-in-error"]