This
page
is
part
of
the
FHIR
Specification
(v4.0.1:
R4
(v5.0.0:
R5
-
Mixed
Normative
and
STU
)
).
This
is
the
current
published
version
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
of
available
versions,
see
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
FHIR
Infrastructure
Work
Group
|
Maturity
Level
:
|
Trial Use | Security Category : Anonymous |
Compartments
:
|
Example of workflow instance.
Todo
This
resource
is
expected
to
be
used
in
implementation
guides
or
other
specifications
to
provide
examples
for
how
certain
workflows
would
manifest.
It
can
be
used
to
show
how
instances
would
evolve
over
time
as
well
as
the
interplay
of
systems
over
time
to
accomplish
a
particular
end-state.
It
will
frequently
be
used
to
generate
sequence
diagrams,
but
also
provides
further
information
about
all
of
the
entities
within
the
sequence
diagrams,
including
the
instances
shared
as
part
of
the
exchange.
This resource is most useful when documenting more complex flows rather than simple RESTful invocations or other request-response pairs.
PlanDefinitions
also
describe
actors
and
sequences
of
interactions
between
them,
including
alternatives.
However,
PlanDefinition
defines
what's
allowed,
while
ExampleScenario
represents
a
potential
pathway
through
what's
allowed.
While
an
ExampleScenario
can
define
alternatives,
it
doesn't
call
out
all
of
them.
Instead,
it
highlights
the
path(s)
of
interest
to
help
a
reader
understand
what's
possible
or
how
a
particular
scenario
might
work.
Any
resource
can
be
an
'example'
in
a
specification.
This
resource
is
referenced
by
itself
specifically
about
highlighting
how
those
examples
come
together
in
a
workflow
-
who
exchanges
them
and
under
what
circumstances.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
|
DomainResource |
Example
of
workflow
instance
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation + Rule: Must have actors if status is active or required + Rule: Must have processes if status is active or required + Rule: Actor keys must be unique + Rule: Actor titles must be unique + Rule: Instance keys must be unique + Rule: Instance titles must be unique + Rule: Process titles must be unique Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension Interfaces Implemented: CanonicalResource |
|
|
Σ C | 0..1 | uri |
Canonical
identifier
for
this
example
scenario,
represented
as
a
URI
(globally
unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic |
|
Σ | 0..* | Identifier |
Additional
identifier
for
the
example
scenario
|
|
Σ | 0..1 | string |
Business
version
of
the
example
scenario
|
| Σ | 0..1 |
How
to
compare
versions
Binding: Version Algorithm ( Extensible ) | |
![]() ![]() ![]() | string | |||
![]() ![]() ![]() | Coding | |||
![]() ![]() | Σ C | 0..1 | string |
To
be
removed?
|
|
Σ
|
0..1 | string |
Name
for
this
example
scenario
|
|
?! Σ C | 1..1 | code |
draft
|
active
|
retired
|
unknown
Binding: PublicationStatus ( Required ) |
|
Σ | 0..1 | boolean |
For
testing
purposes,
not
real
usage
|
|
Σ | 0..1 | dateTime |
Date
last
changed
|
|
Σ T | 0..1 | string |
Name
of
the
|
|
Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
|
Σ T |
| markdown |
Natural
language
description
of
the
ExampleScenario
|
![]() ![]() | Σ | 0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
|
Σ XD | 0..* | CodeableConcept |
Intended
jurisdiction
for
example
scenario
(if
applicable)
Binding: Jurisdiction ValueSet ( Extensible ) |
| T | 0..1 | markdown |
The
purpose
of
the
example,
e.g.
to
illustrate
a
scenario
|
|
0..1 | markdown |
Use
and/or
publishing
restrictions
|
|
|
T | 0..1 |
|
|
|
C | 0..* | BackboneElement |
Individual
involved
in
exchange
+ Warning: Actor + Rule: actor.key canot be 'OTHER' |
|
C | 1..1 | string |
ID
or
acronym
of
the
actor
|
|
1..1 | code |
person
|
|
|
|
T C |
|
string |
|
|
T | 0..1 | markdown |
|
|
C | 0..* | BackboneElement |
+ Rule: StructureVersion is required if structureType is not FHIR (but may still be present even if FHIR) + Rule: instance.content is only allowed if there are no instance.versions + Rule: Version keys must be unique within an instance + Rule: Version titles must be unique within an instance + Warning: Instance should be referenced in + Warning: Instance version should be referenced in at least one operation |
|
C | 1..1 | string |
|
|
C | 1..1 |
|
|
|
C | 0..1 | string |
|
![]() ![]() ![]() | 0..1 |
Rules
instance
adheres
to
| ||
![]() ![]() ![]() ![]() | canonical () | |||
![]() ![]() ![]() ![]() | uri | |||
![]() ![]() ![]() | T C | 1..1 | string |
Label
for
|
|
T | 0..1 | markdown |
Human-friendly
description
of
the
|
|
C |
|
Reference () |
Example
instance
data
|
![]() ![]() ![]() | C | 0..* | BackboneElement |
Snapshot
of
instance
that
changes
|
![]() ![]() ![]() ![]() |
| 1..1 | string |
ID
or
acronym
of
the
|
|
C | 1..1 | string |
|
|
T |
|
markdown |
|
|
|
|
|
|
|
C |
|
|
+ Rule: InstanceReference must be a key of an instance defined in the ExampleScenario + Rule: versionReference must be specified if the referenced instance defines versions + Rule: versionReference must be a key of a version within the instance pointed to by instanceReference |
|
C |
|
string |
|
|
C |
|
|
|
|
|
|
|
+ Rule: Processes must have steps if ExampleScenario status is active or required |
|
Σ T C |
|
|
|
|
T | 0..1 | markdown |
|
|
T | 0..1 | markdown |
|
|
T |
|
|
|
|
C | 0..* |
|
+ Rule: Alternative titles must be unique within a step + Rule: Can have a process, a workflow, one or more operations or none of these, but cannot have a combination |
|
0..1 |
|
|
|
|
0..1 |
|
|
|
|
C |
|
|
|
|
C | 0..1 |
|
+ Rule: If specified, initiator must be a key of + Rule: If specified, receiver must be a key of an actor within the ExampleScenario |
|
0..1 |
|
Binding: Test Script Operation Code ( Extensible ) |
|
|
|
string |
|
|
|
C | 0..1 | string |
Who
|
|
C | 0..1 |
|
|
|
T | 0..1 |
|
|
|
0..1 | boolean |
|
|
|
0..1 |
|
|
|
|
0..1 | see containedInstance |
|
|
|
0..1 | see containedInstance |
Instance
transmitted
on
invocation
response
| |
![]() ![]() ![]() ![]() | C | 0..* | BackboneElement |
Alternate
non-typical
step
action
|
|
T C | 1..1 | string |
Label
for
alternative
|
|
T | 0..1 | markdown |
Human-readable
description
of
|
|
0..* | see step |
Alternative
action(s)
|
|
|
0..1 |
|
Pause
in
the
flow?
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
UML Diagram ( Legend )
XML Template
<ExampleScenario xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<<url value="[uri]"/><!-- 0..1 Canonical identifier for this example scenario, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the example scenario --></identifier> <version value="[string]"/><!-- 0..1 Business version of the example scenario -->< <<versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]> <name value="[string]"/><!-- I 0..1 To be removed? --> <title value="[string]"/><!-- 0..1 Name for this example scenario (human friendly) --> <status value="[code]"/><!-- I 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->< <<date value="[dateTime]"/><!-- 0..1 Date last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the ExampleScenario --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for example scenario (if applicable) --></jurisdiction><<purpose value="[markdown]"/><!-- 0..1 The purpose of the example, e.g. to illustrate a scenario -->< < < < <<copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) --> <actor> <!-- I 0..* Individual involved in exchange --> <key value="[string]"/><!-- I 1..1 ID or acronym of the actor --> <type value="[code]"/><!-- 1..1 person | system --> <title value="[string]"/><!-- I 1..1 Label for actor when rendering --> <description value="[markdown]"/><!-- 0..1 Details about actor --> </actor>< < < < < < < <<instance> <!-- I 0..* Data used in the scenario --> <key value="[string]"/><!-- I 1..1 ID or acronym of the instance --> <structureType><!-- I 1..1 Coding Data structure for example --></structureType> <structureVersion value="[string]"/><!-- I 0..1 E.g. 4.0.1 --> <structureProfile[x]><!-- 0..1 canonical|uri Rules instance adheres to --></structureProfile[x]> <title value="[string]"/><!-- I 1..1 Label for instance --> <description value="[markdown]"/><!-- 0..1 Human-friendly description of the instance --> <content><!-- I 0..1 Reference Example instance data --></content> <version> <!-- I 0..* Snapshot of instance that changes --> <key value="[string]"/><!-- I 1..1 ID or acronym of the version --> <title value="[string]"/><!-- I 1..1 Label for instance version --> <description value="[markdown]"/><!-- 0..1 Details about version --> <content><!-- 0..1 Reference Example instance version data --></content> </version>< < <<containedInstance> <!-- 0..* Resources contained in the instance --> <instanceReference value="[string]"/><!-- I 1..1 Key of contained instance --> <versionReference value="[string]"/><!-- I 0..1 Key of contained instance version --> </containedInstance> </instance>< < < < < < <</process> < < < < < < < < < < <</request> <</response><process> <!-- I 0..* Major process within scenario --> <title value="[string]"/><!-- I 1..1 Label for procss --> <description value="[markdown]"/><!-- 0..1 Human-friendly description of the process --> <preConditions value="[markdown]"/><!-- 0..1 Status before process starts --> <postConditions value="[markdown]"/><!-- 0..1 Status after successful completion --> <step> <!-- I 0..* Event within of the process --> <number value="[string]"/><!-- 0..1 Sequential number of the step --> <process><!-- 0..1 Content as for ExampleScenario.process Step is nested process --></process> <workflow><!-- I 0..1 canonical(ExampleScenario) Step is nested workflow --></workflow> <operation> <!-- I 0..1 Step is simple action --> <type><!-- 0..1 Coding Kind of action --></type> <title value="[string]"/><!-- 1..1 Label for step --> <initiator value="[string]"/><!-- I 0..1 Who starts the operation --> <receiver value="[string]"/><!-- I 0..1 Who receives the operation --> <description value="[markdown]"/><!-- 0..1 Human-friendly description of the operation --> <initiatorActive value="[boolean]"/><!-- 0..1 Initiator stays active? --> <receiverActive value="[boolean]"/><!-- 0..1 Receiver stays active? --> <request><!-- 0..1 Content as for ExampleScenario.instance.containedInstance Instance transmitted on invocation --></request> <response><!-- 0..1 Content as for ExampleScenario.instance.containedInstance Instance transmitted on invocation response --></response> </operation>< < < <</step><alternative> <!-- I 0..* Alternate non-typical step action --> <title value="[string]"/><!-- I 1..1 Label for alternative --> <description value="[markdown]"/><!-- 0..1 Human-readable description of option --> <step><!-- 0..* Content as for ExampleScenario.process.step Alternative action(s) --></step> </alternative> <pause value="[boolean]"/><!-- 0..1 Pause in the flow? --> </step> </process><</workflow></ExampleScenario>
JSON Template
{
"resourceType" : "ExampleScenario",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"url" : "<uri>", // Canonical identifier for this example scenario, represented as a URI (globally unique)
"identifier" : [{ Identifier }], // Additional identifier for the example scenario
"version" : "<string>", // Business version of the example scenario
"
"
// versionAlgorithm[x]: How to compare versions. One of these 2:
"versionAlgorithmString" : "<string>",
"versionAlgorithmCoding" : { Coding },
"name" : "<string>", // I To be removed?
"title" : "<string>", // Name for this example scenario (human friendly)
"status" : "<code>", // I R! draft | active | retired | unknown
"experimental" : <boolean>, // For testing purposes, not real usage
"
"
"date" : "<dateTime>", // Date last changed
"publisher" : "<string>", // Name of the publisher/steward (organization or individual)
"contact" : [{ ContactDetail }], // Contact details for the publisher
"description" : "<markdown>", // Natural language description of the ExampleScenario
"useContext" : [{ UsageContext }], // The context that the content is intended to support
"jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for example scenario (if applicable)
"
"purpose" : "<markdown>", // The purpose of the example, e.g. to illustrate a scenario
"
"
"
"
"
"copyright" : "<markdown>", // Use and/or publishing restrictions
"copyrightLabel" : "<string>", // Copyright holder and year(s)
"actor" : [{ // I Individual involved in exchange
"key" : "<string>", // I R! ID or acronym of the actor
"type" : "<code>", // R! person | system
"title" : "<string>", // I R! Label for actor when rendering
"description" : "<markdown>" // Details about actor
}],
"
"
"
"
"
"
"
"
"instance" : [{ // I Data used in the scenario
"key" : "<string>", // I R! ID or acronym of the instance
"structureType" : { Coding }, // I R! Data structure for example
"structureVersion" : "<string>", // I E.g. 4.0.1
// structureProfile[x]: Rules instance adheres to. One of these 2:
"structureProfileCanonical" : "<canonical>",
"structureProfileUri" : "<uri>",
"title" : "<string>", // I R! Label for instance
"description" : "<markdown>", // Human-friendly description of the instance
"content" : { Reference }, // I Example instance data
"version" : [{ // I Snapshot of instance that changes
"key" : "<string>", // I R! ID or acronym of the version
"title" : "<string>", // I R! Label for instance version
"description" : "<markdown>", // Details about version
"content" : { Reference } // Example instance version data
}],
"
"
"
"containedInstance" : [{ // Resources contained in the instance
"instanceReference" : "<string>", // I R! Key of contained instance
"versionReference" : "<string>" // I Key of contained instance version
}]
}],
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"process" : [{ // I Major process within scenario
"title" : "<string>", // I R! Label for procss
"description" : "<markdown>", // Human-friendly description of the process
"preConditions" : "<markdown>", // Status before process starts
"postConditions" : "<markdown>", // Status after successful completion
"step" : [{ // I Event within of the process
"number" : "<string>", // Sequential number of the step
"process" : { Content as for ExampleScenario.process }, // Step is nested process
"workflow" : "<canonical(ExampleScenario)>", // I Step is nested workflow
"operation" : { // I Step is simple action
"type" : { Coding }, // Kind of action
"title" : "<string>", // R! Label for step
"initiator" : "<string>", // I Who starts the operation
"receiver" : "<string>", // I Who receives the operation
"description" : "<markdown>", // Human-friendly description of the operation
"initiatorActive" : <boolean>, // Initiator stays active?
"receiverActive" : <boolean>, // Receiver stays active?
"request" : { Content as for ExampleScenario.instance.containedInstance }, // Instance transmitted on invocation
"response" : { Content as for ExampleScenario.instance.containedInstance } // Instance transmitted on invocation response
},
"
"
"
"
}]
"alternative" : [{ // I Alternate non-typical step action
"title" : "<string>", // I R! Label for alternative
"description" : "<markdown>", // Human-readable description of option
"step" : [{ Content as for ExampleScenario.process.step }] // Alternative action(s)
}],
"pause" : <boolean> // Pause in the flow?
}]
}],
"
}]
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:ExampleScenario; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension
fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: ], ...; fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: ], ...; fhir: fhir: fhir: ], ...; ], ...; fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: ]; fhir: fhir: fhir: fhir: ], ...; ], ...; ], ...; fhir:fhir:url [ uri ] ; # 0..1 Canonical identifier for this example scenario, represented as a URI (globally unique) fhir:identifier ( [ Identifier ] ... ) ; # 0..* Additional identifier for the example scenario fhir:version [ string ] ; # 0..1 Business version of the example scenario # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2 fhir:versionAlgorithm [ a fhir:string ; string ] fhir:versionAlgorithm [ a fhir:Coding ; Coding ] fhir:name [ string ] ; # 0..1 I To be removed? fhir:title [ string ] ; # 0..1 Name for this example scenario (human friendly) fhir:status [ code ] ; # 1..1 I draft | active | retired | unknown fhir:experimental [ boolean ] ; # 0..1 For testing purposes, not real usage fhir:date [ dateTime ] ; # 0..1 Date last changed fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual) fhir:contact ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher fhir:description [ markdown ] ; # 0..1 Natural language description of the ExampleScenario fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support fhir:jurisdiction ( [ CodeableConcept ] ... ) ; # 0..* Intended jurisdiction for example scenario (if applicable) fhir:purpose [ markdown ] ; # 0..1 The purpose of the example, e.g. to illustrate a scenario fhir:copyright [ markdown ] ; # 0..1 Use and/or publishing restrictions fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s) fhir:actor ( [ # 0..* I Individual involved in exchange fhir:key [ string ] ; # 1..1 I ID or acronym of the actor fhir:type [ code ] ; # 1..1 person | system fhir:title [ string ] ; # 1..1 I Label for actor when rendering fhir:description [ markdown ] ; # 0..1 Details about actor ] ... ) ; fhir:instance ( [ # 0..* I Data used in the scenario fhir:key [ string ] ; # 1..1 I ID or acronym of the instance fhir:structureType [ Coding ] ; # 1..1 I Data structure for example fhir:structureVersion [ string ] ; # 0..1 I E.g. 4.0.1 # structureProfile[x] : 0..1 Rules instance adheres to. One of these 2 fhir:structureProfile [ a fhir:canonical ; canonical ] fhir:structureProfile [ a fhir:uri ; uri ] fhir:title [ string ] ; # 1..1 I Label for instance fhir:description [ markdown ] ; # 0..1 Human-friendly description of the instance fhir:content [ Reference ] ; # 0..1 I Example instance data fhir:version ( [ # 0..* I Snapshot of instance that changes fhir:key [ string ] ; # 1..1 I ID or acronym of the version fhir:title [ string ] ; # 1..1 I Label for instance version fhir:description [ markdown ] ; # 0..1 Details about version fhir:content [ Reference ] ; # 0..1 Example instance version data ] ... ) ; fhir:containedInstance ( [ # 0..* Resources contained in the instance fhir:instanceReference [ string ] ; # 1..1 I Key of contained instance fhir:versionReference [ string ] ; # 0..1 I Key of contained instance version ] ... ) ; ] ... ) ; fhir:process ( [ # 0..* I Major process within scenario fhir:title [ string ] ; # 1..1 I Label for procss fhir:description [ markdown ] ; # 0..1 Human-friendly description of the process fhir:preConditions [ markdown ] ; # 0..1 Status before process starts fhir:postConditions [ markdown ] ; # 0..1 Status after successful completion fhir:step ( [ # 0..* I Event within of the process fhir:number [ string ] ; # 0..1 Sequential number of the step fhir:process [ See ExampleScenario.process ] ; # 0..1 Step is nested process fhir:workflow [ canonical(ExampleScenario) ] ; # 0..1 I Step is nested workflow fhir:operation [ # 0..1 I Step is simple action fhir:type [ Coding ] ; # 0..1 Kind of action fhir:title [ string ] ; # 1..1 Label for step fhir:initiator [ string ] ; # 0..1 I Who starts the operation fhir:receiver [ string ] ; # 0..1 I Who receives the operation fhir:description [ markdown ] ; # 0..1 Human-friendly description of the operation fhir:initiatorActive [ boolean ] ; # 0..1 Initiator stays active? fhir:receiverActive [ boolean ] ; # 0..1 Receiver stays active? fhir:request [ See ExampleScenario.instance.containedInstance ] ; # 0..1 Instance transmitted on invocation fhir:response [ See ExampleScenario.instance.containedInstance ] ; # 0..1 Instance transmitted on invocation response ] ; fhir:alternative ( [ # 0..* I Alternate non-typical step action fhir:title [ string ] ; # 1..1 I Label for alternative fhir:description [ markdown ] ; # 0..1 Human-readable description of option fhir:step ( [ See ExampleScenario.process.step ] ... ) ; # 0..* Alternative action(s) ] ... ) ; fhir:pause [ boolean ] ; # 0..1 Pause in the flow? ] ... ) ; ] ... ) ; ]
Changes
since
R3
from
both
R4
and
R4B
| ExampleScenario | |
| ExampleScenario.versionAlgorithm[x] |
|
| ExampleScenario.title |
|
| ExampleScenario.description |
|
| ExampleScenario.copyrightLabel |
|
| ExampleScenario.actor.key |
|
| ExampleScenario.actor.type |
|
| ExampleScenario.actor.title |
|
| ExampleScenario.instance.key |
|
| ExampleScenario.instance.structureType |
|
| ExampleScenario.instance.structureVersion |
|
| ExampleScenario.instance.structureProfile[x] |
|
| ExampleScenario.instance.title |
|
| ExampleScenario.instance.content |
|
| ExampleScenario.instance.version.key |
|
| ExampleScenario.instance.version.title |
|
| ExampleScenario.instance.version.description |
|
| ExampleScenario.instance.version.content |
|
| ExampleScenario.instance.containedInstance.instanceReference |
|
| ExampleScenario.instance.containedInstance.versionReference |
|
| ExampleScenario.process.step.number |
|
| ExampleScenario.process.step.process |
|
| ExampleScenario.process.step.workflow |
|
| ExampleScenario.process.step.operation.type |
|
| ExampleScenario.process.step.operation.title |
|
| ExampleScenario.instance.version.versionId |
|
This
resource
did
not
exist
in
Release
2
See
the
Full
Difference
for
further
information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON .
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
|
DomainResource |
Example
of
workflow
instance
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation + Rule: Must have actors if status is active or required + Rule: Must have processes if status is active or required + Rule: Actor keys must be unique + Rule: Actor titles must be unique + Rule: Instance keys must be unique + Rule: Instance titles must be unique + Rule: Process titles must be unique Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension Interfaces Implemented: CanonicalResource |
|
|
Σ C | 0..1 | uri |
Canonical
identifier
for
this
example
scenario,
represented
as
a
URI
(globally
unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic |
|
Σ | 0..* | Identifier |
Additional
identifier
for
the
example
scenario
|
|
Σ | 0..1 | string |
Business
version
of
the
example
scenario
|
| Σ | 0..1 |
How
to
compare
versions
Binding: Version Algorithm ( Extensible ) | |
![]() ![]() ![]() | string | |||
![]() ![]() ![]() | Coding | |||
![]() ![]() | Σ C | 0..1 | string |
To
be
removed?
|
|
Σ
|
0..1 | string |
Name
for
this
example
scenario
|
|
?! Σ C | 1..1 | code |
draft
|
active
|
retired
|
unknown
Binding: PublicationStatus ( Required ) |
|
Σ | 0..1 | boolean |
For
testing
purposes,
not
real
usage
|
|
Σ | 0..1 | dateTime |
Date
last
changed
|
|
Σ T | 0..1 | string |
Name
of
the
|
|
Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
|
Σ T |
|
markdown |
Natural
language
description
of
the
ExampleScenario
|
![]() ![]() | Σ | 0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
|
Σ XD | 0..* | CodeableConcept |
Intended
jurisdiction
for
example
scenario
(if
applicable)
Binding: Jurisdiction ValueSet ( Extensible ) |
| T | 0..1 | markdown |
The
purpose
of
the
example,
e.g.
to
illustrate
a
scenario
|
|
0..1 | markdown |
Use
and/or
publishing
restrictions
|
|
|
T | 0..1 |
|
|
|
C | 0..* | BackboneElement |
Individual
involved
in
exchange
+ Warning: Actor + Rule: actor.key canot be 'OTHER' |
|
C | 1..1 | string |
ID
or
acronym
of
the
actor
|
|
1..1 | code |
person
|
|
|
|
T C |
|
string |
|
|
T | 0..1 | markdown |
|
|
C | 0..* | BackboneElement |
+ Rule: StructureVersion is required if structureType is not FHIR (but may still be present even if FHIR) + Rule: instance.content is only allowed if there are no instance.versions + Rule: Version keys must be unique within an instance + Rule: Version titles must be unique within an instance + Warning: Instance should be referenced in + Warning: Instance version should be referenced in at least one operation |
|
C | 1..1 | string |
|
|
C | 1..1 |
|
|
|
C | 0..1 | string |
|
![]() ![]() ![]() | 0..1 |
Rules
instance
adheres
to
| ||
![]() ![]() ![]() ![]() | canonical () | |||
![]() ![]() ![]() ![]() | uri | |||
![]() ![]() ![]() | T C | 1..1 | string |
Label
for
|
|
T | 0..1 | markdown |
Human-friendly
description
of
the
|
|
C | 0..1 | Reference () |
Example
instance
data
|
![]() ![]() ![]() | C | 0..* | BackboneElement |
Snapshot
of
instance
that
changes
|
![]() ![]() ![]() ![]() |
| 1..1 | string |
ID
or
acronym
of
the
|
|
C | 1..1 | string |
|
|
T |
|
markdown |
|
|
|
|
|
|
|
C |
|
|
+ Rule: InstanceReference must be a key of an instance defined in the ExampleScenario + Rule: versionReference must be specified if the referenced instance defines versions + Rule: versionReference must be a key of a version within the instance pointed to by instanceReference |
|
C |
|
string |
|
|
C |
|
|
|
|
|
|
|
+ Rule: Processes must have steps if ExampleScenario status is active or required |
|
Σ T C |
|
|
|
|
T | 0..1 | markdown |
|
|
T | 0..1 | markdown |
|
|
T |
|
|
|
|
C | 0..* |
|
+ Rule: Alternative titles must be unique within a step + Rule: Can have a process, a workflow, one or more operations or none of these, but cannot have a combination |
|
0..1 |
|
|
|
|
0..1 |
|
|
|
|
C |
|
|
|
|
C | 0..1 |
|
+ Rule: If specified, initiator must be a key of + Rule: If specified, receiver must be a key of an actor within the ExampleScenario |
|
0..1 |
|
Binding: Test Script Operation Code ( Extensible ) |
|
|
|
string |
|
|
|
C | 0..1 | string |
Who
|
|
C | 0..1 |
|
|
|
T | 0..1 |
|
|
|
0..1 | boolean |
|
|
|
0..1 |
|
|
|
|
0..1 | see containedInstance |
|
|
|
0..1 | see containedInstance |
Instance
transmitted
on
invocation
response
| |
![]() ![]() ![]() ![]() | C | 0..* | BackboneElement |
Alternate
non-typical
step
action
|
|
T C | 1..1 | string |
Label
for
alternative
|
|
T | 0..1 | markdown |
Human-readable
description
of
|
|
0..* | see step |
Alternative
action(s)
|
|
|
0..1 |
|
Pause
in
the
flow?
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
XML Template
<ExampleScenario xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<<url value="[uri]"/><!-- 0..1 Canonical identifier for this example scenario, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the example scenario --></identifier> <version value="[string]"/><!-- 0..1 Business version of the example scenario -->< <<versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]> <name value="[string]"/><!-- I 0..1 To be removed? --> <title value="[string]"/><!-- 0..1 Name for this example scenario (human friendly) --> <status value="[code]"/><!-- I 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->< <<date value="[dateTime]"/><!-- 0..1 Date last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the ExampleScenario --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for example scenario (if applicable) --></jurisdiction><<purpose value="[markdown]"/><!-- 0..1 The purpose of the example, e.g. to illustrate a scenario -->< < < < <<copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) --> <actor> <!-- I 0..* Individual involved in exchange --> <key value="[string]"/><!-- I 1..1 ID or acronym of the actor --> <type value="[code]"/><!-- 1..1 person | system --> <title value="[string]"/><!-- I 1..1 Label for actor when rendering --> <description value="[markdown]"/><!-- 0..1 Details about actor --> </actor>< < < < < < < <<instance> <!-- I 0..* Data used in the scenario --> <key value="[string]"/><!-- I 1..1 ID or acronym of the instance --> <structureType><!-- I 1..1 Coding Data structure for example --></structureType> <structureVersion value="[string]"/><!-- I 0..1 E.g. 4.0.1 --> <structureProfile[x]><!-- 0..1 canonical|uri Rules instance adheres to --></structureProfile[x]> <title value="[string]"/><!-- I 1..1 Label for instance --> <description value="[markdown]"/><!-- 0..1 Human-friendly description of the instance --> <content><!-- I 0..1 Reference Example instance data --></content> <version> <!-- I 0..* Snapshot of instance that changes --> <key value="[string]"/><!-- I 1..1 ID or acronym of the version --> <title value="[string]"/><!-- I 1..1 Label for instance version --> <description value="[markdown]"/><!-- 0..1 Details about version --> <content><!-- 0..1 Reference Example instance version data --></content> </version>< < <<containedInstance> <!-- 0..* Resources contained in the instance --> <instanceReference value="[string]"/><!-- I 1..1 Key of contained instance --> <versionReference value="[string]"/><!-- I 0..1 Key of contained instance version --> </containedInstance> </instance>< < < < < < <</process> < < < < < < < < < < <</request> <</response><process> <!-- I 0..* Major process within scenario --> <title value="[string]"/><!-- I 1..1 Label for procss --> <description value="[markdown]"/><!-- 0..1 Human-friendly description of the process --> <preConditions value="[markdown]"/><!-- 0..1 Status before process starts --> <postConditions value="[markdown]"/><!-- 0..1 Status after successful completion --> <step> <!-- I 0..* Event within of the process --> <number value="[string]"/><!-- 0..1 Sequential number of the step --> <process><!-- 0..1 Content as for ExampleScenario.process Step is nested process --></process> <workflow><!-- I 0..1 canonical(ExampleScenario) Step is nested workflow --></workflow> <operation> <!-- I 0..1 Step is simple action --> <type><!-- 0..1 Coding Kind of action --></type> <title value="[string]"/><!-- 1..1 Label for step --> <initiator value="[string]"/><!-- I 0..1 Who starts the operation --> <receiver value="[string]"/><!-- I 0..1 Who receives the operation --> <description value="[markdown]"/><!-- 0..1 Human-friendly description of the operation --> <initiatorActive value="[boolean]"/><!-- 0..1 Initiator stays active? --> <receiverActive value="[boolean]"/><!-- 0..1 Receiver stays active? --> <request><!-- 0..1 Content as for ExampleScenario.instance.containedInstance Instance transmitted on invocation --></request> <response><!-- 0..1 Content as for ExampleScenario.instance.containedInstance Instance transmitted on invocation response --></response> </operation>< < < <</step><alternative> <!-- I 0..* Alternate non-typical step action --> <title value="[string]"/><!-- I 1..1 Label for alternative --> <description value="[markdown]"/><!-- 0..1 Human-readable description of option --> <step><!-- 0..* Content as for ExampleScenario.process.step Alternative action(s) --></step> </alternative> <pause value="[boolean]"/><!-- 0..1 Pause in the flow? --> </step> </process><</workflow></ExampleScenario>
JSON Template
{
"resourceType" : "ExampleScenario",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"url" : "<uri>", // Canonical identifier for this example scenario, represented as a URI (globally unique)
"identifier" : [{ Identifier }], // Additional identifier for the example scenario
"version" : "<string>", // Business version of the example scenario
"
"
// versionAlgorithm[x]: How to compare versions. One of these 2:
"versionAlgorithmString" : "<string>",
"versionAlgorithmCoding" : { Coding },
"name" : "<string>", // I To be removed?
"title" : "<string>", // Name for this example scenario (human friendly)
"status" : "<code>", // I R! draft | active | retired | unknown
"experimental" : <boolean>, // For testing purposes, not real usage
"
"
"date" : "<dateTime>", // Date last changed
"publisher" : "<string>", // Name of the publisher/steward (organization or individual)
"contact" : [{ ContactDetail }], // Contact details for the publisher
"description" : "<markdown>", // Natural language description of the ExampleScenario
"useContext" : [{ UsageContext }], // The context that the content is intended to support
"jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for example scenario (if applicable)
"
"purpose" : "<markdown>", // The purpose of the example, e.g. to illustrate a scenario
"
"
"
"
"
"copyright" : "<markdown>", // Use and/or publishing restrictions
"copyrightLabel" : "<string>", // Copyright holder and year(s)
"actor" : [{ // I Individual involved in exchange
"key" : "<string>", // I R! ID or acronym of the actor
"type" : "<code>", // R! person | system
"title" : "<string>", // I R! Label for actor when rendering
"description" : "<markdown>" // Details about actor
}],
"
"
"
"
"
"
"
"
"instance" : [{ // I Data used in the scenario
"key" : "<string>", // I R! ID or acronym of the instance
"structureType" : { Coding }, // I R! Data structure for example
"structureVersion" : "<string>", // I E.g. 4.0.1
// structureProfile[x]: Rules instance adheres to. One of these 2:
"structureProfileCanonical" : "<canonical>",
"structureProfileUri" : "<uri>",
"title" : "<string>", // I R! Label for instance
"description" : "<markdown>", // Human-friendly description of the instance
"content" : { Reference }, // I Example instance data
"version" : [{ // I Snapshot of instance that changes
"key" : "<string>", // I R! ID or acronym of the version
"title" : "<string>", // I R! Label for instance version
"description" : "<markdown>", // Details about version
"content" : { Reference } // Example instance version data
}],
"
"
"
"containedInstance" : [{ // Resources contained in the instance
"instanceReference" : "<string>", // I R! Key of contained instance
"versionReference" : "<string>" // I Key of contained instance version
}]
}],
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"process" : [{ // I Major process within scenario
"title" : "<string>", // I R! Label for procss
"description" : "<markdown>", // Human-friendly description of the process
"preConditions" : "<markdown>", // Status before process starts
"postConditions" : "<markdown>", // Status after successful completion
"step" : [{ // I Event within of the process
"number" : "<string>", // Sequential number of the step
"process" : { Content as for ExampleScenario.process }, // Step is nested process
"workflow" : "<canonical(ExampleScenario)>", // I Step is nested workflow
"operation" : { // I Step is simple action
"type" : { Coding }, // Kind of action
"title" : "<string>", // R! Label for step
"initiator" : "<string>", // I Who starts the operation
"receiver" : "<string>", // I Who receives the operation
"description" : "<markdown>", // Human-friendly description of the operation
"initiatorActive" : <boolean>, // Initiator stays active?
"receiverActive" : <boolean>, // Receiver stays active?
"request" : { Content as for ExampleScenario.instance.containedInstance }, // Instance transmitted on invocation
"response" : { Content as for ExampleScenario.instance.containedInstance } // Instance transmitted on invocation response
},
"
"
"
"
}]
"alternative" : [{ // I Alternate non-typical step action
"title" : "<string>", // I R! Label for alternative
"description" : "<markdown>", // Human-readable description of option
"step" : [{ Content as for ExampleScenario.process.step }] // Alternative action(s)
}],
"pause" : <boolean> // Pause in the flow?
}]
}],
"
}]
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:ExampleScenario; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension
fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: ], ...; fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: ], ...; fhir: fhir: fhir: ], ...; ], ...; fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: fhir: ]; fhir: fhir: fhir: fhir: ], ...; ], ...; ], ...; fhir:fhir:url [ uri ] ; # 0..1 Canonical identifier for this example scenario, represented as a URI (globally unique) fhir:identifier ( [ Identifier ] ... ) ; # 0..* Additional identifier for the example scenario fhir:version [ string ] ; # 0..1 Business version of the example scenario # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2 fhir:versionAlgorithm [ a fhir:string ; string ] fhir:versionAlgorithm [ a fhir:Coding ; Coding ] fhir:name [ string ] ; # 0..1 I To be removed? fhir:title [ string ] ; # 0..1 Name for this example scenario (human friendly) fhir:status [ code ] ; # 1..1 I draft | active | retired | unknown fhir:experimental [ boolean ] ; # 0..1 For testing purposes, not real usage fhir:date [ dateTime ] ; # 0..1 Date last changed fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual) fhir:contact ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher fhir:description [ markdown ] ; # 0..1 Natural language description of the ExampleScenario fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support fhir:jurisdiction ( [ CodeableConcept ] ... ) ; # 0..* Intended jurisdiction for example scenario (if applicable) fhir:purpose [ markdown ] ; # 0..1 The purpose of the example, e.g. to illustrate a scenario fhir:copyright [ markdown ] ; # 0..1 Use and/or publishing restrictions fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s) fhir:actor ( [ # 0..* I Individual involved in exchange fhir:key [ string ] ; # 1..1 I ID or acronym of the actor fhir:type [ code ] ; # 1..1 person | system fhir:title [ string ] ; # 1..1 I Label for actor when rendering fhir:description [ markdown ] ; # 0..1 Details about actor ] ... ) ; fhir:instance ( [ # 0..* I Data used in the scenario fhir:key [ string ] ; # 1..1 I ID or acronym of the instance fhir:structureType [ Coding ] ; # 1..1 I Data structure for example fhir:structureVersion [ string ] ; # 0..1 I E.g. 4.0.1 # structureProfile[x] : 0..1 Rules instance adheres to. One of these 2 fhir:structureProfile [ a fhir:canonical ; canonical ] fhir:structureProfile [ a fhir:uri ; uri ] fhir:title [ string ] ; # 1..1 I Label for instance fhir:description [ markdown ] ; # 0..1 Human-friendly description of the instance fhir:content [ Reference ] ; # 0..1 I Example instance data fhir:version ( [ # 0..* I Snapshot of instance that changes fhir:key [ string ] ; # 1..1 I ID or acronym of the version fhir:title [ string ] ; # 1..1 I Label for instance version fhir:description [ markdown ] ; # 0..1 Details about version fhir:content [ Reference ] ; # 0..1 Example instance version data ] ... ) ; fhir:containedInstance ( [ # 0..* Resources contained in the instance fhir:instanceReference [ string ] ; # 1..1 I Key of contained instance fhir:versionReference [ string ] ; # 0..1 I Key of contained instance version ] ... ) ; ] ... ) ; fhir:process ( [ # 0..* I Major process within scenario fhir:title [ string ] ; # 1..1 I Label for procss fhir:description [ markdown ] ; # 0..1 Human-friendly description of the process fhir:preConditions [ markdown ] ; # 0..1 Status before process starts fhir:postConditions [ markdown ] ; # 0..1 Status after successful completion fhir:step ( [ # 0..* I Event within of the process fhir:number [ string ] ; # 0..1 Sequential number of the step fhir:process [ See ExampleScenario.process ] ; # 0..1 Step is nested process fhir:workflow [ canonical(ExampleScenario) ] ; # 0..1 I Step is nested workflow fhir:operation [ # 0..1 I Step is simple action fhir:type [ Coding ] ; # 0..1 Kind of action fhir:title [ string ] ; # 1..1 Label for step fhir:initiator [ string ] ; # 0..1 I Who starts the operation fhir:receiver [ string ] ; # 0..1 I Who receives the operation fhir:description [ markdown ] ; # 0..1 Human-friendly description of the operation fhir:initiatorActive [ boolean ] ; # 0..1 Initiator stays active? fhir:receiverActive [ boolean ] ; # 0..1 Receiver stays active? fhir:request [ See ExampleScenario.instance.containedInstance ] ; # 0..1 Instance transmitted on invocation fhir:response [ See ExampleScenario.instance.containedInstance ] ; # 0..1 Instance transmitted on invocation response ] ; fhir:alternative ( [ # 0..* I Alternate non-typical step action fhir:title [ string ] ; # 1..1 I Label for alternative fhir:description [ markdown ] ; # 0..1 Human-readable description of option fhir:step ( [ See ExampleScenario.process.step ] ... ) ; # 0..* Alternative action(s) ] ... ) ; fhir:pause [ boolean ] ; # 0..1 Pause in the flow? ] ... ) ; ] ... ) ; ]
Changes
since
Release
3
from
both
R4
and
R4B
| ExampleScenario | |
| ExampleScenario.versionAlgorithm[x] |
|
| ExampleScenario.title |
|
| ExampleScenario.description |
|
| ExampleScenario.copyrightLabel |
|
| ExampleScenario.actor.key |
|
| ExampleScenario.actor.type |
|
| ExampleScenario.actor.title |
|
| ExampleScenario.instance.key |
|
| ExampleScenario.instance.structureType |
|
| ExampleScenario.instance.structureVersion |
|
| ExampleScenario.instance.structureProfile[x] |
|
| ExampleScenario.instance.title |
|
| ExampleScenario.instance.content |
|
| ExampleScenario.instance.version.key |
|
| ExampleScenario.instance.version.title |
|
| ExampleScenario.instance.version.description |
|
| ExampleScenario.instance.version.content |
|
| ExampleScenario.instance.containedInstance.instanceReference |
|
| ExampleScenario.instance.containedInstance.versionReference |
|
| ExampleScenario.process.step.number |
|
| ExampleScenario.process.step.process |
|
| ExampleScenario.process.step.workflow |
|
| ExampleScenario.process.step.operation.type |
|
| ExampleScenario.process.step.operation.title |
|
| ExampleScenario.instance.version.versionId |
|
This
resource
did
not
exist
in
Release
2
See
the
Full
Difference
for
further
information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON .
See
the
Profiles
&
Extensions
and
the
alternate
Additional
definitions:
Master
Definition
XML
+
JSON
,
XML
Schema
/
Schematron
+
JSON
Schema
,
ShEx
(for
Turtle
)
+
see
,
the
extensions
spreadsheet
version
&
the
dependency
analysis
| Path |
|
Type |
|
|---|---|---|---|
| ExampleScenario.versionAlgorithm[x] | VersionAlgorithm | Extensible | Indicates the mechanism used to compare versions to determine which is more current. |
| ExampleScenario.status |
|
Required |
The lifecycle status of an artifact. |
| ExampleScenario.jurisdiction |
|
Extensible |
This value set defines a base set of codes for country, country subdivision and region for indicating where a resource is intended to be used.
Note:
The
codes
for
countries
and
country
subdivisions
are
taken
from
ISO
3166
|
| ExampleScenario.actor.type | ExampleScenarioActorType | Required | The type of actor - system or human. |
| ExampleScenario.instance.structureType | ExampleScenarioResourceType |
|
Types of resource structures that can be passed in or out of exchange operations. Not necessarily FHIR. |
| ExampleScenario.process.step.operation.type |
|
|
This value set defines a set of codes that are used to indicate the supported operations of a testing engine or tool. |
|
|
Level | Location | Description | Expression |
cnl-0
|
Warning | (base) | Name should be usable as an identifier for the module by machine processing applications such as code generation |
|
exs-1
| Rule | ExampleScenario.instance | StructureVersion is required if structureType is not FHIR (but may still be present even if FHIR) | structureType.exists() and structureType.memberOf('http://hl7.org/fhir/ValueSet/resource-types').not() implies structureVersion.exists() |
cnl-1
| Warning | ExampleScenario.url | URL should not contain | or # - these characters make processing canonical references problematic | exists() implies matches('^[^|# ]+$') |
exs-2
| Rule | ExampleScenario.instance | instance.content is only allowed if there are no instance.versions | content.exists() implies version.empty() |
exs-3
| Rule | (base) | Must have actors if status is active or required | status='active' or status='retired' implies actor.exists() |
exs-4
| Rule | (base) | Must have processes if status is active or required | status='active' or status='retired' implies process.exists() |
exs-5
| Rule | ExampleScenario.process | Processes must have steps if ExampleScenario status is active or required | %resource.status='active' or %resource.status='retired' implies step.exists() |
exs-6
| Rule | (base) | Actor keys must be unique | actor.key.count() = actor.key.distinct().count() |
exs-7
| Rule | (base) | Actor titles must be unique | actor.title.count() = actor.title.distinct().count() |
exs-8
| Rule | (base) | Instance keys must be unique | instance.key.count() = instance.key.distinct().count() |
exs-9
| Rule | (base) | Instance titles must be unique | instance.title.count() = instance.title.distinct().count() |
exs-10
| Rule | ExampleScenario.instance | Version keys must be unique within an instance | version.key.count() = version.key.distinct().count() |
exs-11
| Rule | ExampleScenario.instance | Version titles must be unique within an instance | version.title.count() = version.title.distinct().count() |
exs-12
| Rule | (base) | Process titles must be unique | process.title.count() = process.title.distinct().count() |
exs-13
| Rule | ExampleScenario.process.step | Alternative titles must be unique within a step | alternative.title.count() = alternative.title.distinct().count() |
exs-14
| Rule | ExampleScenario.instance.containedInstance | InstanceReference must be a key of an instance defined in the ExampleScenario | %resource.instance.where(key=%context.instanceReference).exists() |
exs-15
| Rule | ExampleScenario.instance.containedInstance | versionReference must be specified if the referenced instance defines versions | versionReference.empty() implies %resource.instance.where(key=%context.instanceReference).version.empty() |
exs-16
| Rule | ExampleScenario.instance.containedInstance | versionReference must be a key of a version within the instance pointed to by instanceReference | versionReference.exists() implies %resource.instance.where(key=%context.instanceReference).version.where(key=%context.versionReference).exists() |
exs-17
| Rule | ExampleScenario.process.step.operation | If specified, initiator must be a key of an actor within the ExampleScenario | initiator.exists() implies initiator = 'OTHER' or %resource.actor.where(key=%context.initiator).exists() |
exs-18
| Rule | ExampleScenario.process.step.operation | If specified, receiver must be a key of an actor within the ExampleScenario | receiver.exists() implies receiver = 'OTHER' or %resource.actor.where(key=%context.receiver).exists() |
exs-19
| Warning | ExampleScenario.actor | Actor should be referenced in at least one operation | %resource.process.descendants().select(operation).where(initiator=%context.key or receiver=%context.key).exists() |
exs-20
| Warning | ExampleScenario.instance | Instance should be referenced in at least one location | %resource.process.descendants().select(instanceReference).where($this=%context.key).exists() |
exs-21
| Warning | ExampleScenario.instance | Instance version should be referenced in at least one operation | version.exists() implies version.key.intersect(%resource.process.descendants().where(instanceReference = %context.key).versionReference).exists() |
exs-22
| Rule | ExampleScenario.process.step | Can have a process, a workflow, one or more operations or none of these, but cannot have a combination | (process.exists() implies workflow.empty() and operation.empty()) and (workflow.exists() implies operation.empty()) |
exs-23
| Rule | ExampleScenario.actor | actor.key canot be 'OTHER' | key != 'OTHER' |
Search parameters for this resource. See also the full list of search parameters for this resource , and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
| Name | Type | Description | Expression | In Common |
| context | token | A use context assigned to the example scenario |
|
30 Resources |
| context-quantity | quantity | A quantity- or range-valued use context assigned to the example scenario |
|
30 Resources |
| context-type | token | A type of use context assigned to the example scenario | ExampleScenario.useContext.code | 30 Resources |
| context-type-quantity | composite | A use context type and quantity- or range-based value assigned to the example scenario |
On
ExampleScenario.useContext:
context-type: code context-quantity: |
30 Resources |
| context-type-value | composite | A use context type and value assigned to the example scenario |
On
ExampleScenario.useContext:
context-type: code context: |
30 Resources |
| date | date | The example scenario publication date | ExampleScenario.date | 30 Resources |
| identifier | token | External identifier for the example scenario | ExampleScenario.identifier | 34 Resources |
| jurisdiction | token | Intended jurisdiction for the example scenario | ExampleScenario.jurisdiction | 26 Resources |
| name | string | Computationally friendly name of the example scenario | ExampleScenario.name | 26 Resources |
| publisher | string | Name of the publisher of the example scenario | ExampleScenario.publisher | 30 Resources |
| status | token | The current status of the example scenario | ExampleScenario.status | 35 Resources |
| url | uri | The uri that identifies the example scenario | ExampleScenario.url | 34 Resources |
| version | token | The business version of the example scenario | ExampleScenario.version | 30 Resources |