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
R4
| Responsible Owner: FHIR Infrastructure Work Group | Standards Status : Informative | Compartments : No defined compartments |
ShEx statement for examplescenario
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 <string.shex># ShEx Version 2.2 IMPORT <Uri.shex> IMPORT <Code.shex> IMPORT <String.shex> IMPORT <Coding.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 <Reference.shex> IMPORT <Identifier.shex> IMPORT <UsageContext.shex> IMPORT <ContactDetail.shex> IMPORT <DomainResource.shex> IMPORT <CodeableConcept.shex> IMPORT <BackboneElement.shex> start=@<ExampleScenario> AND {fhir:nodeRole [fhir:treeRoot]}# Example of workflow instance# A computable description of a set of actors and the interactions between those actors <ExampleScenario> EXTENDS @<DomainResource> CLOSED { a [fhir:ExampleScenario]?;fhir:nodeRole [fhir:treeRoot]?;a [fhir:ExampleScenario]?; fhir:nodeRole [fhir:treeRoot]?; fhir:url @<uri>?; # Canonical identifier for thisfhir:url @<Uri>?; # Canonical identifier for this # example scenario, represented as a # URI (globally unique) fhir:identifier @<OneOrMore_Identifier>?; # Additional identifier for the # example scenariofhir:version @<string>?; # Business version of the examplefhir:version @<String>?; # Business version of the example # scenariofhir:versionAlgorithm @<string> ORfhir:versionAlgorithm @<String> OR @<Coding> ?; # How to compare versionsfhir:name @<string>?; # To be removed? fhir:title @<string>?; # Name for this example scenariofhir:name @<String>?; # Name for this example scenario # (computer friendly) fhir:title @<String>?; # Name for this example scenario # (human friendly)fhir:status @<code> ANDfhir:status @<Code> AND {fhir:v @fhirvs:publication-status}; # draft | active | retired | unknownfhir:experimental @<boolean>?; # For testing purposes, not realfhir:experimental @<Boolean>?; # For testing only - never for real # usagefhir:date @<dateTime>?; # Date last changed fhir:publisher @<string>?; # Name of the publisher/stewardfhir:date @<DateTime>?; # Date last changed fhir:publisher @<String>?; # Name of the publisher/steward # (organization or individual) fhir:contact @<OneOrMore_ContactDetail>?; # Contact details for the publisherfhir:description @<markdown>?; # Natural language description offhir:description @<Markdown>?; # Natural language description of # the ExampleScenario fhir:useContext @<OneOrMore_UsageContext>?; # The context that the content is # intended to supportfhir:jurisdiction @<OneOrMore_CodeableConcept>?; # Intended jurisdiction for example # scenario (if applicable) fhir:purpose @<markdown>?; # The purpose of the example, e.g.fhir:jurisdiction @<OneOrMore_CodeableConcept>?; # Jurisdiction of the authority that # maintains the example scenario (if # applicable) fhir:purpose @<Markdown>?; # The purpose of the example, e.g. # to illustrate a scenariofhir:copyright @<markdown>?; # Use and/or publishing restrictions fhir:copyrightLabel @<string>?; # Copyright holder and year(s)fhir:copyright @<Markdown>?; # Notice about intellectual property # ownership, can include # restrictions on use fhir:copyrightLabel @<String>?; # Copyright holder and year(s) fhir:actor @<OneOrMore_ExampleScenario.actor>?; # Individual involved in exchange fhir:instance @<OneOrMore_ExampleScenario.instance>?; # Data used in the scenario fhir:process @<OneOrMore_ExampleScenario.process>?; # Major process within scenario }# Major process within scenario <ExampleScenario.process> EXTENDS @<BackboneElement> CLOSED { fhir:title @<string>; # Label for procss fhir:description @<markdown>?; # Human-friendly description of the # process fhir:preConditions @<markdown>?; # Status before process starts fhir:postConditions @<markdown>?; # Status after successful completion fhir:step @<OneOrMore_ExampleScenario.process.step>?; # Event within of the process# Resources contained in the instance <ExampleScenario.instance.containedInstance> EXTENDS @<BackboneElement> CLOSED { fhir:instanceReference @<String>; # Key of contained instance fhir:versionReference @<String>?; # Key of contained instance version }# Alternate non-typical step action <ExampleScenario.process.step.alternative> EXTENDS @<BackboneElement> CLOSED { fhir:title @<string>; # Label for alternative fhir:description @<markdown>?; # Human-readable description of # option fhir:step @<OneOrMore_ExampleScenario.process.step>?; # Alternative action(s)# Individual involved in exchange <ExampleScenario.actor> EXTENDS @<BackboneElement> CLOSED { fhir:key @<String>; # ID or acronym of the actor fhir:type @<Code> AND {fhir:v @fhirvs:actordefinition-actor-type}?; # person | system | collective | # other fhir:title @<String>; # Label for actor when rendering fhir:description @<Markdown>?; # Details about actor fhir:definition @<Canonical>?; # Formal definition of actor } # Data used in the scenario <ExampleScenario.instance> EXTENDS @<BackboneElement> CLOSED {fhir:key @<string>; # ID or acronym of the instancefhir:key @<String>; # ID or acronym of the instance fhir:structureType @<Coding>; # Data structure for examplefhir:structureVersion @<string>?; # E.g. 4.0.1 fhir:structureProfile @<canonical> OR @<uri> ?; # Rules instance adheres to fhir:title @<string>; # Label for instance fhir:description @<markdown>?; # Human-friendly description of thefhir:structureVersion @<String>?; # E.g. 4.0.1 fhir:structureProfile @<Canonical> OR @<Uri> ?; # Rules instance adheres to fhir:title @<String>; # Label for instance fhir:description @<Markdown>?; # Human-friendly description of the # instance fhir:content @<Reference>?; # Example instance data fhir:version @<OneOrMore_ExampleScenario.instance.version>?; # Snapshot of instance that changes fhir:containedInstance @<OneOrMore_ExampleScenario.instance.containedInstance>?; # Resources contained in the instance }# Resources contained in the instance <ExampleScenario.instance.containedInstance> EXTENDS @<BackboneElement> CLOSED { fhir:instanceReference @<string>; # Key of contained instance fhir:versionReference @<string>?; # Key of contained instance version# Major process within scenario <ExampleScenario.process> EXTENDS @<BackboneElement> CLOSED { fhir:title @<String>; # Label for procss fhir:description @<Markdown>?; # Human-friendly description of the # process fhir:preConditions @<Markdown>?; # Status before process starts fhir:postConditions @<Markdown>?; # Status after successful completion fhir:step @<OneOrMore_ExampleScenario.process.step>?; # Event within of the process }# Individual involved in exchange <ExampleScenario.actor> EXTENDS @<BackboneElement> CLOSED { fhir:key @<string>; # ID or acronym of the actor fhir:type @<code> AND {fhir:v @fhirvs:examplescenario-actor-type}; # person | system fhir:title @<string>; # Label for actor when rendering fhir:description @<markdown>?; # Details about actor# Event within of the process <ExampleScenario.process.step> EXTENDS @<BackboneElement> CLOSED { fhir:number @<String>?; # Sequential number of the step fhir:process @<ExampleScenario.process>?; # Step is nested process fhir:workflow @<Canonical>?; # Step is nested workflow fhir:operation @<ExampleScenario.process.step.operation>?; # Step is simple action fhir:alternative @<OneOrMore_ExampleScenario.process.step.alternative>?; # Alternate non-typical step action fhir:pause @<Boolean>?; # Pause in the flow? } # Step is simple action <ExampleScenario.process.step.operation> EXTENDS @<BackboneElement> CLOSED { fhir:type @<Coding>?; # Kind of actionfhir:title @<string>; # Label for step fhir:initiator @<string>?; # Who starts the operation fhir:receiver @<string>?; # Who receives the operation fhir:description @<markdown>?; # Human-friendly description of thefhir:title @<String>; # Label for step fhir:initiator @<String>?; # Who starts the operation fhir:receiver @<String>?; # Who receives the operation fhir:description @<Markdown>?; # Human-friendly description of the # operationfhir:initiatorActive @<boolean>?; # Initiator stays active? fhir:receiverActive @<boolean>?; # Receiver stays active?fhir:initiatorActive @<Boolean>?; # Initiator stays active? fhir:receiverActive @<Boolean>?; # Receiver stays active? fhir:request @<ExampleScenario.instance.containedInstance>?; # Instance transmitted on invocation fhir:response @<ExampleScenario.instance.containedInstance>?; # Instance transmitted on invocation # response } # Snapshot of instance that changes <ExampleScenario.instance.version> EXTENDS @<BackboneElement> CLOSED {fhir:key @<string>; # ID or acronym of the version fhir:title @<string>; # Label for instance version fhir:description @<markdown>?; # Details about versionfhir:key @<String>; # ID or acronym of the version fhir:title @<String>; # Label for instance version fhir:description @<Markdown>?; # Details about version fhir:content @<Reference>?; # Example instance version data }# Event within of the process <ExampleScenario.process.step> EXTENDS @<BackboneElement> CLOSED { fhir:number @<string>?; # Sequential number of the step fhir:process @<ExampleScenario.process>?; # Step is nested process fhir:workflow @<canonical>?; # Step is nested workflow fhir:operation @<ExampleScenario.process.step.operation>?; # Step is simple action fhir:alternative @<OneOrMore_ExampleScenario.process.step.alternative>?; # Alternate non-typical step action fhir:pause @<boolean>?; # Pause in the flow?# Alternate non-typical step action <ExampleScenario.process.step.alternative> EXTENDS @<BackboneElement> CLOSED { fhir:title @<String>; # Label for alternative fhir:description @<Markdown>?; # Human-readable description of # option fhir:step @<OneOrMore_ExampleScenario.process.step>?; # Alternative action(s) } #---------------------- Cardinality Types (OneOrMore) ------------------- <OneOrMore_Identifier> CLOSED { rdf:first @<Identifier> ; rdf:rest [rdf:nil] OR @<OneOrMore_Identifier> } <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_ExampleScenario.actor> CLOSED { rdf:first @<ExampleScenario.actor> ; rdf:rest [rdf:nil] OR @<OneOrMore_ExampleScenario.actor> } <OneOrMore_ExampleScenario.instance> CLOSED { rdf:first @<ExampleScenario.instance> ; rdf:rest [rdf:nil] OR @<OneOrMore_ExampleScenario.instance> } <OneOrMore_ExampleScenario.process> CLOSED { rdf:first @<ExampleScenario.process> ; rdf:rest [rdf:nil] OR @<OneOrMore_ExampleScenario.process> }<OneOrMore_ExampleScenario.process.step> CLOSED { rdf:first @<ExampleScenario.process.step> ; rdf:rest [rdf:nil] OR @<OneOrMore_ExampleScenario.process.step> }<OneOrMore_ExampleScenario.instance.version> CLOSED { rdf:first @<ExampleScenario.instance.version> ; rdf:rest [rdf:nil] OR @<OneOrMore_ExampleScenario.instance.version> } <OneOrMore_ExampleScenario.instance.containedInstance> CLOSED { rdf:first @<ExampleScenario.instance.containedInstance> ; rdf:rest [rdf:nil] OR @<OneOrMore_ExampleScenario.instance.containedInstance> } <OneOrMore_ExampleScenario.process.step> CLOSED { rdf:first @<ExampleScenario.process.step> ; rdf:rest [rdf:nil] OR @<OneOrMore_ExampleScenario.process.step> } <OneOrMore_ExampleScenario.process.step.alternative> CLOSED { rdf:first @<ExampleScenario.process.step.alternative> ; rdf:rest [rdf:nil] OR @<OneOrMore_ExampleScenario.process.step.alternative> } #---------------------- Value Sets ------------------------ # The type of actor - system or human.fhirvs:examplescenario-actor-type ["person" "system"]fhirvs:actordefinition-actor-type ["person" "system" "collective" "other"] # The lifecycle status of an artifact. fhirvs:publication-status ["draft" "active" "retired" "unknown"]
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:24+1100.
Thu,
Nov
13,
2025
11:15+0000.
Links:
Search
|
Version
History
|
Contents
|
Glossary
|
QA
|
Compare
to
R4
|
Compare
to
R4B
R5
|
Compare
to
Last
Ballot
|
|
Propose
a
change