R4 Draft for Comment

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

12.18 Resource PlanDefinition - Content

Clinical Decision Support Work GroupMaturity 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:

relationship-between-action-and-activity-definition

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition TUDomainResourceThe 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..1uriLogical URI to reference this plan definition (globally unique)
... identifier Σ0..*IdentifierAdditional identifier for the plan definition
... version Σ0..1stringBusiness version of the plan definition
... name Σ0..1stringName for this plan definition (computer friendly)
... title Σ0..1stringName for this plan definition (human friendly)
... type Σ0..1CodeableConceptorder-set | protocol | eca-rule
PlanDefinitionType (Extensible)
... status ?!Σ1..1codedraft | active | retired | unknown
PublicationStatus (Required)
... experimental ?!Σ0..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate this was last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... description Σ0..1markdownNatural language description of the plan definition
... purpose 0..1markdownWhy this plan definition is defined
... usage 0..1stringDescribes the clinical usage of the plan
... approvalDate 0..1dateWhen the plan definition was approved by publisher
... lastReviewDate 0..1dateWhen the plan definition was last reviewed
... effectivePeriod Σ0..1PeriodWhen the plan definition is expected to be used
... useContext Σ0..*UsageContextContext the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for plan definition (if applicable)
Jurisdiction ValueSet (Extensible)
... topic 0..*CodeableConceptE.g. Education, Treatment, Assessment, etc
DefinitionTopic (Example)
... contributor 0..*ContributorA content contributor
... contact Σ0..*ContactDetailContact details for the publisher
... copyright 0..1markdownUse and/or publishing restrictions
... relatedArtifact 0..*RelatedArtifactAdditional documentation, citations, etc
... library 0..*Reference(Library)Logic used by the plan definition
... goal 0..*BackboneElementWhat the plan is trying to accomplish
.... category 0..1CodeableConceptE.g. Treatment, dietary, behavioral, etc
GoalCategory (Example)
.... description 1..1CodeableConceptCode or text describing the goal
SNOMED CT Clinical Findings (Example)
.... priority 0..1CodeableConcepthigh-priority | medium-priority | low-priority
GoalPriority (Preferred)
.... start 0..1CodeableConceptWhen goal pursuit begins
GoalStartEvent (Example)
.... addresses 0..*CodeableConceptWhat does the goal address
Condition/Problem/Diagnosis Codes (Example)
.... documentation 0..*RelatedArtifactSupporting documentation for the goal
.... target 0..*BackboneElementTarget outcome for the goal
..... measure 0..1CodeableConceptThe parameter whose value is to be tracked
LOINC Codes (Example)
..... detail[x] 0..1The target value to be achieved
...... detailQuantityQuantity
...... detailRangeRange
...... detailCodeableConceptCodeableConcept
..... due 0..1DurationReach goal within
... action 0..*BackboneElementAction defined by the plan
.... prefix 0..1stringUser-visible prefix for the action (e.g. 1. or A.)
.... title 0..1stringUser-visible title
.... description 0..1stringShort description of the action
.... textEquivalent 0..1stringStatic text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
.... code 0..*CodeableConceptCode representing the meaning of the action or sub-actions
.... reason 0..*CodeableConceptWhy the action should be performed
.... documentation 0..*RelatedArtifactSupporting documentation for the intended performer of the action
.... goalId 0..*idWhat goals this action supports
.... triggerDefinition 0..*TriggerDefinitionWhen the action should be triggered
.... condition 0..*BackboneElementWhether or not the action is applicable
..... kind 1..1codeapplicability | start | stop
ActionConditionKind (Required)
..... description 0..1stringNatural language description of the condition
..... language 0..1stringLanguage of the expression
..... expression 0..1stringBoolean-valued expression
.... input 0..*DataRequirementInput data requirements
.... output 0..*DataRequirementOutput data definition
.... relatedAction 0..*BackboneElementRelationship to another action
..... actionId 1..1idWhat action is this related to
..... relationship 1..1codebefore-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
ActionRelationshipType (Required)
..... offset[x] 0..1Time offset for the relationship
...... offsetDurationDuration
...... offsetRangeRange
.... timing[x] 0..1When the action should take place
..... timingDateTimedateTime
..... timingAgeAge
..... timingPeriodPeriod
..... timingDurationDuration
..... timingRangeRange
..... timingTimingTiming
.... participant 0..*BackboneElementWho should participate in the action
..... type 1..1codepatient | practitioner | related-person
ActionParticipantType (Required)
..... role 0..1CodeableConceptE.g. Nurse, Surgeon, Parent, etc
ActionParticipantRole (Example)
.... type 0..1Codingcreate | update | remove | fire-event
ActionType (Required)
.... groupingBehavior 0..1codevisual-group | logical-group | sentence-group
ActionGroupingBehavior (Required)
.... selectionBehavior 0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
ActionSelectionBehavior (Required)
.... requiredBehavior 0..1codemust | could | must-unless-documented
ActionRequiredBehavior (Required)
.... precheckBehavior 0..1codeyes | no
ActionPrecheckBehavior (Required)
.... cardinalityBehavior 0..1codesingle | multiple
ActionCardinalityBehavior (Required)
.... definition 0..1Reference(ActivityDefinition | PlanDefinition)Description of the activity to be performed
.... transform 0..1Reference(StructureMap)Transform to apply the template
.... dynamicValue 0..*BackboneElementDynamic aspects of the definition
..... description 0..1stringNatural language description of the dynamic value
..... path 0..1stringThe path to the element to be set dynamically
..... language 0..1stringLanguage of the expression
..... expression 0..1stringAn expression that provides the dynamic value for the customization
.... action 0..*see actionA sub-action

