Clinical
Decision
Support
![]() |
Maturity
Level
:
| Trial Use | Security Category : Business | Compartments : Not linked to any 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
sets,
protocols,
and
protocols.
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
specific
action
definition
describes
an
activity
to
be
performed
(in
(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
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
triggerDefinition
trigger
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, typically grouped within a CarePlan and/or RequestGroup 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
realized
for
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
.
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.
The
following
diagram
illustrates
the
relationship
between
the
PlanDefinition
and
ActivityDefinition
resources,
as
well
as
a
typical
realization
to
CarePlan,
RequestGroup,
and
Request
resources:
Note
to
implementers:
There
In
addition,
there
is
some
overlap
between
the
content
overlapping
information
that
can
be
specified
in
PlanDefinition.actionDefinition
and
the
ActivityDefinition
resource.
Part
of
allows
the
work
for
FHIR
Release
4
will
be
resources
to
resolve
the
overlap
and
this
will
likely
result
be
used
independently,
or
in
some
minor
changes
to
combination.
See
the
structures.
Applying
a
PlanDefinition
section
for
more
information.
This
resource
is
referenced
by
UsageContext
,
CarePlan
,
CatalogEntry
,
ClinicalUseIssue
,
Communication
,
ConditionDefinition
,
DeviceRequest
,
FamilyMemberHistory
,
Flag
,
MedicationAdministration
,
MedicationRequest
,
MessageDefinition
,
NutritionOrder
,
itself,
Procedure
,
ProcedureRequest
RegulatedAuthorization
,
ReferralRequest
ResearchStudy
and
ResearchStudy
ServiceRequest
.
This resource implements the Definition pattern.
Structure
Name | Flags | Card. | Type |
Description
&
Constraints
![]() |
---|---|---|---|---|
![]() ![]() | TU |
|
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 Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension , url , identifier , version , name , title , status , experimental , date , publisher , contact , description , useContext , jurisdiction , purpose , copyright , approvalDate , lastReviewDate , effectivePeriod | |
![]() ![]() ![]() | Σ | 0..1 |
uri
|
Canonical
identifier
for
this
plan
|
![]() ![]() ![]() | Σ | 0..* | Identifier |
Additional
identifier
for
the
plan
definition
|
![]() ![]() ![]() | Σ | 0..1 | string | Business version of the plan definition |
![]() ![]() ![]() | Σ I | 0..1 | string | Name for this plan definition (computer friendly) |
![]() ![]() ![]() | Σ | 0..1 | string | Name for this plan definition (human friendly) |
![]() ![]() ![]() | 0..1 | string | Subordinate title of the plan definition | |
![]() ![]() ![]() | Σ | 0..1 | CodeableConcept |
order-set
|
PlanDefinitionType ( Extensible ) |
![]() ![]() ![]() | ?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
PublicationStatus ( Required ) |
![]() ![]() ![]() | Σ | 0..1 | boolean | For testing purposes, not real usage |
![]() ![]() ![]() | 0..1 |
Type
of
individual
the
plan
definition
is
focused
on
Subject type ( Extensible ) | ||
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | Reference ( Group ) | |||
![]() ![]() ![]() ![]() | canonical ( MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition ) | |||
![]() ![]() ![]() | Σ | 0..1 | dateTime |
Date
|
![]() ![]() ![]() | Σ | 0..1 | string | Name of the publisher (organization or individual) |
![]() ![]() ![]() | Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
![]() ![]() ![]() | Σ | 0..1 | markdown | Natural language description of the plan definition |
![]() ![]() ![]() | Σ | 0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
![]() ![]() ![]() | Σ | 0..* | CodeableConcept |
Intended
jurisdiction
for
plan
definition
(if
applicable)
Jurisdiction ( Extensible ) |
![]() ![]() ![]() | 0..1 | markdown | Why this plan definition is defined | |
![]() ![]() ![]() | 0..1 | string |
Describes
the
clinical
usage
of
the
| |
![]() ![]() ![]() | 0..1 | markdown | Use and/or publishing restrictions | |
![]() ![]() ![]() | 0..1 | date | When the plan definition was approved by publisher | |
![]() ![]() ![]() | 0..1 | date | When the plan definition was last reviewed | |
![]() ![]() ![]() | Σ | 0..1 | Period | When the plan definition is expected to be used |
![]() ![]() ![]() |
| 0..* | CodeableConcept |
|
![]() ![]() ![]() | 0..* |
|
Who
authored
the
content
| |
![]() ![]() ![]() | 0..* |
|
| |
![]() ![]() ![]() | 0..* |
ContactDetail
|
Who
reviewed
the
| |
![]() ![]() ![]() |
|
|
| |
![]() ![]() ![]() | 0..* |
RelatedArtifact
|
Additional
documentation,
citations
| |
![]() ![]() ![]() | 0..* |
|
Logic
used
by
the
plan
definition
| |
![]() ![]() ![]() | 0..* | BackboneElement |
What
the
plan
is
trying
to
accomplish
| |
![]() ![]() ![]() ![]() | 0..1 | CodeableConcept |
E.g.
Treatment,
dietary,
GoalCategory ( Example ) | |
![]() ![]() ![]() ![]() | 1..1 | CodeableConcept |
Code
or
text
describing
the
goal
SNOMED CT Clinical Findings ( Example ) | |
![]() ![]() ![]() ![]() | 0..1 | CodeableConcept |
high-priority
|
medium-priority
|
low-priority
GoalPriority ( Preferred ) | |
![]() ![]() ![]() ![]() | 0..1 | CodeableConcept |
When
goal
pursuit
begins
GoalStartEvent ( Example ) | |
![]() ![]() ![]() ![]() | 0..* | CodeableConcept |
What
does
the
goal
address
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
LOINC Codes ( Example ) | |
![]() ![]() ![]() ![]() ![]() | 0..1 | The target value to be achieved | ||
![]() ![]() ![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() ![]() | 0..1 | Duration | Reach goal within | |
![]() ![]() ![]() | 0..* | BackboneElement |
Action
defined
by
the
plan
| |
![]() ![]() ![]() ![]() | 0..1 | string |
User-visible
| |
![]() ![]() ![]() ![]() | 0..1 | string | User-visible title | |
![]() ![]() ![]() ![]() | 0..1 | string |
| |
![]() ![]() ![]() ![]() | 0..1 | string | Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system | |
![]() ![]() ![]() ![]() |
| code |
routine
|
urgent
|
asap
|
stat
RequestPriority ( Required ) | |
![]() ![]() ![]() ![]() | 0..* | CodeableConcept |
Code
representing
the
meaning
of
the
action
or
sub-actions
ActionCode ( Example ) | |
![]() ![]() ![]() ![]() | 0..* | CodeableConcept |
Why
the
action
should
be
performed
ActionReasonCode ( Example ) | |
![]() ![]() ![]() ![]() | 0..* | RelatedArtifact |
Supporting
documentation
for
the
intended
performer
of
the
action
| |
![]() ![]() ![]() ![]() | 0..* | id |
What
goals
this
action
supports
| |
![]() ![]() ![]() ![]() | 0..1 |
Type
of
individual
the
action
is
focused
on
Subject type ( 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
ActionConditionKind ( Required ) | |
![]() ![]() ![]() ![]() ![]() | 0..1 |
| Boolean-valued expression | |
![]() ![]() ![]() ![]() | 0..* | DataRequirement |
Input
data
requirements
| |
![]() ![]() ![]() ![]() | 0..* | DataRequirement |
Output
data
definition
| |
![]() ![]() ![]() ![]() | 0..* | BackboneElement |
Relationship
to
another
action
| |
![]() ![]() ![]() ![]() ![]() | 1..1 | id | What action is this related to | |
![]() ![]() ![]() ![]() ![]() | 1..1 | code |
before-start
|
before
|
before-end
|
concurrent-with-start
|
concurrent
|
concurrent-with-end
|
after-start
|
after
|
after-end
ActionRelationshipType ( Required ) | |
![]() ![]() ![]() ![]() ![]() | 0..1 | Time offset for the relationship | ||
![]() ![]() ![]() ![]() ![]() ![]() | Duration | |||
![]() ![]() ![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() | 0..1 | When the action should take place | ||
![]() ![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() ![]() | Age | |||
![]() ![]() ![]() ![]() ![]() | Period | |||
![]() ![]() ![]() ![]() ![]() | Duration | |||
![]() ![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() ![]() | Timing | |||
![]() ![]() ![]() ![]() | 0..* | BackboneElement |
Who
should
participate
in
the
action
| |
![]() ![]() ![]() ![]() ![]() | 1..1 | code |
patient
|
practitioner
|
related-person
|
device
ActionParticipantType ( Required ) | |
![]() ![]() ![]() ![]() ![]() | 0..1 | CodeableConcept |
E.g.
Nurse,
Surgeon,
ActionParticipantRole ![]() | |
![]() ![]() ![]() ![]() | 0..1 |
|
create
|
update
|
remove
|
fire-event
ActionType ( | |
![]() ![]() ![]() ![]() | 0..1 | code |
visual-group
|
logical-group
|
sentence-group
ActionGroupingBehavior ( Required ) | |
![]() ![]() ![]() ![]() | 0..1 | code |
any
|
all
|
all-or-none
|
exactly-one
|
at-most-one
|
one-or-more
ActionSelectionBehavior ( Required ) | |
![]() ![]() ![]() ![]() | 0..1 | code |
must
|
could
|
must-unless-documented
ActionRequiredBehavior ( Required ) | |
![]() ![]() ![]() ![]() | 0..1 | code |
yes
|
no
ActionPrecheckBehavior ( Required ) | |
![]() ![]() ![]() ![]() | 0..1 | code |
single
|
multiple
ActionCardinalityBehavior ( Required ) | |
![]() ![]() ![]() ![]() | 0..1 | Description of the activity to be performed | ||
![]() ![]() ![]() ![]() ![]() |
|
|
| |
![]() ![]() ![]() ![]() ![]() | uri | |||
![]() ![]() ![]() ![]() | 0..1 |
| 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 |
| An expression that provides the dynamic value for the customization | |
![]() ![]() ![]() ![]() | 0..* | see action |
A
sub-action
| |
![]() |
UML Diagram ( Legend )
XML Template
<PlanDefinition xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language -->
<!-- from --> <<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 --><<name value="[string]"/><!--0..1 Name for this plan definition (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this plan definition (human friendly) -->
<</type><subtitle value="[string]"/><!-- 0..1 Subordinate title of the plan definition --> <type><!-- 0..1 CodeableConcept order-set | clinical-protocol | eca-rule | workflow-definition --></type> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->< < <<experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage --> <subject[x]><!-- 0..1 CodeableConcept|Reference(Group)|canonical( AdministrableProductDefinition|ManufacturedItemDefinition| MedicinalProductDefinition|PackagedProductDefinition|SubstanceDefinition) 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 (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the plan definition -->< < < < <</effectivePeriod> <</useContext><useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for plan definition (if applicable) --></jurisdiction><</topic> <</contributor> <</contact><purpose value="[markdown]"/><!-- 0..1 Why this plan definition is defined --> <usage value="[string]"/><!-- 0..1 Describes the clinical usage of the plan --> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --><</relatedArtifact> <</library> < <</category><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 --> <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> <!-- 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> <</detail[x]><measure><!-- 0..1 CodeableConcept The parameter whose value is to be tracked --></measure> <detail[x]><!-- 0..1 Quantity|Range|CodeableConcept The target value to be achieved --></detail[x]> <due><!-- 0..1 Duration Reach goal within --></due> </target> </goal>< < < < < <</code> <</reason><action> <!-- 0..* Action defined by the plan --> <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="[string]"/><!-- 0..1 Brief description of the action --> <textEquivalent value="[string]"/><!-- 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..* 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>< <</triggerDefinition> <<goalId value="[id]"/><!-- 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..* DataRequirement Input data requirements --></input> <output><!-- 0..* DataRequirement Output data definition --></output> <relatedAction> <!-- 0..* Relationship to another action --> <actionId value="[id]"/><!-- 1..1 What action is this related to --> <relationship value="[code]"/><!-- 1..1 before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end --> <offset[x]><!-- 0..1 Duration|Range Time offset for the relationship --></offset[x]> </relatedAction><</timing[x]><timing[x]><!-- 0..1 dateTime|Age|Period|Duration|Range|Timing When the action should take place --></timing[x]> <participant> <!-- 0..* Who should participate in the action -->< <</role><type value="[code]"/><!-- 1..1 patient | practitioner | related-person | device --> <role><!-- 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent--></role> </participant>
<</type><type><!-- 0..1 CodeableConcept create | update | remove | fire-event --></type> <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> <</transform><definition[x]><!-- 0..1 canonical(ActivityDefinition|PlanDefinition| Questionnaire)|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> </PlanDefinition>
JSON Template
{![]()
"resourceType" : "","resourceType" : "PlanDefinition", // from Resource: id, meta, implicitRules, and language// from ""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""name" : "<string>", // C? 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 | clinical-protocol | eca-rule | workflow-definition "status" : "<code>", // R! draft | active | retired | unknown" " ""experimental" : <boolean>, // For testing purposes, not real usage // subject[x]: Type of individual the plan definition is focused on. One of these 3: "subjectCodeableConcept" : { CodeableConcept }, "subjectReference" : { Reference(Group) }, "subjectCanonical" : { canonical(AdministrableProductDefinition| ManufacturedItemDefinition|MedicinalProductDefinition| PackagedProductDefinition|SubstanceDefinition) }, "date" : "<dateTime>", // Date last changed "publisher" : "<string>", // Name of the publisher (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 }], // Intended jurisdiction for plan definition (if applicable)" " ""purpose" : "<markdown>", // Why this plan definition is defined "usage" : "<string>", // Describes the clinical usage of the plan "copyright" : "<markdown>", // Use and/or publishing restrictions" " " ""approvalDate" : "<date>", // When the plan definition was approved by publisher "lastReviewDate" : "<date>", // When the plan definition was last reviewed "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" : [{ // 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 3:" }, " }, " },"detailQuantity" : { Quantity }, "detailRange" : { Range }, "detailCodeableConcept" : { CodeableConcept }, "due" : { Duration } // Reach goal within }] }]," " " " " " ""action" : [{ // Action defined by the plan "prefix" : "<string>", // User-visible prefix for the action (e.g. 1. or A.) "title" : "<string>", // User-visible title "description" : "<string>", // Brief description of the action "textEquivalent" : "<string>", // 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" : ["<id>"], // 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" : [{ DataRequirement }], // Input data requirements "output" : [{ DataRequirement }], // Output data definition "relatedAction" : [{ // Relationship to another action "actionId" : "<id>", // R! What action is this related to "relationship" : "<code>", // R! before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | 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 6: "timingDateTime" : "<dateTime>", "timingAge" : { Age }, "timingPeriod" : { Period }, "timingDuration" : { Duration }, "timingRange" : { Range }, "timingTiming" : { Timing }, "participant" : [{ // Who should participate in the action" ""type" : "<code>", // R! patient | practitioner | related-person | device "role" : { CodeableConcept } // E.g. Nurse, Surgeon, Parent}],
""type" : { CodeableConcept }, // create | update | remove | fire-event "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|PlanDefinition| Questionnaire) }, "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 }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .![]()
[ a fhir:;[ a fhir:PlanDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language# from fhir:fhir:PlanDefinition.url [ uri ]; # 0..1 Canonical identifier for this plan definition, represented as a URI (globally unique) fhir:PlanDefinition.identifier [ Identifier ], ... ; # 0..* Additional identifier for the plan definition fhir:PlanDefinition.version [ string ]; # 0..1 Business version of the plan definition fhir:PlanDefinition.name [ string ]; # 0..1 Name for this plan definition (computer friendly) fhir:PlanDefinition.title [ string ]; # 0..1 Name for this plan definition (human friendly)fhir:fhir:PlanDefinition.subtitle [ string ]; # 0..1 Subordinate title of the plan definition fhir:PlanDefinition.type [ CodeableConcept ]; # 0..1 order-set | clinical-protocol | eca-rule | workflow-definition fhir:PlanDefinition.status [ code ]; # 1..1 draft | active | retired | unknownfhir: fhir: fhir:fhir:PlanDefinition.experimental [ boolean ]; # 0..1 For testing purposes, not real usage # PlanDefinition.subject[x] : 0..1 Type of individual the plan definition is focused on. One of these 3 fhir:PlanDefinition.subjectCodeableConcept [ CodeableConcept ] fhir:PlanDefinition.subjectReference [ Reference(Group) ] fhir:PlanDefinition.subjectCanonical [ canonical(AdministrableProductDefinition|ManufacturedItemDefinition| MedicinalProductDefinition|PackagedProductDefinition|SubstanceDefinition) ] fhir:PlanDefinition.date [ dateTime ]; # 0..1 Date last changed fhir:PlanDefinition.publisher [ string ]; # 0..1 Name of the publisher (organization or individual) fhir:PlanDefinition.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:PlanDefinition.description [ markdown ]; # 0..1 Natural language description of the plan definitionfhir: fhir: fhir: fhir: fhir: fhir:fhir:PlanDefinition.useContext [ UsageContext ], ... ; # 0..* The context that the content is intended to support fhir:PlanDefinition.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for plan definition (if applicable)fhir: fhir: fhir:fhir:PlanDefinition.purpose [ markdown ]; # 0..1 Why this plan definition is defined fhir:PlanDefinition.usage [ string ]; # 0..1 Describes the clinical usage of the plan fhir:PlanDefinition.copyright [ markdown ]; # 0..1 Use and/or publishing restrictionsfhir: fhir: fhir: fhir:fhir:PlanDefinition.approvalDate [ date ]; # 0..1 When the plan definition was approved by publisher fhir:PlanDefinition.lastReviewDate [ date ]; # 0..1 When the plan definition was last reviewed fhir:PlanDefinition.effectivePeriod [ Period ]; # 0..1 When the plan definition is expected to be used fhir:PlanDefinition.topic [ CodeableConcept ], ... ; # 0..* E.g. Education, Treatment, Assessment fhir:PlanDefinition.author [ ContactDetail ], ... ; # 0..* Who authored the content fhir:PlanDefinition.editor [ ContactDetail ], ... ; # 0..* Who edited the content fhir:PlanDefinition.reviewer [ ContactDetail ], ... ; # 0..* Who reviewed the content fhir:PlanDefinition.endorser [ ContactDetail ], ... ; # 0..* Who endorsed the content fhir:PlanDefinition.relatedArtifact [ RelatedArtifact ], ... ; # 0..* Additional documentation, citations fhir:PlanDefinition.library [ canonical(Library) ], ... ; # 0..* Logic used by the plan definition fhir:PlanDefinition.goal [ # 0..* What the plan is trying to accomplish fhir:PlanDefinition.goal.category [ CodeableConcept ]; # 0..1 E.g. Treatment, dietary, behavioral fhir:PlanDefinition.goal.description [ CodeableConcept ]; # 1..1 Code or text describing the goal fhir:PlanDefinition.goal.priority [ CodeableConcept ]; # 0..1 high-priority | medium-priority | low-priority fhir:PlanDefinition.goal.start [ CodeableConcept ]; # 0..1 When goal pursuit begins fhir:PlanDefinition.goal.addresses [ CodeableConcept ], ... ; # 0..* What does the goal address fhir:PlanDefinition.goal.documentation [ RelatedArtifact ], ... ; # 0..* Supporting documentation for the goal fhir:PlanDefinition.goal.target [ # 0..* Target outcome for the goalfhir: # . One of these 3 fhir: ] fhir: ] fhir: ]fhir:PlanDefinition.goal.target.measure [ CodeableConcept ]; # 0..1 The parameter whose value is to be tracked # PlanDefinition.goal.target.detail[x] : 0..1 The target value to be achieved. One of these 3 fhir:PlanDefinition.goal.target.detailQuantity [ Quantity ] fhir:PlanDefinition.goal.target.detailRange [ Range ] fhir:PlanDefinition.goal.target.detailCodeableConcept [ CodeableConcept ] fhir:PlanDefinition.goal.target.due [ Duration ]; # 0..1 Reach goal within ], ...; ], ...;fhir: fhir: fhir: fhir: fhir: fhir:fhir:PlanDefinition.action [ # 0..* Action defined by the plan fhir:PlanDefinition.action.prefix [ string ]; # 0..1 User-visible prefix for the action (e.g. 1. or A.) fhir:PlanDefinition.action.title [ string ]; # 0..1 User-visible title fhir:PlanDefinition.action.description [ string ]; # 0..1 Brief description of the action fhir:PlanDefinition.action.textEquivalent [ string ]; # 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system fhir:PlanDefinition.action.priority [ code ]; # 0..1 routine | urgent | asap | stat fhir:PlanDefinition.action.code [ CodeableConcept ], ... ; # 0..* Code representing the meaning of the action or sub-actions fhir:PlanDefinition.action.reason [ CodeableConcept ], ... ; # 0..* Why the action should be performed fhir:PlanDefinition.action.documentation [ RelatedArtifact ], ... ; # 0..* Supporting documentation for the intended performer of the actionfhir: fhir: fhir:fhir:PlanDefinition.action.goalId [ id ], ... ; # 0..* What goals this action supports # PlanDefinition.action.subject[x] : 0..1 Type of individual the action is focused on. One of these 3 fhir:PlanDefinition.action.subjectCodeableConcept [ CodeableConcept ] fhir:PlanDefinition.action.subjectReference [ Reference(Group) ] fhir:PlanDefinition.action.subjectCanonical [ canonical ] fhir:PlanDefinition.action.trigger [ TriggerDefinition ], ... ; # 0..* When the action should be triggered fhir:PlanDefinition.action.condition [ # 0..* Whether or not the action is applicable fhir:PlanDefinition.action.condition.kind [ code ]; # 1..1 applicability | start | stopfhir: fhir: fhir:fhir:PlanDefinition.action.condition.expression [ Expression ]; # 0..1 Boolean-valued expression ], ...; fhir:PlanDefinition.action.input [ DataRequirement ], ... ; # 0..* Input data requirements fhir:PlanDefinition.action.output [ DataRequirement ], ... ; # 0..* Output data definition fhir:PlanDefinition.action.relatedAction [ # 0..* Relationship to another action fhir:PlanDefinition.action.relatedAction.actionId [ id ]; # 1..1 What action is this related to fhir:PlanDefinition.action.relatedAction.relationship [ code ]; # 1..1 before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end # PlanDefinition.action.relatedAction.offset[x] : 0..1 Time offset for the relationship. One of these 2 fhir:PlanDefinition.action.relatedAction.offsetDuration [ Duration ] fhir:PlanDefinition.action.relatedAction.offsetRange [ Range ] ], ...;# . One of these 5# PlanDefinition.action.timing[x] : 0..1 When the action should take place. One of these 6 fhir:PlanDefinition.action.timingDateTime [ dateTime ] fhir:PlanDefinition.action.timingAge [ Age ] fhir:PlanDefinition.action.timingPeriod [ Period ] fhir:PlanDefinition.action.timingDuration [ Duration ] fhir:PlanDefinition.action.timingRange [ Range ] fhir:PlanDefinition.action.timingTiming [ Timing ] fhir:PlanDefinition.action.participant [ # 0..* Who should participate in the actionfhir: fhir:fhir:PlanDefinition.action.participant.type [ code ]; # 1..1 patient | practitioner | related-person | device fhir:PlanDefinition.action.participant.role [ CodeableConcept ]; # 0..1 E.g. Nurse, Surgeon, Parent ], ...;fhir:fhir:PlanDefinition.action.type [ CodeableConcept ]; # 0..1 create | update | remove | fire-event fhir:PlanDefinition.action.groupingBehavior [ code ]; # 0..1 visual-group | logical-group | sentence-group fhir:PlanDefinition.action.selectionBehavior [ code ]; # 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-morefhir:fhir:PlanDefinition.action.requiredBehavior [ code ]; # 0..1 must | could | must-unless-documented fhir:PlanDefinition.action.precheckBehavior [ code ]; # 0..1 yes | no fhir:PlanDefinition.action.cardinalityBehavior [ code ]; # 0..1 single | multiplefhir: fhir:# PlanDefinition.action.definition[x] : 0..1 Description of the activity to be performed. One of these 2 fhir:PlanDefinition.action.definitionCanonical [ canonical(ActivityDefinition|PlanDefinition|Questionnaire) ] fhir:PlanDefinition.action.definitionUri [ uri ] fhir:PlanDefinition.action.transform [ canonical(StructureMap) ]; # 0..1 Transform to apply the template fhir:PlanDefinition.action.dynamicValue [ # 0..* Dynamic aspects of the definitionfhir: fhir: fhir: fhir:fhir:PlanDefinition.action.dynamicValue.path [ string ]; # 0..1 The path to the element to be set dynamically fhir:PlanDefinition.action.dynamicValue.expression [ Expression ]; # 0..1 An expression that provides the dynamic value for the customization ], ...; fhir:PlanDefinition.action.action [ See PlanDefinition.action ], ... ; # 0..* A sub-action ], ...; ]
Changes
since
DSTU2
R3
PlanDefinition | |
PlanDefinition.status |
|
PlanDefinition.subject[x] |
|
PlanDefinition.action.priority |
|
PlanDefinition.action.subject[x] |
|
PlanDefinition.action.condition.kind |
|
PlanDefinition.action.relatedAction.relationship |
|
PlanDefinition.action.participant.type |
|
PlanDefinition.action.groupingBehavior |
|
PlanDefinition.action.selectionBehavior |
|
PlanDefinition.action.requiredBehavior |
|
PlanDefinition.action.precheckBehavior |
|
PlanDefinition.action.cardinalityBehavior |
|
This
resource
did
not
exist
in
Release
2
See
the
Full
Difference
for
further
information
This analysis is available as XML or JSON .
See R3 <--> R4 Conversion Maps (status = 11 tests of which 6 fail to execute . All tests pass round-trip testing and 5 r3 resources are invalid (0 errors). )
Structure
Name | Flags | Card. | Type |
Description
&
Constraints
![]() |
---|---|---|---|---|
![]() ![]() | TU |
|
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 Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension , url , identifier , version , name , title , status , experimental , date , publisher , contact , description , useContext , jurisdiction , purpose , copyright , approvalDate , lastReviewDate , effectivePeriod | |
![]() ![]() ![]() | Σ | 0..1 |
uri
|
Canonical
identifier
for
this
plan
|
![]() ![]() ![]() | Σ | 0..* | Identifier |
Additional
identifier
for
the
plan
definition
|
![]() ![]() ![]() | Σ | 0..1 | string | Business version of the plan definition |
![]() ![]() ![]() | Σ I | 0..1 | string | Name for this plan definition (computer friendly) |
![]() ![]() ![]() | Σ | 0..1 | string | Name for this plan definition (human friendly) |
![]() ![]() ![]() | 0..1 | string | Subordinate title of the plan definition | |
![]() ![]() ![]() | Σ | 0..1 | CodeableConcept |
order-set
|
PlanDefinitionType ( Extensible ) |
![]() ![]() ![]() | ?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
PublicationStatus ( Required ) |
![]() ![]() ![]() | Σ | 0..1 | boolean | For testing purposes, not real usage |
![]() ![]() ![]() | 0..1 |
Type
of
individual
the
plan
definition
is
focused
on
Subject type ( Extensible ) | ||
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | Reference ( Group ) | |||
![]() ![]() ![]() ![]() | canonical ( MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition ) | |||
![]() ![]() ![]() | Σ | 0..1 | dateTime |
Date
|
![]() ![]() ![]() | Σ | 0..1 | string | Name of the publisher (organization or individual) |
![]() ![]() ![]() | Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
![]() ![]() ![]() | Σ | 0..1 | markdown | Natural language description of the plan definition |
![]() ![]() ![]() | Σ | 0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
![]() ![]() ![]() | Σ | 0..* | CodeableConcept |
Intended
jurisdiction
for
plan
definition
(if
applicable)
Jurisdiction ( Extensible ) |
![]() ![]() ![]() | 0..1 | markdown | Why this plan definition is defined | |
![]() ![]() ![]() | 0..1 | string |
Describes
the
clinical
usage
of
the
| |
![]() ![]() ![]() | 0..1 | markdown | Use and/or publishing restrictions | |
![]() ![]() ![]() | 0..1 | date | When the plan definition was approved by publisher | |
![]() ![]() ![]() | 0..1 | date | When the plan definition was last reviewed | |
![]() ![]() ![]() | Σ | 0..1 | Period | When the plan definition is expected to be used |
![]() ![]() ![]() |
| 0..* | CodeableConcept |
|
![]() ![]() ![]() | 0..* |
|
Who
authored
the
content
| |
![]() ![]() ![]() | 0..* |
|
| |
![]() ![]() ![]() | 0..* |
ContactDetail
|
Who
reviewed
the
| |
![]() ![]() ![]() |
|
|
| |
![]() ![]() ![]() | 0..* |
RelatedArtifact
|
Additional
documentation,
citations
| |
![]() ![]() ![]() | 0..* |
|
Logic
used
by
the
plan
definition
| |
![]() ![]() ![]() | 0..* | BackboneElement |
What
the
plan
is
trying
to
accomplish
| |
![]() ![]() ![]() ![]() | 0..1 | CodeableConcept |
E.g.
Treatment,
dietary,
GoalCategory ( Example ) | |
![]() ![]() ![]() ![]() | 1..1 | CodeableConcept |
Code
or
text
describing
the
goal
SNOMED CT Clinical Findings ( Example ) | |
![]() ![]() ![]() ![]() | 0..1 | CodeableConcept |
high-priority
|
medium-priority
|
low-priority
GoalPriority ( Preferred ) | |
![]() ![]() ![]() ![]() | 0..1 | CodeableConcept |
When
goal
pursuit
begins
GoalStartEvent ( Example ) | |
![]() ![]() ![]() ![]() | 0..* | CodeableConcept |
What
does
the
goal
address
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
LOINC Codes ( Example ) | |
![]() ![]() ![]() ![]() ![]() | 0..1 | The target value to be achieved | ||
![]() ![]() ![]() ![]() ![]() ![]() | Quantity | |||
![]() ![]() ![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() ![]() | 0..1 | Duration | Reach goal within | |
![]() ![]() ![]() | 0..* | BackboneElement |
Action
defined
by
the
plan
| |
![]() ![]() ![]() ![]() | 0..1 | string |
User-visible
| |
![]() ![]() ![]() ![]() | 0..1 | string | User-visible title | |
![]() ![]() ![]() ![]() | 0..1 | string |
| |
![]() ![]() ![]() ![]() | 0..1 | string | Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system | |
![]() ![]() ![]() ![]() |
| code |
routine
|
urgent
|
asap
|
stat
RequestPriority ( Required ) | |
![]() ![]() ![]() ![]() | 0..* | CodeableConcept |
Code
representing
the
meaning
of
the
action
or
sub-actions
ActionCode ( Example ) | |
![]() ![]() ![]() ![]() | 0..* | CodeableConcept |
Why
the
action
should
be
performed
ActionReasonCode ( Example ) | |
![]() ![]() ![]() ![]() | 0..* | RelatedArtifact |
Supporting
documentation
for
the
intended
performer
of
the
action
| |
![]() ![]() ![]() ![]() | 0..* | id |
What
goals
this
action
supports
| |
![]() ![]() ![]() ![]() | 0..1 |
Type
of
individual
the
action
is
focused
on
Subject type ( 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
ActionConditionKind ( Required ) | |
![]() ![]() ![]() ![]() ![]() | 0..1 |
| Boolean-valued expression | |
![]() ![]() ![]() ![]() | 0..* | DataRequirement |
Input
data
requirements
| |
![]() ![]() ![]() ![]() | 0..* | DataRequirement |
Output
data
definition
| |
![]() ![]() ![]() ![]() | 0..* | BackboneElement |
Relationship
to
another
action
| |
![]() ![]() ![]() ![]() ![]() | 1..1 | id | What action is this related to | |
![]() ![]() ![]() ![]() ![]() | 1..1 | code |
before-start
|
before
|
before-end
|
concurrent-with-start
|
concurrent
|
concurrent-with-end
|
after-start
|
after
|
after-end
ActionRelationshipType ( Required ) | |
![]() ![]() ![]() ![]() ![]() | 0..1 | Time offset for the relationship | ||
![]() ![]() ![]() ![]() ![]() ![]() | Duration | |||
![]() ![]() ![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() | 0..1 | When the action should take place | ||
![]() ![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() ![]() | Age | |||
![]() ![]() ![]() ![]() ![]() | Period | |||
![]() ![]() ![]() ![]() ![]() | Duration | |||
![]() ![]() ![]() ![]() ![]() | Range | |||
![]() ![]() ![]() ![]() ![]() | Timing | |||
![]() ![]() ![]() ![]() | 0..* | BackboneElement |
Who
should
participate
in
the
action
| |
![]() ![]() ![]() ![]() ![]() | 1..1 | code |
patient
|
practitioner
|
related-person
|
device
ActionParticipantType ( Required ) | |
![]() ![]() ![]() ![]() ![]() | 0..1 | CodeableConcept |
E.g.
Nurse,
Surgeon,
ActionParticipantRole ![]() | |
![]() ![]() ![]() ![]() | 0..1 |
|
create
|
update
|
remove
|
fire-event
ActionType ( | |
![]() ![]() ![]() ![]() | 0..1 | code |
visual-group
|
logical-group
|
sentence-group
ActionGroupingBehavior ( Required ) | |
![]() ![]() ![]() ![]() | 0..1 | code |
any
|
all
|
all-or-none
|
exactly-one
|
at-most-one
|
one-or-more
ActionSelectionBehavior ( Required ) | |
![]() ![]() ![]() ![]() | 0..1 | code |
must
|
could
|
must-unless-documented
ActionRequiredBehavior ( Required ) | |
![]() ![]() ![]() ![]() | 0..1 | code |
yes
|
no
ActionPrecheckBehavior ( Required ) | |
![]() ![]() ![]() ![]() | 0..1 | code |
single
|
multiple
ActionCardinalityBehavior ( Required ) | |
![]() ![]() ![]() ![]() | 0..1 | Description of the activity to be performed | ||
![]() ![]() ![]() ![]() ![]() |
|
|
| |
![]() ![]() ![]() ![]() ![]() | uri | |||
![]() ![]() ![]() ![]() | 0..1 |
| 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 |
| An expression that provides the dynamic value for the customization | |
![]() ![]() ![]() ![]() | 0..* | see action |
A
sub-action
| |
![]() |
XML Template
<PlanDefinition xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language -->
<!-- from --> <<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 --><<name value="[string]"/><!--0..1 Name for this plan definition (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this plan definition (human friendly) -->
<</type><subtitle value="[string]"/><!-- 0..1 Subordinate title of the plan definition --> <type><!-- 0..1 CodeableConcept order-set | clinical-protocol | eca-rule | workflow-definition --></type> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->< < <<experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage --> <subject[x]><!-- 0..1 CodeableConcept|Reference(Group)|canonical( AdministrableProductDefinition|ManufacturedItemDefinition| MedicinalProductDefinition|PackagedProductDefinition|SubstanceDefinition) 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 (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the plan definition -->< < < < <</effectivePeriod> <</useContext><useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for plan definition (if applicable) --></jurisdiction><</topic> <</contributor> <</contact><purpose value="[markdown]"/><!-- 0..1 Why this plan definition is defined --> <usage value="[string]"/><!-- 0..1 Describes the clinical usage of the plan --> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --><</relatedArtifact> <</library> < <</category><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 --> <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> <!-- 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> <</detail[x]><measure><!-- 0..1 CodeableConcept The parameter whose value is to be tracked --></measure> <detail[x]><!-- 0..1 Quantity|Range|CodeableConcept The target value to be achieved --></detail[x]> <due><!-- 0..1 Duration Reach goal within --></due> </target> </goal>< < < < < <</code> <</reason><action> <!-- 0..* Action defined by the plan --> <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="[string]"/><!-- 0..1 Brief description of the action --> <textEquivalent value="[string]"/><!-- 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..* 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>< <</triggerDefinition> <<goalId value="[id]"/><!-- 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..* DataRequirement Input data requirements --></input> <output><!-- 0..* DataRequirement Output data definition --></output> <relatedAction> <!-- 0..* Relationship to another action --> <actionId value="[id]"/><!-- 1..1 What action is this related to --> <relationship value="[code]"/><!-- 1..1 before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end --> <offset[x]><!-- 0..1 Duration|Range Time offset for the relationship --></offset[x]> </relatedAction><</timing[x]><timing[x]><!-- 0..1 dateTime|Age|Period|Duration|Range|Timing When the action should take place --></timing[x]> <participant> <!-- 0..* Who should participate in the action -->< <</role><type value="[code]"/><!-- 1..1 patient | practitioner | related-person | device --> <role><!-- 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent--></role> </participant>
<</type><type><!-- 0..1 CodeableConcept create | update | remove | fire-event --></type> <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> <</transform><definition[x]><!-- 0..1 canonical(ActivityDefinition|PlanDefinition| Questionnaire)|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> </PlanDefinition>
JSON Template
{![]()
"resourceType" : "","resourceType" : "PlanDefinition", // from Resource: id, meta, implicitRules, and language// from ""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""name" : "<string>", // C? 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 | clinical-protocol | eca-rule | workflow-definition "status" : "<code>", // R! draft | active | retired | unknown" " ""experimental" : <boolean>, // For testing purposes, not real usage // subject[x]: Type of individual the plan definition is focused on. One of these 3: "subjectCodeableConcept" : { CodeableConcept }, "subjectReference" : { Reference(Group) }, "subjectCanonical" : { canonical(AdministrableProductDefinition| ManufacturedItemDefinition|MedicinalProductDefinition| PackagedProductDefinition|SubstanceDefinition) }, "date" : "<dateTime>", // Date last changed "publisher" : "<string>", // Name of the publisher (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 }], // Intended jurisdiction for plan definition (if applicable)" " ""purpose" : "<markdown>", // Why this plan definition is defined "usage" : "<string>", // Describes the clinical usage of the plan "copyright" : "<markdown>", // Use and/or publishing restrictions" " " ""approvalDate" : "<date>", // When the plan definition was approved by publisher "lastReviewDate" : "<date>", // When the plan definition was last reviewed "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" : [{ // 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 3:" }, " }, " },"detailQuantity" : { Quantity }, "detailRange" : { Range }, "detailCodeableConcept" : { CodeableConcept }, "due" : { Duration } // Reach goal within }] }]," " " " " " ""action" : [{ // Action defined by the plan "prefix" : "<string>", // User-visible prefix for the action (e.g. 1. or A.) "title" : "<string>", // User-visible title "description" : "<string>", // Brief description of the action "textEquivalent" : "<string>", // 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" : ["<id>"], // 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" : [{ DataRequirement }], // Input data requirements "output" : [{ DataRequirement }], // Output data definition "relatedAction" : [{ // Relationship to another action "actionId" : "<id>", // R! What action is this related to "relationship" : "<code>", // R! before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | 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 6: "timingDateTime" : "<dateTime>", "timingAge" : { Age }, "timingPeriod" : { Period }, "timingDuration" : { Duration }, "timingRange" : { Range }, "timingTiming" : { Timing }, "participant" : [{ // Who should participate in the action" ""type" : "<code>", // R! patient | practitioner | related-person | device "role" : { CodeableConcept } // E.g. Nurse, Surgeon, Parent}],
""type" : { CodeableConcept }, // create | update | remove | fire-event "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|PlanDefinition| Questionnaire) }, "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 }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .![]()
[ a fhir:;[ a fhir:PlanDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language# from fhir:fhir:PlanDefinition.url [ uri ]; # 0..1 Canonical identifier for this plan definition, represented as a URI (globally unique) fhir:PlanDefinition.identifier [ Identifier ], ... ; # 0..* Additional identifier for the plan definition fhir:PlanDefinition.version [ string ]; # 0..1 Business version of the plan definition fhir:PlanDefinition.name [ string ]; # 0..1 Name for this plan definition (computer friendly) fhir:PlanDefinition.title [ string ]; # 0..1 Name for this plan definition (human friendly)fhir:fhir:PlanDefinition.subtitle [ string ]; # 0..1 Subordinate title of the plan definition fhir:PlanDefinition.type [ CodeableConcept ]; # 0..1 order-set | clinical-protocol | eca-rule | workflow-definition fhir:PlanDefinition.status [ code ]; # 1..1 draft | active | retired | unknownfhir: fhir: fhir:fhir:PlanDefinition.experimental [ boolean ]; # 0..1 For testing purposes, not real usage # PlanDefinition.subject[x] : 0..1 Type of individual the plan definition is focused on. One of these 3 fhir:PlanDefinition.subjectCodeableConcept [ CodeableConcept ] fhir:PlanDefinition.subjectReference [ Reference(Group) ] fhir:PlanDefinition.subjectCanonical [ canonical(AdministrableProductDefinition|ManufacturedItemDefinition| MedicinalProductDefinition|PackagedProductDefinition|SubstanceDefinition) ] fhir:PlanDefinition.date [ dateTime ]; # 0..1 Date last changed fhir:PlanDefinition.publisher [ string ]; # 0..1 Name of the publisher (organization or individual) fhir:PlanDefinition.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:PlanDefinition.description [ markdown ]; # 0..1 Natural language description of the plan definitionfhir: fhir: fhir: fhir: fhir: fhir:fhir:PlanDefinition.useContext [ UsageContext ], ... ; # 0..* The context that the content is intended to support fhir:PlanDefinition.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for plan definition (if applicable)fhir: fhir: fhir:fhir:PlanDefinition.purpose [ markdown ]; # 0..1 Why this plan definition is defined fhir:PlanDefinition.usage [ string ]; # 0..1 Describes the clinical usage of the plan fhir:PlanDefinition.copyright [ markdown ]; # 0..1 Use and/or publishing restrictionsfhir: fhir: fhir: fhir:fhir:PlanDefinition.approvalDate [ date ]; # 0..1 When the plan definition was approved by publisher fhir:PlanDefinition.lastReviewDate [ date ]; # 0..1 When the plan definition was last reviewed fhir:PlanDefinition.effectivePeriod [ Period ]; # 0..1 When the plan definition is expected to be used fhir:PlanDefinition.topic [ CodeableConcept ], ... ; # 0..* E.g. Education, Treatment, Assessment fhir:PlanDefinition.author [ ContactDetail ], ... ; # 0..* Who authored the content fhir:PlanDefinition.editor [ ContactDetail ], ... ; # 0..* Who edited the content fhir:PlanDefinition.reviewer [ ContactDetail ], ... ; # 0..* Who reviewed the content fhir:PlanDefinition.endorser [ ContactDetail ], ... ; # 0..* Who endorsed the content fhir:PlanDefinition.relatedArtifact [ RelatedArtifact ], ... ; # 0..* Additional documentation, citations fhir:PlanDefinition.library [ canonical(Library) ], ... ; # 0..* Logic used by the plan definition fhir:PlanDefinition.goal [ # 0..* What the plan is trying to accomplish fhir:PlanDefinition.goal.category [ CodeableConcept ]; # 0..1 E.g. Treatment, dietary, behavioral fhir:PlanDefinition.goal.description [ CodeableConcept ]; # 1..1 Code or text describing the goal fhir:PlanDefinition.goal.priority [ CodeableConcept ]; # 0..1 high-priority | medium-priority | low-priority fhir:PlanDefinition.goal.start [ CodeableConcept ]; # 0..1 When goal pursuit begins fhir:PlanDefinition.goal.addresses [ CodeableConcept ], ... ; # 0..* What does the goal address fhir:PlanDefinition.goal.documentation [ RelatedArtifact ], ... ; # 0..* Supporting documentation for the goal fhir:PlanDefinition.goal.target [ # 0..* Target outcome for the goalfhir: # . One of these 3 fhir: ] fhir: ] fhir: ]fhir:PlanDefinition.goal.target.measure [ CodeableConcept ]; # 0..1 The parameter whose value is to be tracked # PlanDefinition.goal.target.detail[x] : 0..1 The target value to be achieved. One of these 3 fhir:PlanDefinition.goal.target.detailQuantity [ Quantity ] fhir:PlanDefinition.goal.target.detailRange [ Range ] fhir:PlanDefinition.goal.target.detailCodeableConcept [ CodeableConcept ] fhir:PlanDefinition.goal.target.due [ Duration ]; # 0..1 Reach goal within ], ...; ], ...;fhir: fhir: fhir: fhir: fhir: fhir:fhir:PlanDefinition.action [ # 0..* Action defined by the plan fhir:PlanDefinition.action.prefix [ string ]; # 0..1 User-visible prefix for the action (e.g. 1. or A.) fhir:PlanDefinition.action.title [ string ]; # 0..1 User-visible title fhir:PlanDefinition.action.description [ string ]; # 0..1 Brief description of the action fhir:PlanDefinition.action.textEquivalent [ string ]; # 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system fhir:PlanDefinition.action.priority [ code ]; # 0..1 routine | urgent | asap | stat fhir:PlanDefinition.action.code [ CodeableConcept ], ... ; # 0..* Code representing the meaning of the action or sub-actions fhir:PlanDefinition.action.reason [ CodeableConcept ], ... ; # 0..* Why the action should be performed fhir:PlanDefinition.action.documentation [ RelatedArtifact ], ... ; # 0..* Supporting documentation for the intended performer of the actionfhir: fhir: fhir:fhir:PlanDefinition.action.goalId [ id ], ... ; # 0..* What goals this action supports # PlanDefinition.action.subject[x] : 0..1 Type of individual the action is focused on. One of these 3 fhir:PlanDefinition.action.subjectCodeableConcept [ CodeableConcept ] fhir:PlanDefinition.action.subjectReference [ Reference(Group) ] fhir:PlanDefinition.action.subjectCanonical [ canonical ] fhir:PlanDefinition.action.trigger [ TriggerDefinition ], ... ; # 0..* When the action should be triggered fhir:PlanDefinition.action.condition [ # 0..* Whether or not the action is applicable fhir:PlanDefinition.action.condition.kind [ code ]; # 1..1 applicability | start | stopfhir: fhir: fhir:fhir:PlanDefinition.action.condition.expression [ Expression ]; # 0..1 Boolean-valued expression ], ...; fhir:PlanDefinition.action.input [ DataRequirement ], ... ; # 0..* Input data requirements fhir:PlanDefinition.action.output [ DataRequirement ], ... ; # 0..* Output data definition fhir:PlanDefinition.action.relatedAction [ # 0..* Relationship to another action fhir:PlanDefinition.action.relatedAction.actionId [ id ]; # 1..1 What action is this related to fhir:PlanDefinition.action.relatedAction.relationship [ code ]; # 1..1 before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end # PlanDefinition.action.relatedAction.offset[x] : 0..1 Time offset for the relationship. One of these 2 fhir:PlanDefinition.action.relatedAction.offsetDuration [ Duration ] fhir:PlanDefinition.action.relatedAction.offsetRange [ Range ] ], ...;# . One of these 5# PlanDefinition.action.timing[x] : 0..1 When the action should take place. One of these 6 fhir:PlanDefinition.action.timingDateTime [ dateTime ] fhir:PlanDefinition.action.timingAge [ Age ] fhir:PlanDefinition.action.timingPeriod [ Period ] fhir:PlanDefinition.action.timingDuration [ Duration ] fhir:PlanDefinition.action.timingRange [ Range ] fhir:PlanDefinition.action.timingTiming [ Timing ] fhir:PlanDefinition.action.participant [ # 0..* Who should participate in the actionfhir: fhir:fhir:PlanDefinition.action.participant.type [ code ]; # 1..1 patient | practitioner | related-person | device fhir:PlanDefinition.action.participant.role [ CodeableConcept ]; # 0..1 E.g. Nurse, Surgeon, Parent ], ...;fhir:fhir:PlanDefinition.action.type [ CodeableConcept ]; # 0..1 create | update | remove | fire-event fhir:PlanDefinition.action.groupingBehavior [ code ]; # 0..1 visual-group | logical-group | sentence-group fhir:PlanDefinition.action.selectionBehavior [ code ]; # 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-morefhir:fhir:PlanDefinition.action.requiredBehavior [ code ]; # 0..1 must | could | must-unless-documented fhir:PlanDefinition.action.precheckBehavior [ code ]; # 0..1 yes | no fhir:PlanDefinition.action.cardinalityBehavior [ code ]; # 0..1 single | multiplefhir: fhir:# PlanDefinition.action.definition[x] : 0..1 Description of the activity to be performed. One of these 2 fhir:PlanDefinition.action.definitionCanonical [ canonical(ActivityDefinition|PlanDefinition|Questionnaire) ] fhir:PlanDefinition.action.definitionUri [ uri ] fhir:PlanDefinition.action.transform [ canonical(StructureMap) ]; # 0..1 Transform to apply the template fhir:PlanDefinition.action.dynamicValue [ # 0..* Dynamic aspects of the definitionfhir: fhir: fhir: fhir:fhir:PlanDefinition.action.dynamicValue.path [ string ]; # 0..1 The path to the element to be set dynamically fhir:PlanDefinition.action.dynamicValue.expression [ Expression ]; # 0..1 An expression that provides the dynamic value for the customization ], ...; fhir:PlanDefinition.action.action [ See PlanDefinition.action ], ... ; # 0..* A sub-action ], ...; ]
Changes
since
DSTU2
Release
3
PlanDefinition | |
PlanDefinition.status |
|
PlanDefinition.subject[x] |
|
PlanDefinition.action.priority |
|
PlanDefinition.action.subject[x] |
|
PlanDefinition.action.condition.kind |
|
PlanDefinition.action.relatedAction.relationship |
|
PlanDefinition.action.participant.type |
|
PlanDefinition.action.groupingBehavior |
|
PlanDefinition.action.selectionBehavior |
|
PlanDefinition.action.requiredBehavior |
|
PlanDefinition.action.precheckBehavior |
|
PlanDefinition.action.cardinalityBehavior |
|
This
resource
did
not
exist
in
Release
2
See
the
Full
Difference
for
further
information
This analysis is available as XML or JSON .
See R3 <--> R4 Conversion Maps (status = 11 tests of which 6 fail to execute . All tests pass round-trip testing and 5 r3 resources are invalid (0 errors). )
Alternate
See
the
Profiles
&
Extensions
and
the
alternate
definitions:
Master
Definition
(
XML
,
+
JSON
),
,
XML
Schema
/
Schematron
(for
)
+
JSON
Schema
,
ShEx
(for
Turtle
)
,
the
spreadsheet
version
&
the
dependency
analysis
a
Path | Definition | Type | Reference |
---|---|---|---|
PlanDefinition.type |
The
type
of
| Extensible | PlanDefinitionType |
PlanDefinition.status |
The
lifecycle
status
of
| Required | PublicationStatus |
PlanDefinition.subject[x] | The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.). | Extensible | SubjectType |
PlanDefinition.jurisdiction |
Countries
and
regions
within
which
this
artifact
is
targeted
for
| Extensible | Jurisdiction ValueSet |
PlanDefinition.topic |
High-level
categorization
of
the
definition,
used
for
searching,
sorting,
and
| Example | DefinitionTopic |
PlanDefinition.goal.category |
Example
codes
for
grouping
goals
for
filtering
or
| Example | GoalCategory |
PlanDefinition.goal.description |
Describes
goals
that
can
be
| Example |
|
PlanDefinition.goal.priority |
Indicates
the
level
of
importance
associated
with
reaching
or
sustaining
a
| Preferred | GoalPriority |
PlanDefinition.goal.start |
Identifies
the
types
of
events
that
might
trigger
the
start
of
a
| Example | GoalStartEvent |
PlanDefinition.goal.addresses |
Identifies
problems,
conditions,
issues,
or
concerns
that
goals
may
| Example |
|
PlanDefinition.goal.target.measure |
Identifies
types
of
parameters
that
can
be
tracked
to
determine
goal
| Example |
|
PlanDefinition.action.priority | Identifies the level of importance to be assigned to actioning the request. | Required | RequestPriority |
PlanDefinition.action.code | Provides examples of actions to be performed. | Example | ActionCode |
PlanDefinition.action.reason | Provides examples of reasons for actions to be performed. | Example | ActionReasonCode |
PlanDefinition.action.subject[x] | The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.). | Extensible | SubjectType |
PlanDefinition.action.condition.kind |
Defines
the
kinds
of
conditions
that
can
appear
on
| Required | ActionConditionKind |
PlanDefinition.action.relatedAction.relationship |
Defines
the
types
of
relationships
between
| Required | ActionRelationshipType |
PlanDefinition.action.participant.type |
The
type
of
participant
for
the
| Required | ActionParticipantType |
PlanDefinition.action.participant.role |
Defines
roles
played
by
participants
for
the
| Example |
![]() |
PlanDefinition.action.type |
The
type
of
action
to
be
|
| ActionType |
PlanDefinition.action.groupingBehavior |
Defines
organization
behavior
of
a
| Required | ActionGroupingBehavior |
PlanDefinition.action.selectionBehavior |
Defines
selection
behavior
of
a
| Required | ActionSelectionBehavior |
PlanDefinition.action.requiredBehavior |
Defines
| Required | ActionRequiredBehavior |
PlanDefinition.action.precheckBehavior |
Defines
selection
frequency
behavior
for
an
action
or
| Required | ActionPrecheckBehavior |
PlanDefinition.action.cardinalityBehavior |
Defines
behavior
for
an
action
or
a
group
for
how
many
times
that
item
may
be
| Required | ActionCardinalityBehavior |
id | 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.matches('[A-Z]([A-Za-z0-9_]){0,254}') |
The
following
diagram
illustrates
the
relationship
between
the
PlanDefinition
and
ActivityDefinition
resources,
as
well
as
a
typical
application
to
CarePlan,
RequestGroup,
and
Request
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, 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:
instantiates
element
goal
elements
in
the
CarePlan
based
on
the
goal
definitions
in
the
plan
instantiatesCanonical
element
activity
in
the
CarePlan
to
reference
the
RequestGroup
action
element
of
the
PlanDefinition
Processing for each action proceeds according to the following steps:
action
element
in
the
RequestGroup
with
the
same
id
as
the
action
being
processed
action
to
the
corresponding
elements
of
the
newly
created
action
in
the
RequestGroup
such
as
title
,
description
,
textEquivalent
,
timing
,
and
so
on
definition
element:
resource
element
of
the
action.
Note
that
the
target
resource
can
be
set
as
a
contained
resource
in
the
RequestGroup,
or
it
can
be
persisted
independently,
as
appropriate
for
the
environment
status
of
the
target
resource
to
option
so
that
it
is
clearly
indicated
as
part
of
a
RequestGroup.
Note
that
the
ActivityDefinition/$apply
operation
will
not
necessarily
produce
resource
with
this
status,
so
this
is
an
important
step.
action
(see
the
section
on
Overlap
below
for
details)
resource
element
of
the
action.
Note
that
the
resulting
CarePlan
can
be
set
as
a
contained
resource
in
the
RequestGroup,
but
doing
so
would
require
expanding
any
potentially
contained
resources.
status
of
the
CarePlan
to
option
so
that
it
is
clearly
indicated
as
part
of
a
RequestGroup.
action
such
as
title
,
description
,
and
dynamicValue
.
resource
element
of
the
action
to
the
Questionnaire,
indicating
that
the
activity
to
be
performed
is
filling
out
the
given
questionnaire.
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
.
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.
|
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. 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) | |
context | token | A use context assigned to the plan definition | (PlanDefinition.useContext.value as CodeableConcept) | |
context-quantity | quantity | A quantity- or range-valued use context assigned to the plan definition | (PlanDefinition.useContext.value as Quantity) | (PlanDefinition.useContext.value as 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.as(Quantity) | value.as(Range) | |
context-type-value | composite | A use context type and value assigned to the plan definition |
On
PlanDefinition.useContext:
context-type: code context: value.as(CodeableConcept) | |
date N | date | The plan definition publication date | PlanDefinition.date | |
definition | reference | Activity or plan definitions used by plan definition |
PlanDefinition.action.definition
( Questionnaire , PlanDefinition , ActivityDefinition ) | |
depends-on | reference | What resource is being referenced |
PlanDefinition.relatedArtifact.where(type='depends-on').resource
|
PlanDefinition.library
( Library , Any) | |
derived-from | reference | What resource is being referenced |
PlanDefinition.relatedArtifact.where(type='derived-from').resource
(Any) | |
description N | 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 | |
identifier | token | External identifier for the plan definition | PlanDefinition.identifier | |
jurisdiction | token | Intended jurisdiction for the plan definition | PlanDefinition.jurisdiction | |
name N | string | Computationally friendly name of the plan definition | PlanDefinition.name | |
predecessor | reference | What resource is being referenced |
PlanDefinition.relatedArtifact.where(type='predecessor').resource
(Any) | |
publisher N | string | Name of the publisher of the plan definition | PlanDefinition.publisher | |
status N | token | The current status of the plan definition | PlanDefinition.status | |
successor | reference | What resource is being referenced |
PlanDefinition.relatedArtifact.where(type='successor').resource
(Any) | |
title N | string | The human-friendly name of the plan definition | PlanDefinition.title | |
topic | token | Topics associated with the module | PlanDefinition.topic | |
type | token | The type of artifact the plan (e.g. order-set, eca-rule, protocol) | PlanDefinition.type | |
url N | uri | The uri that identifies the plan definition | PlanDefinition.url | |
version N | token | The business version of the plan definition | PlanDefinition.version |