This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). 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: 0 | 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 draft proposal for use as part of an approach to Clinical Quality within FHIR, and is documented as part of the Clinical Reasoning module.
A plan definition is a pre-defined group of actions to be taken in particular circumstances, often including conditions, options, and other decision points. The resource is flexible enough to be used to represent a variety of clinical decision support and quality improvement assets, including order sets, protocols, and decision support rules.
PlanDefinitions can contain hierarchical groups of actions, where each specific action defines 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, potentially grouped within a CarePlan 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 Languages 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 Service 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 eachother within the plan, where the ActivityDefinition contains only information about the activity itself.
This resource is referenced by CarePlan and Flag
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PlanDefinition | DomainResource | The definition of a plan for a series of actions, independent of any specific patient or context | ||
url | Σ | 0..1 | uri | Logical URL to reference this asset |
identifier | Σ | 0..* | Identifier | Logical identifier(s) for the asset |
version | Σ | 0..1 | string | The version of the asset, if any |
name | Σ | 0..1 | string | A machine-friendly name for the asset |
title | Σ | 0..1 | string | A user-friendly title for the asset |
type | Σ | 0..1 | CodeableConcept | order-set | protocol | eca-rule PlanDefinitionType (Extensible) |
status | ?!Σ | 1..1 | code | draft | active | inactive LibraryStatus (Required) |
experimental | ?!Σ | 0..1 | boolean | If for testing purposes, not real usage |
description | 0..1 | string | Natural language description of the asset | |
purpose | 0..1 | string | Describes the purpose of the asset | |
usage | 0..1 | string | Describes the clinical usage of the asset | |
publicationDate | 0..1 | date | Publication date for this version of the asset | |
lastReviewDate | 0..1 | date | Last review date for the asset | |
effectivePeriod | 0..1 | Period | The effective date range for the asset | |
coverage | 0..* | UsageContext | Describes the context of use for this asset | |
topic | 0..* | CodeableConcept | Descriptional topics for the asset | |
contributor | 0..* | Contributor | A content contributor | |
publisher | 0..1 | string | Name of the publisher (Organization or individual) | |
contact | 0..* | ContactDetail | Contact details of the publisher | |
copyright | 0..1 | string | Use and/or publishing restrictions | |
relatedResource | 0..* | RelatedResource | Related resources for the asset | |
library | 0..* | Reference(Library) | Logic used by the plan definition | |
actionDefinition | 0..* | BackboneElement | Action defined by the plan | |
actionIdentifier | 0..1 | Identifier | Unique identifier | |
label | 0..1 | string | User-visible label 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 | |
concept | 0..* | CodeableConcept | The meaning of the action or its sub-actions | |
documentation | 0..* | RelatedResource | Supporting documentation for the intended performer of the action | |
triggerDefinition | 0..* | TriggerDefinition | When the action should be triggered | |
condition | 0..1 | BackboneElement | Whether or not the action is applicable | |
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 | |
relatedAction | 0..* | BackboneElement | Relationship to another action | |
actionIdentifier | 1..1 | Identifier | Identifier of the related action | |
relationship | 1..1 | code | before | after | concurrent PlanActionRelationshipType (Required) | |
offset[x] | 0..1 | Time offset for the relationship | ||
offsetDuration | Duration | |||
offsetRange | Range | |||
anchor | 0..1 | code | start | end PlanActionRelationshipAnchor (Required) | |
timing[x] | 0..1 | When the action should take place | ||
timingDateTime | dateTime | |||
timingPeriod | Period | |||
timingDuration | Duration | |||
timingRange | Range | |||
timingTiming | Timing | |||
participantType | 0..* | code | patient | practitioner | related-person PlanActionParticipantType (Required) | |
type | 0..1 | Coding | create | update | remove | fire-event PlanActionType (Required) | |
groupingBehavior | 0..1 | code | visual-group | logical-group | sentence-group PlanActionGroupingBehavior (Required) | |
selectionBehavior | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more PlanActionSelectionBehavior (Required) | |
requiredBehavior | 0..1 | code | must | could | must-unless-documented PlanActionRequiredBehavior (Required) | |
precheckBehavior | 0..1 | code | yes | no PlanActionPrecheckBehavior (Required) | |
cardinalityBehavior | 0..1 | code | single | multiple PlanActionCardinalityBehavior (Required) | |
activityDefinition | 0..1 | Reference(ActivityDefinition) | 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 | |
actionDefinition | 0..* | see actionDefinition | 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 URL to reference this asset --> <identifier><!-- 0..* Identifier Logical identifier(s) for the asset --></identifier> <version value="[string]"/><!-- 0..1 The version of the asset, if any --> <name value="[string]"/><!-- 0..1 A machine-friendly name for the asset --> <title value="[string]"/><!-- 0..1 A user-friendly title for the asset --> <type><!-- 0..1 CodeableConcept order-set | protocol | eca-rule --></type> <status value="[code]"/><!-- 1..1 draft | active | inactive --> <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage --> <description value="[string]"/><!-- 0..1 Natural language description of the asset --> <purpose value="[string]"/><!-- 0..1 Describes the purpose of the asset --> <usage value="[string]"/><!-- 0..1 Describes the clinical usage of the asset --> <publicationDate value="[date]"/><!-- 0..1 Publication date for this version of the asset --> <lastReviewDate value="[date]"/><!-- 0..1 Last review date for the asset --> <effectivePeriod><!-- 0..1 Period The effective date range for the asset --></effectivePeriod> <coverage><!-- 0..* UsageContext Describes the context of use for this asset --></coverage> <topic><!-- 0..* CodeableConcept Descriptional topics for the asset --></topic> <contributor><!-- 0..* Contributor A content contributor --></contributor> <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) --> <contact><!-- 0..* ContactDetail Contact details of the publisher --></contact> <copyright value="[string]"/><!-- 0..1 Use and/or publishing restrictions --> <relatedResource><!-- 0..* RelatedResource Related resources for the asset --></relatedResource> <library><!-- 0..* Reference(Library) Logic used by the plan definition --></library> <actionDefinition> <!-- 0..* Action defined by the plan --> <actionIdentifier><!-- 0..1 Identifier Unique identifier --></actionIdentifier> <label value="[string]"/><!-- 0..1 User-visible label 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 --> <concept><!-- 0..* CodeableConcept The meaning of the action or its sub-actions --></concept> <documentation><!-- 0..* RelatedResource Supporting documentation for the intended performer of the action --></documentation> <triggerDefinition><!-- 0..* TriggerDefinition When the action should be triggered --></triggerDefinition> <condition> <!-- 0..1 Whether or not the action is applicable --> <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> <relatedAction> <!-- 0..* Relationship to another action --> <actionIdentifier><!-- 1..1 Identifier Identifier of the related action --></actionIdentifier> <relationship value="[code]"/><!-- 1..1 before | after | concurrent --> <offset[x]><!-- 0..1 Duration|Range Time offset for the relationship --></offset[x]> <anchor value="[code]"/><!-- 0..1 start | end --> </relatedAction> <timing[x]><!-- 0..1 dateTime|Period|Duration|Range|Timing When the action should take place --></timing[x]> <participantType value="[code]"/><!-- 0..* patient | practitioner | related-person --> <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 --> <activityDefinition><!-- 0..1 Reference(ActivityDefinition) Description of the activity to be performed --></activityDefinition> <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> <actionDefinition><!-- 0..* Content as for PlanDefinition.actionDefinition A sub-action --></actionDefinition> </actionDefinition> </PlanDefinition>
JSON Template
{ "resourceType" : "PlanDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "url" : "<uri>", // Logical URL to reference this asset "identifier" : [{ Identifier }], // Logical identifier(s) for the asset "version" : "<string>", // The version of the asset, if any "name" : "<string>", // A machine-friendly name for the asset "title" : "<string>", // A user-friendly title for the asset "type" : { CodeableConcept }, // order-set | protocol | eca-rule "status" : "<code>", // R! draft | active | inactive "experimental" : <boolean>, // If for testing purposes, not real usage "description" : "<string>", // Natural language description of the asset "purpose" : "<string>", // Describes the purpose of the asset "usage" : "<string>", // Describes the clinical usage of the asset "publicationDate" : "<date>", // Publication date for this version of the asset "lastReviewDate" : "<date>", // Last review date for the asset "effectivePeriod" : { Period }, // The effective date range for the asset "coverage" : [{ UsageContext }], // Describes the context of use for this asset "topic" : [{ CodeableConcept }], // Descriptional topics for the asset "contributor" : [{ Contributor }], // A content contributor "publisher" : "<string>", // Name of the publisher (Organization or individual) "contact" : [{ ContactDetail }], // Contact details of the publisher "copyright" : "<string>", // Use and/or publishing restrictions "relatedResource" : [{ RelatedResource }], // Related resources for the asset "library" : [{ Reference(Library) }], // Logic used by the plan definition "actionDefinition" : [{ // Action defined by the plan "actionIdentifier" : { Identifier }, // Unique identifier "label" : "<string>", // User-visible label 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 "concept" : [{ CodeableConcept }], // The meaning of the action or its sub-actions "documentation" : [{ RelatedResource }], // Supporting documentation for the intended performer of the action "triggerDefinition" : [{ TriggerDefinition }], // When the action should be triggered "condition" : { // Whether or not the action is applicable "description" : "<string>", // Natural language description of the condition "language" : "<string>", // Language of the expression "expression" : "<string>" // Boolean-valued expression }, "relatedAction" : [{ // Relationship to another action "actionIdentifier" : { Identifier }, // R! Identifier of the related action "relationship" : "<code>", // R! before | after | concurrent // offset[x]: Time offset for the relationship. One of these 2: "offsetDuration" : { Duration }, "offsetRange" : { Range }, "anchor" : "<code>" // start | end }], // timing[x]: When the action should take place. One of these 5: "timingDateTime" : "<dateTime>", "timingPeriod" : { Period }, "timingDuration" : { Duration }, "timingRange" : { Range }, "timingTiming" : { Timing }, "participantType" : ["<code>"], // patient | practitioner | related-person "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 "activityDefinition" : { Reference(ActivityDefinition) }, // 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 }], "actionDefinition" : [{ Content as for PlanDefinition.actionDefinition }] // 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 URL to reference this asset fhir:PlanDefinition.identifier [ Identifier ], ... ; # 0..* Logical identifier(s) for the asset fhir:PlanDefinition.version [ string ]; # 0..1 The version of the asset, if any fhir:PlanDefinition.name [ string ]; # 0..1 A machine-friendly name for the asset fhir:PlanDefinition.title [ string ]; # 0..1 A user-friendly title for the asset fhir:PlanDefinition.type [ CodeableConcept ]; # 0..1 order-set | protocol | eca-rule fhir:PlanDefinition.status [ code ]; # 1..1 draft | active | inactive fhir:PlanDefinition.experimental [ boolean ]; # 0..1 If for testing purposes, not real usage fhir:PlanDefinition.description [ string ]; # 0..1 Natural language description of the asset fhir:PlanDefinition.purpose [ string ]; # 0..1 Describes the purpose of the asset fhir:PlanDefinition.usage [ string ]; # 0..1 Describes the clinical usage of the asset fhir:PlanDefinition.publicationDate [ date ]; # 0..1 Publication date for this version of the asset fhir:PlanDefinition.lastReviewDate [ date ]; # 0..1 Last review date for the asset fhir:PlanDefinition.effectivePeriod [ Period ]; # 0..1 The effective date range for the asset fhir:PlanDefinition.coverage [ UsageContext ], ... ; # 0..* Describes the context of use for this asset fhir:PlanDefinition.topic [ CodeableConcept ], ... ; # 0..* Descriptional topics for the asset fhir:PlanDefinition.contributor [ Contributor ], ... ; # 0..* A content contributor fhir:PlanDefinition.publisher [ string ]; # 0..1 Name of the publisher (Organization or individual) fhir:PlanDefinition.contact [ ContactDetail ], ... ; # 0..* Contact details of the publisher fhir:PlanDefinition.copyright [ string ]; # 0..1 Use and/or publishing restrictions fhir:PlanDefinition.relatedResource [ RelatedResource ], ... ; # 0..* Related resources for the asset fhir:PlanDefinition.library [ Reference(Library) ], ... ; # 0..* Logic used by the plan definition fhir:PlanDefinition.actionDefinition [ # 0..* Action defined by the plan fhir:PlanDefinition.actionDefinition.actionIdentifier [ Identifier ]; # 0..1 Unique identifier fhir:PlanDefinition.actionDefinition.label [ string ]; # 0..1 User-visible label for the action (e.g. 1. or A.) fhir:PlanDefinition.actionDefinition.title [ string ]; # 0..1 User-visible title fhir:PlanDefinition.actionDefinition.description [ string ]; # 0..1 Short description of the action fhir:PlanDefinition.actionDefinition.textEquivalent [ string ]; # 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system fhir:PlanDefinition.actionDefinition.concept [ CodeableConcept ], ... ; # 0..* The meaning of the action or its sub-actions fhir:PlanDefinition.actionDefinition.documentation [ RelatedResource ], ... ; # 0..* Supporting documentation for the intended performer of the action fhir:PlanDefinition.actionDefinition.triggerDefinition [ TriggerDefinition ], ... ; # 0..* When the action should be triggered fhir:PlanDefinition.actionDefinition.condition [ # 0..1 Whether or not the action is applicable fhir:PlanDefinition.actionDefinition.condition.description [ string ]; # 0..1 Natural language description of the condition fhir:PlanDefinition.actionDefinition.condition.language [ string ]; # 0..1 Language of the expression fhir:PlanDefinition.actionDefinition.condition.expression [ string ]; # 0..1 Boolean-valued expression ]; fhir:PlanDefinition.actionDefinition.relatedAction [ # 0..* Relationship to another action fhir:PlanDefinition.actionDefinition.relatedAction.actionIdentifier [ Identifier ]; # 1..1 Identifier of the related action fhir:PlanDefinition.actionDefinition.relatedAction.relationship [ code ]; # 1..1 before | after | concurrent # PlanDefinition.actionDefinition.relatedAction.offset[x] : 0..1 Time offset for the relationship. One of these 2 fhir:PlanDefinition.actionDefinition.relatedAction.offsetDuration [ Duration ] fhir:PlanDefinition.actionDefinition.relatedAction.offsetRange [ Range ] fhir:PlanDefinition.actionDefinition.relatedAction.anchor [ code ]; # 0..1 start | end ], ...; # PlanDefinition.actionDefinition.timing[x] : 0..1 When the action should take place. One of these 5 fhir:PlanDefinition.actionDefinition.timingDateTime [ dateTime ] fhir:PlanDefinition.actionDefinition.timingPeriod [ Period ] fhir:PlanDefinition.actionDefinition.timingDuration [ Duration ] fhir:PlanDefinition.actionDefinition.timingRange [ Range ] fhir:PlanDefinition.actionDefinition.timingTiming [ Timing ] fhir:PlanDefinition.actionDefinition.participantType [ code ], ... ; # 0..* patient | practitioner | related-person fhir:PlanDefinition.actionDefinition.type [ Coding ]; # 0..1 create | update | remove | fire-event fhir:PlanDefinition.actionDefinition.groupingBehavior [ code ]; # 0..1 visual-group | logical-group | sentence-group fhir:PlanDefinition.actionDefinition.selectionBehavior [ code ]; # 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more fhir:PlanDefinition.actionDefinition.requiredBehavior [ code ]; # 0..1 must | could | must-unless-documented fhir:PlanDefinition.actionDefinition.precheckBehavior [ code ]; # 0..1 yes | no fhir:PlanDefinition.actionDefinition.cardinalityBehavior [ code ]; # 0..1 single | multiple fhir:PlanDefinition.actionDefinition.activityDefinition [ Reference(ActivityDefinition) ]; # 0..1 Description of the activity to be performed fhir:PlanDefinition.actionDefinition.transform [ Reference(StructureMap) ]; # 0..1 Transform to apply the template fhir:PlanDefinition.actionDefinition.dynamicValue [ # 0..* Dynamic aspects of the definition fhir:PlanDefinition.actionDefinition.dynamicValue.description [ string ]; # 0..1 Natural language description of the dynamic value fhir:PlanDefinition.actionDefinition.dynamicValue.path [ string ]; # 0..1 The path to the element to be set dynamically fhir:PlanDefinition.actionDefinition.dynamicValue.language [ string ]; # 0..1 Language of the expression fhir:PlanDefinition.actionDefinition.dynamicValue.expression [ string ]; # 0..1 An expression that provides the dynamic value for the customization ], ...; fhir:PlanDefinition.actionDefinition.actionDefinition [ See PlanDefinition.actionDefinition ], ... ; # 0..* A sub-action ], ...; ]
Changes since DSTU2
This resource did not exist in Release 2
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PlanDefinition | DomainResource | The definition of a plan for a series of actions, independent of any specific patient or context | ||
url | Σ | 0..1 | uri | Logical URL to reference this asset |
identifier | Σ | 0..* | Identifier | Logical identifier(s) for the asset |
version | Σ | 0..1 | string | The version of the asset, if any |
name | Σ | 0..1 | string | A machine-friendly name for the asset |
title | Σ | 0..1 | string | A user-friendly title for the asset |
type | Σ | 0..1 | CodeableConcept | order-set | protocol | eca-rule PlanDefinitionType (Extensible) |
status | ?!Σ | 1..1 | code | draft | active | inactive LibraryStatus (Required) |
experimental | ?!Σ | 0..1 | boolean | If for testing purposes, not real usage |
description | 0..1 | string | Natural language description of the asset | |
purpose | 0..1 | string | Describes the purpose of the asset | |
usage | 0..1 | string | Describes the clinical usage of the asset | |
publicationDate | 0..1 | date | Publication date for this version of the asset | |
lastReviewDate | 0..1 | date | Last review date for the asset | |
effectivePeriod | 0..1 | Period | The effective date range for the asset | |
coverage | 0..* | UsageContext | Describes the context of use for this asset | |
topic | 0..* | CodeableConcept | Descriptional topics for the asset | |
contributor | 0..* | Contributor | A content contributor | |
publisher | 0..1 | string | Name of the publisher (Organization or individual) | |
contact | 0..* | ContactDetail | Contact details of the publisher | |
copyright | 0..1 | string | Use and/or publishing restrictions | |
relatedResource | 0..* | RelatedResource | Related resources for the asset | |
library | 0..* | Reference(Library) | Logic used by the plan definition | |
actionDefinition | 0..* | BackboneElement | Action defined by the plan | |
actionIdentifier | 0..1 | Identifier | Unique identifier | |
label | 0..1 | string | User-visible label 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 | |
concept | 0..* | CodeableConcept | The meaning of the action or its sub-actions | |
documentation | 0..* | RelatedResource | Supporting documentation for the intended performer of the action | |
triggerDefinition | 0..* | TriggerDefinition | When the action should be triggered | |
condition | 0..1 | BackboneElement | Whether or not the action is applicable | |
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 | |
relatedAction | 0..* | BackboneElement | Relationship to another action | |
actionIdentifier | 1..1 | Identifier | Identifier of the related action | |
relationship | 1..1 | code | before | after | concurrent PlanActionRelationshipType (Required) | |
offset[x] | 0..1 | Time offset for the relationship | ||
offsetDuration | Duration | |||
offsetRange | Range | |||
anchor | 0..1 | code | start | end PlanActionRelationshipAnchor (Required) | |
timing[x] | 0..1 | When the action should take place | ||
timingDateTime | dateTime | |||
timingPeriod | Period | |||
timingDuration | Duration | |||
timingRange | Range | |||
timingTiming | Timing | |||
participantType | 0..* | code | patient | practitioner | related-person PlanActionParticipantType (Required) | |
type | 0..1 | Coding | create | update | remove | fire-event PlanActionType (Required) | |
groupingBehavior | 0..1 | code | visual-group | logical-group | sentence-group PlanActionGroupingBehavior (Required) | |
selectionBehavior | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more PlanActionSelectionBehavior (Required) | |
requiredBehavior | 0..1 | code | must | could | must-unless-documented PlanActionRequiredBehavior (Required) | |
precheckBehavior | 0..1 | code | yes | no PlanActionPrecheckBehavior (Required) | |
cardinalityBehavior | 0..1 | code | single | multiple PlanActionCardinalityBehavior (Required) | |
activityDefinition | 0..1 | Reference(ActivityDefinition) | 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 | |
actionDefinition | 0..* | see actionDefinition | 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 URL to reference this asset --> <identifier><!-- 0..* Identifier Logical identifier(s) for the asset --></identifier> <version value="[string]"/><!-- 0..1 The version of the asset, if any --> <name value="[string]"/><!-- 0..1 A machine-friendly name for the asset --> <title value="[string]"/><!-- 0..1 A user-friendly title for the asset --> <type><!-- 0..1 CodeableConcept order-set | protocol | eca-rule --></type> <status value="[code]"/><!-- 1..1 draft | active | inactive --> <experimental value="[boolean]"/><!-- 0..1 If for testing purposes, not real usage --> <description value="[string]"/><!-- 0..1 Natural language description of the asset --> <purpose value="[string]"/><!-- 0..1 Describes the purpose of the asset --> <usage value="[string]"/><!-- 0..1 Describes the clinical usage of the asset --> <publicationDate value="[date]"/><!-- 0..1 Publication date for this version of the asset --> <lastReviewDate value="[date]"/><!-- 0..1 Last review date for the asset --> <effectivePeriod><!-- 0..1 Period The effective date range for the asset --></effectivePeriod> <coverage><!-- 0..* UsageContext Describes the context of use for this asset --></coverage> <topic><!-- 0..* CodeableConcept Descriptional topics for the asset --></topic> <contributor><!-- 0..* Contributor A content contributor --></contributor> <publisher value="[string]"/><!-- 0..1 Name of the publisher (Organization or individual) --> <contact><!-- 0..* ContactDetail Contact details of the publisher --></contact> <copyright value="[string]"/><!-- 0..1 Use and/or publishing restrictions --> <relatedResource><!-- 0..* RelatedResource Related resources for the asset --></relatedResource> <library><!-- 0..* Reference(Library) Logic used by the plan definition --></library> <actionDefinition> <!-- 0..* Action defined by the plan --> <actionIdentifier><!-- 0..1 Identifier Unique identifier --></actionIdentifier> <label value="[string]"/><!-- 0..1 User-visible label 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 --> <concept><!-- 0..* CodeableConcept The meaning of the action or its sub-actions --></concept> <documentation><!-- 0..* RelatedResource Supporting documentation for the intended performer of the action --></documentation> <triggerDefinition><!-- 0..* TriggerDefinition When the action should be triggered --></triggerDefinition> <condition> <!-- 0..1 Whether or not the action is applicable --> <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> <relatedAction> <!-- 0..* Relationship to another action --> <actionIdentifier><!-- 1..1 Identifier Identifier of the related action --></actionIdentifier> <relationship value="[code]"/><!-- 1..1 before | after | concurrent --> <offset[x]><!-- 0..1 Duration|Range Time offset for the relationship --></offset[x]> <anchor value="[code]"/><!-- 0..1 start | end --> </relatedAction> <timing[x]><!-- 0..1 dateTime|Period|Duration|Range|Timing When the action should take place --></timing[x]> <participantType value="[code]"/><!-- 0..* patient | practitioner | related-person --> <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 --> <activityDefinition><!-- 0..1 Reference(ActivityDefinition) Description of the activity to be performed --></activityDefinition> <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> <actionDefinition><!-- 0..* Content as for PlanDefinition.actionDefinition A sub-action --></actionDefinition> </actionDefinition> </PlanDefinition>
JSON Template
{ "resourceType" : "PlanDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "url" : "<uri>", // Logical URL to reference this asset "identifier" : [{ Identifier }], // Logical identifier(s) for the asset "version" : "<string>", // The version of the asset, if any "name" : "<string>", // A machine-friendly name for the asset "title" : "<string>", // A user-friendly title for the asset "type" : { CodeableConcept }, // order-set | protocol | eca-rule "status" : "<code>", // R! draft | active | inactive "experimental" : <boolean>, // If for testing purposes, not real usage "description" : "<string>", // Natural language description of the asset "purpose" : "<string>", // Describes the purpose of the asset "usage" : "<string>", // Describes the clinical usage of the asset "publicationDate" : "<date>", // Publication date for this version of the asset "lastReviewDate" : "<date>", // Last review date for the asset "effectivePeriod" : { Period }, // The effective date range for the asset "coverage" : [{ UsageContext }], // Describes the context of use for this asset "topic" : [{ CodeableConcept }], // Descriptional topics for the asset "contributor" : [{ Contributor }], // A content contributor "publisher" : "<string>", // Name of the publisher (Organization or individual) "contact" : [{ ContactDetail }], // Contact details of the publisher "copyright" : "<string>", // Use and/or publishing restrictions "relatedResource" : [{ RelatedResource }], // Related resources for the asset "library" : [{ Reference(Library) }], // Logic used by the plan definition "actionDefinition" : [{ // Action defined by the plan "actionIdentifier" : { Identifier }, // Unique identifier "label" : "<string>", // User-visible label 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 "concept" : [{ CodeableConcept }], // The meaning of the action or its sub-actions "documentation" : [{ RelatedResource }], // Supporting documentation for the intended performer of the action "triggerDefinition" : [{ TriggerDefinition }], // When the action should be triggered "condition" : { // Whether or not the action is applicable "description" : "<string>", // Natural language description of the condition "language" : "<string>", // Language of the expression "expression" : "<string>" // Boolean-valued expression }, "relatedAction" : [{ // Relationship to another action "actionIdentifier" : { Identifier }, // R! Identifier of the related action "relationship" : "<code>", // R! before | after | concurrent // offset[x]: Time offset for the relationship. One of these 2: "offsetDuration" : { Duration }, "offsetRange" : { Range }, "anchor" : "<code>" // start | end }], // timing[x]: When the action should take place. One of these 5: "timingDateTime" : "<dateTime>", "timingPeriod" : { Period }, "timingDuration" : { Duration }, "timingRange" : { Range }, "timingTiming" : { Timing }, "participantType" : ["<code>"], // patient | practitioner | related-person "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 "activityDefinition" : { Reference(ActivityDefinition) }, // 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 }], "actionDefinition" : [{ Content as for PlanDefinition.actionDefinition }] // 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 URL to reference this asset fhir:PlanDefinition.identifier [ Identifier ], ... ; # 0..* Logical identifier(s) for the asset fhir:PlanDefinition.version [ string ]; # 0..1 The version of the asset, if any fhir:PlanDefinition.name [ string ]; # 0..1 A machine-friendly name for the asset fhir:PlanDefinition.title [ string ]; # 0..1 A user-friendly title for the asset fhir:PlanDefinition.type [ CodeableConcept ]; # 0..1 order-set | protocol | eca-rule fhir:PlanDefinition.status [ code ]; # 1..1 draft | active | inactive fhir:PlanDefinition.experimental [ boolean ]; # 0..1 If for testing purposes, not real usage fhir:PlanDefinition.description [ string ]; # 0..1 Natural language description of the asset fhir:PlanDefinition.purpose [ string ]; # 0..1 Describes the purpose of the asset fhir:PlanDefinition.usage [ string ]; # 0..1 Describes the clinical usage of the asset fhir:PlanDefinition.publicationDate [ date ]; # 0..1 Publication date for this version of the asset fhir:PlanDefinition.lastReviewDate [ date ]; # 0..1 Last review date for the asset fhir:PlanDefinition.effectivePeriod [ Period ]; # 0..1 The effective date range for the asset fhir:PlanDefinition.coverage [ UsageContext ], ... ; # 0..* Describes the context of use for this asset fhir:PlanDefinition.topic [ CodeableConcept ], ... ; # 0..* Descriptional topics for the asset fhir:PlanDefinition.contributor [ Contributor ], ... ; # 0..* A content contributor fhir:PlanDefinition.publisher [ string ]; # 0..1 Name of the publisher (Organization or individual) fhir:PlanDefinition.contact [ ContactDetail ], ... ; # 0..* Contact details of the publisher fhir:PlanDefinition.copyright [ string ]; # 0..1 Use and/or publishing restrictions fhir:PlanDefinition.relatedResource [ RelatedResource ], ... ; # 0..* Related resources for the asset fhir:PlanDefinition.library [ Reference(Library) ], ... ; # 0..* Logic used by the plan definition fhir:PlanDefinition.actionDefinition [ # 0..* Action defined by the plan fhir:PlanDefinition.actionDefinition.actionIdentifier [ Identifier ]; # 0..1 Unique identifier fhir:PlanDefinition.actionDefinition.label [ string ]; # 0..1 User-visible label for the action (e.g. 1. or A.) fhir:PlanDefinition.actionDefinition.title [ string ]; # 0..1 User-visible title fhir:PlanDefinition.actionDefinition.description [ string ]; # 0..1 Short description of the action fhir:PlanDefinition.actionDefinition.textEquivalent [ string ]; # 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system fhir:PlanDefinition.actionDefinition.concept [ CodeableConcept ], ... ; # 0..* The meaning of the action or its sub-actions fhir:PlanDefinition.actionDefinition.documentation [ RelatedResource ], ... ; # 0..* Supporting documentation for the intended performer of the action fhir:PlanDefinition.actionDefinition.triggerDefinition [ TriggerDefinition ], ... ; # 0..* When the action should be triggered fhir:PlanDefinition.actionDefinition.condition [ # 0..1 Whether or not the action is applicable fhir:PlanDefinition.actionDefinition.condition.description [ string ]; # 0..1 Natural language description of the condition fhir:PlanDefinition.actionDefinition.condition.language [ string ]; # 0..1 Language of the expression fhir:PlanDefinition.actionDefinition.condition.expression [ string ]; # 0..1 Boolean-valued expression ]; fhir:PlanDefinition.actionDefinition.relatedAction [ # 0..* Relationship to another action fhir:PlanDefinition.actionDefinition.relatedAction.actionIdentifier [ Identifier ]; # 1..1 Identifier of the related action fhir:PlanDefinition.actionDefinition.relatedAction.relationship [ code ]; # 1..1 before | after | concurrent # PlanDefinition.actionDefinition.relatedAction.offset[x] : 0..1 Time offset for the relationship. One of these 2 fhir:PlanDefinition.actionDefinition.relatedAction.offsetDuration [ Duration ] fhir:PlanDefinition.actionDefinition.relatedAction.offsetRange [ Range ] fhir:PlanDefinition.actionDefinition.relatedAction.anchor [ code ]; # 0..1 start | end ], ...; # PlanDefinition.actionDefinition.timing[x] : 0..1 When the action should take place. One of these 5 fhir:PlanDefinition.actionDefinition.timingDateTime [ dateTime ] fhir:PlanDefinition.actionDefinition.timingPeriod [ Period ] fhir:PlanDefinition.actionDefinition.timingDuration [ Duration ] fhir:PlanDefinition.actionDefinition.timingRange [ Range ] fhir:PlanDefinition.actionDefinition.timingTiming [ Timing ] fhir:PlanDefinition.actionDefinition.participantType [ code ], ... ; # 0..* patient | practitioner | related-person fhir:PlanDefinition.actionDefinition.type [ Coding ]; # 0..1 create | update | remove | fire-event fhir:PlanDefinition.actionDefinition.groupingBehavior [ code ]; # 0..1 visual-group | logical-group | sentence-group fhir:PlanDefinition.actionDefinition.selectionBehavior [ code ]; # 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more fhir:PlanDefinition.actionDefinition.requiredBehavior [ code ]; # 0..1 must | could | must-unless-documented fhir:PlanDefinition.actionDefinition.precheckBehavior [ code ]; # 0..1 yes | no fhir:PlanDefinition.actionDefinition.cardinalityBehavior [ code ]; # 0..1 single | multiple fhir:PlanDefinition.actionDefinition.activityDefinition [ Reference(ActivityDefinition) ]; # 0..1 Description of the activity to be performed fhir:PlanDefinition.actionDefinition.transform [ Reference(StructureMap) ]; # 0..1 Transform to apply the template fhir:PlanDefinition.actionDefinition.dynamicValue [ # 0..* Dynamic aspects of the definition fhir:PlanDefinition.actionDefinition.dynamicValue.description [ string ]; # 0..1 Natural language description of the dynamic value fhir:PlanDefinition.actionDefinition.dynamicValue.path [ string ]; # 0..1 The path to the element to be set dynamically fhir:PlanDefinition.actionDefinition.dynamicValue.language [ string ]; # 0..1 Language of the expression fhir:PlanDefinition.actionDefinition.dynamicValue.expression [ string ]; # 0..1 An expression that provides the dynamic value for the customization ], ...; fhir:PlanDefinition.actionDefinition.actionDefinition [ See PlanDefinition.actionDefinition ], ... ; # 0..* A sub-action ], ...; ]
Changes since DSTU2
This resource did not exist in Release 2
Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron (for ) + JSON Schema, ShEx (for Turtle)
Path | Definition | Type | Reference |
---|---|---|---|
PlanDefinition.type | The type of PlanDefinition | Extensible | PlanDefinitionType |
PlanDefinition.status | The status of the PlanDefinition | Required | LibraryStatus |
PlanDefinition.actionDefinition.relatedAction.relationship | Defines the types of relationships between actions | Required | PlanActionRelationshipType |
PlanDefinition.actionDefinition.relatedAction.anchor | Defines possible anchors for the relationship between actions | Required | PlanActionRelationshipAnchor |
PlanDefinition.actionDefinition.participantType | The type of participant for the action | Required | PlanActionParticipantType |
PlanDefinition.actionDefinition.type | The type of action to be performed | Required | PlanActionType |
PlanDefinition.actionDefinition.groupingBehavior | Defines organization behavior of a group | Required | PlanActionGroupingBehavior |
PlanDefinition.actionDefinition.selectionBehavior | Defines selection behavior of a group | Required | PlanActionSelectionBehavior |
PlanDefinition.actionDefinition.requiredBehavior | Defines requiredness behavior for selecting an action or an action group | Required | PlanActionRequiredBehavior |
PlanDefinition.actionDefinition.precheckBehavior | Defines selection frequency behavior for an action or group | Required | PlanActionPrecheckBehavior |
PlanDefinition.actionDefinition.cardinalityBehavior | Defines behavior for an action or a group for how many times that item may be repeated | Required | PlanActionCardinalityBehavior |
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 | Paths |
description | string | Text search against the description | PlanDefinition.description |
identifier | token | Logical identifier for the module (e.g. CMS-143) | PlanDefinition.identifier |
status | token | Status of the module | PlanDefinition.status |
title | string | Text search against the title | PlanDefinition.title |
topic | token | Topics associated with the module | PlanDefinition.topic |
version | string | Version of the module (e.g. 1.0.0) | PlanDefinition.version |