doco Documentation for this format

UML Diagram (Legend)

PlanDefinition (DomainResource)An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this plan definition is (or will be) publishedurl : uri [0..1]A formal identifier that is used to identify this plan definition when it is represented in other formats, or referenced in a specification, model, design or an instanceidentifier : Identifier [0..*]The identifier that is used to identify this version of the plan definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the plan definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifactsversion : string [0..1]A natural language name identifying the plan definition. This name should be usable as an identifier for the module by machine processing applications such as code generationname : string [0..1]A short, descriptive, user-friendly title for the plan definitiontitle : string [0..1]The type of artifact the plan definition represents, e.g. an order set, protocol, or event-condition-action ruletype : CodeableConcept [0..1] « The type of PlanDefinition (Strength=Extensible)PlanDefinitionType+ »The status of this plan definition. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements)status : code [1..1] « The lifecycle status of a Value Set or Concept Map. (Strength=Required)PublicationStatus! »A boolean value to indicate that this plan definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage (this element modifies the meaning of other elements)experimental : boolean [0..1]The date (and optionally time) when the plan definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the plan definition changesdate : dateTime [0..1]The name of the individual or organization that published the plan definitionpublisher : string [0..1]A free text natural language description of the plan definition from a consumer's perspectivedescription : markdown [0..1]Explaination of why this plan definition is needed and why it has been designed as it haspurpose : markdown [0..1]A detailed description of how the plan definition is used from a clinical perspectiveusage : string [0..1]The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usageapprovalDate : date [0..1]The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn't change the original approval datelastReviewDate : date [0..1]The period during which the plan definition content was or is planned to be in active useeffectivePeriod : Period [0..1]The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate plan definition instancesuseContext : UsageContext [0..*]A legal or geographic region in which the plan definition is intended to be usedjurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for use (Strength=Extensible)Jurisdiction ValueSet+ »Descriptive topics related to the content of the plan definition. Topics provide a high-level categorization of the definition that can be useful for filtering and searchingtopic : CodeableConcept [0..*] « High-level categorization of the definition, used for searching, sorting, and filtering (Strength=Example)DefinitionTopic?? »A contributor to the content of the plan definition, including authors, editors, reviewers, and endorserscontributor : Contributor [0..*]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]A copyright statement relating to the plan definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the plan definitioncopyright : markdown [0..1]Related artifacts such as additional documentation, justification, or bibliographic referencesrelatedArtifact : RelatedArtifact [0..*]A reference to a Library resource containing any formal logic used by the plan definitionlibrary : Reference [0..*] « Library »GoalIndicates a category the goal falls withincategory : CodeableConcept [0..1] « Example codes for grouping goals for filtering or presentation (Strength=Example)GoalCategory?? »Human-readable and/or coded description of a specific desired objective of care, such as "control blood pressure" or "negotiate an obstacle course" or "dance with child at wedding"description : CodeableConcept [1..1] « Describes goals that can be achieved (Strength=Example)SNOMED CT Clinical Findings?? »Identifies the expected level of importance associated with reaching/sustaining the defined goalpriority : CodeableConcept [0..1] « Indicates the level of importance associated with reaching or sustaining a goal (Strength=Preferred)GoalPriority? »The event after which the goal should begin being pursuedstart : CodeableConcept [0..1] « Identifies the types of events that might trigger the start of a goal (Strength=Example)GoalStartEvent?? »Identifies problems, conditions, issues, or concerns the goal is intended to addressaddresses : CodeableConcept [0..*] « Identifies problems, conditions, issues, or concerns that goals may address (Strength=Example)Condition/Problem/Diagnosis ?? »Didactic or other informational resources associated with the goal that provide further supporting information about the goal. Information resources can include inline text commentary and links to web resourcesdocumentation : RelatedArtifact [0..*]TargetThe parameter whose value is to be tracked, e.g. body weigth, blood pressure, or hemoglobin A1c levelmeasure : CodeableConcept [0..1] « Identifies types of parameters that can be tracked to determine goal achievement (Strength=Example)LOINC ?? »The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both values of the range can be specified. Whan a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low valuedetail[x] : Type [0..1] « Quantity|Range|CodeableConcept »Indicates the timeframe after the start of the goal in which the goal should be metdue : Duration [0..1]ActionA user-visible prefix for the actionprefix : string [0..1]The title of the action displayed to a usertitle : string [0..1]A short description of the action used to provide a summary to display to the userdescription : string [0..1]A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamicallytextEquivalent : string [0..1]A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a the section of a documentation templatecode : CodeableConcept [0..*]A description of why this action is necessary or appropriatereason : CodeableConcept [0..*]Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resourcesdocumentation : RelatedArtifact [0..*]Identifies goals that this action supports. The reference must be to a goal element defined within this plan definitiongoalId : id [0..*]A description of when the action should be triggeredtriggerDefinition : TriggerDefinition [0..*]Defines input data requirements for the actioninput : DataRequirement [0..*]Defines the outputs of the action, if anyoutput : DataRequirement [0..*]An optional value describing when the action should be performedtiming[x] : Type [0..1] « dateTime|Age|Period|Duration|Range|Timing »The type of action to perform (create, update, remove)type : Coding [0..1] « The type of action to be performed (Strength=Required)ActionType! »Defines the grouping behavior for the action and its childrengroupingBehavior : code [0..1] « Defines organization behavior of a group (Strength=Required)ActionGroupingBehavior! »Defines the selection behavior for the action and its childrenselectionBehavior : code [0..1] « Defines selection behavior of a group (Strength=Required)ActionSelectionBehavior! »Defines the requiredness behavior for the actionrequiredBehavior : code [0..1] « Defines requiredness behavior for selecting an action or an action group (Strength=Required)ActionRequiredBehavior! »Defines whether the action should usually be preselectedprecheckBehavior : code [0..1] « Defines selection frequency behavior for an action or group (Strength=Required)ActionPrecheckBehavior! »Defines whether the action can be selected multiple timescardinalityBehavior : code [0..1] « Defines behavior for an action or a group for how many times that item may be repeated (Strength=Required)ActionCardinalityBehavior! »A reference to an ActivityDefinition that describes the action to be taken in detail, or a PlanDefinition that describes a series of actions to be takendefinition : Reference [0..1] « ActivityDefinition|PlanDefinition »A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the inputtransform : Reference [0..1] « StructureMap »ConditionThe kind of conditionkind : code [1..1] « Defines the kinds of conditions that can appear on actions (Strength=Required)ActionConditionKind! »A brief, natural language description of the condition that effectively communicates the intended semanticsdescription : string [0..1]The media type of the language for the expressionlanguage : string [0..1]An expression that returns true or false, indicating whether or not the condition is satisfiedexpression : string [0..1]RelatedActionThe element id of the related actionactionId : id [1..1]The relationship of this action to the related actionrelationship : code [1..1] « Defines the types of relationships between actions (Strength=Required)ActionRelationshipType! »A duration or range of durations to apply to the relationship. For example, 30-60 minutes beforeoffset[x] : Type [0..1] « Duration|Range »ParticipantThe type of participant in the actiontype : code [1..1] « The type of participant for the action (Strength=Required)ActionParticipantType! »The role the participant should play in performing the described actionrole : CodeableConcept [0..1] « Defines roles played by participants for the action (Strength=Example)ActionParticipantRole?? »DynamicValueA brief, natural language description of the intended semantics of the dynamic valuedescription : string [0..1]The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expressionpath : string [0..1]The media type of the language for the expressionlanguage : string [0..1]An expression specifying the value of the customized elementexpression : string [0..1]Indicates what should be done and within what timeframetarget[0..*]Goals that describe what the activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etcgoal[0..*]An expression that describes applicability criteria, or start/stop conditions for the actioncondition[0..*]A relationship to another action such as "before" or "30-60 minutes after start of"relatedAction[0..*]Indicates who should participate in performing the action describedparticipant[0..*]Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the resultdynamicValue[0..*]Sub actions that are contained within the action. The behavior of this action determines the functionality of the sub-actions. For example, a selection behavior of at-most-one indicates that of the sub-actions, at most one may be chosen as part of realizing the action definitionaction[0..*]An action to be taken as part of the planaction[0..*]

