Detailed
Descriptions
for
the
elements
in
the
ExampleScenario
resource.
|
ExampleScenario
|
|
Element
Id
|
ExampleScenario
|
|
Definition
|
Example
of
workflow
instance.
|
|
Short
Display
|
Example
of
workflow
instance
|
|
Cardinality
|
0..*
|
|
Type
|
DomainResource
CanonicalResource
|
|
Summary
|
false
|
|
Invariants
|
|
Defined
on
this
element
|
esc-0
cnl-0
|
Warning
|
Name
should
be
usable
as
an
identifier
for
the
module
by
machine
processing
applications
such
as
code
generation
|
name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
name.exists()
implies
name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
| |
exs-3
|
Rule
|
Must
have
actors
if
status
is
active
or
required
|
status='active'
or
status='retired'
implies
actor.exists()
| |
exs-4
|
Rule
|
Must
have
processes
if
status
is
active
or
required
|
status='active'
or
status='retired'
implies
process.exists()
| |
exs-6
|
Rule
|
Actor
keys
must
be
unique
|
actor.key.count()
=
actor.key.distinct().count()
| |
exs-7
|
Rule
|
Actor
titles
must
be
unique
|
actor.title.count()
=
actor.title.distinct().count()
| |
exs-8
|
Rule
|
Instance
keys
must
be
unique
|
instance.key.count()
=
instance.key.distinct().count()
| |
exs-9
|
Rule
|
Instance
titles
must
be
unique
|
instance.title.count()
=
instance.title.distinct().count()
| |
exs-12
|
Rule
|
Process
titles
must
be
unique
|
process.title.count()
=
process.title.distinct().count()
|
|
|
ExampleScenario.url
|
|
Element
Id
|
ExampleScenario.url
|
|
Definition
|
An
absolute
URI
that
is
used
to
identify
this
example
scenario
when
it
is
referenced
in
a
specification,
model,
design
or
an
instance;
also
called
its
canonical
identifier.
This
SHOULD
be
globally
unique
and
SHOULD
be
a
literal
address
at
which
at
which
an
authoritative
instance
of
this
example
scenario
is
(or
will
be)
published.
This
URL
can
be
the
target
of
a
canonical
reference.
It
SHALL
remain
the
same
when
the
example
scenario
is
stored
on
different
servers.
|
|
Short
Display
|
Canonical
identifier
for
this
example
scenario,
represented
as
a
URI
(globally
unique)
|
|
Cardinality
|
0..1
|
|
Type
|
uri
|
|
Requirements
|
Allows
the
example
scenario
to
be
referenced
by
a
single
globally
unique
identifier.
|
|
Summary
|
true
|
|
Comments
|
Can
be
a
urn:uuid:
or
a
urn:oid:
but
real
http:
addresses
are
preferred.
Multiple
instances
may
share
the
same
URL
if
they
have
a
distinct
version.
The
determination
of
when
to
create
a
new
version
of
a
resource
(same
url,
new
version)
vs.
defining
a
new
artifact
is
up
to
the
author.
Considerations
for
making
this
decision
are
found
in
Technical
and
Business
Versions
.
In
some
cases,
the
resource
can
no
longer
be
found
at
the
stated
url,
but
the
url
itself
cannot
change.
Implementations
can
use
the
meta.source
element
to
indicate
where
the
current
master
source
of
the
resource
can
be
found.
|
|
Invariants
| |
Defined
on
this
element
| |
cnl-1
|
Warning
|
URL
should
not
contain
|
or
#
-
these
characters
make
processing
canonical
references
problematic
|
exists()
implies
matches('^[^|#
]+$')
|
|
|
ExampleScenario.identifier
|
|
Element
Id
|
ExampleScenario.identifier
|
|
Definition
|
A
formal
identifier
that
is
used
to
identify
this
example
scenario
when
it
is
represented
in
other
formats,
or
referenced
in
a
specification,
model,
design
or
an
instance.
|
|
Short
Display
|
Additional
identifier
for
the
example
scenario
|
|
Note
|
This
is
a
business
identifier,
not
a
resource
identifier
(see
discussion
)
|
|
Cardinality
|
0..*
|
|
Type
|
Identifier
|
|
Requirements
|
Allows
externally
provided
and/or
usable
business
identifiers
to
be
easily
associated
with
the
module.
|
|
Summary
|
true
|
|
Comments
|
Typically,
this
is
used
for
identifiers
that
can
go
in
an
HL7
V3
II
(instance
identifier)
data
type,
and
can
then
identify
this
example
scenario
outside
of
FHIR,
where
it
is
not
possible
to
use
the
logical
URI.
|
|
ExampleScenario.version
|
|
Element
Id
|
ExampleScenario.version
|
|
Definition
|
The
identifier
that
is
used
to
identify
this
version
of
the
example
scenario
when
it
is
referenced
in
a
specification,
model,
design
or
instance.
This
is
an
arbitrary
value
managed
by
the
example
scenario
author
and
is
not
expected
to
be
globally
unique.
For
example,
it
might
be
a
timestamp
(e.g.
yyyymmdd)
if
a
managed
version
is
not
available.
There
is
also
no
expectation
that
versions
can
be
placed
in
a
lexicographical
sequence.
|
|
Short
Display
|
Business
version
of
the
example
scenario
|
|
Note
|
This
is
a
business
versionId,
not
a
resource
version
id
(see
discussion
)
|
|
Cardinality
|
0..1
|
|
Type
|
string
|
|
Summary
|
true
|
|
Comments
|
There
may
be
different
example
scenario
instances
that
have
the
same
identifier
but
different
versions.
The
version
can
be
appended
to
the
url
in
a
reference
to
allow
a
reference
to
a
particular
business
version
of
the
example
scenario
with
the
format
[url]|[version].
The
version
SHOULD
NOT
contain
a
'#'
-
see
Business
Version
.
|
ExampleScenario.name
ExampleScenario.versionAlgorithm[x]
|
|
Element
Id
|
ExampleScenario.name
ExampleScenario.versionAlgorithm[x]
|
|
Definition
|
A
natural
language
name
identifying
the
example
scenario.
This
name
should
be
usable
as
an
identifier
for
Indicates
the
module
by
machine
processing
applications
such
as
code
generation.
mechanism
used
to
compare
versions
to
determine
which
is
more
current.
|
|
Short
Display
|
How
to
compare
versions
|
|
Cardinality
|
0..1
|
|
Terminology
Binding
|
Version
Algorithm
(
Extensible
)
|
|
Type
|
string
|
Coding
|
Requirements
[x]
Note
|
See
Choice
of
Datatypes
for
further
information
about
how
to
use
[x]
|
|
Summary
|
true
|
|
Comments
|
Support
human
navigation
If
set
as
a
string,
this
is
a
FHIRPath
expression
that
has
two
additional
context
variables
passed
in
-
%version1
and
code
generation.
%version2
and
will
return
a
negative
number
if
version1
is
newer,
a
positive
number
if
version2
and
a
0
if
the
version
ordering
can't
be
successfully
be
determined.
|
|
ExampleScenario.name
|
|
Element
Id
|
ExampleScenario.name
|
|
Definition
|
Temporarily
retained
for
tooling
purposes.
|
|
Short
Display
|
To
be
removed?
|
|
Cardinality
|
0..1
|
|
Type
|
string
|
|
Summary
|
true
|
|
Comments
|
The
name
is
not
expected
to
be
globally
unique.
The
name
should
Not
needed
as
code
will
never
be
a
simple
alphanumeric
type
name
to
ensure
that
it
is
machine-processing
friendly.
generated
from
one
of
these
|
|
Invariants
|
|
Affect
this
element
|
inv-0
cnl-0
|
Warning
|
Name
should
be
usable
as
an
identifier
for
the
module
by
machine
processing
applications
such
as
code
generation
|
name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
name.exists()
implies
name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
|
|
|
ExampleScenario.title
|
To
Do
Element
Id
|
&
ExampleScenario.title
|
|
Definition
|
A
short,
descriptive,
user-friendly
title
for
the
ExampleScenario.
|
|
Short
Display
|
Name
for
this
example
scenario
(human
friendly)
|
|
Cardinality
|
0..1
|
|
Type
|
string
|
|
Summary
|
true
|
|
Comments
|
This
name
should
does
not
need
to
be
provided
unless
the
value
set
is
a
contained
resource
(e.g.
an
anonymous
value
set
in
a
profile).
Most
registries
will
require
a
name.
machine-processing
friendly
and
may
contain
punctuation,
white-space,
etc.
|
|
ExampleScenario.status
|
|
Element
Id
|
ExampleScenario.status
|
|
Definition
|
The
status
of
this
example
scenario.
Enables
tracking
the
life-cycle
of
the
content.
|
|
Short
Display
|
draft
|
active
|
retired
|
unknown
|
|
Cardinality
|
1..1
|
|
Terminology
Binding
|
PublicationStatus
(
Required
)
|
|
Type
|
code
|
|
Is
Modifier
|
true
(Reason:
This
is
labeled
as
"Is
Modifier"
because
applications
should
not
use
a
retired
{{title}}
without
due
consideration)
|
|
Summary
|
true
|
|
Comments
|
Allows
filtering
of
example
scenarios
that
are
appropriate
for
use
versus
not.
See
guidance
around
(not)
making
local
changes
to
elements
here
. |
|
Invariants
| |
Affect
this
element
| |
exs-3
|
Rule
|
Must
have
actors
if
status
is
active
or
required
|
status='active'
or
status='retired'
implies
actor.exists()
| |
exs-4
|
Rule
|
Must
have
processes
if
status
is
active
or
required
|
status='active'
or
status='retired'
implies
process.exists()
| |
exs-5
|
Rule
|
Processes
must
have
steps
if
ExampleScenario
status
is
active
or
required
|
%resource.status='active'
or
%resource.status='retired'
implies
step.exists()
|
|
|
ExampleScenario.experimental
|
|
Element
Id
|
ExampleScenario.experimental
|
|
Definition
|
A
Boolean
value
to
indicate
that
this
example
scenario
is
authored
for
testing
purposes
(or
education/evaluation/marketing)
and
is
not
intended
to
be
used
for
genuine
usage.
|
|
Short
Display
|
For
testing
purposes,
not
real
usage
|
|
Cardinality
|
0..1
|
|
Type
|
boolean
|
|
Meaning
if
Missing
|
If
absent,
this
resource
is
treated
as
though
it
is
not
experimental.
|
|
Requirements
|
Enables
experimental
content
to
be
developed
following
the
same
lifecycle
that
would
be
used
for
a
production-level
example
scenario.
|
|
Summary
|
true
|
|
Comments
|
Allows
filtering
of
example
scenarios
that
are
appropriate
for
use
versus
not.
|
|
ExampleScenario.date
|
|
Element
Id
|
ExampleScenario.date
|
|
Definition
|
The
date
(and
optionally
time)
when
the
example
scenario
was
published.
last
significantly
changed.
The
date
must
change
when
the
business
version
changes
and
it
must
change
if
the
status
code
changes.
In
addition,
it
should
change
when
the
substantive
content
of
the
example
scenario
changes.
(e.g.
the
'content
logical
definition').
|
|
Short
Display
|
Date
last
changed
|
|
Cardinality
|
0..1
|
|
Type
|
dateTime
|
|
Alternate
Names
|
Revision
Date
|
|
Summary
|
true
|
|
Comments
|
The
date
is
often
not
tracked
until
the
resource
is
published,
but
may
be
present
on
draft
content.
Note
that
this
is
not
the
same
as
the
resource
last-modified-date,
since
the
resource
may
be
a
secondary
representation
of
the
example
scenario.
Additional
specific
dates
may
be
added
as
extensions
or
be
found
by
consulting
Provenances
associated
with
past
versions
of
the
resource.
See
guidance
around
(not)
making
local
changes
to
elements
here
.
|
|
ExampleScenario.publisher
|
|
Element
Id
|
ExampleScenario.publisher
|
|
Definition
|
The
name
of
the
organization
or
individual
that
published
responsible
for
the
release
and
ongoing
maintenance
of
the
example
scenario.
|
|
Short
Display
|
Name
of
the
publisher/steward
(organization
or
individual)
|
|
Cardinality
|
0..1
|
|
Type
|
string
|
|
Requirements
|
Helps
establish
the
"authority/credibility"
of
the
example
scenario.
May
also
allow
for
contact.
|
|
Summary
|
true
|
|
Comments
|
Usually
an
organization
but
may
be
an
individual.
The
publisher
(or
steward)
of
the
example
scenario
is
the
organization
or
individual
primarily
responsible
for
the
maintenance
and
upkeep
of
the
example
scenario.
This
is
not
necessarily
the
same
individual
or
organization
that
developed
and
initially
authored
the
content.
The
publisher
is
the
primary
point
of
contact
for
questions
or
issues
with
the
example
scenario.
This
item
SHOULD
be
populated
unless
the
information
is
available
from
context.
|
|
ExampleScenario.contact
|
|
Element
Id
|
ExampleScenario.contact
|
|
Definition
|
Contact
details
to
assist
a
user
in
finding
and
communicating
with
the
publisher.
|
|
Short
Display
|
Contact
details
for
the
publisher
|
|
Cardinality
|
0..*
|
|
Type
|
ContactDetail
|
|
Summary
|
true
|
|
Comments
|
May
be
a
web
site,
an
email
address,
a
telephone
number,
etc.
See
guidance
around
(not)
making
local
changes
to
elements
here
. |
|
ExampleScenario.description
|
|
Element
Id
|
ExampleScenario.description
|
|
Definition
|
A
free
text
natural
language
description
of
the
ExampleScenario
from
a
consumer's
perspective.
|
|
Short
Display
|
Natural
language
description
of
the
ExampleScenario
|
|
Cardinality
|
0..1
|
|
Type
|
markdown
|
|
Summary
|
true
|
|
Comments
|
This
description
can
be
used
to
capture
details
such
as
comments
about
misuse.
It
is
not
a
rendering
of
the
ExampleScenario
as
conveyed
in
the
'text'
field
of
the
resource
itself.
|
|
ExampleScenario.useContext
|
|
Element
Id
|
ExampleScenario.useContext
|
|
Definition
|
The
content
was
developed
with
a
focus
and
intent
of
supporting
the
contexts
that
are
listed.
These
contexts
may
be
general
categories
(gender,
age,
...)
or
may
be
references
to
specific
programs
(insurance
plans,
studies,
...)
and
may
be
used
to
assist
with
indexing
and
searching
for
appropriate
example
scenario
instances.
|
|
Short
Display
|
The
context
that
the
content
is
intended
to
support
|
|
Cardinality
|
0..*
|
|
Type
|
UsageContext
|
|
Requirements
|
Assist
in
searching
for
appropriate
content.
|
|
Summary
|
true
|
|
Comments
|
When
multiple
useContexts
are
specified,
there
is
no
expectation
that
all
or
any
of
the
contexts
apply.
|
|
ExampleScenario.jurisdiction
|
|
Standards
Status
|
This
element
has
a
standards
status
of
"Deprecated"
which
is
different
from
the
status
of
the
whole
resource
|
|
Element
Id
|
ExampleScenario.jurisdiction
|
|
Definition
|
A
legal
or
geographic
region
in
which
the
example
scenario
is
intended
to
be
used.
|
|
Short
Display
|
Intended
jurisdiction
for
example
scenario
(if
applicable)
|
|
Cardinality
|
0..*
|
|
Terminology
Binding
|
Jurisdiction
ValueSet
(
Extensible
)
|
|
Type
|
CodeableConcept
|
|
Summary
|
true
|
|
Comments
|
It
may
be
possible
for
the
example
scenario
to
be
used
in
jurisdictions
other
than
those
for
which
it
was
originally
designed
or
intended.
DEPRECATION
NOTE:
For
consistency,
implementations
are
encouraged
to
migrate
to
using
the
new
'jurisdiction'
code
in
the
useContext
element.
(I.e.
useContext.code
indicating
http://terminology.hl7.org/CodeSystem/usage-context-type#jurisdiction
and
useContext.valueCodeableConcept
indicating
the
jurisdiction.)
|
|
ExampleScenario.purpose
|
|
Element
Id
|
ExampleScenario.purpose
|
|
Definition
|
What
the
example
scenario
resource
is
created
for.
This
should
not
be
used
to
show
the
business
purpose
of
the
scenario
itself,
but
the
purpose
of
documenting
a
scenario.
|
|
Short
Display
|
The
purpose
of
the
example,
e.g.
to
illustrate
a
scenario
|
|
Cardinality
|
0..1
|
|
Type
|
markdown
|
|
Summary
|
false
|
|
Comments
|
This
element
does
not
describe
the
usage
of
the
example
scenario.
Instead,
it
provides
traceability
of
''why''
the
resource
is
either
needed
or
''why''
it
is
defined
as
it
is.
This
may
be
used
to
point
to
source
materials
or
specifications
that
drove
the
structure
of
this
example
scenario.
|
|
ExampleScenario.copyright
|
|
Element
Id
|
ExampleScenario.copyright
|
|
Definition
|
A
copyright
statement
relating
to
the
example
scenario
and/or
its
contents.
Copyright
statements
are
generally
legal
restrictions
on
the
use
and
publishing
of
the
example
scenario.
|
|
Short
Display
|
Use
and/or
publishing
restrictions
|
|
Cardinality
|
0..1
|
|
Type
|
markdown
|
|
Requirements
|
Consumers
must
be
able
to
determine
any
legal
restrictions
on
the
use
of
the
example
scenario
and/or
its
content.
|
|
Alternate
Names
|
License;
Restrictions
|
|
Summary
|
false
|
|
Comments
|
nullFrequently,
the
copyright
differs
between
the
value
set
and
the
codes
that
are
included.
The
copyright
statement
should
clearly
differentiate
between
these
when
required.
...
|
ExampleScenario.purpose
ExampleScenario.copyrightLabel
|
|
Element
Id
|
ExampleScenario.purpose
ExampleScenario.copyrightLabel
|
|
Definition
|
What
the
example
scenario
resource
is
created
for.
This
should
not
be
used
to
show
the
business
purpose
of
the
scenario
itself,
but
the
purpose
of
documenting
A
short
string
(<50
characters),
suitable
for
inclusion
in
a
scenario.
page
footer
that
identifies
the
copyright
holder,
effective
period,
and
optionally
whether
rights
are
resctricted.
(e.g.
'All
rights
reserved',
'Some
rights
reserved').
|
|
Short
Display
|
Copyright
holder
and
year(s)
|
|
Cardinality
|
0..1
|
|
Type
|
markdown
string
|
Comments
Requirements
|
This
element
does
not
describe
the
usage
of
Defines
the
example
scenario.
Instead,
it
provides
traceability
content
expected
to
be
rendered
in
all
representations
of
''why''
the
resource
is
either
needed
or
''why''
it
is
defined
as
it
is.
This
may
artifact.
|
|
Summary
|
false
|
|
Comments
|
The
(c)
symbol
should
NOT
be
used
to
point
to
source
materials
or
specifications
that
drove
the
structure
of
included
in
this
example
scenario.
string.
It
will
be
added
by
software
when
rendering
the
notation.
Full
details
about
licensing,
restrictions,
warrantees,
etc.
goes
in
the
more
general
'copyright'
element.
|
|
ExampleScenario.actor
|
|
Element
Id
|
ExampleScenario.actor
|
|
Definition
|
Actor
participating
in
A
system
or
person
who
shares
or
receives
an
instance
within
the
resource.
scenario.
|
|
Short
Display
|
Individual
involved
in
exchange
|
|
Cardinality
|
0..*
|
|
Requirements
|
This
is
optional
to
allow
for
ExampleScenarios
that
are
still
draft
|
|
Summary
|
false
|
|
Invariants
| |
Defined
on
this
element
| |
exs-19
|
Warning
|
Actor
should
be
referenced
in
at
least
one
operation
|
%resource.process.descendants().select(operation).where(initiator=%context.key
or
receiver=%context.key).exists()
| |
exs-23
|
Rule
|
actor.key
canot
be
'OTHER'
|
key
!=
'OTHER'
| |
Affect
this
element
| |
exs-3
|
Rule
|
Must
have
actors
if
status
is
active
or
required
|
status='active'
or
status='retired'
implies
actor.exists()
| |
exs-6
|
Rule
|
Actor
keys
must
be
unique
|
actor.key.count()
=
actor.key.distinct().count()
| |
exs-7
|
Rule
|
Actor
titles
must
be
unique
|
actor.title.count()
=
actor.title.distinct().count()
| |
exs-17
|
Rule
|
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
|
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()
|
|
ExampleScenario.actor.actorId
ExampleScenario.actor.key
|
|
Element
Id
|
ExampleScenario.actor.actorId
ExampleScenario.actor.key
|
|
Definition
|
A
unique
string
within
the
scenario
that
is
used
to
reference
the
actor.
|
|
Short
Display
|
ID
or
acronym
of
actor.
the
actor
|
|
Cardinality
|
1..1
|
|
Type
|
string
|
Comments
Summary
|
false
|
should
|
Invariants
| |
Affect
this
element
| |
exs-6
|
Rule
|
Actor
keys
must
be
called
ID
unique
|
actor.key.count()
=
actor.key.distinct().count()
| |
exs-23
|
Rule
|
actor.key
canot
be
'OTHER'
|
key
!=
'OTHER'
| |
exs-17
|
Rule
|
If
specified,
initiator
must
be
a
key
of
an
actor
within
the
ExampleScenario
|
initiator.exists()
implies
initiator
=
'OTHER'
or
acronym?
%resource.actor.where(key=%context.initiator).exists()
| |
exs-18
|
Rule
|
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
|
Actor
should
be
referenced
in
at
least
one
operation
|
%resource.process.descendants().select(operation).where(initiator=%context.key
or
receiver=%context.key).exists()
|
|
|
ExampleScenario.actor.type
|
|
Element
Id
|
ExampleScenario.actor.type
|
|
Definition
|
The
type
category
of
actor
-
person
or
system.
|
|
Short
Display
|
person
|
system
|
|
Cardinality
|
1..1
|
|
Terminology
Binding
|
ExampleScenarioActorType
Example
Scenario
Actor
Type
(
Required
)
|
|
Type
|
code
|
|
Summary
|
false
|
ExampleScenario.actor.name
ExampleScenario.actor.title
|
|
Element
Id
|
ExampleScenario.actor.name
ExampleScenario.actor.title
|
|
Definition
|
The
human-readable
name
of
for
the
actor
as
shown
in
used
when
rendering
the
page.
scenario.
|
|
Short
Display
|
Label
for
actor
when
rendering
|
|
Cardinality
|
0..1
1..1
|
|
Type
|
string
|
Comments
Summary
|
false
|
Cardinality:
is
name
and
description
1..1?
|
Invariants
| |
Affect
this
element
| |
exs-7
|
Rule
|
Actor
titles
must
be
unique
|
actor.title.count()
=
actor.title.distinct().count()
|
|
|
ExampleScenario.actor.description
|
|
Element
Id
|
ExampleScenario.actor.description
|
|
Definition
|
The
description
An
explanation
of
who/what
the
actor.
actor
is
and
its
role
in
the
scenario.
|
|
Short
Display
|
Details
about
actor
|
|
Cardinality
|
0..1
|
|
Type
|
markdown
|
Comments
Summary
|
Cardinality:
is
name
and
description
1..1?
false
|
|
ExampleScenario.instance
|
|
Element
Id
|
ExampleScenario.instance
|
|
Definition
|
Each
resource
and
each
version
A
single
data
collection
that
is
present
in
shared
as
part
of
the
workflow.
scenario.
|
|
Short
Display
|
Data
used
in
the
scenario
|
|
Cardinality
|
0..*
|
|
Summary
|
false
|
|
Invariants
| |
Defined
on
this
element
| |
exs-1
|
Rule
|
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()
| |
exs-2
|
Rule
|
instance.content
is
only
allowed
if
there
are
no
instance.versions
|
content.exists()
implies
version.empty()
| |
exs-10
|
Rule
|
Version
keys
must
be
unique
within
an
instance
|
version.key.count()
=
version.key.distinct().count()
| |
exs-11
|
Rule
|
Version
titles
must
be
unique
within
an
instance
|
version.title.count()
=
version.title.distinct().count()
| |
exs-20
|
Warning
|
Instance
should
be
referenced
in
at
least
one
location
|
%resource.process.descendants().select(instanceReference).where($this=%context.key).exists()
| |
exs-21
|
Warning
|
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()
| |
Affect
this
element
| |
exs-8
|
Rule
|
Instance
keys
must
be
unique
|
instance.key.count()
=
instance.key.distinct().count()
| |
exs-9
|
Rule
|
Instance
titles
must
be
unique
|
instance.title.count()
=
instance.title.distinct().count()
| |
exs-14
|
Rule
|
InstanceReference
must
be
a
key
of
an
instance
defined
in
the
ExampleScenario
|
%resource.instance.where(key=%context.instanceReference).exists()
| |
exs-15
|
Rule
|
versionReference
must
be
specified
if
the
referenced
instance
defines
versions
|
versionReference.empty()
implies
%resource.instance.where(key=%context.instanceReference).version.empty()
| |
exs-16
|
Rule
|
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()
|
|
ExampleScenario.instance.resourceId
ExampleScenario.instance.key
|
|
Element
Id
|
ExampleScenario.instance.resourceId
ExampleScenario.instance.key
|
|
Definition
|
The
id
of
A
unique
string
within
the
resource
for
referencing.
scenario
that
is
used
to
reference
the
instance.
|
|
Short
Display
|
ID
or
acronym
of
the
instance
|
|
Cardinality
|
1..1
|
|
Type
|
string
|
|
Summary
|
false
|
|
Invariants
| |
Affect
this
element
| |
exs-8
|
Rule
|
Instance
keys
must
be
unique
|
instance.key.count()
=
instance.key.distinct().count()
| |
exs-14
|
Rule
|
InstanceReference
must
be
a
key
of
an
instance
defined
in
the
ExampleScenario
|
%resource.instance.where(key=%context.instanceReference).exists()
| |
exs-15
|
Rule
|
versionReference
must
be
specified
if
the
referenced
instance
defines
versions
|
versionReference.empty()
implies
%resource.instance.where(key=%context.instanceReference).version.empty()
| |
exs-16
|
Rule
|
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-20
|
Warning
|
Instance
should
be
referenced
in
at
least
one
location
|
%resource.process.descendants().select(instanceReference).where($this=%context.key).exists()
| |
exs-21
|
Warning
|
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()
|
|
ExampleScenario.instance.resourceType
ExampleScenario.instance.structureType
|
|
Element
Id
|
ExampleScenario.instance.resourceType
ExampleScenario.instance.structureType
|
|
Definition
|
The
type
of
A
code
indicating
the
resource.
kind
of
data
structure
(FHIR
resource
or
some
other
standard)
this
is
an
instance
of.
|
|
Short
Display
|
Data
structure
for
example
|
|
Cardinality
|
1..1
|
|
Terminology
Binding
|
ResourceType
Example
Scenario
Resource
Type
(
Required
Extensible
)
|
|
Type
|
code
Coding
|
|
Summary
|
false
|
|
Invariants
| |
Affect
this
element
| |
exs-1
|
Rule
|
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()
|
|
ExampleScenario.instance.name
ExampleScenario.instance.structureVersion
|
|
Element
Id
|
ExampleScenario.instance.name
ExampleScenario.instance.structureVersion
|
|
Definition
|
A
short
name
for
Conveys
the
resource
instance.
version
of
the
data
structure
instantiated.
I.e.
what
release
of
FHIR,
X12,
OpenEHR,
etc.
is
instance
compliant
with.
|
|
Short
Display
|
E.g.
4.0.1
|
|
Cardinality
|
0..1
|
|
Type
|
string
|
To
Do
Meaning
if
Missing
|
Should
name
If
the
structureType
is
a
FHIR
resource,
then
the
version
is
the
same
FHIR
version
this
ExampleScenario
is
expressed
in.
|
|
Summary
|
false
|
|
Invariants
| |
Affect
this
element
| |
exs-1
|
Rule
|
StructureVersion
is
required
if
structureType
is
not
FHIR
(but
may
still
be
present
even
if
FHIR)
|
structureType.exists()
and
description
structureType.memberOf('http://hl7.org/fhir/ValueSet/resource-types').not()
implies
structureVersion.exists()
|
|
|
ExampleScenario.instance.structureProfile[x]
|
|
Element
Id
|
ExampleScenario.instance.structureProfile[x]
|
|
Definition
|
Refers
to
a
profile,
template
or
other
ruleset
the
instance
adheres
to.
|
|
Short
Display
|
Rules
instance
adheres
to
|
|
Cardinality
|
0..1
|
|
Type
|
canonical
|
uri
|
|
[x]
Note
|
See
Choice
of
Datatypes
for
further
information
about
how
to
use
[x]
|
|
Summary
|
false
|
|
ExampleScenario.instance.title
|
|
Element
Id
|
ExampleScenario.instance.title
|
|
Definition
|
A
short
descriptive
label
the
instance
to
be
1..1?
used
in
tables
or
diagrams.
|
|
Short
Display
|
Label
for
instance
|
|
Cardinality
|
1..1
|
|
Type
|
string
|
|
Summary
|
false
|
|
Invariants
| |
Affect
this
element
| |
exs-9
|
Rule
|
Instance
titles
must
be
unique
|
instance.title.count()
=
instance.title.distinct().count()
|
|
|
ExampleScenario.instance.description
|
|
Element
Id
|
ExampleScenario.instance.description
|
|
Definition
|
An
explanation
of
what
the
instance
contains
and
what
it's
for.
|
|
Short
Display
|
Human-friendly
description
of
the
resource
instance.
instance
|
|
Cardinality
|
0..1
|
|
Type
|
markdown
|
To
Do
Summary
|
Should
name
and
description
false
|
|
ExampleScenario.instance.content
|
|
Element
Id
|
ExampleScenario.instance.content
|
|
Definition
|
Points
to
an
instance
(typically
an
example)
that
shows
the
data
that
would
corespond
to
this
instance.
|
|
Short
Display
|
Example
instance
data
|
|
Cardinality
|
0..1
|
|
Type
|
Reference
|
|
Summary
|
false
|
|
Comments
|
If
not
conveying
FHIR
data
or
not
using
the
same
version
of
FHIR
as
this
ExampleScenario
instance,
the
reference
must
be
1..1?
to
a
Binary.
|
|
Invariants
| |
Affect
this
element
| |
exs-2
|
Rule
|
instance.content
is
only
allowed
if
there
are
no
instance.versions
|
content.exists()
implies
version.empty()
|
|
|
ExampleScenario.instance.version
|
|
Element
Id
|
ExampleScenario.instance.version
|
|
Definition
|
A
specific
version
of
Represents
the
resource.
instance
as
it
was
at
a
specific
time-point.
|
|
Short
Display
|
Snapshot
of
instance
that
changes
|
|
Note
|
This
is
a
business
versionId,
not
a
resource
version
id
(see
discussion
)
|
|
Cardinality
|
0..*
|
|
Requirements
|
Allows
representing
the
'same'
instance
as
it
evolves
throughout
the
scenario.
|
|
Summary
|
false
|
|
Comments
|
Not
used
if
an
instance
doesn't
change
|
|
Invariants
| |
Affect
this
element
| |
exs-10
|
Rule
|
Version
keys
must
be
unique
within
an
instance
|
version.key.count()
=
version.key.distinct().count()
| |
exs-11
|
Rule
|
Version
titles
must
be
unique
within
an
instance
|
version.title.count()
=
version.title.distinct().count()
| |
exs-15
|
Rule
|
versionReference
must
be
specified
if
the
referenced
instance
defines
versions
|
versionReference.empty()
implies
%resource.instance.where(key=%context.instanceReference).version.empty()
| |
exs-16
|
Rule
|
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-2
|
Rule
|
instance.content
is
only
allowed
if
there
are
no
instance.versions
|
content.exists()
implies
version.empty()
| |
exs-21
|
Warning
|
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()
|
|
ExampleScenario.instance.version.versionId
ExampleScenario.instance.version.key
|
|
Element
Id
|
ExampleScenario.instance.version.versionId
ExampleScenario.instance.version.key
|
|
Definition
|
The
identifier
A
unique
string
within
the
instance
that
is
used
to
reference
the
version
of
a
specific
the
instance.
|
|
Short
Display
|
ID
or
acronym
of
the
version
|
|
Cardinality
|
1..1
|
|
Type
|
string
|
|
Summary
|
false
|
|
Invariants
| |
Affect
this
element
| |
exs-10
|
Rule
|
Version
keys
must
be
unique
within
an
instance
|
version.key.count()
=
version.key.distinct().count()
| |
exs-16
|
Rule
|
versionReference
must
be
a
key
of
a
resource.
version
within
the
instance
pointed
to
by
instanceReference
|
versionReference.exists()
implies
%resource.instance.where(key=%context.instanceReference).version.where(key=%context.versionReference).exists()
| |
exs-21
|
Warning
|
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()
|
|
|
ExampleScenario.instance.version.title
|
|
Element
Id
|
ExampleScenario.instance.version.title
|
|
Definition
|
A
short
descriptive
label
the
version
to
be
used
in
tables
or
diagrams.
|
|
Short
Display
|
Label
for
instance
version
|
|
Cardinality
|
1..1
|
|
Type
|
string
|
|
Summary
|
false
|
|
Invariants
| |
Affect
this
element
| |
exs-11
|
Rule
|
Version
titles
must
be
unique
within
an
instance
|
version.title.count()
=
version.title.distinct().count()
|
|
|
ExampleScenario.instance.version.description
|
|
Element
Id
|
ExampleScenario.instance.version.description
|
|
Definition
|
The
description
An
explanation
of
what
this
specific
version
of
the
resource
version.
instance
contains
and
represents.
|
|
Short
Display
|
Details
about
version
|
|
Cardinality
|
1..1
0..1
|
|
Type
|
markdown
|
|
Summary
|
false
|
|
ExampleScenario.instance.version.content
|
|
Element
Id
|
ExampleScenario.instance.version.content
|
|
Definition
|
Points
to
an
instance
(typically
an
example)
that
shows
the
data
that
would
flow
at
this
point
in
the
scenario.
|
|
Short
Display
|
Example
instance
version
data
|
|
Cardinality
|
0..1
|
|
Type
|
Reference
|
|
Summary
|
false
|
|
Comments
|
If
not
conveying
FHIR
data
or
not
using
the
same
version
of
FHIR
as
this
ExampleScenario
instance,
the
reference
must
be
to
a
Binary.
|
|
ExampleScenario.instance.containedInstance
|
|
Element
Id
|
ExampleScenario.instance.containedInstance
|
|
Definition
|
Resources
contained
in
the
References
to
other
instances
that
can
be
found
within
this
instance
(e.g.
the
observations
contained
in
a
bundle).
|
|
Short
Display
|
Resources
contained
in
the
instance
|
|
Cardinality
|
0..*
|
|
Summary
|
false
|
|
Invariants
| |
Defined
on
this
element
| |
exs-14
|
Rule
|
InstanceReference
must
be
a
key
of
an
instance
defined
in
the
ExampleScenario
|
%resource.instance.where(key=%context.instanceReference).exists()
| |
exs-15
|
Rule
|
versionReference
must
be
specified
if
the
referenced
instance
defines
versions
|
versionReference.empty()
implies
%resource.instance.where(key=%context.instanceReference).version.empty()
| |
exs-16
|
Rule
|
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()
|
|
ExampleScenario.instance.containedInstance.resourceId
ExampleScenario.instance.containedInstance.instanceReference
|
|
Element
Id
|
ExampleScenario.instance.containedInstance.resourceId
ExampleScenario.instance.containedInstance.instanceReference
|
|
Definition
|
Each
resource
contained
in
A
reference
to
the
instance.
key
of
an
instance
found
within
this
one.
|
|
Short
Display
|
Key
of
contained
instance
|
|
Cardinality
|
1..1
|
|
Type
|
string
|
|
Summary
|
false
|
|
Invariants
| |
Affect
this
element
| |
exs-14
|
Rule
|
InstanceReference
must
be
a
key
of
an
instance
defined
in
the
ExampleScenario
|
%resource.instance.where(key=%context.instanceReference).exists()
| |
exs-15
|
Rule
|
versionReference
must
be
specified
if
the
referenced
instance
defines
versions
|
versionReference.empty()
implies
%resource.instance.where(key=%context.instanceReference).version.empty()
| |
exs-16
|
Rule
|
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-20
|
Warning
|
Instance
should
be
referenced
in
at
least
one
location
|
%resource.process.descendants().select(instanceReference).where($this=%context.key).exists()
| |
exs-21
|
Warning
|
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()
|
|
ExampleScenario.instance.containedInstance.versionId
ExampleScenario.instance.containedInstance.versionReference
|
|
Element
Id
|
ExampleScenario.instance.containedInstance.versionId
ExampleScenario.instance.containedInstance.versionReference
|
|
Definition
|
A
reference
to
the
key
of
a
specific
version
of
a
resource
contained
an
instance
in
the
this
instance.
|
|
Short
Display
|
Key
of
contained
instance
version
|
|
Cardinality
|
0..1
|
|
Type
|
string
|
|
Summary
|
false
|
|
Comments
|
Required
if
the
referenced
instance
has
versions
|
|
Invariants
| |
Affect
this
element
| |
exs-15
|
Rule
|
versionReference
must
be
specified
if
the
referenced
instance
defines
versions
|
versionReference.empty()
implies
%resource.instance.where(key=%context.instanceReference).version.empty()
| |
exs-16
|
Rule
|
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-21
|
Warning
|
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()
|
|
|
ExampleScenario.process
|
|
Element
Id
|
ExampleScenario.process
|
|
Definition
|
Each
major
process
-
a
A
group
of
operations.
operations
that
represents
a
significant
step
within
a
scenario.
|
|
Short
Display
|
Major
process
within
scenario
|
|
Cardinality
|
0..*
|
|
Summary
|
false
|
|
Comments
|
Some
scenarios
might
describe
only
one
process.
|
|
Invariants
| |
Defined
on
this
element
| |
exs-5
|
Rule
|
Processes
must
have
steps
if
ExampleScenario
status
is
active
or
required
|
%resource.status='active'
or
%resource.status='retired'
implies
step.exists()
| |
Affect
this
element
| |
exs-4
|
Rule
|
Must
have
processes
if
status
is
active
or
required
|
status='active'
or
status='retired'
implies
process.exists()
| |
exs-12
|
Rule
|
Process
titles
must
be
unique
|
process.title.count()
=
process.title.distinct().count()
| |
exs-22
|
Rule
|
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-20
|
Warning
|
Instance
should
be
referenced
in
at
least
one
location
|
%resource.process.descendants().select(instanceReference).where($this=%context.key).exists()
| |
exs-21
|
Warning
|
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-19
|
Warning
|
Actor
should
be
referenced
in
at
least
one
operation
|
%resource.process.descendants().select(operation).where(initiator=%context.key
or
receiver=%context.key).exists()
|
|
|
ExampleScenario.process.title
|
|
Element
Id
|
ExampleScenario.process.title
|
|
Definition
|
The
diagram
title
of
A
short
descriptive
label
the
group
of
operations.
process
to
be
used
in
tables
or
diagrams.
|
|
Short
Display
|
Label
for
procss
|
|
Cardinality
|
1..1
|
|
Type
|
string
|
|
Summary
|
true
|
|
Invariants
| |
Affect
this
element
| |
exs-12
|
Rule
|
Process
titles
must
be
unique
|
process.title.count()
=
process.title.distinct().count()
|
|
|
ExampleScenario.process.description
|
|
Element
Id
|
ExampleScenario.process.description
|
|
Definition
|
A
longer
description
An
explanation
of
what
the
group
of
operations.
process
represents
and
what
it
does.
|
|
Short
Display
|
Human-friendly
description
of
the
process
|
|
Cardinality
|
0..1
|
|
Type
|
markdown
|
|
Summary
|
false
|
|
ExampleScenario.process.preConditions
|
|
Element
Id
|
ExampleScenario.process.preConditions
|
|
Definition
|
Description
of
the
initial
status
state
of
the
actors,
environment
and
data
before
the
process
starts.
|
|
Short
Display
|
Status
before
process
starts
|
|
Cardinality
|
0..1
|
|
Type
|
markdown
|
|
Summary
|
false
|
|
ExampleScenario.process.postConditions
|
|
Element
Id
|
ExampleScenario.process.postConditions
|
|
Definition
|
Description
of
the
final
status
state
of
the
actors,
environment
and
data
after
the
process
ends.
has
been
successfully
completed.
|
|
Short
Display
|
Status
after
successful
completion
|
|
Cardinality
|
0..1
|
|
Type
|
markdown
|
|
Summary
|
false
|
|
Comments
|
Alternate
steps
might
not
result
in
all
post
conditions
holding
|
|
ExampleScenario.process.step
|
|
Element
Id
|
ExampleScenario.process.step
|
|
Definition
|
Each
step
A
significant
action
that
occurs
as
part
of
the
process.
|
|
Short
Display
|
Event
within
of
the
process
|
|
Cardinality
|
0..*
|
|
Summary
|
false
|
|
Invariants
| |
Defined
on
this
element
| |
exs-13
|
Rule
|
Alternative
titles
must
be
unique
within
a
step
|
alternative.title.count()
=
alternative.title.distinct().count()
| |
exs-22
|
Rule
|
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())
| |
Affect
this
element
| |
exs-5
|
Rule
|
Processes
must
have
steps
if
ExampleScenario
status
is
active
or
required
|
%resource.status='active'
or
%resource.status='retired'
implies
step.exists()
|
|
ExampleScenario.process.step.process
ExampleScenario.process.step.number
|
|
Element
Id
|
ExampleScenario.process.step.process
ExampleScenario.process.step.number
|
|
Definition
|
Nested
process.
The
sequential
number
of
the
step,
e.g.
1.2.5.
|
|
Short
Display
|
Sequential
number
of
the
step
|
|
Cardinality
|
0..*
0..1
|
|
Type
|
See
ExampleScenario.process
string
|
|
Summary
|
false
|
|
Comments
|
If
step
numbers
are
simultaneous,
they
will
be
the
same.
Numbers
don't
have
to
be
numeric.
E.g.
'2c)'
is
a
valid
step
number
|
ExampleScenario.process.step.pause
ExampleScenario.process.step.process
|
|
Element
Id
|
ExampleScenario.process.step.pause
ExampleScenario.process.step.process
|
|
Definition
|
If
there
Indicates
that
the
step
is
a
pause
in
the
flow.
complex
sub-process
with
its
own
steps.
|
|
Short
Display
|
Step
is
nested
process
|
|
Cardinality
|
0..1
|
|
Type
|
boolean
See
ExampleScenario.process
|
|
Summary
|
false
|
ExampleScenario.process.step.operation
ExampleScenario.process.step.workflow
|
|
Element
Id
|
ExampleScenario.process.step.operation
ExampleScenario.process.step.workflow
|
|
Definition
|
Each
interaction
or
action.
Indicates
that
the
step
is
defined
by
a
seaparate
scenario
instance.
|
|
Short
Display
|
Step
is
nested
workflow
|
|
Cardinality
|
0..1
|
|
Type
|
canonical
(
ExampleScenario
)
|
|
Summary
|
false
|
|
Invariants
| |
Affect
this
element
| |
exs-22
|
Rule
|
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())
|
|
ExampleScenario.process.step.operation.number
ExampleScenario.process.step.operation
|
|
Element
Id
|
ExampleScenario.process.step.operation.number
ExampleScenario.process.step.operation
|
|
Definition
|
The
sequential
number
of
the
interaction,
e.g.
1.2.5.
step
represents
a
single
operation
invoked
on
receiver
by
sender.
|
|
Short
Display
|
Step
is
simple
action
|
|
Cardinality
|
1..1
0..1
|
Type
Summary
|
false
|
string
|
Invariants
| |
Defined
on
this
element
| |
exs-17
|
Rule
|
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
|
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()
| |
Affect
this
element
| |
exs-19
|
Warning
|
Actor
should
be
referenced
in
at
least
one
operation
|
%resource.process.descendants().select(operation).where(initiator=%context.key
or
receiver=%context.key).exists()
| |
exs-22
|
Rule
|
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())
|
|
|
ExampleScenario.process.step.operation.type
|
|
Element
Id
|
ExampleScenario.process.step.operation.type
|
|
Definition
|
The
standardized
type
of
operation
-
CRUD.
action
(FHIR
or
otherwise).
|
|
Short
Display
|
Kind
of
action
|
|
Cardinality
|
0..1
|
|
Terminology
Binding
|
Test
Script
Operation
Code
(
Extensible
)
|
|
Type
|
string
Coding
|
|
Summary
|
false
|
ExampleScenario.process.step.operation.name
ExampleScenario.process.step.operation.title
|
|
Element
Id
|
ExampleScenario.process.step.operation.name
ExampleScenario.process.step.operation.title
|
|
Definition
|
The
human-friendly
name
of
A
short
descriptive
label
the
interaction.
step
to
be
used
in
tables
or
diagrams.
|
|
Short
Display
|
Label
for
step
|
|
Cardinality
|
0..1
1..1
|
|
Type
|
string
|
|
Summary
|
false
|
|
ExampleScenario.process.step.operation.initiator
|
|
Element
Id
|
ExampleScenario.process.step.operation.initiator
|
|
Definition
|
The
system
that
invokes
the
action/transmits
the
data.
|
|
Short
Display
|
Who
starts
the
transaction.
operation
|
|
Cardinality
|
0..1
|
|
Type
|
string
|
|
Summary
|
false
|
|
Comments
|
This
must
either
be
the
'key'
of
one
of
the
actors
defined
in
this
scenario
or
the
special
keyword
'OTHER'
if
the
initiator
is
not
one
of
the
actors
defined
for
the
scenario.
(Multiple
references
to
'OTHER'
don't
necessarily
indicate
the
same
actor.)
|
|
Invariants
| |
Affect
this
element
| |
exs-17
|
Rule
|
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-19
|
Warning
|
Actor
should
be
referenced
in
at
least
one
operation
|
%resource.process.descendants().select(operation).where(initiator=%context.key
or
receiver=%context.key).exists()
|
|
|
ExampleScenario.process.step.operation.receiver
|
|
Element
Id
|
ExampleScenario.process.step.operation.receiver
|
|
Definition
|
The
system
on
which
the
action
is
invoked/receives
the
data.
|
|
Short
Display
|
Who
receives
the
transaction.
operation
|
|
Cardinality
|
0..1
|
|
Type
|
string
|
|
Summary
|
false
|
|
Comments
|
This
must
either
be
the
'key'
of
one
of
the
actors
defined
in
this
scenario
or
the
special
keyword
'OTHER'
if
the
receiver
is
not
one
of
the
actors
defined
for
the
scenario.
(Multiple
references
to
'OTHER'
don't
necessarily
indicate
the
same
actor.)
In
some
cases,
receiver
could
be
same
as
sender
if
representing
a
local
operation
|
|
Invariants
| |
Affect
this
element
| |
exs-18
|
Rule
|
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
|
Actor
should
be
referenced
in
at
least
one
operation
|
%resource.process.descendants().select(operation).where(initiator=%context.key
or
receiver=%context.key).exists()
|
|
|
ExampleScenario.process.step.operation.description
|
|
Element
Id
|
ExampleScenario.process.step.operation.description
|
|
Definition
|
A
comment
to
be
inserted
in
An
explanation
of
what
the
diagram.
operation
represents
and
what
it
does.
|
|
Short
Display
|
Human-friendly
description
of
the
operation
|
|
Cardinality
|
0..1
|
|
Type
|
markdown
|
|
Summary
|
false
|
|
Comments
|
This
should
contain
information
not
already
present
in
the
process
step.
It's
more
of
a
description
of
what
the
operation
in
general
does
-
if
not
already
evident
from
the
operation.type
|
|
ExampleScenario.process.step.operation.initiatorActive
|
|
Element
Id
|
ExampleScenario.process.step.operation.initiatorActive
|
|
Definition
|
Whether
If
false,
the
initiator
is
deactivated
right
after
the
transaction.
operation.
|
|
Short
Display
|
Initiator
stays
active?
|
|
Cardinality
|
0..1
|
|
Type
|
boolean
|
|
Requirements
|
The
notion
of
'activation'
in
a
flow
diagram
is
used
to
indicate
'who
has
responsibility/is
still
doing
work'.
|
|
Summary
|
false
|
|
Comments
|
De-activation
of
an
actor
means
they
have
no
further
role
until
such
time
as
they
are
the
recipient
of
an
operation.
|
|
ExampleScenario.process.step.operation.receiverActive
|
|
Element
Id
|
ExampleScenario.process.step.operation.receiverActive
|
|
Definition
|
Whether
If
false,
the
receiver
is
deactivated
right
after
the
transaction.
operation.
|
|
Short
Display
|
Receiver
stays
active?
|
|
Cardinality
|
0..1
|
|
Type
|
boolean
|
|
Requirements
|
The
notion
of
'activation'
in
a
flow
diagram
is
used
to
indicate
'who
has
responsibility/is
still
doing
work'.
|
|
Summary
|
false
|
|
Comments
|
De-activation
of
an
actor
means
they
have
no
further
role
until
such
time
as
they
are
the
recipient
of
an
operation.
|
|
ExampleScenario.process.step.operation.request
|
|
Element
Id
|
ExampleScenario.process.step.operation.request
|
|
Definition
|
Each
resource
A
reference
to
the
instance
used
by
that
is
transmitted
from
requester
to
receiver
as
part
of
the
initiator.
invocation
of
the
operation.
|
|
Short
Display
|
Instance
transmitted
on
invocation
|
|
Cardinality
|
0..1
|
|
Type
|
See
ExampleScenario.instance.containedInstance
|
|
Summary
|
false
|
|
ExampleScenario.process.step.operation.response
|
|
Element
Id
|
ExampleScenario.process.step.operation.response
|
|
Definition
|
Each
resource
A
reference
to
the
instance
used
by
that
is
transmitted
from
receiver
to
requester
as
part
of
the
responder.
operation's
synchronous
response
(if
any).
|
|
Short
Display
|
Instance
transmitted
on
invocation
response
|
|
Cardinality
|
0..1
|
|
Type
|
See
ExampleScenario.instance.containedInstance
|
|
Summary
|
false
|
|
ExampleScenario.process.step.alternative
|
|
Element
Id
|
ExampleScenario.process.step.alternative
|
|
Definition
|
Indicates
an
alternative
step
that
can
be
taken
instead
of
the
operations
on
the
base
step
in
exceptional/atypical
sub-process,
scenario
or
operation.
E.g.
to
represent
non-happy-path/exceptional/atypical
circumstances.
|
|
Short
Display
|
Alternate
non-typical
step
action
|
|
Cardinality
|
0..*
|
|
Summary
|
false
|
|
Invariants
| |
Affect
this
element
| |
exs-13
|
Rule
|
Alternative
titles
must
be
unique
within
a
step
|
alternative.title.count()
=
alternative.title.distinct().count()
|
|
|
ExampleScenario.process.step.alternative.title
|
|
Element
Id
|
ExampleScenario.process.step.alternative.title
|
|
Definition
|
The
label
to
display
for
the
alternative
that
gives
a
sense
of
the
circumstance
in
which
the
alternative
should
be
invoked.
|
|
Short
Display
|
Label
for
alternative
|
|
Cardinality
|
1..1
|
|
Type
|
string
|
|
Summary
|
false
|
|
Invariants
| |
Affect
this
element
| |
exs-13
|
Rule
|
Alternative
titles
must
be
unique
within
a
step
|
alternative.title.count()
=
alternative.title.distinct().count()
|
|
|
ExampleScenario.process.step.alternative.description
|
|
Element
Id
|
ExampleScenario.process.step.alternative.description
|
|
Definition
|
A
human-readable
description
of
the
alternative
explaining
when
the
alternative
should
occur
rather
than
the
base
step.
|
|
Short
Display
|
Human-readable
description
of
option
|
|
Cardinality
|
0..1
|
|
Type
|
markdown
|
|
Summary
|
false
|
|
ExampleScenario.process.step.alternative.step
|
|
Element
Id
|
ExampleScenario.process.step.alternative.step
|
|
Definition
|
What
Indicates
the
operation,
sub-process
or
scenario
that
happens
in
each
if
the
alternative
option.
option
is
selected.
|
|
Short
Display
|
Alternative
action(s)
|
|
Cardinality
|
0..*
|
|
Type
|
See
ExampleScenario.process.step
|
|
Summary
|
false
|
ExampleScenario.workflow
ExampleScenario.process.step.pause
|
|
Element
Id
|
ExampleScenario.workflow
ExampleScenario.process.step.pause
|
|
Definition
|
Another
nested
workflow.
If
true,
indicates
that,
following
this
step,
there
is
a
pause
in
the
flow
and
the
subsequent
step
will
occur
at
some
later
time
(triggered
by
some
event).
|
|
Short
Display
|
Pause
in
the
flow?
|
|
Cardinality
|
0..*
0..1
|
|
Type
|
canonical
boolean
(
ExampleScenario
|
Summary
)
|
false
|