This
page
is
part
of
the
FHIR
Specification
(v5.0.0:
R5
-
STU
v6.0.0-ballot2:
Release
6
Ballot
(2nd
Draft)
(see
Ballot
Notes
).
This
is
the
The
current
published
version
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
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 : 1 | Trial Use | Security Category : Anonymous | Compartments : No defined compartments |
Example of workflow instance.
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 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
|
|---|---|---|---|---|
|
TU | 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?
|
|
Σ T | 0..1 | string |
Name
for
this
example
scenario
(human
friendly)
|
|
?! Σ 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
publisher/steward
(organization
or
individual)
|
|
Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
|
Σ T | 0..1 | 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 | string |
Copyright
holder
and
year(s)
|
|
C | 0..* | BackboneElement |
Individual
involved
in
exchange
+ Warning: Actor should be referenced in at least one operation + Rule: actor.key canot be 'OTHER' |
|
C | 1..1 | string |
ID
or
acronym
of
the
actor
|
|
1..1 | code |
person
|
system
Binding: Example Scenario Actor Type ( Required ) |
|
|
T C | 1..1 | string |
Label
for
actor
when
rendering
|
|
T | 0..1 | markdown |
Details
about
actor
|
|
C | 0..* | BackboneElement |
Data
used
in
the
scenario
+ 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 at least one location + Warning: Instance version should be referenced in at least one operation |
|
C | 1..1 | string |
ID
or
acronym
of
the
instance
|
|
C | 1..1 | Coding |
Data
structure
for
example
Binding: Example Scenario Resource Type ( Extensible ) |
|
C | 0..1 | string |
E.g.
4.0.1
|
|
0..1 |
Rules
instance
adheres
to
|
||
|
canonical () | |||
|
uri | |||
|
T C | 1..1 | string |
Label
for
instance
|
|
T | 0..1 | markdown |
Human-friendly
description
of
the
instance
|
|
C | 0..1 | Reference () |
Example
instance
data
|
|
C | 0..* | BackboneElement |
Snapshot
of
instance
that
changes
|
|
C | 1..1 | string |
ID
or
acronym
of
the
version
|
|
C | 1..1 | string |
Label
for
instance
version
|
|
T | 0..1 | markdown |
Details
about
version
|
|
0..1 | Reference () |
Example
instance
version
data
|
|
|
C | 0..* | BackboneElement |
Resources
contained
in
the
instance
+ 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 | 1..1 | string |
Key
of
contained
instance
|
|
C | 0..1 | string |
Key
of
contained
instance
version
|
|
C | 0..* | BackboneElement |
Major
process
within
scenario
+ Rule: Processes must have steps if ExampleScenario status is active or required |
|
Σ T C | 1..1 | string |
Label
for
procss
|
|
T | 0..1 | markdown |
Human-friendly
description
of
the
process
|
|
T | 0..1 | markdown |
Status
before
process
starts
|
|
T | 0..1 | markdown |
Status
after
successful
completion
|
|
C | 0..* | BackboneElement |
Event
within
of
the
process
+ 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 | string |
Sequential
number
of
the
step
|
|
|
0..1 | see process |
Step
is
nested
process
|
|
|
C | 0..1 | canonical ( ExampleScenario ) |
Step
is
nested
workflow
|
|
C | 0..1 | BackboneElement |
Step
is
simple
action
+ Rule: If specified, initiator must be a key of an actor within the ExampleScenario + Rule: If specified, receiver must be a key of an actor within the ExampleScenario |
|
0..1 | Coding |
Kind
of
action
Binding: Test Script Operation Code ( Extensible ) |
|
|
1..1 | string |
Label
for
step
|
|
|
C | 0..1 | string |
Who
starts
the
operation
|
|
C | 0..1 | string |
Who
receives
the
operation
|
|
T | 0..1 | markdown |
Human-friendly
description
of
the
operation
|
|
0..1 | boolean |
Initiator
stays
active?
|
|
|
0..1 | boolean |
Receiver
stays
active?
|
|
|
0..1 | see containedInstance |
Instance
transmitted
on
invocation
|
|
|
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
option
|
|
0..* | see step |
Alternative
action(s)
|
|
|
0..1 | boolean |
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> <!-- 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> <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> </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: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 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 |
|
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
|
|---|---|---|---|---|
|
TU | 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?
|
|
Σ T | 0..1 | string |
Name
for
this
example
scenario
(human
friendly)
|
|
?! Σ 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
publisher/steward
(organization
or
individual)
|
|
Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
|
Σ T | 0..1 | 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 | string |
Copyright
holder
and
year(s)
|
|
C | 0..* | BackboneElement |
Individual
involved
in
exchange
+ Warning: Actor should be referenced in at least one operation + Rule: actor.key canot be 'OTHER' |
|
C | 1..1 | string |
ID
or
acronym
of
the
actor
|
|
1..1 | code |
person
|
system
Binding: Example Scenario Actor Type ( Required ) |
|
|
T C | 1..1 | string |
Label
for
actor
when
rendering
|
|
T | 0..1 | markdown |
Details
about
actor
|
|
C | 0..* | BackboneElement |
Data
used
in
the
scenario
+ 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 at least one location + Warning: Instance version should be referenced in at least one operation |
|
C | 1..1 | string |
ID
or
acronym
of
the
instance
|
|
C | 1..1 | Coding |
Data
structure
for
example
Binding: Example Scenario Resource Type ( Extensible ) |
|
C | 0..1 | string |
E.g.
4.0.1
|
|
0..1 |
Rules
instance
adheres
to
|
||
|
canonical () | |||
|
uri | |||
|
T C | 1..1 | string |
Label
for
instance
|
|
T | 0..1 | markdown |
Human-friendly
description
of
the
instance
|
|
C | 0..1 | Reference () |
Example
instance
data
|
|
C | 0..* | BackboneElement |
Snapshot
of
instance
that
changes
|
|
C | 1..1 | string |
ID
or
acronym
of
the
version
|
|
C | 1..1 | string |
Label
for
instance
version
|
|
T | 0..1 | markdown |
Details
about
version
|
|
0..1 | Reference () |
Example
instance
version
data
|
|
|
C | 0..* | BackboneElement |
Resources
contained
in
the
instance
+ 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 | 1..1 | string |
Key
of
contained
instance
|
|
C | 0..1 | string |
Key
of
contained
instance
version
|
|
C | 0..* | BackboneElement |
Major
process
within
scenario
+ Rule: Processes must have steps if ExampleScenario status is active or required |
|
Σ T C | 1..1 | string |
Label
for
procss
|
|
T | 0..1 | markdown |
Human-friendly
description
of
the
process
|
|
T | 0..1 | markdown |
Status
before
process
starts
|
|
T | 0..1 | markdown |
Status
after
successful
completion
|
|
C | 0..* | BackboneElement |
Event
within
of
the
process
+ 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 | string |
Sequential
number
of
the
step
|
|
|
0..1 | see process |
Step
is
nested
process
|
|
|
C | 0..1 | canonical ( ExampleScenario ) |
Step
is
nested
workflow
|
|
C | 0..1 | BackboneElement |
Step
is
simple
action
+ Rule: If specified, initiator must be a key of an actor within the ExampleScenario + Rule: If specified, receiver must be a key of an actor within the ExampleScenario |
|
0..1 | Coding |
Kind
of
action
Binding: Test Script Operation Code ( Extensible ) |
|
|
1..1 | string |
Label
for
step
|
|
|
C | 0..1 | string |
Who
starts
the
operation
|
|
C | 0..1 | string |
Who
receives
the
operation
|
|
T | 0..1 | markdown |
Human-friendly
description
of
the
operation
|
|
0..1 | boolean |
Initiator
stays
active?
|
|
|
0..1 | boolean |
Receiver
stays
active?
|
|
|
0..1 | see containedInstance |
Instance
transmitted
on
invocation
|
|
|
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
option
|
|
0..* | see step |
Alternative
action(s)
|
|
|
0..1 | boolean |
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> <!-- 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> <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> </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: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 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 |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON .
Additional definitions: Master Definition XML + JSON , XML Schema / Schematron + JSON Schema , ShEx (for Turtle ) , the spreadsheet version & the dependency analysis
| Path | ValueSet | Type | Documentation |
|---|---|---|---|
| ExampleScenario.versionAlgorithm[x] | VersionAlgorithm | Extensible |
Indicates the mechanism used to compare versions to determine which is more current. |
| ExampleScenario.status | PublicationStatus | Required |
The lifecycle status of an artifact. |
| ExampleScenario.jurisdiction | JurisdictionValueSet | 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 | Extensible |
Types of resource structures that can be passed in or out of exchange operations. Not necessarily FHIR. |
| ExampleScenario.process.step.operation.type | TestScriptOperationCode (a valid code from FHIR Restful Interactions ) | Extensible |
This value set defines a set of codes that are used to indicate the supported operations of a testing engine or tool. |
| UniqueKey | 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 | name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$') |
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 | (ExampleScenario.useContext.value.ofType(CodeableConcept)) | 30 Resources |
| context-quantity | quantity | A quantity- or range-valued use context assigned to the example scenario | (ExampleScenario.useContext.value.ofType(Quantity)) | (ExampleScenario.useContext.value.ofType(Range)) | 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: value.ofType(Quantity) | value.ofType(Range) |
30 Resources |
| context-type-value | composite | A use context type and value assigned to the example scenario |
On
ExampleScenario.useContext:
context-type: code context: value.ofType(CodeableConcept) |
30 Resources |
| date | date | The example scenario publication date | ExampleScenario.date | 30 Resources |
| identifier | token | External identifier for the example scenario | ExampleScenario.identifier |
|
| jurisdiction | token | Intended jurisdiction for the example scenario | ExampleScenario.jurisdiction | 26 Resources |
| name | string | Computationally friendly name of the example scenario | ExampleScenario.name |
|
| 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 |
|
| url | uri | The uri that identifies the example scenario | ExampleScenario.url |
|
| version | token | The business version of the example scenario | ExampleScenario.version |
|