This
page
is
part
of
the
FHIR
Specification
v6.0.0-ballot3:
Release
6
Ballot
(3rd
Draft)
(see
Ballot
Notes
).
The
current
version
is
5.0.0
.
For
a
full
list
Continuous
Integration
Build
of
available
versions,
see
FHIR
(will
be
incorrect/inconsistent
at
times).
See
the
Directory
of
published
versions
Responsible
Owner:
Clinical
Decision
Support
Work
Group
|
|
Security Category : Business | Compartments : No defined compartments |
This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications.
This resource is a definition resource from a FHIR workflow perspective - see Workflow , specifically Definition .
A plan definition is a pre-defined group of actions to be taken in particular circumstances, often including conditional elements, options, and other decision points. The resource is flexible enough to be used to represent a variety of workflows, as well as clinical decision support and quality improvement assets, including order sets, protocols, and decision support rules.
PlanDefinitions can contain hierarchical groups of action definitions, where each action definition describes an activity to be performed (often in terms of an ActivityDefinition resource), and each group defines additional behavior, relationships, and applicable conditions between the actions in the overall definition.
In
addition
to
describing
what
should
take
place,
each
action
in
a
plan
definition
can
specify
when
and
whether
the
action
should
take
place.
For
when
the
action
should
be
taken,
the
trigger
element
specifies
the
action
should
be
taken
in
response
to
some
trigger
occurring
(such
as
a
particular
point
in
a
workflow
being
reached,
or
as
the
result
of
a
prescription
being
ordered).
For
whether
the
action
should
be
taken,
the
condition
element
can
be
used
to
provide
an
expression
that
evaluates
to
true
or
false
to
indicate
the
applicability
of
the
action
to
the
specific
context.
The process of applying a PlanDefinition to a particular context typically produces request resources representing the actions that should be performed, grouped within a RequestOrchestration to capture relationships between the resulting request resources.
Each ActivityDefinition is used to construct a specific resource, based on the definition of the activity and combined with contextual information for the particular patient that the plan definition is being applied to.
As
with
the
ActivityDefinition,
a
PlanDefinition
may
provide
information
about
how
to
transform
the
activity
to
a
specific
intent
resource,
either
by
specifying
a
StructureMap
that
can
be
used
to
perform
the
transformation
completely,
or
by
specifying
values
for
specific
elements
of
the
resulting
resource
using
dynamicValue
elements
in
the
action.
Note that these mechanisms are provided on both the ActivityDefinition and the PlanDefinition to allow both reusable transformation descriptions, as well as customization of those descriptions within specific contexts. As such, the transform descriptions specified on the PlanDefinition override transform descriptions defined on the ActivityDefinition.
Dynamic values within the definitions can be provided by specifying the expression directly, or by referencing an expression defined within a library. For more information on how to reference expressions within resources, refer to the Using Expressions topic.
As an example, the Low Suicide Risk example order set from the Clinical Decision Support Knowledge Artifact Specification can be represented using the PlanDefinition and ActivityDefinition structures: Low Suicide Risk Example Order Set .
In
addition
to
the
representation
of
PlanDefinitions,
the
$apply
operation
allows
PlanDefinitions
to
be
applied
to
a
specific
context
such
as
a
patient,
practitioner,
or
institution.
For
Order
Sets
specifically,
this
operation
is
expected
to
place
the
orders
defined
by
the
order
set,
consistent
with
the
service
functional
requirements
defined
by
the
Order
Set
specification
.
Plan definitions also allow for the definition of goals. Actions in the plan definition can then reference these goals in order to indicate that the action should be taken in fulfillment of the goal. Note that the goal-relationship extension can be used to describe relationships between goal definitions, and the satisfies-requirement extension can be used to indicate that the goal satisfies a particular requirement.
The PlanDefinition resource is used to describe series, sequences, or groups of actions to be taken, while the ActivityDefinition resource is used to define each specific step or activity to be performed.
As the name implies, the PlanDefinition resource is strictly definitional. It does not represent the intention to take any action, nor does it represent that any actions have been taken. Rather, the resource provides a definition that can be applied in the appropriate circumstances. When the plan definition is applied, the result will in general be a set of actions that should be (or potentially even have been) performed.
Note that the PlanDefinition still has action-level information, as well as a reference to an ActivityDefinition . The action-level information defined in the PlanDefinition itself is used to describe how the actions are related to each other within the plan, where the ActivityDefinition contains only information about the activity itself. In addition, there is some overlapping information that allows the resources to be used independently, or in combination. See the Applying a PlanDefinition section for more information.
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
Filter:
|
|---|---|---|---|---|
|
TU | DomainResource |
The
definition
of
a
plan
for
a
series
of
actions,
independent
of
any
specific
patient
or
context
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation + Warning: goalid should reference the id of a goal definition + Warning: targetId should reference the id of an action Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension Interfaces Implemented: MetadataResource |
|
|
Σ C | 0..1 | uri |
Canonical
identifier
for
this
plan
definition,
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
plan
definition
|
|
Σ | 0..1 | string |
Business
version
of
the
plan
definition
|
|
Σ | 0..1 |
How
to
compare
versions
Binding: Version Algorithm ( Extensible ) |
|
|
string | |||
|
Coding | |||
|
Σ C | 0..1 | string |
Name
for
this
plan
definition
(computer
friendly)
|
|
Σ T | 0..1 | string |
Name
for
this
plan
definition
(human
friendly)
|
|
T | 0..1 | string |
Subordinate
title
of
the
plan
definition
|
|
Σ | 0..1 | CodeableConcept |
order-set
|
Binding:
(
Extensible
)
|
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
Binding: PublicationStatus ( Required ) |
|
Σ | 0..1 | boolean |
For
testing
only
-
never
for
real
usage
|
|
0..1 |
Type
of
individual
the
plan
definition
is
focused
on
Binding: Participant Resource Types ( Extensible ) |
||
|
CodeableConcept | |||
|
Reference ( Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition ) | |||
|
canonical ( EvidenceVariable ) | |||
|
Σ | 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
plan
definition
|
|
Σ | 0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
|
Σ
|
0..* | CodeableConcept |
Jurisdiction
of
the
authority
that
maintains
the
plan
definition
(if
applicable)
Binding: Jurisdiction ValueSet
(
Extensible
)
|
|
T | 0..1 | markdown |
Why
this
plan
definition
is
defined
|
|
T | 0..1 | markdown |
Describes
the
clinical
usage
of
the
plan
|
|
0..1 | markdown |
Notice
about
intellectual
property
ownership,
can
include
restrictions
on
use
|
|
|
T | 0..1 | string |
Copyright
holder
and
year(s)
|
|
0..1 | date |
When
the
plan
definition
was
approved
by
publisher
|
|
|
0..1 | date |
When
the
plan
definition
was
last
reviewed
by
the
publisher
|
|
|
Σ | 0..1 | Period |
When
the
plan
definition
is
expected
to
be
used
|
|
0..* | CodeableConcept |
E.g.
Education,
Treatment,
Assessment
Binding: Definition Topic ( Example ) |
|
|
0..* | ContactDetail |
Who
authored
the
content
|
|
|
0..* | ContactDetail |
Who
edited
the
content
|
|
|
0..* | ContactDetail |
Who
reviewed
the
content
|
|
|
0..* | ContactDetail |
Who
endorsed
the
content
|
|
|
C | 0..* | RelatedArtifact |
Additional
documentation,
citations
+ Warning: Dependencies of a PlanDefinition should reference a resource + Warning: PlanDefinition should not have components |
|
0..* | canonical ( Library ) |
Logic
used
by
the
plan
definition
|
|
|
C | 0..* | BackboneElement |
What
the
plan
is
trying
to
accomplish
|
|
0..1 | CodeableConcept |
E.g.
Treatment,
dietary,
behavioral
Binding: Goal Category ( Example ) |
|
|
1..1 | CodeableConcept |
Code
or
text
describing
the
goal
Binding: SNOMED CT Clinical Findings ( Example ) |
|
|
0..1 | CodeableConcept |
high-priority
|
medium-priority
|
low-priority
Binding: Goal Priority ( Preferred ) |
|
|
0..1 | CodeableConcept |
When
goal
pursuit
begins
Binding: Goal Start Event ( Example ) |
|
|
0..* | CodeableConcept |
What
does
the
goal
address
Binding: Condition/Problem/Diagnosis Codes ( Example ) |
|
|
0..* | RelatedArtifact |
Supporting
documentation
for
the
goal
|
|
|
0..* | BackboneElement |
Target
outcome
for
the
goal
|
|
|
0..1 | CodeableConcept |
The
parameter
whose
value
is
to
be
tracked
Binding: LOINC Codes ( Example ) |
|
|
0..1 |
The
target
value
to
be
achieved
|
||
|
Quantity | |||
|
Range | |||
|
CodeableConcept | |||
|
string | |||
|
boolean | |||
|
integer | |||
|
Ratio | |||
|
0..1 | Duration |
Reach
goal
within
|
|
|
0..* | BackboneElement |
Actors
within
the
plan
|
|
|
T | 0..1 | string |
User-visible
title
|
|
T | 0..1 | markdown |
Describes
the
actor
|
|
1..* | BackboneElement |
Who
or
what
can
be
this
actor
|
|
|
0..1 | code |
careteam
|
device
|
group
|
healthcareservice
|
location
|
organization
|
patient
|
practitioner
|
practitionerrole
|
relatedperson
Binding: Action Participant Type ( Required ) |
|
|
0..1 | canonical ( ActorDefinition | CapabilityStatement | DeviceDefinition | Group | SpecimenDefinition | StructureDefinition ) |
Who
or
what
can
participate
|
|
|
0..1 |
Reference
(
BiologicallyDerivedProduct
|
CareTeam
|
Device
|
|
Who
or
what
can
participate
|
|
|
0..1 | CodeableConcept |
E.g.
Nurse,
Surgeon,
Parent
Binding: Action Participant Role
(
Example
)
|
|
|
C | 0..* | BackboneElement |
Action
defined
by
the
plan
This repeating element order: The order of actions is the sequence in which the actions are to be evaluated and performed. This is true of both the actions in the root as well as child actions of each action. |
|
0..1 | string |
Unique
id
for
the
action
in
the
PlanDefinition
|
|
|
0..1 | string |
User-visible
prefix
for
the
action
(e.g.
1.
or
A.)
|
|
|
T | 0..1 | string |
User-visible
title
|
|
T | 0..1 | markdown |
Brief
description
of
the
action
|
|
T | 0..1 | markdown |
Static
text
equivalent
of
the
action,
used
if
the
dynamic
aspects
cannot
be
interpreted
by
the
receiving
system
|
|
0..1 | code |
routine
|
urgent
|
asap
|
stat
Binding: RequestPriority ( Required ) |
|
|
0..1 | CodeableConcept |
Code
representing
the
meaning
of
the
action
or
sub-actions
Binding: Action Code ( Example ) |
|
|
0..* | CodeableConcept |
Why
the
action
should
be
performed
Binding: Action Reason Code ( Example ) |
|
|
0..* | RelatedArtifact |
Supporting
documentation
for
the
intended
performer
of
the
action
|
|
|
C | 0..* | string |
What
goals
this
action
supports
|
|
0..1 |
Type
of
individual
the
action
is
focused
on
Binding: Participant Resource Types ( Extensible ) |
||
|
CodeableConcept | |||
|
Reference ( Group ) | |||
|
canonical () | |||
|
0..* | TriggerDefinition |
When
the
action
should
be
triggered
|
|
|
0..* | BackboneElement |
Whether
or
not
the
action
is
applicable
|
|
|
1..1 | code |
applicability
|
start
|
stop
Binding: Action Condition Kind ( Required ) |
|
|
0..1 | Expression |
Boolean-valued
expression
|
|
|
C | 0..* | BackboneElement |
Input
data
requirements
+ Rule: Input data elements must have a requirement or a relatedData, but not both |
|
T | 0..1 | string |
User-visible
title
|
|
C | 0..1 | DataRequirement |
What
data
is
provided
|
|
C | 0..1 | string |
What
data
is
provided
|
|
C | 0..* | BackboneElement |
Output
data
definition
+ Rule: Output data element must have a requirement or a relatedData, but not both |
|
T | 0..1 | string |
User-visible
title
|
|
C | 0..1 | DataRequirement |
What
data
is
provided
|
|
C | 0..1 | string |
What
data
is
provided
|
|
C | 0..* | BackboneElement |
Relationship
to
another
action
|
|
C | 1..1 | string |
What
action
is
this
related
to
|
|
1..1 | code |
before
|
before-start
|
before-end
|
concurrent
|
concurrent-with-start
|
concurrent-with-end
|
after
|
after-start
|
after-end
Binding: Action Relationship Type ( Required ) |
|
|
0..1 | code |
before
|
before-start
|
before-end
|
concurrent
|
concurrent-with-start
|
concurrent-with-end
|
after
|
after-start
|
after-end
Binding: Action Relationship Type ( Required ) |
|
|
0..1 |
Time
offset
for
the
relationship
|
||
|
Duration | |||
|
Range | |||
|
0..1 |
When
the
action
should
take
place
|
||
|
Age | |||
|
Duration | |||
|
Range | |||
|
Timing | |||
| RelativeTime | |||
|
0..1 | CodeableReference ( Location ) |
Where
it
should
happen
|
|
|
0..* | BackboneElement |
Who
should
participate
in
the
action
|
|
|
0..1 | string |
What
actor
|
|
|
0..1 | code |
careteam
|
device
|
group
|
healthcareservice
|
location
|
organization
|
patient
|
practitioner
|
practitionerrole
|
relatedperson
Binding: Action Participant Type ( Required ) |
|
|
0..1 | canonical ( ActorDefinition | CapabilityStatement | DeviceDefinition | Group | SpecimenDefinition | StructureDefinition ) |
Who
or
what
can
participate
|
|
|
0..1 |
Reference
(
BiologicallyDerivedProduct
|
CareTeam
|
Device
|
|
Who
or
what
can
participate
|
|
|
0..1 | CodeableConcept |
E.g.
Nurse,
Surgeon,
Parent
Binding: Action Participant Role
(
Example
)
|
|
|
0..1 | CodeableConcept |
E.g.
Author,
Reviewer,
Witness,
etc
Binding: Action Participant Function ( Example ) |
|
|
0..1 | CodeableConcept |
create
|
update
|
remove
|
fire-event
|
etc.
Binding:
(
Extensible
)
|
|
| 0..1 | code |
all
|
any
Binding: Action Applicability Behavior ( Required ) | |
|
0..1 | code |
visual-group
|
logical-group
|
sentence-group
Binding: Action Grouping Behavior ( Required ) |
|
|
0..1 | code |
any
|
all
|
all-or-none
|
exactly-one
|
at-most-one
|
one-or-more
Binding: Action Selection Behavior ( Required ) |
|
|
0..1 | code |
must
|
could
|
must-unless-documented
Binding: Action Required Behavior ( Required ) |
|
|
0..1 | code |
yes
|
no
Binding: Action Precheck Behavior ( Required ) |
|
|
0..1 | code |
single
|
multiple
Binding: Action Cardinality Behavior ( Required ) |
|
|
0..1 |
Description
of
the
activity
to
be
performed
|
||
|
canonical ( ActivityDefinition | Measure | MessageDefinition | ObservationDefinition | OperationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition ) | |||
|
uri | |||
|
0..1 | canonical ( StructureMap ) |
Transform
to
apply
the
template
|
|
|
0..* | BackboneElement |
Dynamic
aspects
of
the
definition
|
|
|
0..1 | string |
The
path
to
the
element
to
be
set
dynamically
|
|
|
0..1 | Expression |
An
expression
that
provides
the
dynamic
value
for
the
customization
|
|
|
0..* | see action |
A
sub-action
|
|
|
Σ | 0..1 |
Preconditions
for
service
Binding: SNOMED CT Medication As Needed Reason Codes ( Example ) |
|
|
boolean | |||
|
CodeableConcept | |||
Documentation
for
this
format
|
||||
See the Extensions for this resource
UML Diagram ( Legend )
XML Template
<PlanDefinition 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 plan definition, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the plan definition --></identifier> <version value="[string]"/><!-- 0..1 Business version of the plan definition --> <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]> <name value="[string]"/><!-- I 0..1 Name for this plan definition (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this plan definition (human friendly) --> <subtitle value="[string]"/><!-- 0..1 Subordinate title of the plan definition -->
<</type><type><!-- 0..1 CodeableConcept order-set | protocol | eca-rule | workflow-definition | etc.--></type> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing only - never for real usage --> <subject[x]><!-- 0..1 CodeableConcept|Reference(AdministrableProductDefinition| Group|ManufacturedItemDefinition|MedicinalProductDefinition| PackagedProductDefinition|SubstanceDefinition)|canonical(EvidenceVariable) Type of individual the plan definition is focused on --></subject[x]> <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 plan definition --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
<</jurisdiction><jurisdiction><!-- 0..* CodeableConcept Jurisdiction of the authority that maintains the plan definition (if applicable)--></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this plan definition is defined --> <usage value="[markdown]"/><!-- 0..1 Describes the clinical usage of the plan -->
< <<copyright value="[markdown]"/><!-- 0..1 Notice about intellectual property ownership, can include restrictions on use --> <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) --> <approvalDate value="[date]"/><!-- 0..1 When the plan definition was approved by publisher --> <lastReviewDate value="[date]"/><!-- 0..1 When the plan definition was last reviewed by the publisher --> <effectivePeriod><!-- 0..1 Period When the plan definition is expected to be used --></effectivePeriod> <topic><!-- 0..* CodeableConcept E.g. Education, Treatment, Assessment --></topic> <author><!-- 0..* ContactDetail Who authored the content --></author> <editor><!-- 0..* ContactDetail Who edited the content --></editor> <reviewer><!-- 0..* ContactDetail Who reviewed the content --></reviewer> <endorser><!-- 0..* ContactDetail Who endorsed the content --></endorser> <relatedArtifact><!-- 0..* RelatedArtifact Additional documentation, citations --></relatedArtifact> <library><!-- 0..* canonical(Library) Logic used by the plan definition --></library> <goal> <!-- I 0..* What the plan is trying to accomplish --> <category><!-- 0..1 CodeableConcept E.g. Treatment, dietary, behavioral --></category> <description><!-- 1..1 CodeableConcept Code or text describing the goal --></description> <priority><!-- 0..1 CodeableConcept high-priority | medium-priority | low-priority --></priority> <start><!-- 0..1 CodeableConcept When goal pursuit begins --></start> <addresses><!-- 0..* CodeableConcept What does the goal address --></addresses> <documentation><!-- 0..* RelatedArtifact Supporting documentation for the goal --></documentation> <target> <!-- 0..* Target outcome for the goal --> <measure><!-- 0..1 CodeableConcept The parameter whose value is to be tracked --></measure> <detail[x]><!-- 0..1 Quantity|Range|CodeableConcept|string|boolean|integer| Ratio The target value to be achieved --></detail[x]> <due><!-- 0..1 Duration Reach goal within --></due> </target> </goal> <actor> <!-- 0..* Actors within the plan --> <title value="[string]"/><!-- 0..1 User-visible title --> <description value="[markdown]"/><!-- 0..1 Describes the actor --> <option> <!-- 1..* Who or what can be this actor --> <type value="[code]"/><!-- 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson --><</typeCanonical><typeCanonical><!-- 0..1 canonical(ActorDefinition|CapabilityStatement| DeviceDefinition|Group|SpecimenDefinition|StructureDefinition) Who or what can participate --></typeCanonical> <typeReference><!-- 0..1 Reference(BiologicallyDerivedProduct|CareTeam|Device||Endpoint|HealthcareService|Location|Medication|MedicinalProductDefinition| Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Specimen|</typeReference> <</role>Substance|SubstanceDefinition) Who or what can participate --></typeReference> <role><!-- 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent--></role> </option> </actor>
<<action> <!-- I 0..* Action defined by the plan --> <linkId value="[string]"/><!-- 0..1 Unique id for the action in the PlanDefinition --> <prefix value="[string]"/><!-- 0..1 User-visible prefix for the action (e.g. 1. or A.) --> <title value="[string]"/><!-- 0..1 User-visible title --> <description value="[markdown]"/><!-- 0..1 Brief description of the action --> <textEquivalent value="[markdown]"/><!-- 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system --> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <code><!-- 0..1 CodeableConcept Code representing the meaning of the action or sub-actions --></code> <reason><!-- 0..* CodeableConcept Why the action should be performed --></reason> <documentation><!-- 0..* RelatedArtifact Supporting documentation for the intended performer of the action --></documentation> <goalId value="[string]"/><!-- I 0..* What goals this action supports --> <subject[x]><!-- 0..1 CodeableConcept|Reference(Group)|canonical Type of individual the action is focused on --></subject[x]> <trigger><!-- 0..* TriggerDefinition When the action should be triggered --></trigger> <condition> <!-- 0..* Whether or not the action is applicable --> <kind value="[code]"/><!-- 1..1 applicability | start | stop --> <expression><!-- 0..1 Expression Boolean-valued expression --></expression> </condition> <input> <!-- 0..* Input data requirements --> <title value="[string]"/><!-- 0..1 User-visible title --> <requirement><!-- I 0..1 DataRequirement What data is provided --></requirement> <relatedData value="[string]"/><!-- I 0..1 What data is provided --> </input> <output> <!-- 0..* Output data definition --> <title value="[string]"/><!-- 0..1 User-visible title --> <requirement><!-- I 0..1 DataRequirement What data is provided --></requirement> <relatedData value="[string]"/><!-- I 0..1 What data is provided --> </output> <relatedAction> <!-- I 0..* Relationship to another action --> <targetId value="[string]"/><!-- I 1..1 What action is this related to --> <relationship value="[code]"/><!-- 1..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end --> <endRelationship value="[code]"/><!-- 0..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end --> <offset[x]><!-- 0..1 Duration|Range Time offset for the relationship --></offset[x]> </relatedAction><</timing[x]><timing[x]><!-- 0..1 Age|Duration|Range|Timing|RelativeTime When the action should take place --></timing[x]> <location><!-- 0..1 CodeableReference(Location) Where it should happen --></location> <participant> <!-- 0..* Who should participate in the action --> <actorId value="[string]"/><!-- 0..1 What actor --> <type value="[code]"/><!-- 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson --><</typeCanonical><typeCanonical><!-- 0..1 canonical(ActorDefinition|CapabilityStatement| DeviceDefinition|Group|SpecimenDefinition|StructureDefinition) Who or what can participate --></typeCanonical> <typeReference><!-- 0..1 Reference(BiologicallyDerivedProduct|CareTeam|Device||Endpoint|HealthcareService|Location|Medication|MedicinalProductDefinition| Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Specimen|</typeReference> <</role>Substance|SubstanceDefinition) Who or what can participate --></typeReference> <role><!-- 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent--></role> <function><!-- 0..1 CodeableConcept E.g. Author, Reviewer, Witness, etc --></function> </participant>
<</type><type><!-- 0..1 CodeableConcept create | update | remove | fire-event | etc.--></type> <applicabilityBehavior value="[code]"/><!-- 0..1 all | any --> <groupingBehavior value="[code]"/><!-- 0..1 visual-group | logical-group | sentence-group --> <selectionBehavior value="[code]"/><!-- 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more --> <requiredBehavior value="[code]"/><!-- 0..1 must | could | must-unless-documented --> <precheckBehavior value="[code]"/><!-- 0..1 yes | no --> <cardinalityBehavior value="[code]"/><!-- 0..1 single | multiple -->
<| </definition[x]><definition[x]><!-- 0..1 canonical(ActivityDefinition|Measure|MessageDefinition| ObservationDefinition|OperationDefinition|PlanDefinition|Questionnaire| SpecimenDefinition)|uri Description of the activity to be performed --></definition[x]> <transform><!-- 0..1 canonical(StructureMap) Transform to apply the template --></transform> <dynamicValue> <!-- 0..* Dynamic aspects of the definition --> <path value="[string]"/><!-- 0..1 The path to the element to be set dynamically --> <expression><!-- 0..1 Expression An expression that provides the dynamic value for the customization --></expression> </dynamicValue> <action><!-- 0..* Content as for PlanDefinition.action A sub-action --></action> </action> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Preconditions for service --></asNeeded[x]> </PlanDefinition>
JSON Template
{
"resourceType" : "PlanDefinition",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"url" : "<uri>", // Canonical identifier for this plan definition, represented as a URI (globally unique)
"identifier" : [{ Identifier }], // Additional identifier for the plan definition
"version" : "<string>", // Business version of the plan definition
// versionAlgorithm[x]: How to compare versions. One of these 2:
"versionAlgorithmString" : "<string>",
"versionAlgorithmCoding" : { Coding },
"name" : "<string>", // I Name for this plan definition (computer friendly)
"title" : "<string>", // Name for this plan definition (human friendly)
"subtitle" : "<string>", // Subordinate title of the plan definition
"
"type" : { CodeableConcept }, // order-set | protocol | eca-rule | workflow-definition | etc.
"status" : "<code>", // R! draft | active | retired | unknown
"experimental" : <boolean>, // For testing only - never for real usage
// subject[x]: Type of individual the plan definition is focused on. One of these 3:
"subjectCodeableConcept" : { CodeableConcept },
"subjectReference" : { Reference(AdministrableProductDefinition|Group|
ManufacturedItemDefinition|MedicinalProductDefinition|
PackagedProductDefinition|SubstanceDefinition) },
"subjectCanonical" : "<canonical(EvidenceVariable)>",
"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 plan definition
"useContext" : [{ UsageContext }], // The context that the content is intended to support
"
"jurisdiction" : [{ CodeableConcept }], // Jurisdiction of the authority that maintains the plan definition (if applicable)
"purpose" : "<markdown>", // Why this plan definition is defined
"usage" : "<markdown>", // Describes the clinical usage of the plan
"
"
"copyright" : "<markdown>", // Notice about intellectual property ownership, can include restrictions on use
"copyrightLabel" : "<string>", // Copyright holder and year(s)
"approvalDate" : "<date>", // When the plan definition was approved by publisher
"lastReviewDate" : "<date>", // When the plan definition was last reviewed by the publisher
"effectivePeriod" : { Period }, // When the plan definition is expected to be used
"topic" : [{ CodeableConcept }], // E.g. Education, Treatment, Assessment
"author" : [{ ContactDetail }], // Who authored the content
"editor" : [{ ContactDetail }], // Who edited the content
"reviewer" : [{ ContactDetail }], // Who reviewed the content
"endorser" : [{ ContactDetail }], // Who endorsed the content
"relatedArtifact" : [{ RelatedArtifact }], // Additional documentation, citations
"library" : ["<canonical(Library)>"], // Logic used by the plan definition
"goal" : [{ // I What the plan is trying to accomplish
"category" : { CodeableConcept }, // E.g. Treatment, dietary, behavioral
"description" : { CodeableConcept }, // R! Code or text describing the goal
"priority" : { CodeableConcept }, // high-priority | medium-priority | low-priority
"start" : { CodeableConcept }, // When goal pursuit begins
"addresses" : [{ CodeableConcept }], // What does the goal address
"documentation" : [{ RelatedArtifact }], // Supporting documentation for the goal
"target" : [{ // Target outcome for the goal
"measure" : { CodeableConcept }, // The parameter whose value is to be tracked
// detail[x]: The target value to be achieved. One of these 7:
"detailQuantity" : { Quantity },
"detailRange" : { Range },
"detailCodeableConcept" : { CodeableConcept },
"detailString" : "<string>",
"detailBoolean" : <boolean>,
"detailInteger" : <integer>,
"detailRatio" : { Ratio },
"due" : { Duration } // Reach goal within
}]
}],
"actor" : [{ // Actors within the plan
"title" : "<string>", // User-visible title
"description" : "<markdown>", // Describes the actor
"option" : [{ // R! Who or what can be this actor
"type" : "<code>", // careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
"
"typeCanonical" : "<canonical(ActorDefinition|CapabilityStatement|DeviceDefinition|Group|SpecimenDefinition|StructureDefinition)>", // Who or what can participate
"typeReference" : { Reference(BiologicallyDerivedProduct|CareTeam|Device|
|
Endpoint|HealthcareService|Location|Medication|MedicinalProductDefinition|
Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Specimen|
"
Substance|SubstanceDefinition) }, // Who or what can participate
"role" : { CodeableConcept } // E.g. Nurse, Surgeon, Parent
}]
}],
"
"action" : [{ // I Action defined by the plan
"linkId" : "<string>", // Unique id for the action in the PlanDefinition
"prefix" : "<string>", // User-visible prefix for the action (e.g. 1. or A.)
"title" : "<string>", // User-visible title
"description" : "<markdown>", // Brief description of the action
"textEquivalent" : "<markdown>", // Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
"priority" : "<code>", // routine | urgent | asap | stat
"code" : { CodeableConcept }, // Code representing the meaning of the action or sub-actions
"reason" : [{ CodeableConcept }], // Why the action should be performed
"documentation" : [{ RelatedArtifact }], // Supporting documentation for the intended performer of the action
"goalId" : ["<string>"], // I What goals this action supports
// subject[x]: Type of individual the action is focused on. One of these 3:
"subjectCodeableConcept" : { CodeableConcept },
"subjectReference" : { Reference(Group) },
"subjectCanonical" : "<canonical>",
"trigger" : [{ TriggerDefinition }], // When the action should be triggered
"condition" : [{ // Whether or not the action is applicable
"kind" : "<code>", // R! applicability | start | stop
"expression" : { Expression } // Boolean-valued expression
}],
"input" : [{ // Input data requirements
"title" : "<string>", // User-visible title
"requirement" : { DataRequirement }, // I What data is provided
"relatedData" : "<string>" // I What data is provided
}],
"output" : [{ // Output data definition
"title" : "<string>", // User-visible title
"requirement" : { DataRequirement }, // I What data is provided
"relatedData" : "<string>" // I What data is provided
}],
"relatedAction" : [{ // I Relationship to another action
"targetId" : "<string>", // I R! What action is this related to
"relationship" : "<code>", // R! before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
"endRelationship" : "<code>", // before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
// offset[x]: Time offset for the relationship. One of these 2:
"offsetDuration" : { Duration },
"offsetRange" : { Range }
}],
// timing[x]: When the action should take place. One of these 5:
"timingAge" : { Age },
"timingDuration" : { Duration },
"timingRange" : { Range },
"timingTiming" : { Timing },
"timingRelativeTime" : { RelativeTime },
"location" : { CodeableReference(Location) }, // Where it should happen
"participant" : [{ // Who should participate in the action
"actorId" : "<string>", // What actor
"type" : "<code>", // careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
"
"typeCanonical" : "<canonical(ActorDefinition|CapabilityStatement|DeviceDefinition|Group|SpecimenDefinition|StructureDefinition)>", // Who or what can participate
"typeReference" : { Reference(BiologicallyDerivedProduct|CareTeam|Device|
|
Endpoint|HealthcareService|Location|Medication|MedicinalProductDefinition|
Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Specimen|
"
Substance|SubstanceDefinition) }, // Who or what can participate
"role" : { CodeableConcept }, // E.g. Nurse, Surgeon, Parent
"function" : { CodeableConcept } // E.g. Author, Reviewer, Witness, etc
}],
"
"type" : { CodeableConcept }, // create | update | remove | fire-event | etc.
"applicabilityBehavior" : "<code>", // all | any
"groupingBehavior" : "<code>", // visual-group | logical-group | sentence-group
"selectionBehavior" : "<code>", // any | all | all-or-none | exactly-one | at-most-one | one-or-more
"requiredBehavior" : "<code>", // must | could | must-unless-documented
"precheckBehavior" : "<code>", // yes | no
"cardinalityBehavior" : "<code>", // single | multiple
// definition[x]: Description of the activity to be performed. One of these 2:
")>",
">",
"definitionCanonical" : "<canonical(ActivityDefinition|Measure|MessageDefinition|ObservationDefinition|OperationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition)>",
"definitionUri" : "<uri>",
"transform" : "<canonical(StructureMap)>", // Transform to apply the template
"dynamicValue" : [{ // Dynamic aspects of the definition
"path" : "<string>", // The path to the element to be set dynamically
"expression" : { Expression } // An expression that provides the dynamic value for the customization
}],
"action" : [{ Content as for PlanDefinition.action }] // A sub-action
}],
// asNeeded[x]: Preconditions for service. One of these 2:
"asNeededBoolean" : <boolean>,
"asNeededCodeableConcept" : { CodeableConcept }
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:PlanDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root
# from # from# from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension fhir:url [ uri ] ; # 0..1 Canonical identifier for this plan definition, represented as a URI (globally unique) fhir:identifier ( [ Identifier ] ... ) ; # 0..* Additional identifier for the plan definition fhir:version [ string ] ; # 0..1 Business version of the plan definition # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2fhir: ]fhir:versionAlgorithm [ a fhir:String ; string ] fhir:versionAlgorithm [ a fhir:Coding ; Coding ] fhir:name [ string ] ; # 0..1 I Name for this plan definition (computer friendly) fhir:title [ string ] ; # 0..1 Name for this plan definition (human friendly) fhir:subtitle [ string ] ; # 0..1 Subordinate title of the plan definitionfhir:fhir:type [ CodeableConcept ] ; # 0..1 order-set | protocol | eca-rule | workflow-definition | etc. fhir:status [ code ] ; # 1..1 draft | active | retired | unknown fhir:experimental [ boolean ] ; # 0..1 For testing only - never for real usage # subject[x] : 0..1 Type of individual the plan definition is focused on. One of these 3 fhir:subject [ a fhir:CodeableConcept ; CodeableConcept ] fhir:subject [ a fhir:Reference ; Reference(AdministrableProductDefinition|Group|ManufacturedItemDefinition| MedicinalProductDefinition|PackagedProductDefinition|SubstanceDefinition) ]fhir:) ]fhir:subject [ a fhir:Canonical ; canonical(EvidenceVariable) ] 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 plan definition fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to supportfhir:fhir:jurisdiction ( [ CodeableConcept ] ... ) ; # 0..* Jurisdiction of the authority that maintains the plan definition (if applicable) fhir:purpose [ markdown ] ; # 0..1 Why this plan definition is defined fhir:usage [ markdown ] ; # 0..1 Describes the clinical usage of the planfhir: fhir:fhir:copyright [ markdown ] ; # 0..1 Notice about intellectual property ownership, can include restrictions on use fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s) fhir:approvalDate [ date ] ; # 0..1 When the plan definition was approved by publisher fhir:lastReviewDate [ date ] ; # 0..1 When the plan definition was last reviewed by the publisher fhir:effectivePeriod [ Period ] ; # 0..1 When the plan definition is expected to be used fhir:topic ( [ CodeableConcept ] ... ) ; # 0..* E.g. Education, Treatment, Assessment fhir:author ( [ ContactDetail ] ... ) ; # 0..* Who authored the content fhir:editor ( [ ContactDetail ] ... ) ; # 0..* Who edited the content fhir:reviewer ( [ ContactDetail ] ... ) ; # 0..* Who reviewed the content fhir:endorser ( [ ContactDetail ] ... ) ; # 0..* Who endorsed the content fhir:relatedArtifact ( [ RelatedArtifact ] ... ) ; # 0..* Additional documentation, citations fhir:library ( [ canonical(Library) ] ... ) ; # 0..* Logic used by the plan definition fhir:goal ( [ # 0..* I What the plan is trying to accomplish fhir:category [ CodeableConcept ] ; # 0..1 E.g. Treatment, dietary, behavioral fhir:description [ CodeableConcept ] ; # 1..1 Code or text describing the goal fhir:priority [ CodeableConcept ] ; # 0..1 high-priority | medium-priority | low-priority fhir:start [ CodeableConcept ] ; # 0..1 When goal pursuit begins fhir:addresses ( [ CodeableConcept ] ... ) ; # 0..* What does the goal address fhir:documentation ( [ RelatedArtifact ] ... ) ; # 0..* Supporting documentation for the goal fhir:target ( [ # 0..* Target outcome for the goal fhir:measure [ CodeableConcept ] ; # 0..1 The parameter whose value is to be tracked # detail[x] : 0..1 The target value to be achieved. One of these 7 fhir:detail [ a fhir:Quantity ; Quantity ] fhir:detail [ a fhir:Range ; Range ] fhir:detail [ a fhir:CodeableConcept ; CodeableConcept ]fhir: ] fhir: ] fhir: ]fhir:detail [ a fhir:String ; string ] fhir:detail [ a fhir:Boolean ; boolean ] fhir:detail [ a fhir:Integer ; integer ] fhir:detail [ a fhir:Ratio ; Ratio ] fhir:due [ Duration ] ; # 0..1 Reach goal within ] ... ) ; ] ... ) ; fhir:actor ( [ # 0..* Actors within the plan fhir:title [ string ] ; # 0..1 User-visible title fhir:description [ markdown ] ; # 0..1 Describes the actor fhir:option ( [ # 1..* Who or what can be this actor fhir:type [ code ] ; # 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedpersonfhir: fhir:| |fhir:typeCanonical [ canonical(ActorDefinition|CapabilityStatement|DeviceDefinition|Group|SpecimenDefinition| StructureDefinition) ] ; # 0..1 Who or what can participate fhir:typeReference [ Reference(BiologicallyDerivedProduct|CareTeam|Device|Endpoint|HealthcareService|Location| Medication|MedicinalProductDefinition|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|Specimen|Substance|SubstanceDefinition) ] ; # 0..1 Who or what can participate fhir:role [ CodeableConcept ] ; # 0..1 E.g. Nurse, Surgeon, Parent ] ... ) ; ] ... ) ;fhir:fhir:action ( [ # 0..* I Action defined by the plan fhir:linkId [ string ] ; # 0..1 Unique id for the action in the PlanDefinition fhir:prefix [ string ] ; # 0..1 User-visible prefix for the action (e.g. 1. or A.) fhir:title [ string ] ; # 0..1 User-visible title fhir:description [ markdown ] ; # 0..1 Brief description of the action fhir:textEquivalent [ markdown ] ; # 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system fhir:priority [ code ] ; # 0..1 routine | urgent | asap | stat fhir:code [ CodeableConcept ] ; # 0..1 Code representing the meaning of the action or sub-actions fhir:reason ( [ CodeableConcept ] ... ) ; # 0..* Why the action should be performed fhir:documentation ( [ RelatedArtifact ] ... ) ; # 0..* Supporting documentation for the intended performer of the action fhir:goalId ( [ string ] ... ) ; # 0..* I What goals this action supports # subject[x] : 0..1 Type of individual the action is focused on. One of these 3 fhir:subject [ a fhir:CodeableConcept ; CodeableConcept ] fhir:subject [ a fhir:Reference ; Reference(Group) ]fhir: ]fhir:subject [ a fhir:Canonical ; canonical ] fhir:trigger ( [ TriggerDefinition ] ... ) ; # 0..* When the action should be triggered fhir:condition ( [ # 0..* Whether or not the action is applicable fhir:kind [ code ] ; # 1..1 applicability | start | stop fhir:expression [ Expression ] ; # 0..1 Boolean-valued expression ] ... ) ; fhir:input ( [ # 0..* Input data requirements fhir:title [ string ] ; # 0..1 User-visible title fhir:requirement [ DataRequirement ] ; # 0..1 I What data is provided fhir:relatedData [ string ] ; # 0..1 I What data is provided ] ... ) ; fhir:output ( [ # 0..* Output data definition fhir:title [ string ] ; # 0..1 User-visible title fhir:requirement [ DataRequirement ] ; # 0..1 I What data is provided fhir:relatedData [ string ] ; # 0..1 I What data is provided ] ... ) ; fhir:relatedAction ( [ # 0..* I Relationship to another action fhir:targetId [ string ] ; # 1..1 I What action is this related to fhir:relationship [ code ] ; # 1..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end fhir:endRelationship [ code ] ; # 0..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end # offset[x] : 0..1 Time offset for the relationship. One of these 2 fhir:offset [ a fhir:Duration ; Duration ] fhir:offset [ a fhir:Range ; Range ] ] ... ) ;# . One of these 4# timing[x] : 0..1 When the action should take place. One of these 5 fhir:timing [ a fhir:Age ; Age ] fhir:timing [ a fhir:Duration ; Duration ] fhir:timing [ a fhir:Range ; Range ] fhir:timing [ a fhir:Timing ; Timing ] fhir:timing [ a fhir:RelativeTime ; RelativeTime ] fhir:location [ CodeableReference(Location) ] ; # 0..1 Where it should happen fhir:participant ( [ # 0..* Who should participate in the action fhir:actorId [ string ] ; # 0..1 What actor fhir:type [ code ] ; # 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedpersonfhir: fhir:| |fhir:typeCanonical [ canonical(ActorDefinition|CapabilityStatement|DeviceDefinition|Group|SpecimenDefinition| StructureDefinition) ] ; # 0..1 Who or what can participate fhir:typeReference [ Reference(BiologicallyDerivedProduct|CareTeam|Device|Endpoint|HealthcareService|Location| Medication|MedicinalProductDefinition|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|Specimen|Substance|SubstanceDefinition) ] ; # 0..1 Who or what can participate fhir:role [ CodeableConcept ] ; # 0..1 E.g. Nurse, Surgeon, Parent fhir:function [ CodeableConcept ] ; # 0..1 E.g. Author, Reviewer, Witness, etc ] ... ) ;fhir:fhir:type [ CodeableConcept ] ; # 0..1 create | update | remove | fire-event | etc. fhir:applicabilityBehavior [ code ] ; # 0..1 all | any fhir:groupingBehavior [ code ] ; # 0..1 visual-group | logical-group | sentence-group fhir:selectionBehavior [ code ] ; # 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more fhir:requiredBehavior [ code ] ; # 0..1 must | could | must-unless-documented fhir:precheckBehavior [ code ] ; # 0..1 yes | no fhir:cardinalityBehavior [ code ] ; # 0..1 single | multiple# . One of these 2 fhir:| ) ] fhir: ]# definition[x] : 0..1 Description of the activity to be performed. One of these 2 fhir:definition [ a fhir:Canonical ; canonical(ActivityDefinition|Measure|MessageDefinition|ObservationDefinition| OperationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition) ] fhir:definition [ a fhir:Uri ; uri ] fhir:transform [ canonical(StructureMap) ] ; # 0..1 Transform to apply the template fhir:dynamicValue ( [ # 0..* Dynamic aspects of the definition fhir:path [ string ] ; # 0..1 The path to the element to be set dynamically fhir:expression [ Expression ] ; # 0..1 An expression that provides the dynamic value for the customization ] ... ) ; fhir:action ( [ See PlanDefinition.action ] ... ) ; # 0..* A sub-action ] ... ) ; # asNeeded[x] : 0..1 Preconditions for service. One of these 2fhir: ]fhir:asNeeded [ a fhir:Boolean ; boolean ] fhir:asNeeded [ a fhir:CodeableConcept ; CodeableConcept ] ]
Changes from both R4 and R4B
| PlanDefinition | |
| PlanDefinition.versionAlgorithm[x] |
|
| PlanDefinition.type |
|
| PlanDefinition.subject[x] |
|
| PlanDefinition.jurisdiction |
|
| PlanDefinition.usage |
|
| PlanDefinition.copyrightLabel |
|
| PlanDefinition.goal.target.detail[x] |
|
| PlanDefinition.actor |
|
| PlanDefinition.actor.title |
|
| PlanDefinition.actor.description |
|
| PlanDefinition.actor.option |
|
| PlanDefinition.actor.option.type |
|
| PlanDefinition.actor.option.typeCanonical |
|
| PlanDefinition.actor.option.typeReference |
|
| PlanDefinition.actor.option.role |
|
| PlanDefinition.action.linkId |
|
| PlanDefinition.action.description |
|
| PlanDefinition.action.textEquivalent |
|
| PlanDefinition.action.code |
|
| PlanDefinition.action.goalId |
|
| PlanDefinition.action.subject[x] |
|
| PlanDefinition.action.input |
|
| PlanDefinition.action.input.title |
|
| PlanDefinition.action.input.requirement |
|
| PlanDefinition.action.input.relatedData |
|
| PlanDefinition.action.output |
|
| PlanDefinition.action.output.title |
|
| PlanDefinition.action.output.requirement |
|
| PlanDefinition.action.output.relatedData |
|
| PlanDefinition.action.relatedAction.targetId |
|
| PlanDefinition.action.relatedAction.relationship |
|
| PlanDefinition.action.relatedAction.endRelationship |
|
| PlanDefinition.action.timing[x] |
|
| PlanDefinition.action.location |
|
| PlanDefinition.action.participant.actorId |
|
| PlanDefinition.action.participant.type |
|
| PlanDefinition.action.participant.typeCanonical |
|
| PlanDefinition.action.participant.typeReference |
|
| PlanDefinition.action.participant.function |
|
| PlanDefinition.action.type |
|
| PlanDefinition.action.applicabilityBehavior |
|
| PlanDefinition.asNeeded[x] |
|
| PlanDefinition.action.relatedAction.actionId |
|
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
Filter:
|
|---|---|---|---|---|
|
TU | DomainResource |
The
definition
of
a
plan
for
a
series
of
actions,
independent
of
any
specific
patient
or
context
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation + Warning: goalid should reference the id of a goal definition + Warning: targetId should reference the id of an action Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension Interfaces Implemented: MetadataResource |
|
|
Σ C | 0..1 | uri |
Canonical
identifier
for
this
plan
definition,
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
plan
definition
|
|
Σ | 0..1 | string |
Business
version
of
the
plan
definition
|
|
Σ | 0..1 |
How
to
compare
versions
Binding: Version Algorithm ( Extensible ) |
|
|
string | |||
|
Coding | |||
|
Σ C | 0..1 | string |
Name
for
this
plan
definition
(computer
friendly)
|
|
Σ T | 0..1 | string |
Name
for
this
plan
definition
(human
friendly)
|
|
T | 0..1 | string |
Subordinate
title
of
the
plan
definition
|
|
Σ | 0..1 | CodeableConcept |
order-set
|
Binding:
(
Extensible
)
|
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
Binding: PublicationStatus ( Required ) |
|
Σ | 0..1 | boolean |
For
testing
only
-
never
for
real
usage
|
|
0..1 |
Type
of
individual
the
plan
definition
is
focused
on
Binding: Participant Resource Types ( Extensible ) |
||
|
CodeableConcept | |||
|
Reference ( Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition ) | |||
|
canonical ( EvidenceVariable ) | |||
|
Σ | 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
plan
definition
|
|
Σ | 0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
|
Σ
|
0..* | CodeableConcept |
Jurisdiction
of
the
authority
that
maintains
the
plan
definition
(if
applicable)
Binding: Jurisdiction ValueSet
(
Extensible
)
|
|
T | 0..1 | markdown |
Why
this
plan
definition
is
defined
|
|
T | 0..1 | markdown |
Describes
the
clinical
usage
of
the
plan
|
|
0..1 | markdown |
Notice
about
intellectual
property
ownership,
can
include
restrictions
on
use
|
|
|
T | 0..1 | string |
Copyright
holder
and
year(s)
|
|
0..1 | date |
When
the
plan
definition
was
approved
by
publisher
|
|
|
0..1 | date |
When
the
plan
definition
was
last
reviewed
by
the
publisher
|
|
|
Σ | 0..1 | Period |
When
the
plan
definition
is
expected
to
be
used
|
|
0..* | CodeableConcept |
E.g.
Education,
Treatment,
Assessment
Binding: Definition Topic ( Example ) |
|
|
0..* | ContactDetail |
Who
authored
the
content
|
|
|
0..* | ContactDetail |
Who
edited
the
content
|
|
|
0..* | ContactDetail |
Who
reviewed
the
content
|
|
|
0..* | ContactDetail |
Who
endorsed
the
content
|
|
|
C | 0..* | RelatedArtifact |
Additional
documentation,
citations
+ Warning: Dependencies of a PlanDefinition should reference a resource + Warning: PlanDefinition should not have components |
|
0..* | canonical ( Library ) |
Logic
used
by
the
plan
definition
|
|
|
C | 0..* | BackboneElement |
What
the
plan
is
trying
to
accomplish
|
|
0..1 | CodeableConcept |
E.g.
Treatment,
dietary,
behavioral
Binding: Goal Category ( Example ) |
|
|
1..1 | CodeableConcept |
Code
or
text
describing
the
goal
Binding: SNOMED CT Clinical Findings ( Example ) |
|
|
0..1 | CodeableConcept |
high-priority
|
medium-priority
|
low-priority
Binding: Goal Priority ( Preferred ) |
|
|
0..1 | CodeableConcept |
When
goal
pursuit
begins
Binding: Goal Start Event ( Example ) |
|
|
0..* | CodeableConcept |
What
does
the
goal
address
Binding: Condition/Problem/Diagnosis Codes ( Example ) |
|
|
0..* | RelatedArtifact |
Supporting
documentation
for
the
goal
|
|
|
0..* | BackboneElement |
Target
outcome
for
the
goal
|
|
|
0..1 | CodeableConcept |
The
parameter
whose
value
is
to
be
tracked
Binding: LOINC Codes ( Example ) |
|
|
0..1 |
The
target
value
to
be
achieved
|
||
|
Quantity | |||
|
Range | |||
|
CodeableConcept | |||
|
string | |||
|
boolean | |||
|
integer | |||
|
Ratio | |||
|
0..1 | Duration |
Reach
goal
within
|
|
|
0..* | BackboneElement |
Actors
within
the
plan
|
|
|
T | 0..1 | string |
User-visible
title
|
|
T | 0..1 | markdown |
Describes
the
actor
|
|
1..* | BackboneElement |
Who
or
what
can
be
this
actor
|
|
|
0..1 | code |
careteam
|
device
|
group
|
healthcareservice
|
location
|
organization
|
patient
|
practitioner
|
practitionerrole
|
relatedperson
Binding: Action Participant Type ( Required ) |
|
|
0..1 | canonical ( ActorDefinition | CapabilityStatement | DeviceDefinition | Group | SpecimenDefinition | StructureDefinition ) |
Who
or
what
can
participate
|
|
|
0..1 |
Reference
(
BiologicallyDerivedProduct
|
CareTeam
|
Device
|
|
Who
or
what
can
participate
|
|
|
0..1 | CodeableConcept |
E.g.
Nurse,
Surgeon,
Parent
Binding: Action Participant Role
(
Example
)
|
|
|
C | 0..* | BackboneElement |
Action
defined
by
the
plan
This repeating element order: The order of actions is the sequence in which the actions are to be evaluated and performed. This is true of both the actions in the root as well as child actions of each action. |
|
0..1 | string |
Unique
id
for
the
action
in
the
PlanDefinition
|
|
|
0..1 | string |
User-visible
prefix
for
the
action
(e.g.
1.
or
A.)
|
|
|
T | 0..1 | string |
User-visible
title
|
|
T | 0..1 | markdown |
Brief
description
of
the
action
|
|
T | 0..1 | markdown |
Static
text
equivalent
of
the
action,
used
if
the
dynamic
aspects
cannot
be
interpreted
by
the
receiving
system
|
|
0..1 | code |
routine
|
urgent
|
asap
|
stat
Binding: RequestPriority ( Required ) |
|
|
0..1 | CodeableConcept |
Code
representing
the
meaning
of
the
action
or
sub-actions
Binding: Action Code ( Example ) |
|
|
0..* | CodeableConcept |
Why
the
action
should
be
performed
Binding: Action Reason Code ( Example ) |
|
|
0..* | RelatedArtifact |
Supporting
documentation
for
the
intended
performer
of
the
action
|
|
|
C | 0..* | string |
What
goals
this
action
supports
|
|
0..1 |
Type
of
individual
the
action
is
focused
on
Binding: Participant Resource Types ( Extensible ) |
||
|
CodeableConcept | |||
|
Reference ( Group ) | |||
|
canonical () | |||
|
0..* | TriggerDefinition |
When
the
action
should
be
triggered
|
|
|
0..* | BackboneElement |
Whether
or
not
the
action
is
applicable
|
|
|
1..1 | code |
applicability
|
start
|
stop
Binding: Action Condition Kind ( Required ) |
|
|
0..1 | Expression |
Boolean-valued
expression
|
|
|
C | 0..* | BackboneElement |
Input
data
requirements
+ Rule: Input data elements must have a requirement or a relatedData, but not both |
|
T | 0..1 | string |
User-visible
title
|
|
C | 0..1 | DataRequirement |
What
data
is
provided
|
|
C | 0..1 | string |
What
data
is
provided
|
|
C | 0..* | BackboneElement |
Output
data
definition
+ Rule: Output data element must have a requirement or a relatedData, but not both |
|
T | 0..1 | string |
User-visible
title
|
|
C | 0..1 | DataRequirement |
What
data
is
provided
|
|
C | 0..1 | string |
What
data
is
provided
|
|
C | 0..* | BackboneElement |
Relationship
to
another
action
|
|
C | 1..1 | string |
What
action
is
this
related
to
|
|
1..1 | code |
before
|
before-start
|
before-end
|
concurrent
|
concurrent-with-start
|
concurrent-with-end
|
after
|
after-start
|
after-end
Binding: Action Relationship Type ( Required ) |
|
|
0..1 | code |
before
|
before-start
|
before-end
|
concurrent
|
concurrent-with-start
|
concurrent-with-end
|
after
|
after-start
|
after-end
Binding: Action Relationship Type ( Required ) |
|
|
0..1 |
Time
offset
for
the
relationship
|
||
|
Duration | |||
|
Range | |||
|
0..1 |
When
the
action
should
take
place
|
||
|
Age | |||
|
Duration | |||
|
Range | |||
|
Timing | |||
| RelativeTime | |||
|
0..1 | CodeableReference ( Location ) |
Where
it
should
happen
|
|
|
0..* | BackboneElement |
Who
should
participate
in
the
action
|
|
|
0..1 | string |
What
actor
|
|
|
0..1 | code |
careteam
|
device
|
group
|
healthcareservice
|
location
|
organization
|
patient
|
practitioner
|
practitionerrole
|
relatedperson
Binding: Action Participant Type ( Required ) |
|
|
0..1 | canonical ( ActorDefinition | CapabilityStatement | DeviceDefinition | Group | SpecimenDefinition | StructureDefinition ) |
Who
or
what
can
participate
|
|
|
0..1 |
Reference
(
BiologicallyDerivedProduct
|
CareTeam
|
Device
|
|
Who
or
what
can
participate
|
|
|
0..1 | CodeableConcept |
E.g.
Nurse,
Surgeon,
Parent
Binding: Action Participant Role
(
Example
)
|
|
|
0..1 | CodeableConcept |
E.g.
Author,
Reviewer,
Witness,
etc
Binding: Action Participant Function ( Example ) |
|
|
0..1 | CodeableConcept |
create
|
update
|
remove
|
fire-event
|
etc.
Binding:
(
Extensible
)
|
|
| 0..1 | code |
all
|
any
Binding: Action Applicability Behavior ( Required ) | |
|
0..1 | code |
visual-group
|
logical-group
|
sentence-group
Binding: Action Grouping Behavior ( Required ) |
|
|
0..1 | code |
any
|
all
|
all-or-none
|
exactly-one
|
at-most-one
|
one-or-more
Binding: Action Selection Behavior ( Required ) |
|
|
0..1 | code |
must
|
could
|
must-unless-documented
Binding: Action Required Behavior ( Required ) |
|
|
0..1 | code |
yes
|
no
Binding: Action Precheck Behavior ( Required ) |
|
|
0..1 | code |
single
|
multiple
Binding: Action Cardinality Behavior ( Required ) |
|
|
0..1 |
Description
of
the
activity
to
be
performed
|
||
|
canonical ( ActivityDefinition | Measure | MessageDefinition | ObservationDefinition | OperationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition ) | |||
|
uri | |||
|
0..1 | canonical ( StructureMap ) |
Transform
to
apply
the
template
|
|
|
0..* | BackboneElement |
Dynamic
aspects
of
the
definition
|
|
|
0..1 | string |
The
path
to
the
element
to
be
set
dynamically
|
|
|
0..1 | Expression |
An
expression
that
provides
the
dynamic
value
for
the
customization
|
|
|
0..* | see action |
A
sub-action
|
|
|
Σ | 0..1 |
Preconditions
for
service
Binding: SNOMED CT Medication As Needed Reason Codes ( Example ) |
|
|
boolean | |||
|
CodeableConcept | |||
Documentation
for
this
format
|
||||
See the Extensions for this resource
XML Template
<PlanDefinition 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 plan definition, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the plan definition --></identifier> <version value="[string]"/><!-- 0..1 Business version of the plan definition --> <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]> <name value="[string]"/><!-- I 0..1 Name for this plan definition (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this plan definition (human friendly) --> <subtitle value="[string]"/><!-- 0..1 Subordinate title of the plan definition -->
<</type><type><!-- 0..1 CodeableConcept order-set | protocol | eca-rule | workflow-definition | etc.--></type> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing only - never for real usage --> <subject[x]><!-- 0..1 CodeableConcept|Reference(AdministrableProductDefinition| Group|ManufacturedItemDefinition|MedicinalProductDefinition| PackagedProductDefinition|SubstanceDefinition)|canonical(EvidenceVariable) Type of individual the plan definition is focused on --></subject[x]> <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 plan definition --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
<</jurisdiction><jurisdiction><!-- 0..* CodeableConcept Jurisdiction of the authority that maintains the plan definition (if applicable)--></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this plan definition is defined --> <usage value="[markdown]"/><!-- 0..1 Describes the clinical usage of the plan -->
< <<copyright value="[markdown]"/><!-- 0..1 Notice about intellectual property ownership, can include restrictions on use --> <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) --> <approvalDate value="[date]"/><!-- 0..1 When the plan definition was approved by publisher --> <lastReviewDate value="[date]"/><!-- 0..1 When the plan definition was last reviewed by the publisher --> <effectivePeriod><!-- 0..1 Period When the plan definition is expected to be used --></effectivePeriod> <topic><!-- 0..* CodeableConcept E.g. Education, Treatment, Assessment --></topic> <author><!-- 0..* ContactDetail Who authored the content --></author> <editor><!-- 0..* ContactDetail Who edited the content --></editor> <reviewer><!-- 0..* ContactDetail Who reviewed the content --></reviewer> <endorser><!-- 0..* ContactDetail Who endorsed the content --></endorser> <relatedArtifact><!-- 0..* RelatedArtifact Additional documentation, citations --></relatedArtifact> <library><!-- 0..* canonical(Library) Logic used by the plan definition --></library> <goal> <!-- I 0..* What the plan is trying to accomplish --> <category><!-- 0..1 CodeableConcept E.g. Treatment, dietary, behavioral --></category> <description><!-- 1..1 CodeableConcept Code or text describing the goal --></description> <priority><!-- 0..1 CodeableConcept high-priority | medium-priority | low-priority --></priority> <start><!-- 0..1 CodeableConcept When goal pursuit begins --></start> <addresses><!-- 0..* CodeableConcept What does the goal address --></addresses> <documentation><!-- 0..* RelatedArtifact Supporting documentation for the goal --></documentation> <target> <!-- 0..* Target outcome for the goal --> <measure><!-- 0..1 CodeableConcept The parameter whose value is to be tracked --></measure> <detail[x]><!-- 0..1 Quantity|Range|CodeableConcept|string|boolean|integer| Ratio The target value to be achieved --></detail[x]> <due><!-- 0..1 Duration Reach goal within --></due> </target> </goal> <actor> <!-- 0..* Actors within the plan --> <title value="[string]"/><!-- 0..1 User-visible title --> <description value="[markdown]"/><!-- 0..1 Describes the actor --> <option> <!-- 1..* Who or what can be this actor --> <type value="[code]"/><!-- 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson --><</typeCanonical><typeCanonical><!-- 0..1 canonical(ActorDefinition|CapabilityStatement| DeviceDefinition|Group|SpecimenDefinition|StructureDefinition) Who or what can participate --></typeCanonical> <typeReference><!-- 0..1 Reference(BiologicallyDerivedProduct|CareTeam|Device||Endpoint|HealthcareService|Location|Medication|MedicinalProductDefinition| Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Specimen|</typeReference> <</role>Substance|SubstanceDefinition) Who or what can participate --></typeReference> <role><!-- 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent--></role> </option> </actor>
<<action> <!-- I 0..* Action defined by the plan --> <linkId value="[string]"/><!-- 0..1 Unique id for the action in the PlanDefinition --> <prefix value="[string]"/><!-- 0..1 User-visible prefix for the action (e.g. 1. or A.) --> <title value="[string]"/><!-- 0..1 User-visible title --> <description value="[markdown]"/><!-- 0..1 Brief description of the action --> <textEquivalent value="[markdown]"/><!-- 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system --> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <code><!-- 0..1 CodeableConcept Code representing the meaning of the action or sub-actions --></code> <reason><!-- 0..* CodeableConcept Why the action should be performed --></reason> <documentation><!-- 0..* RelatedArtifact Supporting documentation for the intended performer of the action --></documentation> <goalId value="[string]"/><!-- I 0..* What goals this action supports --> <subject[x]><!-- 0..1 CodeableConcept|Reference(Group)|canonical Type of individual the action is focused on --></subject[x]> <trigger><!-- 0..* TriggerDefinition When the action should be triggered --></trigger> <condition> <!-- 0..* Whether or not the action is applicable --> <kind value="[code]"/><!-- 1..1 applicability | start | stop --> <expression><!-- 0..1 Expression Boolean-valued expression --></expression> </condition> <input> <!-- 0..* Input data requirements --> <title value="[string]"/><!-- 0..1 User-visible title --> <requirement><!-- I 0..1 DataRequirement What data is provided --></requirement> <relatedData value="[string]"/><!-- I 0..1 What data is provided --> </input> <output> <!-- 0..* Output data definition --> <title value="[string]"/><!-- 0..1 User-visible title --> <requirement><!-- I 0..1 DataRequirement What data is provided --></requirement> <relatedData value="[string]"/><!-- I 0..1 What data is provided --> </output> <relatedAction> <!-- I 0..* Relationship to another action --> <targetId value="[string]"/><!-- I 1..1 What action is this related to --> <relationship value="[code]"/><!-- 1..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end --> <endRelationship value="[code]"/><!-- 0..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end --> <offset[x]><!-- 0..1 Duration|Range Time offset for the relationship --></offset[x]> </relatedAction><</timing[x]><timing[x]><!-- 0..1 Age|Duration|Range|Timing|RelativeTime When the action should take place --></timing[x]> <location><!-- 0..1 CodeableReference(Location) Where it should happen --></location> <participant> <!-- 0..* Who should participate in the action --> <actorId value="[string]"/><!-- 0..1 What actor --> <type value="[code]"/><!-- 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson --><</typeCanonical><typeCanonical><!-- 0..1 canonical(ActorDefinition|CapabilityStatement| DeviceDefinition|Group|SpecimenDefinition|StructureDefinition) Who or what can participate --></typeCanonical> <typeReference><!-- 0..1 Reference(BiologicallyDerivedProduct|CareTeam|Device||Endpoint|HealthcareService|Location|Medication|MedicinalProductDefinition| Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Specimen|</typeReference> <</role>Substance|SubstanceDefinition) Who or what can participate --></typeReference> <role><!-- 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent--></role> <function><!-- 0..1 CodeableConcept E.g. Author, Reviewer, Witness, etc --></function> </participant>
<</type><type><!-- 0..1 CodeableConcept create | update | remove | fire-event | etc.--></type> <applicabilityBehavior value="[code]"/><!-- 0..1 all | any --> <groupingBehavior value="[code]"/><!-- 0..1 visual-group | logical-group | sentence-group --> <selectionBehavior value="[code]"/><!-- 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more --> <requiredBehavior value="[code]"/><!-- 0..1 must | could | must-unless-documented --> <precheckBehavior value="[code]"/><!-- 0..1 yes | no --> <cardinalityBehavior value="[code]"/><!-- 0..1 single | multiple -->
<| </definition[x]><definition[x]><!-- 0..1 canonical(ActivityDefinition|Measure|MessageDefinition| ObservationDefinition|OperationDefinition|PlanDefinition|Questionnaire| SpecimenDefinition)|uri Description of the activity to be performed --></definition[x]> <transform><!-- 0..1 canonical(StructureMap) Transform to apply the template --></transform> <dynamicValue> <!-- 0..* Dynamic aspects of the definition --> <path value="[string]"/><!-- 0..1 The path to the element to be set dynamically --> <expression><!-- 0..1 Expression An expression that provides the dynamic value for the customization --></expression> </dynamicValue> <action><!-- 0..* Content as for PlanDefinition.action A sub-action --></action> </action> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Preconditions for service --></asNeeded[x]> </PlanDefinition>
JSON Template
{
"resourceType" : "PlanDefinition",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"url" : "<uri>", // Canonical identifier for this plan definition, represented as a URI (globally unique)
"identifier" : [{ Identifier }], // Additional identifier for the plan definition
"version" : "<string>", // Business version of the plan definition
// versionAlgorithm[x]: How to compare versions. One of these 2:
"versionAlgorithmString" : "<string>",
"versionAlgorithmCoding" : { Coding },
"name" : "<string>", // I Name for this plan definition (computer friendly)
"title" : "<string>", // Name for this plan definition (human friendly)
"subtitle" : "<string>", // Subordinate title of the plan definition
"
"type" : { CodeableConcept }, // order-set | protocol | eca-rule | workflow-definition | etc.
"status" : "<code>", // R! draft | active | retired | unknown
"experimental" : <boolean>, // For testing only - never for real usage
// subject[x]: Type of individual the plan definition is focused on. One of these 3:
"subjectCodeableConcept" : { CodeableConcept },
"subjectReference" : { Reference(AdministrableProductDefinition|Group|
ManufacturedItemDefinition|MedicinalProductDefinition|
PackagedProductDefinition|SubstanceDefinition) },
"subjectCanonical" : "<canonical(EvidenceVariable)>",
"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 plan definition
"useContext" : [{ UsageContext }], // The context that the content is intended to support
"
"jurisdiction" : [{ CodeableConcept }], // Jurisdiction of the authority that maintains the plan definition (if applicable)
"purpose" : "<markdown>", // Why this plan definition is defined
"usage" : "<markdown>", // Describes the clinical usage of the plan
"
"
"copyright" : "<markdown>", // Notice about intellectual property ownership, can include restrictions on use
"copyrightLabel" : "<string>", // Copyright holder and year(s)
"approvalDate" : "<date>", // When the plan definition was approved by publisher
"lastReviewDate" : "<date>", // When the plan definition was last reviewed by the publisher
"effectivePeriod" : { Period }, // When the plan definition is expected to be used
"topic" : [{ CodeableConcept }], // E.g. Education, Treatment, Assessment
"author" : [{ ContactDetail }], // Who authored the content
"editor" : [{ ContactDetail }], // Who edited the content
"reviewer" : [{ ContactDetail }], // Who reviewed the content
"endorser" : [{ ContactDetail }], // Who endorsed the content
"relatedArtifact" : [{ RelatedArtifact }], // Additional documentation, citations
"library" : ["<canonical(Library)>"], // Logic used by the plan definition
"goal" : [{ // I What the plan is trying to accomplish
"category" : { CodeableConcept }, // E.g. Treatment, dietary, behavioral
"description" : { CodeableConcept }, // R! Code or text describing the goal
"priority" : { CodeableConcept }, // high-priority | medium-priority | low-priority
"start" : { CodeableConcept }, // When goal pursuit begins
"addresses" : [{ CodeableConcept }], // What does the goal address
"documentation" : [{ RelatedArtifact }], // Supporting documentation for the goal
"target" : [{ // Target outcome for the goal
"measure" : { CodeableConcept }, // The parameter whose value is to be tracked
// detail[x]: The target value to be achieved. One of these 7:
"detailQuantity" : { Quantity },
"detailRange" : { Range },
"detailCodeableConcept" : { CodeableConcept },
"detailString" : "<string>",
"detailBoolean" : <boolean>,
"detailInteger" : <integer>,
"detailRatio" : { Ratio },
"due" : { Duration } // Reach goal within
}]
}],
"actor" : [{ // Actors within the plan
"title" : "<string>", // User-visible title
"description" : "<markdown>", // Describes the actor
"option" : [{ // R! Who or what can be this actor
"type" : "<code>", // careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
"
"typeCanonical" : "<canonical(ActorDefinition|CapabilityStatement|DeviceDefinition|Group|SpecimenDefinition|StructureDefinition)>", // Who or what can participate
"typeReference" : { Reference(BiologicallyDerivedProduct|CareTeam|Device|
|
Endpoint|HealthcareService|Location|Medication|MedicinalProductDefinition|
Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Specimen|
"
Substance|SubstanceDefinition) }, // Who or what can participate
"role" : { CodeableConcept } // E.g. Nurse, Surgeon, Parent
}]
}],
"
"action" : [{ // I Action defined by the plan
"linkId" : "<string>", // Unique id for the action in the PlanDefinition
"prefix" : "<string>", // User-visible prefix for the action (e.g. 1. or A.)
"title" : "<string>", // User-visible title
"description" : "<markdown>", // Brief description of the action
"textEquivalent" : "<markdown>", // Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
"priority" : "<code>", // routine | urgent | asap | stat
"code" : { CodeableConcept }, // Code representing the meaning of the action or sub-actions
"reason" : [{ CodeableConcept }], // Why the action should be performed
"documentation" : [{ RelatedArtifact }], // Supporting documentation for the intended performer of the action
"goalId" : ["<string>"], // I What goals this action supports
// subject[x]: Type of individual the action is focused on. One of these 3:
"subjectCodeableConcept" : { CodeableConcept },
"subjectReference" : { Reference(Group) },
"subjectCanonical" : "<canonical>",
"trigger" : [{ TriggerDefinition }], // When the action should be triggered
"condition" : [{ // Whether or not the action is applicable
"kind" : "<code>", // R! applicability | start | stop
"expression" : { Expression } // Boolean-valued expression
}],
"input" : [{ // Input data requirements
"title" : "<string>", // User-visible title
"requirement" : { DataRequirement }, // I What data is provided
"relatedData" : "<string>" // I What data is provided
}],
"output" : [{ // Output data definition
"title" : "<string>", // User-visible title
"requirement" : { DataRequirement }, // I What data is provided
"relatedData" : "<string>" // I What data is provided
}],
"relatedAction" : [{ // I Relationship to another action
"targetId" : "<string>", // I R! What action is this related to
"relationship" : "<code>", // R! before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
"endRelationship" : "<code>", // before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
// offset[x]: Time offset for the relationship. One of these 2:
"offsetDuration" : { Duration },
"offsetRange" : { Range }
}],
// timing[x]: When the action should take place. One of these 5:
"timingAge" : { Age },
"timingDuration" : { Duration },
"timingRange" : { Range },
"timingTiming" : { Timing },
"timingRelativeTime" : { RelativeTime },
"location" : { CodeableReference(Location) }, // Where it should happen
"participant" : [{ // Who should participate in the action
"actorId" : "<string>", // What actor
"type" : "<code>", // careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
"
"typeCanonical" : "<canonical(ActorDefinition|CapabilityStatement|DeviceDefinition|Group|SpecimenDefinition|StructureDefinition)>", // Who or what can participate
"typeReference" : { Reference(BiologicallyDerivedProduct|CareTeam|Device|
|
Endpoint|HealthcareService|Location|Medication|MedicinalProductDefinition|
Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Specimen|
"
Substance|SubstanceDefinition) }, // Who or what can participate
"role" : { CodeableConcept }, // E.g. Nurse, Surgeon, Parent
"function" : { CodeableConcept } // E.g. Author, Reviewer, Witness, etc
}],
"
"type" : { CodeableConcept }, // create | update | remove | fire-event | etc.
"applicabilityBehavior" : "<code>", // all | any
"groupingBehavior" : "<code>", // visual-group | logical-group | sentence-group
"selectionBehavior" : "<code>", // any | all | all-or-none | exactly-one | at-most-one | one-or-more
"requiredBehavior" : "<code>", // must | could | must-unless-documented
"precheckBehavior" : "<code>", // yes | no
"cardinalityBehavior" : "<code>", // single | multiple
// definition[x]: Description of the activity to be performed. One of these 2:
")>",
">",
"definitionCanonical" : "<canonical(ActivityDefinition|Measure|MessageDefinition|ObservationDefinition|OperationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition)>",
"definitionUri" : "<uri>",
"transform" : "<canonical(StructureMap)>", // Transform to apply the template
"dynamicValue" : [{ // Dynamic aspects of the definition
"path" : "<string>", // The path to the element to be set dynamically
"expression" : { Expression } // An expression that provides the dynamic value for the customization
}],
"action" : [{ Content as for PlanDefinition.action }] // A sub-action
}],
// asNeeded[x]: Preconditions for service. One of these 2:
"asNeededBoolean" : <boolean>,
"asNeededCodeableConcept" : { CodeableConcept }
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:PlanDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root
# from # from# from Resource: fhir:id, fhir:meta, fhir:implicitRules, and fhir:language # from DomainResource: fhir:text, fhir:contained, fhir:extension, and fhir:modifierExtension fhir:url [ uri ] ; # 0..1 Canonical identifier for this plan definition, represented as a URI (globally unique) fhir:identifier ( [ Identifier ] ... ) ; # 0..* Additional identifier for the plan definition fhir:version [ string ] ; # 0..1 Business version of the plan definition # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2fhir: ]fhir:versionAlgorithm [ a fhir:String ; string ] fhir:versionAlgorithm [ a fhir:Coding ; Coding ] fhir:name [ string ] ; # 0..1 I Name for this plan definition (computer friendly) fhir:title [ string ] ; # 0..1 Name for this plan definition (human friendly) fhir:subtitle [ string ] ; # 0..1 Subordinate title of the plan definitionfhir:fhir:type [ CodeableConcept ] ; # 0..1 order-set | protocol | eca-rule | workflow-definition | etc. fhir:status [ code ] ; # 1..1 draft | active | retired | unknown fhir:experimental [ boolean ] ; # 0..1 For testing only - never for real usage # subject[x] : 0..1 Type of individual the plan definition is focused on. One of these 3 fhir:subject [ a fhir:CodeableConcept ; CodeableConcept ] fhir:subject [ a fhir:Reference ; Reference(AdministrableProductDefinition|Group|ManufacturedItemDefinition| MedicinalProductDefinition|PackagedProductDefinition|SubstanceDefinition) ]fhir:) ]fhir:subject [ a fhir:Canonical ; canonical(EvidenceVariable) ] 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 plan definition fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to supportfhir:fhir:jurisdiction ( [ CodeableConcept ] ... ) ; # 0..* Jurisdiction of the authority that maintains the plan definition (if applicable) fhir:purpose [ markdown ] ; # 0..1 Why this plan definition is defined fhir:usage [ markdown ] ; # 0..1 Describes the clinical usage of the planfhir: fhir:fhir:copyright [ markdown ] ; # 0..1 Notice about intellectual property ownership, can include restrictions on use fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s) fhir:approvalDate [ date ] ; # 0..1 When the plan definition was approved by publisher fhir:lastReviewDate [ date ] ; # 0..1 When the plan definition was last reviewed by the publisher fhir:effectivePeriod [ Period ] ; # 0..1 When the plan definition is expected to be used fhir:topic ( [ CodeableConcept ] ... ) ; # 0..* E.g. Education, Treatment, Assessment fhir:author ( [ ContactDetail ] ... ) ; # 0..* Who authored the content fhir:editor ( [ ContactDetail ] ... ) ; # 0..* Who edited the content fhir:reviewer ( [ ContactDetail ] ... ) ; # 0..* Who reviewed the content fhir:endorser ( [ ContactDetail ] ... ) ; # 0..* Who endorsed the content fhir:relatedArtifact ( [ RelatedArtifact ] ... ) ; # 0..* Additional documentation, citations fhir:library ( [ canonical(Library) ] ... ) ; # 0..* Logic used by the plan definition fhir:goal ( [ # 0..* I What the plan is trying to accomplish fhir:category [ CodeableConcept ] ; # 0..1 E.g. Treatment, dietary, behavioral fhir:description [ CodeableConcept ] ; # 1..1 Code or text describing the goal fhir:priority [ CodeableConcept ] ; # 0..1 high-priority | medium-priority | low-priority fhir:start [ CodeableConcept ] ; # 0..1 When goal pursuit begins fhir:addresses ( [ CodeableConcept ] ... ) ; # 0..* What does the goal address fhir:documentation ( [ RelatedArtifact ] ... ) ; # 0..* Supporting documentation for the goal fhir:target ( [ # 0..* Target outcome for the goal fhir:measure [ CodeableConcept ] ; # 0..1 The parameter whose value is to be tracked # detail[x] : 0..1 The target value to be achieved. One of these 7 fhir:detail [ a fhir:Quantity ; Quantity ] fhir:detail [ a fhir:Range ; Range ] fhir:detail [ a fhir:CodeableConcept ; CodeableConcept ]fhir: ] fhir: ] fhir: ]fhir:detail [ a fhir:String ; string ] fhir:detail [ a fhir:Boolean ; boolean ] fhir:detail [ a fhir:Integer ; integer ] fhir:detail [ a fhir:Ratio ; Ratio ] fhir:due [ Duration ] ; # 0..1 Reach goal within ] ... ) ; ] ... ) ; fhir:actor ( [ # 0..* Actors within the plan fhir:title [ string ] ; # 0..1 User-visible title fhir:description [ markdown ] ; # 0..1 Describes the actor fhir:option ( [ # 1..* Who or what can be this actor fhir:type [ code ] ; # 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedpersonfhir: fhir:| |fhir:typeCanonical [ canonical(ActorDefinition|CapabilityStatement|DeviceDefinition|Group|SpecimenDefinition| StructureDefinition) ] ; # 0..1 Who or what can participate fhir:typeReference [ Reference(BiologicallyDerivedProduct|CareTeam|Device|Endpoint|HealthcareService|Location| Medication|MedicinalProductDefinition|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|Specimen|Substance|SubstanceDefinition) ] ; # 0..1 Who or what can participate fhir:role [ CodeableConcept ] ; # 0..1 E.g. Nurse, Surgeon, Parent ] ... ) ; ] ... ) ;fhir:fhir:action ( [ # 0..* I Action defined by the plan fhir:linkId [ string ] ; # 0..1 Unique id for the action in the PlanDefinition fhir:prefix [ string ] ; # 0..1 User-visible prefix for the action (e.g. 1. or A.) fhir:title [ string ] ; # 0..1 User-visible title fhir:description [ markdown ] ; # 0..1 Brief description of the action fhir:textEquivalent [ markdown ] ; # 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system fhir:priority [ code ] ; # 0..1 routine | urgent | asap | stat fhir:code [ CodeableConcept ] ; # 0..1 Code representing the meaning of the action or sub-actions fhir:reason ( [ CodeableConcept ] ... ) ; # 0..* Why the action should be performed fhir:documentation ( [ RelatedArtifact ] ... ) ; # 0..* Supporting documentation for the intended performer of the action fhir:goalId ( [ string ] ... ) ; # 0..* I What goals this action supports # subject[x] : 0..1 Type of individual the action is focused on. One of these 3 fhir:subject [ a fhir:CodeableConcept ; CodeableConcept ] fhir:subject [ a fhir:Reference ; Reference(Group) ]fhir: ]fhir:subject [ a fhir:Canonical ; canonical ] fhir:trigger ( [ TriggerDefinition ] ... ) ; # 0..* When the action should be triggered fhir:condition ( [ # 0..* Whether or not the action is applicable fhir:kind [ code ] ; # 1..1 applicability | start | stop fhir:expression [ Expression ] ; # 0..1 Boolean-valued expression ] ... ) ; fhir:input ( [ # 0..* Input data requirements fhir:title [ string ] ; # 0..1 User-visible title fhir:requirement [ DataRequirement ] ; # 0..1 I What data is provided fhir:relatedData [ string ] ; # 0..1 I What data is provided ] ... ) ; fhir:output ( [ # 0..* Output data definition fhir:title [ string ] ; # 0..1 User-visible title fhir:requirement [ DataRequirement ] ; # 0..1 I What data is provided fhir:relatedData [ string ] ; # 0..1 I What data is provided ] ... ) ; fhir:relatedAction ( [ # 0..* I Relationship to another action fhir:targetId [ string ] ; # 1..1 I What action is this related to fhir:relationship [ code ] ; # 1..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end fhir:endRelationship [ code ] ; # 0..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end # offset[x] : 0..1 Time offset for the relationship. One of these 2 fhir:offset [ a fhir:Duration ; Duration ] fhir:offset [ a fhir:Range ; Range ] ] ... ) ;# . One of these 4# timing[x] : 0..1 When the action should take place. One of these 5 fhir:timing [ a fhir:Age ; Age ] fhir:timing [ a fhir:Duration ; Duration ] fhir:timing [ a fhir:Range ; Range ] fhir:timing [ a fhir:Timing ; Timing ] fhir:timing [ a fhir:RelativeTime ; RelativeTime ] fhir:location [ CodeableReference(Location) ] ; # 0..1 Where it should happen fhir:participant ( [ # 0..* Who should participate in the action fhir:actorId [ string ] ; # 0..1 What actor fhir:type [ code ] ; # 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedpersonfhir: fhir:| |fhir:typeCanonical [ canonical(ActorDefinition|CapabilityStatement|DeviceDefinition|Group|SpecimenDefinition| StructureDefinition) ] ; # 0..1 Who or what can participate fhir:typeReference [ Reference(BiologicallyDerivedProduct|CareTeam|Device|Endpoint|HealthcareService|Location| Medication|MedicinalProductDefinition|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson|Specimen|Substance|SubstanceDefinition) ] ; # 0..1 Who or what can participate fhir:role [ CodeableConcept ] ; # 0..1 E.g. Nurse, Surgeon, Parent fhir:function [ CodeableConcept ] ; # 0..1 E.g. Author, Reviewer, Witness, etc ] ... ) ;fhir:fhir:type [ CodeableConcept ] ; # 0..1 create | update | remove | fire-event | etc. fhir:applicabilityBehavior [ code ] ; # 0..1 all | any fhir:groupingBehavior [ code ] ; # 0..1 visual-group | logical-group | sentence-group fhir:selectionBehavior [ code ] ; # 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more fhir:requiredBehavior [ code ] ; # 0..1 must | could | must-unless-documented fhir:precheckBehavior [ code ] ; # 0..1 yes | no fhir:cardinalityBehavior [ code ] ; # 0..1 single | multiple# . One of these 2 fhir:| ) ] fhir: ]# definition[x] : 0..1 Description of the activity to be performed. One of these 2 fhir:definition [ a fhir:Canonical ; canonical(ActivityDefinition|Measure|MessageDefinition|ObservationDefinition| OperationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition) ] fhir:definition [ a fhir:Uri ; uri ] fhir:transform [ canonical(StructureMap) ] ; # 0..1 Transform to apply the template fhir:dynamicValue ( [ # 0..* Dynamic aspects of the definition fhir:path [ string ] ; # 0..1 The path to the element to be set dynamically fhir:expression [ Expression ] ; # 0..1 An expression that provides the dynamic value for the customization ] ... ) ; fhir:action ( [ See PlanDefinition.action ] ... ) ; # 0..* A sub-action ] ... ) ; # asNeeded[x] : 0..1 Preconditions for service. One of these 2fhir: ]fhir:asNeeded [ a fhir:Boolean ; boolean ] fhir:asNeeded [ a fhir:CodeableConcept ; CodeableConcept ] ]
Changes from both R4 and R4B
| PlanDefinition | |
| PlanDefinition.versionAlgorithm[x] |
|
| PlanDefinition.type |
|
| PlanDefinition.subject[x] |
|
| PlanDefinition.jurisdiction |
|
| PlanDefinition.usage |
|
| PlanDefinition.copyrightLabel |
|
| PlanDefinition.goal.target.detail[x] |
|
| PlanDefinition.actor |
|
| PlanDefinition.actor.title |
|
| PlanDefinition.actor.description |
|
| PlanDefinition.actor.option |
|
| PlanDefinition.actor.option.type |
|
| PlanDefinition.actor.option.typeCanonical |
|
| PlanDefinition.actor.option.typeReference |
|
| PlanDefinition.actor.option.role |
|
| PlanDefinition.action.linkId |
|
| PlanDefinition.action.description |
|
| PlanDefinition.action.textEquivalent |
|
| PlanDefinition.action.code |
|
| PlanDefinition.action.goalId |
|
| PlanDefinition.action.subject[x] |
|
| PlanDefinition.action.input |
|
| PlanDefinition.action.input.title |
|
| PlanDefinition.action.input.requirement |
|
| PlanDefinition.action.input.relatedData |
|
| PlanDefinition.action.output |
|
| PlanDefinition.action.output.title |
|
| PlanDefinition.action.output.requirement |
|
| PlanDefinition.action.output.relatedData |
|
| PlanDefinition.action.relatedAction.targetId |
|
| PlanDefinition.action.relatedAction.relationship |
|
| PlanDefinition.action.relatedAction.endRelationship |
|
| PlanDefinition.action.timing[x] |
|
| PlanDefinition.action.location |
|
| PlanDefinition.action.participant.actorId |
|
| PlanDefinition.action.participant.type |
|
| PlanDefinition.action.participant.typeCanonical |
|
| PlanDefinition.action.participant.typeReference |
|
| PlanDefinition.action.participant.function |
|
| PlanDefinition.action.type |
|
| PlanDefinition.action.applicabilityBehavior |
|
| PlanDefinition.asNeeded[x] |
|
| PlanDefinition.action.relatedAction.actionId |
|
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 |
|---|---|---|---|
| PlanDefinition.versionAlgorithm[x] | VersionAlgorithm | Extensible |
Indicates the mechanism used to compare versions to determine which is more current. |
| PlanDefinition.type |
PlanDefinitionType
|
Extensible |
The type of PlanDefinition. |
| PlanDefinition.status | PublicationStatus | Required |
The lifecycle status of an artifact. |
| PlanDefinition.subject[x] | ParticipantResourceTypes | Extensible |
All Resource Types that represent participant resources |
| PlanDefinition.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
|
| PlanDefinition.topic | DefinitionTopic | Example |
High-level categorization of the definition, used for searching, sorting, and filtering. |
| PlanDefinition.goal.category | GoalCategory | Example |
Example codes for grouping goals to use for filtering or presentation. |
| PlanDefinition.goal.description | SNOMEDCTClinicalFindings | Example |
This
value
set
includes
all
the
"Clinical
finding"
SNOMED
CT
|
| PlanDefinition.goal.priority | GoalPriority | Preferred |
Indicates the level of importance associated with reaching or sustaining a goal. |
| PlanDefinition.goal.start | GoalStartEvent | Example |
Identifies types of events that might trigger the start of a goal. |
| PlanDefinition.goal.addresses | ConditionProblemDiagnosisCodes | Example |
Example value set for Condition/Problem/Diagnosis codes. |
| PlanDefinition.goal.target.measure |
LOINCCodes
(a
valid
code
from
LOINC
)
|
Example |
This value set includes all LOINC codes |
| PlanDefinition.actor.option.type | ActionParticipantType | Required |
The type of participant for the action. |
| PlanDefinition.actor.option.role |
ActionParticipantRole
|
Example |
Either a practitioner role or a relationship type. Note from UTG import - may have been a temporary entry that subsequently disappeared from the FHIR source; unable to locate. Version set to 0.1.0 |
| PlanDefinition.action.priority | RequestPriority | Required |
Identifies the level of importance to be assigned to actioning the request. |
| PlanDefinition.action.code | ActionCode | Example |
Provides examples of actions to be performed. |
| PlanDefinition.action.reason | ActionReasonCode | Example |
Provides examples of reasons for actions to be performed. |
| PlanDefinition.action.subject[x] | ParticipantResourceTypes | Extensible |
All Resource Types that represent participant resources |
| PlanDefinition.action.condition.kind | ActionConditionKind | Required |
Defines the kinds of conditions that can appear on actions. |
| PlanDefinition.action.relatedAction.relationship | ActionRelationshipType | Required |
Defines the types of relationships between actions. |
| PlanDefinition.action.relatedAction.endRelationship | ActionRelationshipType | Required |
Defines the types of relationships between actions. |
| PlanDefinition.action.participant.type | ActionParticipantType | Required |
The type of participant for the action. |
| PlanDefinition.action.participant.role |
ActionParticipantRole
|
Example |
Either a practitioner role or a relationship type. Note from UTG import - may have been a temporary entry that subsequently disappeared from the FHIR source; unable to locate. Version set to 0.1.0 |
| PlanDefinition.action.participant.function | ActionParticipantFunction | Example |
The function performed by the participant for the action. |
| PlanDefinition.action.type |
ActionType
|
Extensible |
The type of action to be performed. |
| PlanDefinition.action.applicabilityBehavior | ActionApplicabilityBehavior | Required | Defines applicability behavior of a group. |
| PlanDefinition.action.groupingBehavior | ActionGroupingBehavior | Required |
Defines organization behavior of a group. |
| PlanDefinition.action.selectionBehavior | ActionSelectionBehavior | Required |
Defines selection behavior of a group. |
| PlanDefinition.action.requiredBehavior | ActionRequiredBehavior | Required |
Defines expectations around whether an action or action group is required. |
| PlanDefinition.action.precheckBehavior | ActionPrecheckBehavior | Required |
Defines selection frequency behavior for an action or group. |
| PlanDefinition.action.cardinalityBehavior | ActionCardinalityBehavior | Required |
Defines behavior for an action or a group for how many times that item may be repeated. |
| PlanDefinition.asNeeded[x] | SNOMEDCTMedicationAsNeededReasonCodes | Example |
This value set includes all clinical findings from SNOMED CT - provided as an exemplar value set. |
| 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}$') |
pld-0
|
Rule | PlanDefinition.action.input | Input data elements must have a requirement or a relatedData, but not both | requirement.exists() xor relatedData.exists() |
pld-1
|
Rule | PlanDefinition.action.output | Output data element must have a requirement or a relatedData, but not both | requirement.exists() xor relatedData.exists() |
cnl-1
|
Warning | PlanDefinition.url | URL should not contain | or # - these characters make processing canonical references problematic | exists() implies matches('^[^|# ]+$') |
pld-3
|
Warning | (base) | goalid should reference the id of a goal definition | %context.repeat(action).where((goalId in %context.goal.id).not()).exists().not() |
pld-4
|
Warning | (base) | targetId should reference the id of an action | %context.repeat(action).relatedAction.where((targetId in %context.repeat(action).id).not()).exists().not() |
pld-6
| Warning | PlanDefinition.relatedArtifact | Dependencies of a PlanDefinition should reference a resource | type in ('depends-on' | 'part-of') implies ((resource.exists() xor resourceReference.exists()) or (artifact is canonical xor artifact is Reference)) |
pld-7
| Warning | PlanDefinition.relatedArtifact | PlanDefinition should not have components | type != 'composed-of' |
The
following
diagram
illustrates
the
relationship
between
the
PlanDefinition
and
ActivityDefinition
resources,
as
well
as
a
typical
realization
to
RequestOrchestration
and
Request-pattern
resources.
The
resources
depicted
on
the
left
side
of
the
arrow
are
definition
resources,
while
the
ones
on
the
right
side
of
the
arrow
are
request
resources,
with
the
arrow
representing
the
$apply
operation:
The
PlanDefinition
and
ActivityDefinition
resources
support
the
representation
of
a
broad
range
of
use
cases
including
order
sets,
flow
sheets,
documentation
templates,
event-condition-action
rules,
clinical
protocols,
and
research
trials.
To
support
this
range
of
use
cases,
as
well
as
the
variability
in
capabilities
of
systems
that
use
these
types
of
artifacts,
this
specification
is
not
prescriptive
about
exactly
how
these
definitions
are
applied
to
produce
request
and
event
resources.
However,
the
approach
depicted
above
provides
a
general
framework
for
the
process,
and
the
following
steps
provide
more
detail
on
the
potential
approach:
instantiatesCanonical
element
goal
definitions
in
the
PlanDefinition
action
element
of
the
Processing for each action proceeds according to the following steps:
action
element
in
the
RequestOrchestration.
If
the
element
has
a
linkId
,
set
the
linkId>
element
of
the
new
action
to
the
same
value.
Note
that
for
legacy
PlanDefinitions,
this
action
linking
was
accomplished
with
the
id
element,
so
for
backwards
compatibility,
implementations
may
set
the
id
element
of
the
newly
created
action
as
well.
action
to
the
corresponding
elements
of
the
newly
created
action
in
the
RequestOrchestration
such
as
title
,
description
,
textEquivalent
,
timing
,
and
so
on
definition
resource
element
of
the
action
and
add
the
resource
as
an
entry
in
the
overall
result
Bundle.
intent
of
the
target
resource
to
option
so
that
it
is
clearly
indicated
as
part
of
a
RequestOrchestration.
Note
that
the
ActivityDefinition/$apply
operation
will
not
necessarily
produce
the
resource
with
this
status,
so
this
is
an
important
step.
action
(see
the
section
on
Overlap
below
for
details)
resource
element
of
the
action
and
add
it
as
an
entry
in
the
overall
result
Bundle.
intent
of
the
RequestOrchestration
to
option
so
that
it
is
clearly
indicated
as
part
of
a
RequestOrchestration.
action
such
as
title
,
description
,
and
dynamicValue
.
resource
element
of
the
action
focus
element
of
the
task
to
code
element
of
fulfill
.Note that if there is no optionality in the resulting resources, systems may choose to return the request resources directly, rather than organizing them within an overall RequestOrchestration. This means that the result of the operation may be any combination of request Resources, including CarePlan, RequestOrchestration, and individual request resources such as ServiceRequest and MedicationRequest.
The
parameters
to
the
$apply
operation
are
available
within
dynamicValue
CQL
and
FHIRPath
expressions
as
context
variables,
accessible
by
the
name
of
the
parameter
prefixed
with
a
percent
(%)
symbol.
For
example,
to
access
the
subject
given
to
the
apply,
use
the
expression
%subject
.
The
value
of
the
%subject
context
variable
in
a
dynamicValue
expression
is
determined
using
the
current
subject
,
as
specified
by
the
subject
element
on
the
PlanDefinition,
current
PlanDefinition.action,
or
ActivityDefinition.
In
addition
to
the
$apply
operation
parameters,
the
context
variable
%action
can
be
used
within
the
path
element
of
a
dynamicValue
to
specify
the
current
action
target.
For
example,
to
specify
the
path
to
the
description
element
of
the
current
action,
use
%action.description
.
In addition, the subject element establishes the context for CQL expressions evaluated during the operation, as discussed in the Evaluation Context discussion in the Using Expressions topic.
Note that result of this operation is transient (i.e. none of the resources created by the operation are persisted in the server, they are all returned as contained resources in the result). The result effectively represents a proposed set of activities, and it is up to the caller to determine whether and how those activities are actually carried out.
The ActivityDefinition resource may only specify Request resource types to facilitate considering user input as part of processing the result of any automated clinical reasoning processes. To support creation of event resources, such as Observations, RiskAssessments, and DetectedIssues, use a Task resource with the focus of the task set to the event resource to be created.
As
noted
in
the
Boundaries
section,
there
is
some
overlap
between
the
content
that
can
be
represented
within
the
action
element
of
a
PlanDefinition,
and
the
elements
of
the
ActivityDefinition
resource.
This
overlap
allows
for
both
resources
to
be
used
independently,
as
well
as
in
combination.
For
example,
a
PlanDefinition
may
be
used
without
any
supporting
ActivityDefinitions
to
describe
a
particular
workflow,
where
it
is
sufficient
to
describe
the
actions
simply
as
textual
descriptions
of
what
needs
to
take
place.
On
the
other
hand,
the
PlanDefinition
may
be
used
together
with
ActivityDefinition
to
provide
a
detailed
structural
representation
of
the
activities
to
be
performed.
In
general,
where
there
is
overlap,
the
elements
from
the
PlanDefinition
provide
overriding
behavior.
Specifically,
the
following
elements
of
action
overlap
with
ActivityDefinition:
| Element | Behavior |
|---|---|
| title |
The
title
element
in
ActivityDefinition
is
the
title
of
the
activity
"as
defined",
where
the
title
element
in
PlanDefinition
reflects
the
title
in
the
scope
of
the
plan.
|
| description |
The
description
element
in
ActivityDefinition
is
the
description
of
the
activity
"as
defined",
where
the
description
element
in
PlanDefinition
reflects
the
description
in
the
scope
of
the
plan.
|
| code |
The
code
element
in
ActivityDefinition
represents
the
meaning
of
the
activity
"as
defined",
where
the
code
element
in
PlanDefinition
represents
the
meaning
in
the
scope
of
the
plan.
|
| documentation |
The
documentation
element
in
PlanDefinition
represents
additional
documentation
for
the
action
specific
to
the
scope
of
the
plan,
where
the
relatedArtifact
element
in
ActivityDefinition
provides
documentation
specific
to
the
activity
itself.
|
| timing |
The
timing
element
in
ActivityDefinition
represents
timings
associated
within
the
activity
itself,
where
the
timing
element
in
PlanDefinition
represents
the
timing
of
the
activity
with
respect
to
the
plan
and
its
other
actions.
When
a
timing
is
provided
on
both,
the
timing
defined
in
the
plan
generally
takes
precedence.
|
| asNeeded |
The
asNeeded
element
allows
pre-conditions
to
be
associated
with
an
action
or
activity.
When
asNeeded
is
specified
on
both,
the
value
specified
in
the
plan
generally
takes
precedence.
|
| participant |
The
participant
element
in
ActivityDefinition
represents
what
type
of
actor
is
expected
to
perform
the
activity
generally,
where
the
participant
element
in
PlanDefinition
represents
the
type
of
actor
that
is
expected
to
perform
the
activity
in
the
context
of
the
plan.
|
| transform |
The
transform
element
in
ActivityDefinition
describes
the
transformation
of
the
definition
to
a
request
or
event
resource
in
general,
where
the
transform
element
in
PlanDefinition
describes
the
transformation
within
the
scope
of
the
plan.
When
a
transform
is
present
in
both,
the
transform
in
the
plan
takes
precedence.
|
| dynamicValue |
The
dynamicValue
element
in
ActivityDefinition
defines
values
for
elements
of
the
target
request
or
event
resource
in
general,
where
the
dynamicValue
element
in
PlanDefinition
defines
values
within
the
scope
of
the
plan.
When
dynamic
values
are
present
in
both,
the
dynamic
values
from
the
ActivityDefinition
are
applied
first
(in
the
order
in
which
they
appear
on
the
ActivityDefinition),
followed
by
the
dynamic
values
from
the
PlanDefinition
(in
the
order
in
which
they
appear
on
the
PlanDefinition).
|
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 |
| composed-of | reference | What resource is being referenced |
PlanDefinition.relatedArtifact.where(type='composed-of').resource
(Any) |
5 Resources |
| context | token | A use context assigned to the plan definition | (PlanDefinition.useContext.value.ofType(CodeableConcept)) |
|
| context-quantity | quantity | A quantity- or range-valued use context assigned to the plan definition | (PlanDefinition.useContext.value.ofType(Quantity)) | (PlanDefinition.useContext.value.ofType(Range)) |
|
| context-type | token | A type of use context assigned to the plan definition | PlanDefinition.useContext.code |
|
| context-type-quantity | composite | A use context type and quantity- or range-based value assigned to the plan definition |
On
PlanDefinition.useContext:
context-type: code context-quantity: value.ofType(Quantity) | value.ofType(Range) |
|
| context-type-value | composite | A use context type and value assigned to the plan definition |
On
PlanDefinition.useContext:
context-type: code context: value.ofType(CodeableConcept) |
|
| date | date | The plan definition publication date | PlanDefinition.date |
|
| definition | reference | Activity or plan definitions used by plan definition |
( SpecimenDefinition , MessageDefinition , Questionnaire , Measure , ObservationDefinition , PlanDefinition , OperationDefinition , ActivityDefinition ) |
|
| depends-on | reference | What resource is being referenced |
PlanDefinition.relatedArtifact.where(type='depends-on').resource
|
PlanDefinition.library
( Library , Any) |
5 Resources |
| derived-from | reference | What resource is being referenced |
PlanDefinition.relatedArtifact.where(type='derived-from').resource
(Any) |
9 Resources |
| description | string | The description of the plan definition | PlanDefinition.description |
|
| effective | date | The time during which the plan definition is intended to be in use | PlanDefinition.effectivePeriod |
|
| experimental | token | Whether the PlanDefinition is experimental | PlanDefinition.experimental | |
| identifier | token | External identifier for the plan definition | PlanDefinition.identifier |
|
| jurisdiction | token |
|
PlanDefinition.jurisdiction |
|
| name | string | Computationally friendly name of the plan definition | PlanDefinition.name |
|
| predecessor | reference | What resource is being referenced |
PlanDefinition.relatedArtifact.where(type='predecessor').resource
(Any) |
9 Resources |
| publisher | string | Name of the publisher of the plan definition | PlanDefinition.publisher |
|
| status | token | The current status of the plan definition | PlanDefinition.status |
|
| subject-canonical | reference | The subject of the PlanDefinition when expressed as a canonical |
PlanDefinition.subject
as
canonical
( AdministrableProductDefinition , Group , SubstanceDefinition , ManufacturedItemDefinition , MedicinalProductDefinition , EvidenceVariable , PackagedProductDefinition ) |
|
| subject-code | token | The subject of the PlanDefinition when expressed as a code | PlanDefinition.subject as CodeableConcept | |
| subject-reference | reference | The subject of the PlanDefinition when expressed as a reference |
PlanDefinition.subject
as
Reference
( AdministrableProductDefinition , Group , SubstanceDefinition , ManufacturedItemDefinition , MedicinalProductDefinition , EvidenceVariable , PackagedProductDefinition ) |
|
| successor | reference | What resource is being referenced |
PlanDefinition.relatedArtifact.where(type='successor').resource
(Any) |
5 Resources |
| title | string | The human-friendly name of the plan definition | PlanDefinition.title |
|
| topic | token | Topics associated with the module | PlanDefinition.topic | 10 Resources |
| type | token | The type of artifact the plan (e.g. order-set, eca-rule, protocol) | PlanDefinition.type | |
| url | uri | The uri that identifies the plan definition | PlanDefinition.url |
|
| version | token | The business version of the plan definition | PlanDefinition.version |
|