PREFIX fhir:
PREFIX fhirvs:
PREFIX xsd:
PREFIX rdf:
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
start=@ AND {fhir:nodeRole [fhir:treeRoot]}
# Contains a collection of resources
EXTENDS @ CLOSED {
a [fhir:Bundle]?;
fhir:nodeRole [fhir:treeRoot]?;
fhir:identifier @?; # Persistent identifier for the
# bundle
fhir:type @ AND
{fhir:v @fhirvs:bundle-type}; # document | message | transaction |
# transaction-response | batch |
# batch-response | history |
# searchset | collection |
# subscription-notification
fhir:timestamp @?; # When the bundle was assembled
fhir:total @?; # If search, the total number of
# matches
fhir:link @?; # Links related to this Bundle
fhir:entry @?; # Entry in the bundle - will have a
# resource or information
fhir:signature @?; # Digital Signature
fhir:issues @?; # Issues with the Bundle
}
# Links related to this Bundle
EXTENDS @ CLOSED {
fhir:relation @ AND
{fhir:v @fhirvs:iana-link-relations}; # See
# http://www.iana.org/assignments/-
# link-relations/link-relations.xh-
# tml#link-relations-1
fhir:url @; # Reference details for the link
}
# Search related information
EXTENDS @ CLOSED {
fhir:mode @ AND
{fhir:v @fhirvs:search-entry-mode}?; # match | include - why this is in
# the result set
fhir:score @?; # Search ranking (between 0 and 1)
}
# Additional execution information (transaction/batch/history)
EXTENDS @ CLOSED {
fhir:method @ AND
{fhir:v @fhirvs:http-verb}; # GET | HEAD | POST | PUT | DELETE |
# PATCH
fhir:url @; # URL for HTTP equivalent of this
# entry
fhir:ifNoneMatch @?; # For managing cache validation
fhir:ifModifiedSince @?; # For managing cache currency
fhir:ifMatch @?; # For managing update contention
fhir:ifNoneExist @?; # For conditional creates
}
# Results of execution (transaction/batch/history)
EXTENDS @ CLOSED {
fhir:status @; # Status response code (text
# optional)
fhir:location @?; # The location (if the operation
# returns a location)
fhir:etag @?; # The Etag for the resource (if
# relevant)
fhir:lastModified @?; # Server's date time modified
fhir:outcome @?; # OperationOutcome with hints and
# warnings (for batch/transaction)
}
# Entry in the bundle - will have a resource or information
EXTENDS @ CLOSED {
fhir:link @?; # Links related to this entry
fhir:fullUrl @?; # URI for resource (e.g. the
# absolute URL server address, URI
# for UUID/OID, etc.)
fhir:resource @?; # A resource in the bundle
fhir:search @?; # Search related information
fhir:request @?; # Additional execution information
# (transaction/batch/history)
fhir:response @?; # Results of execution
# (transaction/batch/history)
}
#---------------------- Cardinality Types (OneOrMore) -------------------
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
CLOSED {
rdf:first @ ;
rdf:rest [rdf:nil] OR @
}
#---------------------- Value Sets ------------------------
# Indicates the purpose of a bundle - how it is intended to be used.
fhirvs:bundle-type ["document" "message" "transaction" "transaction-response" "batch" "batch-response" "history" "searchset" "collection" "subscription-notification"]
# HTTP verbs (in the HTTP command line). See [HTTP rfc](https://tools.ietf.org/html/rfc7231) for details.
fhirvs:http-verb ["GET" "HEAD" "POST" "PUT" "DELETE" "PATCH"]
# Link Relation Types defined at https://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
fhirvs:iana-link-relations ["about" "acl" "alternate" "amphtml" "appendix" "apple-touch-icon" "apple-touch-startup-image" "archives" "author" "blocked-by" "bookmark" "canonical" "chapter" "cite-as" "collection" "contents" "convertedFrom" "copyright" "create-form" "current" "describedby" "describes" "disclosure" "dns-prefetch" "duplicate" "edit" "edit-form" "edit-media" "enclosure" "external" "first" "glossary" "help" "hosts" "hub" "icon" "index" "intervalAfter" "intervalBefore" "intervalContains" "intervalDisjoint" "intervalDuring" "intervalEquals" "intervalFinishedBy" "intervalFinishes" "intervalIn" "intervalMeets" "intervalMetBy" "intervalOverlappedBy" "intervalOverlaps" "intervalStartedBy" "intervalStarts" "item" "last" "latest-version" "license" "linkset" "lrdd" "manifest" "mask-icon" "media-feed" "memento" "micropub" "modulepreload" "monitor" "monitor-group" "next" "next-archive" "nofollow" "noopener" "noreferrer" "opener" "openid2.local_id" "openid2.provider" "original" "P3Pv1" "payment" "pingback" "preconnect" "predecessor-version" "prefetch" "preload" "prerender" "prev" "preview" "previous" "prev-archive" "privacy-policy" "profile" "publication" "related" "restconf" "replies" "ruleinput" "search" "section" "self" "service" "service-desc" "service-doc" "service-meta" "sponsored" "start" "status" "stylesheet" "subsection" "successor-version" "sunset" "tag" "terms-of-service" "timegate" "timemap" "type" "ugc" "up" "version-history" "via" "webmention" "working-copy" "working-copy-of"]
# Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
fhirvs:search-entry-mode ["match" "include" "outcome"]