PREFIX fhir:
PREFIX fhirvs:
PREFIX xsd:
PREFIX rdf:
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
IMPORT
start=@ AND {fhir:nodeRole [fhir:treeRoot]}
# Example of workflow instance
EXTENDS @ CLOSED {
a [fhir:ExampleScenario]?;
fhir:nodeRole [fhir:treeRoot]?;
fhir:url @?; # Canonical identifier for this
# example scenario, represented as a
# URI (globally unique)
fhir:identifier @?; # Additional identifier for the
# example scenario
fhir:version @?; # Business version of the example
# scenario
fhir:versionAlgorithm @ OR
@ ?; # How to compare versions
fhir:name @?; # To be removed?
fhir:title @?; # Name for this example scenario
# (human friendly)
fhir:status @ AND
{fhir:v @fhirvs:publication-status}; # draft | active | retired | unknown
fhir:experimental @?; # For testing purposes, not real
# usage
fhir:date @?; # Date last changed
fhir:publisher @?; # Name of the publisher/steward
# (organization or individual)
fhir:contact @?; # Contact details for the publisher
fhir:description @?; # Natural language description of
# the ExampleScenario
fhir:useContext @?; # The context that the content is
# intended to support
fhir:jurisdiction @?; # Intended jurisdiction for example
# scenario (if applicable)
fhir:purpose @?; # The purpose of the example, e.g.
# to illustrate a scenario
fhir:copyright @?; # Use and/or publishing restrictions
fhir:copyrightLabel @?; # Copyright holder and year(s)
fhir:actor @?; # Individual involved in exchange
fhir:instance @?; # Data used in the scenario
fhir:process @?; # Major process within scenario
}
# Step is simple action
EXTENDS @ CLOSED {
fhir:type @?; # Kind of action
fhir:title @; # Label for step
fhir:initiator @?; # Who starts the operation
fhir:receiver @?; # Who receives the operation
fhir:description @?; # Human-friendly description of the
# operation
fhir:initiatorActive @?; # Initiator stays active?
fhir:receiverActive @?; # Receiver stays active?
fhir:request @?; # Instance transmitted on invocation
fhir:response @?; # Instance transmitted on invocation
# response
}
# Snapshot of instance that changes
EXTENDS @ CLOSED {
fhir:key @; # ID or acronym of the version
fhir:title @; # Label for instance version
fhir:description @?; # Details about version
fhir:content @?; # Example instance version data
}
# Data used in the scenario
EXTENDS @ CLOSED {
fhir:key @; # ID or acronym of the instance
fhir:structureType @; # Data structure for example
fhir:structureVersion @?; # E.g. 4.0.1
fhir:structureProfile @ OR
@ ?; # Rules instance adheres to
fhir:title @; # Label for instance
fhir:description @?; # Human-friendly description of the
# instance
fhir:content @?; # Example instance data
fhir:version @?; # Snapshot of instance that changes
fhir:containedInstance @?; # Resources contained in the instance
}
# Major process within scenario
EXTENDS @ CLOSED {
fhir:title @; # Label for procss
fhir:description @?; # Human-friendly description of the
# process
fhir:preConditions @?; # Status before process starts
fhir:postConditions @?; # Status after successful completion
fhir:step @?; # Event within of the process
}
# Individual involved in exchange
EXTENDS @ CLOSED {
fhir:key @; # ID or acronym of the actor
fhir:type @ AND
{fhir:v @fhirvs:examplescenario-actor-type}; # person | system
fhir:title @; # Label for actor when rendering
fhir:description @?; # Details about actor
}
# Event within of the process
EXTENDS @ CLOSED {
fhir:number @?; # Sequential number of the step
fhir:process @?; # Step is nested process
fhir:workflow @?; # Step is nested workflow
fhir:operation @?; # Step is simple action
fhir:alternative @?; # Alternate non-typical step action
fhir:pause @?; # Pause in the flow?
}
# Alternate non-typical step action
EXTENDS @ CLOSED {
fhir:title @; # Label for alternative
fhir:description @?; # Human-readable description of
# option
fhir:step @?; # Alternative action(s)
}
# Resources contained in the instance
EXTENDS @ CLOSED {
fhir:instanceReference @; # Key of contained instance
fhir:versionReference @?; # Key of contained instance version
}
#---------------------- 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 @
}
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 @
}
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 ------------------------
# The type of actor - system or human.
fhirvs:examplescenario-actor-type ["person" "system"]
# The lifecycle status of an artifact.
fhirvs:publication-status ["draft" "active" "retired" "unknown"]