XML Template

<PlanDefinition xmlns="http://hl7.org/fhir"> doco
 <!-- 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

{doco
  "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/> .doco


[ 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
  ], ...;
]

Changes since DSTU2

This resource did not exist in Release 2

This analysis is available as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition TUDomainResourceThe 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..1uriLogical URI to reference this plan definition (globally unique)
... identifier Σ0..*IdentifierAdditional identifier for the plan definition
... version Σ0..1stringBusiness version of the plan definition
... name Σ0..1stringName for this plan definition (computer friendly)
... title Σ0..1stringName for this plan definition (human friendly)
... type Σ0..1CodeableConceptorder-set | protocol | eca-rule
PlanDefinitionType (Extensible)
... status ?!Σ1..1codedraft | active | retired | unknown
PublicationStatus (Required)
... experimental ?!Σ0..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate this was last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... description Σ0..1markdownNatural language description of the plan definition
... purpose 0..1markdownWhy this plan definition is defined
... usage 0..1stringDescribes the clinical usage of the plan
... approvalDate 0..1dateWhen the plan definition was approved by publisher
... lastReviewDate 0..1dateWhen the plan definition was last reviewed
... effectivePeriod Σ0..1PeriodWhen the plan definition is expected to be used
... useContext Σ0..*UsageContextContext the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for plan definition (if applicable)
Jurisdiction ValueSet (Extensible)
... topic 0..*CodeableConceptE.g. Education, Treatment, Assessment, etc
DefinitionTopic (Example)
... contributor 0..*ContributorA content contributor
... contact Σ0..*ContactDetailContact details for the publisher
... copyright 0..1markdownUse and/or publishing restrictions
... relatedArtifact 0..*RelatedArtifactAdditional documentation, citations, etc
... library 0..*Reference(Library)Logic used by the plan definition
... goal 0..*BackboneElementWhat the plan is trying to accomplish
.... category 0..1CodeableConceptE.g. Treatment, dietary, behavioral, etc
GoalCategory (Example)
.... description 1..1CodeableConceptCode or text describing the goal
SNOMED CT Clinical Findings (Example)
.... priority 0..1CodeableConcepthigh-priority | medium-priority | low-priority
GoalPriority (Preferred)
.... start 0..1CodeableConceptWhen goal pursuit begins
GoalStartEvent (Example)
.... addresses 0..*CodeableConceptWhat does the goal address
Condition/Problem/Diagnosis Codes (Example)
.... documentation 0..*RelatedArtifactSupporting documentation for the goal
.... target 0..*BackboneElementTarget outcome for the goal
..... measure 0..1CodeableConceptThe parameter whose value is to be tracked
LOINC Codes (Example)
..... detail[x] 0..1The target value to be achieved
...... detailQuantityQuantity
...... detailRangeRange
...... detailCodeableConceptCodeableConcept
..... due 0..1DurationReach goal within
... action 0..*BackboneElementAction defined by the plan
.... prefix 0..1stringUser-visible prefix for the action (e.g. 1. or A.)
.... title 0..1stringUser-visible title
.... description 0..1stringShort description of the action
.... textEquivalent 0..1stringStatic text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
.... code 0..*CodeableConceptCode representing the meaning of the action or sub-actions
.... reason 0..*CodeableConceptWhy the action should be performed
.... documentation 0..*RelatedArtifactSupporting documentation for the intended performer of the action
.... goalId 0..*idWhat goals this action supports
.... triggerDefinition 0..*TriggerDefinitionWhen the action should be triggered
.... condition 0..*BackboneElementWhether or not the action is applicable
..... kind 1..1codeapplicability | start | stop
ActionConditionKind (Required)
..... description 0..1stringNatural language description of the condition
..... language 0..1stringLanguage of the expression
..... expression 0..1stringBoolean-valued expression
.... input 0..*DataRequirementInput data requirements
.... output 0..*DataRequirementOutput data definition
.... relatedAction 0..*BackboneElementRelationship to another action
..... actionId 1..1idWhat action is this related to
..... relationship 1..1codebefore-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
ActionRelationshipType (Required)
..... offset[x] 0..1Time offset for the relationship
...... offsetDurationDuration
...... offsetRangeRange
.... timing[x] 0..1When the action should take place
..... timingDateTimedateTime
..... timingAgeAge
..... timingPeriodPeriod
..... timingDurationDuration
..... timingRangeRange
..... timingTimingTiming
.... participant 0..*BackboneElementWho should participate in the action
..... type 1..1codepatient | practitioner | related-person
ActionParticipantType (Required)
..... role 0..1CodeableConceptE.g. Nurse, Surgeon, Parent, etc
ActionParticipantRole (Example)
.... type 0..1Codingcreate | update | remove | fire-event
ActionType (Required)
.... groupingBehavior 0..1codevisual-group | logical-group | sentence-group
ActionGroupingBehavior (Required)
.... selectionBehavior 0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
ActionSelectionBehavior (Required)
.... requiredBehavior 0..1codemust | could | must-unless-documented
ActionRequiredBehavior (Required)
.... precheckBehavior 0..1codeyes | no
ActionPrecheckBehavior (Required)
.... cardinalityBehavior 0..1codesingle | multiple
ActionCardinalityBehavior (Required)
.... definition 0..1Reference(ActivityDefinition | PlanDefinition)Description of the activity to be performed
.... transform 0..1Reference(StructureMap)Transform to apply the template
.... dynamicValue 0..*BackboneElementDynamic aspects of the definition
..... description 0..1stringNatural language description of the dynamic value
..... path 0..1stringThe path to the element to be set dynamically
..... language 0..1stringLanguage of the expression
..... expression 0..1stringAn expression that provides the dynamic value for the customization
.... action 0..*see actionA sub-action

