This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3
Clinical Decision Support Work Group | Maturity Level: 2 | Trial Use | 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 artifacts such as clinical decision support rules, order sets and protocols.
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 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 triggerDefinition
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, 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 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 is some overlap between the content that can be specified in PlanDefinition.action and the ActivityDefinition resource. Part of the work for FHIR Release 4 will be to resolve the overlap and this will likely result in some minor changes to the structures.
This resource is referenced by EntryDefinition, Flag, MessageDefinition and ResearchStudy
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PlanDefinition | TU | DomainResource | The definition of a plan for a series of actions, independent of any specific patient or context Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
url | Σ | 0..1 | uri | Logical URI to reference this plan definition (globally unique) |
identifier | Σ | 0..* | Identifier | Additional identifier for the plan definition |
version | Σ | 0..1 | string | Business version of the plan definition |
name | Σ | 0..1 | string | Name for this plan definition (computer friendly) |
title | Σ | 0..1 | string | Name for this plan definition (human friendly) |
type | Σ | 0..1 | CodeableConcept | order-set | protocol | eca-rule PlanDefinitionType (Extensible) |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown PublicationStatus (Required) |
experimental | ?!Σ | 0..1 | boolean | For testing purposes, not real usage |
date | Σ | 0..1 | dateTime | Date this was last changed |
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual) |
description | Σ | 0..1 | markdown | Natural language description of the plan definition |
purpose | 0..1 | markdown | Why this plan definition is defined | |
usage | 0..1 | string | Describes the clinical usage of the plan | |
approvalDate | 0..1 | date | When the plan definition was approved by publisher | |
lastReviewDate | 0..1 | date | When the plan definition was last reviewed | |
effectivePeriod | Σ | 0..1 | Period | When the plan definition is expected to be used |
useContext | Σ | 0..* | UsageContext | Context the content is intended to support |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for plan definition (if applicable) Jurisdiction ValueSet (Extensible) |
topic | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc DefinitionTopic (Example) | |
contributor | 0..* | Contributor | A content contributor | |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher |
copyright | 0..1 | markdown | Use and/or publishing restrictions | |
relatedArtifact | 0..* | RelatedArtifact | Additional documentation, citations, etc | |
library | 0..* | Reference(Library) | Logic used by the plan definition | |
goal | 0..* | BackboneElement | What the plan is trying to accomplish | |
category | 0..1 | CodeableConcept | E.g. Treatment, dietary, behavioral, etc GoalCategory (Example) | |
description | 1..1 | CodeableConcept | Code or text describing the goal SNOMED CT Clinical Findings (Example) | |
priority | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority GoalPriority (Preferred) | |
start | 0..1 | CodeableConcept | When goal pursuit begins GoalStartEvent (Example) | |
addresses | 0..* | CodeableConcept | What does the goal address Condition/Problem/Diagnosis Codes (Example) | |
documentation | 0..* | RelatedArtifact | Supporting documentation for the goal | |
target | 0..* | BackboneElement | Target outcome for the goal | |
measure | 0..1 | CodeableConcept | The parameter whose value is to be tracked LOINC Codes (Example) | |
detail[x] | 0..1 | The target value to be achieved | ||
detailQuantity | Quantity | |||
detailRange | Range | |||
detailCodeableConcept | CodeableConcept | |||
due | 0..1 | Duration | Reach goal within | |
action | 0..* | BackboneElement | Action defined by the plan | |
prefix | 0..1 | string | User-visible prefix for the action (e.g. 1. or A.) | |
title | 0..1 | string | User-visible title | |
description | 0..1 | string | Short description of the action | |
textEquivalent | 0..1 | string | Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system | |
code | 0..* | CodeableConcept | Code representing the meaning of the action or sub-actions | |
reason | 0..* | CodeableConcept | Why the action should be performed | |
documentation | 0..* | RelatedArtifact | Supporting documentation for the intended performer of the action | |
goalId | 0..* | id | What goals this action supports | |
triggerDefinition | 0..* | TriggerDefinition | When the action should be triggered | |
condition | 0..* | BackboneElement | Whether or not the action is applicable | |
kind | 1..1 | code | applicability | start | stop ActionConditionKind (Required) | |
description | 0..1 | string | Natural language description of the condition | |
language | 0..1 | string | Language of the expression | |
expression | 0..1 | string | Boolean-valued expression | |
input | 0..* | DataRequirement | Input data requirements | |
output | 0..* | DataRequirement | Output data definition | |
relatedAction | 0..* | BackboneElement | Relationship to another action | |
actionId | 1..1 | id | What action is this related to | |
relationship | 1..1 | code | before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end ActionRelationshipType (Required) | |
offset[x] | 0..1 | Time offset for the relationship | ||
offsetDuration | Duration | |||
offsetRange | Range | |||
timing[x] | 0..1 | When the action should take place | ||
timingDateTime | dateTime | |||
timingAge | Age | |||
timingPeriod | Period | |||
timingDuration | Duration | |||
timingRange | Range | |||
timingTiming | Timing | |||
participant | 0..* | BackboneElement | Who should participate in the action | |
type | 1..1 | code | patient | practitioner | related-person ActionParticipantType (Required) | |
role | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent, etc ActionParticipantRole (Example) | |
type | 0..1 | Coding | create | update | remove | fire-event ActionType (Required) | |
groupingBehavior | 0..1 | code | visual-group | logical-group | sentence-group ActionGroupingBehavior (Required) | |
selectionBehavior | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more ActionSelectionBehavior (Required) | |
requiredBehavior | 0..1 | code | must | could | must-unless-documented ActionRequiredBehavior (Required) | |
precheckBehavior | 0..1 | code | yes | no ActionPrecheckBehavior (Required) | |
cardinalityBehavior | 0..1 | code | single | multiple ActionCardinalityBehavior (Required) | |
definition | 0..1 | Reference(ActivityDefinition | PlanDefinition) | Description of the activity to be performed | |
transform | 0..1 | Reference(StructureMap) | Transform to apply the template | |
dynamicValue | 0..* | BackboneElement | Dynamic aspects of the definition | |
description | 0..1 | string | Natural language description of the dynamic value | |
path | 0..1 | string | The path to the element to be set dynamically | |
language | 0..1 | string | Language of the expression | |
expression | 0..1 | string | An expression that provides the dynamic value for the customization | |
action | 0..* | see action | A sub-action | |
Documentation for this format |
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 Logical URI to reference this plan definition (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><!-- 0..1 CodeableConcept order-set | protocol | eca-rule --></type> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage --> <date value="[dateTime]"/><!-- 0..1 Date this was last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) --> <description value="[markdown]"/><!-- 0..1 Natural language description of the plan definition --> <purpose value="[markdown]"/><!-- 0..1 Why this plan definition is defined --> <usage value="[string]"/><!-- 0..1 Describes the clinical usage of the plan --> <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> <useContext><!-- 0..* UsageContext Context the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for plan definition (if applicable) --></jurisdiction> <topic><!-- 0..* CodeableConcept E.g. Education, Treatment, Assessment, etc --></topic> <contributor><!-- 0..* Contributor A content contributor --></contributor> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <relatedArtifact><!-- 0..* RelatedArtifact Additional documentation, citations, etc --></relatedArtifact> <library><!-- 0..* Reference(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, etc --></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 The target value to be achieved --></detail[x]> <due><!-- 0..1 Duration Reach goal within --></due> </target> </goal> <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 Short 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 --> <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> <goalId value="[id]"/><!-- 0..* What goals this action supports --> <triggerDefinition><!-- 0..* TriggerDefinition When the action should be triggered --></triggerDefinition> <condition> <!-- 0..* Whether or not the action is applicable --> <kind value="[code]"/><!-- 1..1 applicability | start | stop --> <description value="[string]"/><!-- 0..1 Natural language description of the condition --> <language value="[string]"/><!-- 0..1 Language of the expression --> <expression value="[string]"/><!-- 0..1 Boolean-valued 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]><!-- 0..1 dateTime|Age|Period|Duration|Range|Timing When the action should take place --></timing[x]> <participant> <!-- 0..* Who should participate in the action --> <type value="[code]"/><!-- 1..1 patient | practitioner | related-person --> <role><!-- 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent, etc --></role> </participant> <type><!-- 0..1 Coding 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><!-- 0..1 Reference(ActivityDefinition|PlanDefinition) Description of the activity to be performed --></definition> <transform><!-- 0..1 Reference(StructureMap) Transform to apply the template --></transform> <dynamicValue> <!-- 0..* Dynamic aspects of the definition --> <description value="[string]"/><!-- 0..1 Natural language description of the dynamic value --> <path value="[string]"/><!-- 0..1 The path to the element to be set dynamically --> <language value="[string]"/><!-- 0..1 Language of the expression --> <expression value="[string]"/><!-- 0..1 An expression that provides the dynamic value for the customization --> </dynamicValue> <action><!-- 0..* Content as for PlanDefinition.action A sub-action --></action> </action> </PlanDefinition>
JSON Template
{ "resourceType" : "PlanDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "url" : "<uri>", // Logical URI to reference this plan definition (globally unique) "identifier" : [{ Identifier }], // Additional identifier for the plan definition "version" : "<string>", // Business version of the plan definition "name" : "<string>", // Name for this plan definition (computer friendly) "title" : "<string>", // Name for this plan definition (human friendly) "type" : { CodeableConcept }, // order-set | protocol | eca-rule "status" : "<code>", // R! draft | active | retired | unknown "experimental" : <boolean>, // For testing purposes, not real usage "date" : "<dateTime>", // Date this was last changed "publisher" : "<string>", // Name of the publisher (organization or individual) "description" : "<markdown>", // Natural language description of the plan definition "purpose" : "<markdown>", // Why this plan definition is defined "usage" : "<string>", // Describes the clinical usage of the plan "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 "useContext" : [{ UsageContext }], // Context the content is intended to support "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for plan definition (if applicable) "topic" : [{ CodeableConcept }], // E.g. Education, Treatment, Assessment, etc "contributor" : [{ Contributor }], // A content contributor "contact" : [{ ContactDetail }], // Contact details for the publisher "copyright" : "<markdown>", // Use and/or publishing restrictions "relatedArtifact" : [{ RelatedArtifact }], // Additional documentation, citations, etc "library" : [{ Reference(Library) }], // Logic used by the plan definition "goal" : [{ // What the plan is trying to accomplish "category" : { CodeableConcept }, // E.g. Treatment, dietary, behavioral, etc "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>", // Short description of the action "textEquivalent" : "<string>", // Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system "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 "triggerDefinition" : [{ TriggerDefinition }], // When the action should be triggered "condition" : [{ // Whether or not the action is applicable "kind" : "<code>", // R! applicability | start | stop "description" : "<string>", // Natural language description of the condition "language" : "<string>", // Language of the expression "expression" : "<string>" // 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 "role" : { CodeableConcept } // E.g. Nurse, Surgeon, Parent, etc }], "type" : { Coding }, // 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" : { Reference(ActivityDefinition|PlanDefinition) }, // Description of the activity to be performed "transform" : { Reference(StructureMap) }, // Transform to apply the template "dynamicValue" : [{ // Dynamic aspects of the definition "description" : "<string>", // Natural language description of the dynamic value "path" : "<string>", // The path to the element to be set dynamically "language" : "<string>", // Language of the expression "expression" : "<string>" // 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:PlanDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:PlanDefinition.url [ uri ]; # 0..1 Logical URI to reference this plan definition (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:PlanDefinition.type [ CodeableConcept ]; # 0..1 order-set | protocol | eca-rule fhir:PlanDefinition.status [ code ]; # 1..1 draft | active | retired | unknown fhir:PlanDefinition.experimental [ boolean ]; # 0..1 For testing purposes, not real usage fhir:PlanDefinition.date [ dateTime ]; # 0..1 Date this was last changed fhir:PlanDefinition.publisher [ string ]; # 0..1 Name of the publisher (organization or individual) fhir:PlanDefinition.description [ markdown ]; # 0..1 Natural language description of the plan definition 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.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.useContext [ UsageContext ], ... ; # 0..* Context the content is intended to support fhir:PlanDefinition.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for plan definition (if applicable) fhir:PlanDefinition.topic [ CodeableConcept ], ... ; # 0..* E.g. Education, Treatment, Assessment, etc fhir:PlanDefinition.contributor [ Contributor ], ... ; # 0..* A content contributor fhir:PlanDefinition.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:PlanDefinition.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions fhir:PlanDefinition.relatedArtifact [ RelatedArtifact ], ... ; # 0..* Additional documentation, citations, etc fhir:PlanDefinition.library [ Reference(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, etc 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 goal 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: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 Short 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.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 action fhir:PlanDefinition.action.goalId [ id ], ... ; # 0..* What goals this action supports fhir:PlanDefinition.action.triggerDefinition [ 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 | stop fhir:PlanDefinition.action.condition.description [ string ]; # 0..1 Natural language description of the condition fhir:PlanDefinition.action.condition.language [ string ]; # 0..1 Language of the expression fhir:PlanDefinition.action.condition.expression [ string ]; # 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 ] ], ...; # 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 action fhir:PlanDefinition.action.participant.type [ code ]; # 1..1 patient | practitioner | related-person fhir:PlanDefinition.action.participant.role [ CodeableConcept ]; # 0..1 E.g. Nurse, Surgeon, Parent, etc ], ...; fhir:PlanDefinition.action.type [ Coding ]; # 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-more 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 | multiple fhir:PlanDefinition.action.definition [ Reference(ActivityDefinition|PlanDefinition) ]; # 0..1 Description of the activity to be performed fhir:PlanDefinition.action.transform [ Reference(StructureMap) ]; # 0..1 Transform to apply the template fhir:PlanDefinition.action.dynamicValue [ # 0..* Dynamic aspects of the definition fhir:PlanDefinition.action.dynamicValue.description [ string ]; # 0..1 Natural language description of the dynamic value fhir:PlanDefinition.action.dynamicValue.path [ string ]; # 0..1 The path to the element to be set dynamically fhir:PlanDefinition.action.dynamicValue.language [ string ]; # 0..1 Language of the expression fhir:PlanDefinition.action.dynamicValue.expression [ string ]; # 0..1 An expression that provides the dynamic value for the customization ], ...; fhir:PlanDefinition.action.action [ See PlanDefinition.action ], ... ; # 0..* A sub-action ], ...; ]
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PlanDefinition | TU | DomainResource | The definition of a plan for a series of actions, independent of any specific patient or context Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
url | Σ | 0..1 | uri | Logical URI to reference this plan definition (globally unique) |
identifier | Σ | 0..* | Identifier | Additional identifier for the plan definition |
version | Σ | 0..1 | string | Business version of the plan definition |
name | Σ | 0..1 | string | Name for this plan definition (computer friendly) |
title | Σ | 0..1 | string | Name for this plan definition (human friendly) |
type | Σ | 0..1 | CodeableConcept | order-set | protocol | eca-rule PlanDefinitionType (Extensible) |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown PublicationStatus (Required) |
experimental | ?!Σ | 0..1 | boolean | For testing purposes, not real usage |
date | Σ | 0..1 | dateTime | Date this was last changed |
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual) |
description | Σ | 0..1 | markdown | Natural language description of the plan definition |
purpose | 0..1 | markdown | Why this plan definition is defined | |
usage | 0..1 | string | Describes the clinical usage of the plan | |
approvalDate | 0..1 | date | When the plan definition was approved by publisher | |
lastReviewDate | 0..1 | date | When the plan definition was last reviewed | |
effectivePeriod | Σ | 0..1 | Period | When the plan definition is expected to be used |
useContext | Σ | 0..* | UsageContext | Context the content is intended to support |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for plan definition (if applicable) Jurisdiction ValueSet (Extensible) |
topic | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc DefinitionTopic (Example) | |
contributor | 0..* | Contributor | A content contributor | |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher |
copyright | 0..1 | markdown | Use and/or publishing restrictions | |
relatedArtifact | 0..* | RelatedArtifact | Additional documentation, citations, etc | |
library | 0..* | Reference(Library) | Logic used by the plan definition | |
goal | 0..* | BackboneElement | What the plan is trying to accomplish | |
category | 0..1 | CodeableConcept | E.g. Treatment, dietary, behavioral, etc GoalCategory (Example) | |
description | 1..1 | CodeableConcept | Code or text describing the goal SNOMED CT Clinical Findings (Example) | |
priority | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority GoalPriority (Preferred) | |
start | 0..1 | CodeableConcept | When goal pursuit begins GoalStartEvent (Example) | |
addresses | 0..* | CodeableConcept | What does the goal address Condition/Problem/Diagnosis Codes (Example) | |
documentation | 0..* | RelatedArtifact | Supporting documentation for the goal | |
target | 0..* | BackboneElement | Target outcome for the goal | |
measure | 0..1 | CodeableConcept | The parameter whose value is to be tracked LOINC Codes (Example) | |
detail[x] | 0..1 | The target value to be achieved | ||
detailQuantity | Quantity | |||
detailRange | Range | |||
detailCodeableConcept | CodeableConcept | |||
due | 0..1 | Duration | Reach goal within | |
action | 0..* | BackboneElement | Action defined by the plan | |
prefix | 0..1 | string | User-visible prefix for the action (e.g. 1. or A.) | |
title | 0..1 | string | User-visible title | |
description | 0..1 | string | Short description of the action | |
textEquivalent | 0..1 | string | Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system | |
code | 0..* | CodeableConcept | Code representing the meaning of the action or sub-actions | |
reason | 0..* | CodeableConcept | Why the action should be performed | |
documentation | 0..* | RelatedArtifact | Supporting documentation for the intended performer of the action | |
goalId | 0..* | id | What goals this action supports | |
triggerDefinition | 0..* | TriggerDefinition | When the action should be triggered | |
condition | 0..* | BackboneElement | Whether or not the action is applicable | |
kind | 1..1 | code | applicability | start | stop ActionConditionKind (Required) | |
description | 0..1 | string | Natural language description of the condition | |
language | 0..1 | string | Language of the expression | |
expression | 0..1 | string | Boolean-valued expression | |
input | 0..* | DataRequirement | Input data requirements | |
output | 0..* | DataRequirement | Output data definition | |
relatedAction | 0..* | BackboneElement | Relationship to another action | |
actionId | 1..1 | id | What action is this related to | |
relationship | 1..1 | code | before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end ActionRelationshipType (Required) | |
offset[x] | 0..1 | Time offset for the relationship | ||
offsetDuration | Duration | |||
offsetRange | Range | |||
timing[x] | 0..1 | When the action should take place | ||
timingDateTime | dateTime | |||
timingAge | Age | |||
timingPeriod | Period | |||
timingDuration | Duration | |||
timingRange | Range | |||
timingTiming | Timing | |||
participant | 0..* | BackboneElement | Who should participate in the action | |
type | 1..1 | code | patient | practitioner | related-person ActionParticipantType (Required) | |
role | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent, etc ActionParticipantRole (Example) | |
type | 0..1 | Coding | create | update | remove | fire-event ActionType (Required) | |
groupingBehavior | 0..1 | code | visual-group | logical-group | sentence-group ActionGroupingBehavior (Required) | |
selectionBehavior | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more ActionSelectionBehavior (Required) | |
requiredBehavior | 0..1 | code | must | could | must-unless-documented ActionRequiredBehavior (Required) | |
precheckBehavior | 0..1 | code | yes | no ActionPrecheckBehavior (Required) | |
cardinalityBehavior | 0..1 | code | single | multiple ActionCardinalityBehavior (Required) | |
definition | 0..1 | Reference(ActivityDefinition | PlanDefinition) | Description of the activity to be performed | |
transform | 0..1 | Reference(StructureMap) | Transform to apply the template | |
dynamicValue | 0..* | BackboneElement | Dynamic aspects of the definition | |
description | 0..1 | string | Natural language description of the dynamic value | |
path | 0..1 | string | The path to the element to be set dynamically | |
language | 0..1 | string | Language of the expression | |
expression | 0..1 | string | An expression that provides the dynamic value for the customization | |
action | 0..* | see action | A sub-action | |
Documentation for this format |
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 Logical URI to reference this plan definition (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><!-- 0..1 CodeableConcept order-set | protocol | eca-rule --></type> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage --> <date value="[dateTime]"/><!-- 0..1 Date this was last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) --> <description value="[markdown]"/><!-- 0..1 Natural language description of the plan definition --> <purpose value="[markdown]"/><!-- 0..1 Why this plan definition is defined --> <usage value="[string]"/><!-- 0..1 Describes the clinical usage of the plan --> <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> <useContext><!-- 0..* UsageContext Context the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for plan definition (if applicable) --></jurisdiction> <topic><!-- 0..* CodeableConcept E.g. Education, Treatment, Assessment, etc --></topic> <contributor><!-- 0..* Contributor A content contributor --></contributor> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <relatedArtifact><!-- 0..* RelatedArtifact Additional documentation, citations, etc --></relatedArtifact> <library><!-- 0..* Reference(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, etc --></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 The target value to be achieved --></detail[x]> <due><!-- 0..1 Duration Reach goal within --></due> </target> </goal> <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 Short 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 --> <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> <goalId value="[id]"/><!-- 0..* What goals this action supports --> <triggerDefinition><!-- 0..* TriggerDefinition When the action should be triggered --></triggerDefinition> <condition> <!-- 0..* Whether or not the action is applicable --> <kind value="[code]"/><!-- 1..1 applicability | start | stop --> <description value="[string]"/><!-- 0..1 Natural language description of the condition --> <language value="[string]"/><!-- 0..1 Language of the expression --> <expression value="[string]"/><!-- 0..1 Boolean-valued 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]><!-- 0..1 dateTime|Age|Period|Duration|Range|Timing When the action should take place --></timing[x]> <participant> <!-- 0..* Who should participate in the action --> <type value="[code]"/><!-- 1..1 patient | practitioner | related-person --> <role><!-- 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent, etc --></role> </participant> <type><!-- 0..1 Coding 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><!-- 0..1 Reference(ActivityDefinition|PlanDefinition) Description of the activity to be performed --></definition> <transform><!-- 0..1 Reference(StructureMap) Transform to apply the template --></transform> <dynamicValue> <!-- 0..* Dynamic aspects of the definition --> <description value="[string]"/><!-- 0..1 Natural language description of the dynamic value --> <path value="[string]"/><!-- 0..1 The path to the element to be set dynamically --> <language value="[string]"/><!-- 0..1 Language of the expression --> <expression value="[string]"/><!-- 0..1 An expression that provides the dynamic value for the customization --> </dynamicValue> <action><!-- 0..* Content as for PlanDefinition.action A sub-action --></action> </action> </PlanDefinition>
JSON Template
{ "resourceType" : "PlanDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "url" : "<uri>", // Logical URI to reference this plan definition (globally unique) "identifier" : [{ Identifier }], // Additional identifier for the plan definition "version" : "<string>", // Business version of the plan definition "name" : "<string>", // Name for this plan definition (computer friendly) "title" : "<string>", // Name for this plan definition (human friendly) "type" : { CodeableConcept }, // order-set | protocol | eca-rule "status" : "<code>", // R! draft | active | retired | unknown "experimental" : <boolean>, // For testing purposes, not real usage "date" : "<dateTime>", // Date this was last changed "publisher" : "<string>", // Name of the publisher (organization or individual) "description" : "<markdown>", // Natural language description of the plan definition "purpose" : "<markdown>", // Why this plan definition is defined "usage" : "<string>", // Describes the clinical usage of the plan "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 "useContext" : [{ UsageContext }], // Context the content is intended to support "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for plan definition (if applicable) "topic" : [{ CodeableConcept }], // E.g. Education, Treatment, Assessment, etc "contributor" : [{ Contributor }], // A content contributor "contact" : [{ ContactDetail }], // Contact details for the publisher "copyright" : "<markdown>", // Use and/or publishing restrictions "relatedArtifact" : [{ RelatedArtifact }], // Additional documentation, citations, etc "library" : [{ Reference(Library) }], // Logic used by the plan definition "goal" : [{ // What the plan is trying to accomplish "category" : { CodeableConcept }, // E.g. Treatment, dietary, behavioral, etc "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>", // Short description of the action "textEquivalent" : "<string>", // Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system "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 "triggerDefinition" : [{ TriggerDefinition }], // When the action should be triggered "condition" : [{ // Whether or not the action is applicable "kind" : "<code>", // R! applicability | start | stop "description" : "<string>", // Natural language description of the condition "language" : "<string>", // Language of the expression "expression" : "<string>" // 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 "role" : { CodeableConcept } // E.g. Nurse, Surgeon, Parent, etc }], "type" : { Coding }, // 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" : { Reference(ActivityDefinition|PlanDefinition) }, // Description of the activity to be performed "transform" : { Reference(StructureMap) }, // Transform to apply the template "dynamicValue" : [{ // Dynamic aspects of the definition "description" : "<string>", // Natural language description of the dynamic value "path" : "<string>", // The path to the element to be set dynamically "language" : "<string>", // Language of the expression "expression" : "<string>" // 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:PlanDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:PlanDefinition.url [ uri ]; # 0..1 Logical URI to reference this plan definition (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:PlanDefinition.type [ CodeableConcept ]; # 0..1 order-set | protocol | eca-rule fhir:PlanDefinition.status [ code ]; # 1..1 draft | active | retired | unknown fhir:PlanDefinition.experimental [ boolean ]; # 0..1 For testing purposes, not real usage fhir:PlanDefinition.date [ dateTime ]; # 0..1 Date this was last changed fhir:PlanDefinition.publisher [ string ]; # 0..1 Name of the publisher (organization or individual) fhir:PlanDefinition.description [ markdown ]; # 0..1 Natural language description of the plan definition 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.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.useContext [ UsageContext ], ... ; # 0..* Context the content is intended to support fhir:PlanDefinition.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for plan definition (if applicable) fhir:PlanDefinition.topic [ CodeableConcept ], ... ; # 0..* E.g. Education, Treatment, Assessment, etc fhir:PlanDefinition.contributor [ Contributor ], ... ; # 0..* A content contributor fhir:PlanDefinition.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:PlanDefinition.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions fhir:PlanDefinition.relatedArtifact [ RelatedArtifact ], ... ; # 0..* Additional documentation, citations, etc fhir:PlanDefinition.library [ Reference(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, etc 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 goal 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: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 Short 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.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 action fhir:PlanDefinition.action.goalId [ id ], ... ; # 0..* What goals this action supports fhir:PlanDefinition.action.triggerDefinition [ 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 | stop fhir:PlanDefinition.action.condition.description [ string ]; # 0..1 Natural language description of the condition fhir:PlanDefinition.action.condition.language [ string ]; # 0..1 Language of the expression fhir:PlanDefinition.action.condition.expression [ string ]; # 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 ] ], ...; # 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 action fhir:PlanDefinition.action.participant.type [ code ]; # 1..1 patient | practitioner | related-person fhir:PlanDefinition.action.participant.role [ CodeableConcept ]; # 0..1 E.g. Nurse, Surgeon, Parent, etc ], ...; fhir:PlanDefinition.action.type [ Coding ]; # 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-more 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 | multiple fhir:PlanDefinition.action.definition [ Reference(ActivityDefinition|PlanDefinition) ]; # 0..1 Description of the activity to be performed fhir:PlanDefinition.action.transform [ Reference(StructureMap) ]; # 0..1 Transform to apply the template fhir:PlanDefinition.action.dynamicValue [ # 0..* Dynamic aspects of the definition fhir:PlanDefinition.action.dynamicValue.description [ string ]; # 0..1 Natural language description of the dynamic value fhir:PlanDefinition.action.dynamicValue.path [ string ]; # 0..1 The path to the element to be set dynamically fhir:PlanDefinition.action.dynamicValue.language [ string ]; # 0..1 Language of the expression fhir:PlanDefinition.action.dynamicValue.expression [ string ]; # 0..1 An expression that provides the dynamic value for the customization ], ...; fhir:PlanDefinition.action.action [ See PlanDefinition.action ], ... ; # 0..* A sub-action ], ...; ]
Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
PlanDefinition.type | The type of PlanDefinition | Extensible | PlanDefinitionType |
PlanDefinition.status | The lifecycle status of a Value Set or Concept Map. | Required | PublicationStatus |
PlanDefinition.jurisdiction | Countries and regions within which this artifact is targeted for use | Extensible | Jurisdiction ValueSet |
PlanDefinition.topic | High-level categorization of the definition, used for searching, sorting, and filtering | Example | DefinitionTopic |
PlanDefinition.goal.category | Example codes for grouping goals for filtering or presentation | Example | GoalCategory |
PlanDefinition.goal.description | Describes goals that can be achieved | Example | SNOMED CT Clinical Findings |
PlanDefinition.goal.priority | Indicates the level of importance associated with reaching or sustaining a goal | Preferred | GoalPriority |
PlanDefinition.goal.start | Identifies the types of events that might trigger the start of a goal | Example | GoalStartEvent |
PlanDefinition.goal.addresses | Identifies problems, conditions, issues, or concerns that goals may address | Example | Condition/Problem/Diagnosis Codes |
PlanDefinition.goal.target.measure | Identifies types of parameters that can be tracked to determine goal achievement | Example | LOINC Codes |
PlanDefinition.action.condition.kind | Defines the kinds of conditions that can appear on actions | Required | ActionConditionKind |
PlanDefinition.action.relatedAction.relationship | Defines the types of relationships between actions | Required | ActionRelationshipType |
PlanDefinition.action.participant.type | The type of participant for the action | Required | ActionParticipantType |
PlanDefinition.action.participant.role | Defines roles played by participants for the action | Example | ActionParticipantRole |
PlanDefinition.action.type | The type of action to be performed | Required | ActionType |
PlanDefinition.action.groupingBehavior | Defines organization behavior of a group | Required | ActionGroupingBehavior |
PlanDefinition.action.selectionBehavior | Defines selection behavior of a group | Required | ActionSelectionBehavior |
PlanDefinition.action.requiredBehavior | Defines requiredness behavior for selecting an action or an action group | Required | ActionRequiredBehavior |
PlanDefinition.action.precheckBehavior | Defines selection frequency behavior for an action or group | Required | ActionPrecheckBehavior |
PlanDefinition.action.cardinalityBehavior | Defines behavior for an action or a group for how many times that item may be repeated | Required | ActionCardinalityBehavior |
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) | |
date | date | The plan definition publication date | PlanDefinition.date | |
definition | reference | Activity or plan definitions used by plan definition | PlanDefinition.action.definition (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 | 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 | 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 | string | Name of the publisher of the plan definition | PlanDefinition.publisher | |
status | 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 | 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 | uri | The uri that identifies the plan definition | PlanDefinition.url | |
version | token | The business version of the plan definition | PlanDefinition.version |