doco Documentation for this format

UML Diagram (Legend)

PlanDefinition (DomainResource)An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance. This SHOULD be globally unique, and SHOULD be a literal address at which this plan definition is (or will be) publishedurl : uri [0..1]A formal identifier that is used to identify this plan definition when it is represented in other formats, or referenced in a specification, model, design or an instanceidentifier : Identifier [0..*]The identifier that is used to identify this version of the plan definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the plan definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifactsversion : string [0..1]A natural language name identifying the plan definition. This name should be usable as an identifier for the module by machine processing applications such as code generationname : string [0..1]A short, descriptive, user-friendly title for the plan definitiontitle : string [0..1]The type of artifact the plan definition represents, e.g. an order set, protocol, or event-condition-action ruletype : CodeableConcept [0..1] « The type of PlanDefinition (Strength=Extensible)PlanDefinitionType+ »The status of this plan definition. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements)status : code [1..1] « The lifecycle status of a Value Set or Concept Map. (Strength=Required)PublicationStatus! »A boolean value to indicate that this plan definition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage (this element modifies the meaning of other elements)experimental : boolean [0..1]The date (and optionally time) when the plan definition was published. The date must change if and when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the plan definition changesdate : dateTime [0..1]The name of the individual or organization that published the plan definitionpublisher : string [0..1]A free text natural language description of the plan definition from a consumer's perspectivedescription : markdown [0..1]Explaination of why this plan definition is needed and why it has been designed as it haspurpose : markdown [0..1]A detailed description of how the plan definition is used from a clinical perspectiveusage : string [0..1]The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usageapprovalDate : date [0..1]The date on which the resource content was last reviewed. Review happens periodically after approval, but doesn't change the original approval datelastReviewDate : date [0..1]The period during which the plan definition content was or is planned to be in active useeffectivePeriod : Period [0..1]The content was developed with a focus and intent of supporting the contexts that are listed. These terms may be used to assist with indexing and searching for appropriate plan definition instancesuseContext : UsageContext [0..*]A legal or geographic region in which the plan definition is intended to be usedjurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for use (Strength=Extensible)Jurisdiction ValueSet+ »Descriptive topics related to the content of the plan definition. Topics provide a high-level categorization of the definition that can be useful for filtering and searchingtopic : CodeableConcept [0..*] « High-level categorization of the definition, used for searching, sorting, and filtering (Strength=Example)DefinitionTopic?? »A contributor to the content of the plan definition, including authors, editors, reviewers, and endorserscontributor : Contributor [0..*]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]A copyright statement relating to the plan definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the plan definitioncopyright : markdown [0..1]Related artifacts such as additional documentation, justification, or bibliographic referencesrelatedArtifact : RelatedArtifact [0..*]A reference to a Library resource containing any formal logic used by the plan definitionlibrary : Reference [0..*] « Library »GoalIndicates a category the goal falls withincategory : CodeableConcept [0..1] « Example codes for grouping goals for filtering or presentation (Strength=Example)GoalCategory?? »Human-readable and/or coded description of a specific desired objective of care, such as "control blood pressure" or "negotiate an obstacle course" or "dance with child at wedding"description : CodeableConcept [1..1] « Describes goals that can be achieved (Strength=Example)SNOMED CT Clinical Findings?? »Identifies the expected level of importance associated with reaching/sustaining the defined goalpriority : CodeableConcept [0..1] « Indicates the level of importance associated with reaching or sustaining a goal (Strength=Preferred)GoalPriority? »The event after which the goal should begin being pursuedstart : CodeableConcept [0..1] « Identifies the types of events that might trigger the start of a goal (Strength=Example)GoalStartEvent?? »Identifies problems, conditions, issues, or concerns the goal is intended to addressaddresses : CodeableConcept [0..*] « Identifies problems, conditions, issues, or concerns that goals may address (Strength=Example)Condition/Problem/Diagnosis ?? »Didactic or other informational resources associated with the goal that provide further supporting information about the goal. Information resources can include inline text commentary and links to web resourcesdocumentation : RelatedArtifact [0..*]TargetThe parameter whose value is to be tracked, e.g. body weigth, blood pressure, or hemoglobin A1c levelmeasure : CodeableConcept [0..1] « Identifies types of parameters that can be tracked to determine goal achievement (Strength=Example)LOINC ?? »The target value of the measure to be achieved to signify fulfillment of the goal, e.g. 150 pounds or 7.0%. Either the high or low or both values of the range can be specified. Whan a low value is missing, it indicates that the goal is achieved at any value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any value at or above the low valuedetail[x] : Type [0..1] « Quantity|Range|CodeableConcept »Indicates the timeframe after the start of the goal in which the goal should be metdue : Duration [0..1]ActionA user-visible prefix for the actionprefix : string [0..1]The title of the action displayed to a usertitle : string [0..1]A short description of the action used to provide a summary to display to the userdescription : string [0..1]A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamicallytextEquivalent : string [0..1]A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a the section of a documentation templatecode : CodeableConcept [0..*]A description of why this action is necessary or appropriatereason : CodeableConcept [0..*]Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resourcesdocumentation : RelatedArtifact [0..*]Identifies goals that this action supports. The reference must be to a goal element defined within this plan definitiongoalId : id [0..*]A description of when the action should be triggeredtriggerDefinition : TriggerDefinition [0..*]Defines input data requirements for the actioninput : DataRequirement [0..*]Defines the outputs of the action, if anyoutput : DataRequirement [0..*]An optional value describing when the action should be performedtiming[x] : Type [0..1] « dateTime|Age|Period|Duration|Range|Timing »The type of action to perform (create, update, remove)type : Coding [0..1] « The type of action to be performed (Strength=Required)ActionType! »Defines the grouping behavior for the action and its childrengroupingBehavior : code [0..1] « Defines organization behavior of a group (Strength=Required)ActionGroupingBehavior! »Defines the selection behavior for the action and its childrenselectionBehavior : code [0..1] « Defines selection behavior of a group (Strength=Required)ActionSelectionBehavior! »Defines the requiredness behavior for the actionrequiredBehavior : code [0..1] « Defines requiredness behavior for selecting an action or an action group (Strength=Required)ActionRequiredBehavior! »Defines whether the action should usually be preselectedprecheckBehavior : code [0..1] « Defines selection frequency behavior for an action or group (Strength=Required)ActionPrecheckBehavior! »Defines whether the action can be selected multiple timescardinalityBehavior : code [0..1] « Defines behavior for an action or a group for how many times that item may be repeated (Strength=Required)ActionCardinalityBehavior! »A reference to an ActivityDefinition that describes the action to be taken in detail, or a PlanDefinition that describes a series of actions to be takendefinition : Reference [0..1] « ActivityDefinition|PlanDefinition »A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the inputtransform : Reference [0..1] « StructureMap »ConditionThe kind of conditionkind : code [1..1] « Defines the kinds of conditions that can appear on actions (Strength=Required)ActionConditionKind! »A brief, natural language description of the condition that effectively communicates the intended semanticsdescription : string [0..1]The media type of the language for the expressionlanguage : string [0..1]An expression that returns true or false, indicating whether or not the condition is satisfiedexpression : string [0..1]RelatedActionThe element id of the related actionactionId : id [1..1]The relationship of this action to the related actionrelationship : code [1..1] « Defines the types of relationships between actions (Strength=Required)ActionRelationshipType! »A duration or range of durations to apply to the relationship. For example, 30-60 minutes beforeoffset[x] : Type [0..1] « Duration|Range »ParticipantThe type of participant in the actiontype : code [1..1] « The type of participant for the action (Strength=Required)ActionParticipantType! »The role the participant should play in performing the described actionrole : CodeableConcept [0..1] « Defines roles played by participants for the action (Strength=Example)ActionParticipantRole?? »DynamicValueA brief, natural language description of the intended semantics of the dynamic valuedescription : string [0..1]The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expressionpath : string [0..1]The media type of the language for the expressionlanguage : string [0..1]An expression specifying the value of the customized elementexpression : string [0..1]Indicates what should be done and within what timeframetarget[0..*]Goals that describe what the activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etcgoal[0..*]An expression that describes applicability criteria, or start/stop conditions for the actioncondition[0..*]A relationship to another action such as "before" or "30-60 minutes after start of"relatedAction[0..*]Indicates who should participate in performing the action describedparticipant[0..*]Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the resultdynamicValue[0..*]Sub actions that are contained within the action. The behavior of this action determines the functionality of the sub-actions. For example, a selection behavior of at-most-one indicates that of the sub-actions, at most one may be chosen as part of realizing the action definitionaction[0..*]An action to be taken as part of the planaction[0..*]

XML Template

<PlanDefinition xmlns="http://hl7.org/fhir"> doco
 <!-- 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

{doco
  "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/> .doco


[ 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
  ], ...;
]

Changes since DSTU2

This resource did not exist in Release 2

This analysis is available as XML or JSON.

 

Alternate definitions: Master Definition (XML, JSON), XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis

PathDefinitionTypeReference
PlanDefinition.type The type of PlanDefinitionExtensiblePlanDefinitionType
PlanDefinition.status The lifecycle status of a Value Set or Concept Map.RequiredPublicationStatus
PlanDefinition.jurisdiction Countries and regions within which this artifact is targeted for useExtensibleJurisdiction ValueSet
PlanDefinition.topic High-level categorization of the definition, used for searching, sorting, and filteringExampleDefinitionTopic
PlanDefinition.goal.category Example codes for grouping goals for filtering or presentationExampleGoalCategory
PlanDefinition.goal.description Describes goals that can be achievedExampleSNOMED CT Clinical Findings
PlanDefinition.goal.priority Indicates the level of importance associated with reaching or sustaining a goalPreferredGoalPriority
PlanDefinition.goal.start Identifies the types of events that might trigger the start of a goalExampleGoalStartEvent
PlanDefinition.goal.addresses Identifies problems, conditions, issues, or concerns that goals may addressExampleCondition/Problem/Diagnosis Codes
PlanDefinition.goal.target.measure Identifies types of parameters that can be tracked to determine goal achievementExampleLOINC Codes
PlanDefinition.action.condition.kind Defines the kinds of conditions that can appear on actionsRequiredActionConditionKind
PlanDefinition.action.relatedAction.relationship Defines the types of relationships between actionsRequiredActionRelationshipType
PlanDefinition.action.participant.type The type of participant for the actionRequiredActionParticipantType
PlanDefinition.action.participant.role Defines roles played by participants for the actionExampleActionParticipantRole
PlanDefinition.action.type The type of action to be performedRequiredActionType
PlanDefinition.action.groupingBehavior Defines organization behavior of a groupRequiredActionGroupingBehavior
PlanDefinition.action.selectionBehavior Defines selection behavior of a groupRequiredActionSelectionBehavior
PlanDefinition.action.requiredBehavior Defines requiredness behavior for selecting an action or an action groupRequiredActionRequiredBehavior
PlanDefinition.action.precheckBehavior Defines selection frequency behavior for an action or groupRequiredActionPrecheckBehavior
PlanDefinition.action.cardinalityBehavior Defines behavior for an action or a group for how many times that item may be repeatedRequiredActionCardinalityBehavior

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
composed-ofreferenceWhat resource is being referencedPlanDefinition.relatedArtifact.where(type='composed-of').resource
(Any)
datedateThe plan definition publication datePlanDefinition.date
definitionreferenceActivity or plan definitions used by plan definitionPlanDefinition.action.definition
(PlanDefinition, ActivityDefinition)
depends-onreferenceWhat resource is being referencedPlanDefinition.relatedArtifact.where(type='depends-on').resource | PlanDefinition.library
(Library, Any)
derived-fromreferenceWhat resource is being referencedPlanDefinition.relatedArtifact.where(type='derived-from').resource
(Any)
descriptionstringThe description of the plan definitionPlanDefinition.description
effectivedateThe time during which the plan definition is intended to be in usePlanDefinition.effectivePeriod
identifiertokenExternal identifier for the plan definitionPlanDefinition.identifier
jurisdictiontokenIntended jurisdiction for the plan definitionPlanDefinition.jurisdiction
namestringComputationally friendly name of the plan definitionPlanDefinition.name
predecessorreferenceWhat resource is being referencedPlanDefinition.relatedArtifact.where(type='predecessor').resource
(Any)
publisherstringName of the publisher of the plan definitionPlanDefinition.publisher
statustokenThe current status of the plan definitionPlanDefinition.status
successorreferenceWhat resource is being referencedPlanDefinition.relatedArtifact.where(type='successor').resource
(Any)
titlestringThe human-friendly name of the plan definitionPlanDefinition.title
topictokenTopics associated with the modulePlanDefinition.topic
typetokenThe type of artifact the plan (e.g. order-set, eca-rule, protocol)PlanDefinition.type
urluriThe uri that identifies the plan definitionPlanDefinition.url
versiontokenThe business version of the plan definitionPlanDefinition.version