This page is part of the FHIR Specification (v5.0.0: R5 - STU). This is the current published version. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3
Clinical Decision Support Work Group | Maturity Level: 4 | Trial Use | Security Category: Business | Compartments: No defined compartments |
This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications.
This resource is a definition resource from a FHIR workflow perspective - see Workflow, specifically Definition.
A plan definition is a pre-defined group of actions to be taken in particular circumstances, often including conditional elements, options, and other decision points. The resource is flexible enough to be used to represent a variety of workflows, as well as clinical decision support and quality improvement assets, including order sets, protocols, and decision support rules.
PlanDefinitions can contain hierarchical groups of action definitions, where each action definition describes an activity to be performed (often in terms of an ActivityDefinition resource), and each group defines additional behavior, relationships, and applicable conditions between the actions in the overall definition.
In addition to describing what should take place, each action in a plan definition can specify when and whether the action should take place. For when the action should be taken, the trigger
element specifies the action should be taken in response to some trigger occurring (such as a particular point in a workflow being reached, or as the result of a prescription being ordered). For whether the action should be taken, the condition
element can be used to provide an expression that evaluates to true or false to indicate the applicability of the action to the specific context.
The process of applying a PlanDefinition to a particular context typically produces request resources representing the actions that should be performed, grouped within a RequestOrchestration to capture relationships between the resulting request resources.
Each ActivityDefinition is used to construct a specific resource, based on the definition of the activity and combined with contextual information for the particular patient that the plan definition is being applied to.
As with the ActivityDefinition, a PlanDefinition may provide information about how to transform the activity to a specific intent resource, either by specifying a StructureMap that can be used to perform the transformation completely, or by specifying values for specific elements of the resulting resource using dynamicValue
elements in the action.
Note that these mechanisms are provided on both the ActivityDefinition and the PlanDefinition to allow both reusable transformation descriptions, as well as customization of those descriptions within specific contexts. As such, the transform descriptions specified on the PlanDefinition override transform descriptions defined on the ActivityDefinition.
Dynamic values within the definitions can be provided by specifying the expression directly, or by referencing an expression defined within a library. For more information on how to reference expressions within resources, refer to the Using Expressions topic.
As an example, the Low Suicide Risk example order set from the Clinical Decision Support Knowledge Artifact Specification can be represented using the PlanDefinition and ActivityDefinition structures: Low Suicide Risk Example Order Set.
In addition to the representation of PlanDefinitions, the $apply operation allows PlanDefinitions to be applied to a specific context such as a patient, practitioner, or institution. For Order Sets specifically, this operation is expected to place the orders defined by the order set, consistent with the service functional requirements defined by the Order Set specification .
Plan definitions also allow for the definition of goals. Actions in the plan definition can then reference these goals in order to indicate that the action should be taken in fulfillment of the goal. Note that the goal-relationship extension can be used to describe relationships between goal definitions, and the satisfies-requirement extension can be used to indicate that the goal satisfies a particular requirement.
The PlanDefinition resource is used to describe series, sequences, or groups of actions to be taken, while the ActivityDefinition resource is used to define each specific step or activity to be performed.
As the name implies, the PlanDefinition resource is strictly definitional. It does not represent the intention to take any action, nor does it represent that any actions have been taken. Rather, the resource provides a definition that can be applied in the appropriate circumstances. When the plan definition is applied, the result will in general be a set of actions that should be (or potentially even have been) performed.
Note that the PlanDefinition still has action-level information, as well as a reference to an ActivityDefinition. The action-level information defined in the PlanDefinition itself is used to describe how the actions are related to each other within the plan, where the ActivityDefinition contains only information about the activity itself. In addition, there is some overlapping information that allows the resources to be used independently, or in combination. See the Applying a PlanDefinition section for more information.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PlanDefinition | TU | DomainResource | The definition of a plan for a series of actions, independent of any specific patient or context + Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation + Warning: goalid should reference the id of a goal definition + Warning: targetId should reference the id of an action Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension Interfaces Implemented: MetadataResource | |
url | ΣC | 0..1 | uri | Canonical identifier for this plan definition, represented as a URI (globally unique) + Warning: URL should not contain | or # - these characters make processing canonical references problematic |
identifier | Σ | 0..* | Identifier | Additional identifier for the plan definition |
version | Σ | 0..1 | string | Business version of the plan definition |
versionAlgorithm[x] | Σ | 0..1 | How to compare versions Binding: Version Algorithm (Extensible) | |
versionAlgorithmString | string | |||
versionAlgorithmCoding | Coding | |||
name | ΣC | 0..1 | string | Name for this plan definition (computer friendly) |
title | ΣT | 0..1 | string | Name for this plan definition (human friendly) |
subtitle | T | 0..1 | string | Subordinate title of the plan definition |
type | Σ | 0..1 | CodeableConcept | order-set | clinical-protocol | eca-rule | workflow-definition Binding: Plan Definition Type (Extensible) |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (Required) |
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage |
subject[x] | 0..1 | Type of individual the plan definition is focused on Binding: Participant Resource Types (Extensible) | ||
subjectCodeableConcept | CodeableConcept | |||
subjectReference | Reference(Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition) | |||
subjectCanonical | canonical(EvidenceVariable) | |||
date | Σ | 0..1 | dateTime | Date last changed |
publisher | ΣT | 0..1 | string | Name of the publisher/steward (organization or individual) |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher |
description | ΣT | 0..1 | markdown | Natural language description of the plan definition |
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | ΣXD | 0..* | CodeableConcept | Intended jurisdiction for plan definition (if applicable) Binding: Jurisdiction ValueSet (Extensible) |
purpose | T | 0..1 | markdown | Why this plan definition is defined |
usage | T | 0..1 | markdown | Describes the clinical usage of the plan |
copyright | 0..1 | markdown | Use and/or publishing restrictions | |
copyrightLabel | T | 0..1 | string | Copyright holder and year(s) |
approvalDate | 0..1 | date | When the plan definition was approved by publisher | |
lastReviewDate | 0..1 | date | When the plan definition was last reviewed by the publisher | |
effectivePeriod | Σ | 0..1 | Period | When the plan definition is expected to be used |
topic | XD | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment Binding: Definition Topic (Example) |
author | 0..* | ContactDetail | Who authored the content | |
editor | 0..* | ContactDetail | Who edited the content | |
reviewer | 0..* | ContactDetail | Who reviewed the content | |
endorser | 0..* | ContactDetail | Who endorsed the content | |
relatedArtifact | 0..* | RelatedArtifact | Additional documentation, citations | |
library | 0..* | canonical(Library) | Logic used by the plan definition | |
goal | C | 0..* | BackboneElement | What the plan is trying to accomplish |
category | 0..1 | CodeableConcept | E.g. Treatment, dietary, behavioral Binding: Goal Category (Example) | |
description | 1..1 | CodeableConcept | Code or text describing the goal Binding: SNOMED CT Clinical Findings (Example) | |
priority | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority Binding: Goal Priority (Preferred) | |
start | 0..1 | CodeableConcept | When goal pursuit begins Binding: Goal Start Event (Example) | |
addresses | 0..* | CodeableConcept | What does the goal address Binding: Condition/Problem/Diagnosis Codes (Example) | |
documentation | 0..* | RelatedArtifact | Supporting documentation for the goal | |
target | 0..* | BackboneElement | Target outcome for the goal | |
measure | 0..1 | CodeableConcept | The parameter whose value is to be tracked Binding: LOINC Codes (Example) | |
detail[x] | 0..1 | The target value to be achieved | ||
detailQuantity | Quantity | |||
detailRange | Range | |||
detailCodeableConcept | CodeableConcept | |||
detailString | string | |||
detailBoolean | boolean | |||
detailInteger | integer | |||
detailRatio | Ratio | |||
due | 0..1 | Duration | Reach goal within | |
actor | 0..* | BackboneElement | Actors within the plan | |
title | T | 0..1 | string | User-visible title |
description | T | 0..1 | markdown | Describes the actor |
option | 1..* | BackboneElement | Who or what can be this actor | |
type | 0..1 | code | careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson Binding: Action Participant Type (Required) | |
typeCanonical | 0..1 | canonical(CapabilityStatement) | Who or what can participate | |
typeReference | 0..1 | Reference(CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) | Who or what can participate | |
role | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent Binding: Action Participant Role (Example) | |
action | C | 0..* | BackboneElement | Action defined by the plan |
linkId | 0..1 | string | Unique id for the action in the PlanDefinition | |
prefix | 0..1 | string | User-visible prefix for the action (e.g. 1. or A.) | |
title | T | 0..1 | string | User-visible title |
description | T | 0..1 | markdown | Brief description of the action |
textEquivalent | T | 0..1 | markdown | Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system |
priority | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (Required) | |
code | 0..1 | CodeableConcept | Code representing the meaning of the action or sub-actions Binding: Action Code (Example) | |
reason | 0..* | CodeableConcept | Why the action should be performed Binding: Action Reason Code (Example) | |
documentation | 0..* | RelatedArtifact | Supporting documentation for the intended performer of the action | |
goalId | C | 0..* | id | What goals this action supports |
subject[x] | 0..1 | Type of individual the action is focused on Binding: Participant Resource Types (Extensible) | ||
subjectCodeableConcept | CodeableConcept | |||
subjectReference | Reference(Group) | |||
subjectCanonical | canonical() | |||
trigger | 0..* | TriggerDefinition | When the action should be triggered | |
condition | 0..* | BackboneElement | Whether or not the action is applicable | |
kind | 1..1 | code | applicability | start | stop Binding: Action Condition Kind (Required) | |
expression | 0..1 | Expression | Boolean-valued expression | |
input | C | 0..* | BackboneElement | Input data requirements + Rule: Input data elements must have a requirement or a relatedData, but not both |
title | T | 0..1 | string | User-visible title |
requirement | C | 0..1 | DataRequirement | What data is provided |
relatedData | C | 0..1 | id | What data is provided |
output | C | 0..* | BackboneElement | Output data definition + Rule: Output data element must have a requirement or a relatedData, but not both |
title | T | 0..1 | string | User-visible title |
requirement | C | 0..1 | DataRequirement | What data is provided |
relatedData | C | 0..1 | string | What data is provided |
relatedAction | C | 0..* | BackboneElement | Relationship to another action |
targetId | C | 1..1 | id | What action is this related to |
relationship | 1..1 | code | before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end Binding: Action Relationship Type (Required) | |
endRelationship | 0..1 | code | before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end Binding: Action Relationship Type (Required) | |
offset[x] | 0..1 | Time offset for the relationship | ||
offsetDuration | Duration | |||
offsetRange | Range | |||
timing[x] | 0..1 | When the action should take place | ||
timingAge | Age | |||
timingDuration | Duration | |||
timingRange | Range | |||
timingTiming | Timing | |||
location | 0..1 | CodeableReference(Location) | Where it should happen | |
participant | 0..* | BackboneElement | Who should participate in the action | |
actorId | 0..1 | string | What actor | |
type | 0..1 | code | careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson Binding: Action Participant Type (Required) | |
typeCanonical | 0..1 | canonical(CapabilityStatement) | Who or what can participate | |
typeReference | 0..1 | Reference(CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) | Who or what can participate | |
role | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent Binding: Action Participant Role (Example) | |
function | 0..1 | CodeableConcept | E.g. Author, Reviewer, Witness, etc Binding: Action Participant Function (Example) | |
type | 0..1 | CodeableConcept | create | update | remove | fire-event Binding: Action Type (Extensible) | |
groupingBehavior | 0..1 | code | visual-group | logical-group | sentence-group Binding: Action Grouping Behavior (Required) | |
selectionBehavior | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more Binding: Action Selection Behavior (Required) | |
requiredBehavior | 0..1 | code | must | could | must-unless-documented Binding: Action Required Behavior (Required) | |
precheckBehavior | 0..1 | code | yes | no Binding: Action Precheck Behavior (Required) | |
cardinalityBehavior | 0..1 | code | single | multiple Binding: Action Cardinality Behavior (Required) | |
definition[x] | 0..1 | Description of the activity to be performed | ||
definitionCanonical | canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition) | |||
definitionUri | uri | |||
transform | 0..1 | canonical(StructureMap) | Transform to apply the template | |
dynamicValue | 0..* | BackboneElement | Dynamic aspects of the definition | |
path | 0..1 | string | The path to the element to be set dynamically | |
expression | 0..1 | Expression | An expression that provides the dynamic value for the customization | |
action | 0..* | see action | A sub-action | |
asNeeded[x] | Σ | 0..1 | Preconditions for service Binding: SNOMED CT Medication As Needed Reason Codes (Example) | |
asNeededBoolean | boolean | |||
asNeededCodeableConcept | CodeableConcept | |||
Documentation for this format |
See the Extensions for this resource
UML Diagram (Legend)
XML Template
<PlanDefinition xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <url value="[uri]"/><!-- 0..1 Canonical identifier for this plan definition, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the plan definition --></identifier> <version value="[string]"/><!-- 0..1 Business version of the plan definition --> <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]> <name value="[string]"/><!-- I 0..1 Name for this plan definition (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this plan definition (human friendly) --> <subtitle value="[string]"/><!-- 0..1 Subordinate title of the plan definition --> <type><!-- 0..1 CodeableConcept order-set | clinical-protocol | eca-rule | workflow-definition --></type> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage --> <subject[x]><!-- 0..1 CodeableConcept|Reference(AdministrableProductDefinition| Group|ManufacturedItemDefinition|MedicinalProductDefinition| PackagedProductDefinition|SubstanceDefinition)|canonical(EvidenceVariable) Type of individual the plan definition is focused on --></subject[x]> <date value="[dateTime]"/><!-- 0..1 Date last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the plan definition --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for plan definition (if applicable) --></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this plan definition is defined --> <usage value="[markdown]"/><!-- 0..1 Describes the clinical usage of the plan --> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) --> <approvalDate value="[date]"/><!-- 0..1 When the plan definition was approved by publisher --> <lastReviewDate value="[date]"/><!-- 0..1 When the plan definition was last reviewed by the publisher --> <effectivePeriod><!-- 0..1 Period When the plan definition is expected to be used --></effectivePeriod> <topic><!-- 0..* CodeableConcept E.g. Education, Treatment, Assessment --></topic> <author><!-- 0..* ContactDetail Who authored the content --></author> <editor><!-- 0..* ContactDetail Who edited the content --></editor> <reviewer><!-- 0..* ContactDetail Who reviewed the content --></reviewer> <endorser><!-- 0..* ContactDetail Who endorsed the content --></endorser> <relatedArtifact><!-- 0..* RelatedArtifact Additional documentation, citations --></relatedArtifact> <library><!-- 0..* canonical(Library) Logic used by the plan definition --></library> <goal> <!-- I 0..* What the plan is trying to accomplish --> <category><!-- 0..1 CodeableConcept E.g. Treatment, dietary, behavioral --></category> <description><!-- 1..1 CodeableConcept Code or text describing the goal --></description> <priority><!-- 0..1 CodeableConcept high-priority | medium-priority | low-priority --></priority> <start><!-- 0..1 CodeableConcept When goal pursuit begins --></start> <addresses><!-- 0..* CodeableConcept What does the goal address --></addresses> <documentation><!-- 0..* RelatedArtifact Supporting documentation for the goal --></documentation> <target> <!-- 0..* Target outcome for the goal --> <measure><!-- 0..1 CodeableConcept The parameter whose value is to be tracked --></measure> <detail[x]><!-- 0..1 Quantity|Range|CodeableConcept|string|boolean|integer| Ratio The target value to be achieved --></detail[x]> <due><!-- 0..1 Duration Reach goal within --></due> </target> </goal> <actor> <!-- 0..* Actors within the plan --> <title value="[string]"/><!-- 0..1 User-visible title --> <description value="[markdown]"/><!-- 0..1 Describes the actor --> <option> <!-- 1..* Who or what can be this actor --> <type value="[code]"/><!-- 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson --> <typeCanonical><!-- 0..1 canonical(CapabilityStatement) Who or what can participate --></typeCanonical> <typeReference><!-- 0..1 Reference(CareTeam|Device|DeviceDefinition|Endpoint| Group|HealthcareService|Location|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Who or what can participate --></typeReference> <role><!-- 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent --></role> </option> </actor> <action> <!-- I 0..* Action defined by the plan --> <linkId value="[string]"/><!-- 0..1 Unique id for the action in the PlanDefinition --> <prefix value="[string]"/><!-- 0..1 User-visible prefix for the action (e.g. 1. or A.) --> <title value="[string]"/><!-- 0..1 User-visible title --> <description value="[markdown]"/><!-- 0..1 Brief description of the action --> <textEquivalent value="[markdown]"/><!-- 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system --> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <code><!-- 0..1 CodeableConcept Code representing the meaning of the action or sub-actions --></code> <reason><!-- 0..* CodeableConcept Why the action should be performed --></reason> <documentation><!-- 0..* RelatedArtifact Supporting documentation for the intended performer of the action --></documentation> <goalId value="[id]"/><!-- I 0..* What goals this action supports --> <subject[x]><!-- 0..1 CodeableConcept|Reference(Group)|canonical Type of individual the action is focused on --></subject[x]> <trigger><!-- 0..* TriggerDefinition When the action should be triggered --></trigger> <condition> <!-- 0..* Whether or not the action is applicable --> <kind value="[code]"/><!-- 1..1 applicability | start | stop --> <expression><!-- 0..1 Expression Boolean-valued expression --></expression> </condition> <input> <!-- 0..* Input data requirements --> <title value="[string]"/><!-- 0..1 User-visible title --> <requirement><!-- I 0..1 DataRequirement What data is provided --></requirement> <relatedData value="[id]"/><!-- I 0..1 What data is provided --> </input> <output> <!-- 0..* Output data definition --> <title value="[string]"/><!-- 0..1 User-visible title --> <requirement><!-- I 0..1 DataRequirement What data is provided --></requirement> <relatedData value="[string]"/><!-- I 0..1 What data is provided --> </output> <relatedAction> <!-- I 0..* Relationship to another action --> <targetId value="[id]"/><!-- I 1..1 What action is this related to --> <relationship value="[code]"/><!-- 1..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end --> <endRelationship value="[code]"/><!-- 0..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end --> <offset[x]><!-- 0..1 Duration|Range Time offset for the relationship --></offset[x]> </relatedAction> <timing[x]><!-- 0..1 Age|Duration|Range|Timing When the action should take place --></timing[x]> <location><!-- 0..1 CodeableReference(Location) Where it should happen --></location> <participant> <!-- 0..* Who should participate in the action --> <actorId value="[string]"/><!-- 0..1 What actor --> <type value="[code]"/><!-- 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson --> <typeCanonical><!-- 0..1 canonical(CapabilityStatement) Who or what can participate --></typeCanonical> <typeReference><!-- 0..1 Reference(CareTeam|Device|DeviceDefinition|Endpoint| Group|HealthcareService|Location|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Who or what can participate --></typeReference> <role><!-- 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent --></role> <function><!-- 0..1 CodeableConcept E.g. Author, Reviewer, Witness, etc --></function> </participant> <type><!-- 0..1 CodeableConcept create | update | remove | fire-event --></type> <groupingBehavior value="[code]"/><!-- 0..1 visual-group | logical-group | sentence-group --> <selectionBehavior value="[code]"/><!-- 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more --> <requiredBehavior value="[code]"/><!-- 0..1 must | could | must-unless-documented --> <precheckBehavior value="[code]"/><!-- 0..1 yes | no --> <cardinalityBehavior value="[code]"/><!-- 0..1 single | multiple --> <definition[x]><!-- 0..1 canonical(ActivityDefinition|MessageDefinition| ObservationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition)|uri Description of the activity to be performed --></definition[x]> <transform><!-- 0..1 canonical(StructureMap) Transform to apply the template --></transform> <dynamicValue> <!-- 0..* Dynamic aspects of the definition --> <path value="[string]"/><!-- 0..1 The path to the element to be set dynamically --> <expression><!-- 0..1 Expression An expression that provides the dynamic value for the customization --></expression> </dynamicValue> <action><!-- 0..* Content as for PlanDefinition.action A sub-action --></action> </action> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Preconditions for service --></asNeeded[x]> </PlanDefinition>
JSON Template
{ "resourceType" : "PlanDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "url" : "<uri>", // Canonical identifier for this plan definition, represented as a URI (globally unique) "identifier" : [{ Identifier }], // Additional identifier for the plan definition "version" : "<string>", // Business version of the plan definition // versionAlgorithm[x]: How to compare versions. One of these 2: "versionAlgorithmString" : "<string>", "versionAlgorithmCoding" : { Coding }, "name" : "<string>", // I Name for this plan definition (computer friendly) "title" : "<string>", // Name for this plan definition (human friendly) "subtitle" : "<string>", // Subordinate title of the plan definition "type" : { CodeableConcept }, // order-set | clinical-protocol | eca-rule | workflow-definition "status" : "<code>", // R! draft | active | retired | unknown "experimental" : <boolean>, // For testing purposes, not real usage // subject[x]: Type of individual the plan definition is focused on. One of these 3: "subjectCodeableConcept" : { CodeableConcept }, "subjectReference" : { Reference(AdministrableProductDefinition|Group| ManufacturedItemDefinition|MedicinalProductDefinition| PackagedProductDefinition|SubstanceDefinition) }, "subjectCanonical" : "<canonical(EvidenceVariable)>", "date" : "<dateTime>", // Date last changed "publisher" : "<string>", // Name of the publisher/steward (organization or individual) "contact" : [{ ContactDetail }], // Contact details for the publisher "description" : "<markdown>", // Natural language description of the plan definition "useContext" : [{ UsageContext }], // The context that the content is intended to support "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for plan definition (if applicable) "purpose" : "<markdown>", // Why this plan definition is defined "usage" : "<markdown>", // Describes the clinical usage of the plan "copyright" : "<markdown>", // Use and/or publishing restrictions "copyrightLabel" : "<string>", // Copyright holder and year(s) "approvalDate" : "<date>", // When the plan definition was approved by publisher "lastReviewDate" : "<date>", // When the plan definition was last reviewed by the publisher "effectivePeriod" : { Period }, // When the plan definition is expected to be used "topic" : [{ CodeableConcept }], // E.g. Education, Treatment, Assessment "author" : [{ ContactDetail }], // Who authored the content "editor" : [{ ContactDetail }], // Who edited the content "reviewer" : [{ ContactDetail }], // Who reviewed the content "endorser" : [{ ContactDetail }], // Who endorsed the content "relatedArtifact" : [{ RelatedArtifact }], // Additional documentation, citations "library" : ["<canonical(Library)>"], // Logic used by the plan definition "goal" : [{ // I What the plan is trying to accomplish "category" : { CodeableConcept }, // E.g. Treatment, dietary, behavioral "description" : { CodeableConcept }, // R! Code or text describing the goal "priority" : { CodeableConcept }, // high-priority | medium-priority | low-priority "start" : { CodeableConcept }, // When goal pursuit begins "addresses" : [{ CodeableConcept }], // What does the goal address "documentation" : [{ RelatedArtifact }], // Supporting documentation for the goal "target" : [{ // Target outcome for the goal "measure" : { CodeableConcept }, // The parameter whose value is to be tracked // detail[x]: The target value to be achieved. One of these 7: "detailQuantity" : { Quantity }, "detailRange" : { Range }, "detailCodeableConcept" : { CodeableConcept }, "detailString" : "<string>", "detailBoolean" : <boolean>, "detailInteger" : <integer>, "detailRatio" : { Ratio }, "due" : { Duration } // Reach goal within }] }], "actor" : [{ // Actors within the plan "title" : "<string>", // User-visible title "description" : "<markdown>", // Describes the actor "option" : [{ // R! Who or what can be this actor "type" : "<code>", // careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson "typeCanonical" : "<canonical(CapabilityStatement)>", // Who or what can participate "typeReference" : { Reference(CareTeam|Device|DeviceDefinition|Endpoint| Group|HealthcareService|Location|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Who or what can participate "role" : { CodeableConcept } // E.g. Nurse, Surgeon, Parent }] }], "action" : [{ // I Action defined by the plan "linkId" : "<string>", // Unique id for the action in the PlanDefinition "prefix" : "<string>", // User-visible prefix for the action (e.g. 1. or A.) "title" : "<string>", // User-visible title "description" : "<markdown>", // Brief description of the action "textEquivalent" : "<markdown>", // Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system "priority" : "<code>", // routine | urgent | asap | stat "code" : { CodeableConcept }, // Code representing the meaning of the action or sub-actions "reason" : [{ CodeableConcept }], // Why the action should be performed "documentation" : [{ RelatedArtifact }], // Supporting documentation for the intended performer of the action "goalId" : ["<id>"], // I What goals this action supports // subject[x]: Type of individual the action is focused on. One of these 3: "subjectCodeableConcept" : { CodeableConcept }, "subjectReference" : { Reference(Group) }, "subjectCanonical" : "<canonical>", "trigger" : [{ TriggerDefinition }], // When the action should be triggered "condition" : [{ // Whether or not the action is applicable "kind" : "<code>", // R! applicability | start | stop "expression" : { Expression } // Boolean-valued expression }], "input" : [{ // Input data requirements "title" : "<string>", // User-visible title "requirement" : { DataRequirement }, // I What data is provided "relatedData" : "<id>" // I What data is provided }], "output" : [{ // Output data definition "title" : "<string>", // User-visible title "requirement" : { DataRequirement }, // I What data is provided "relatedData" : "<string>" // I What data is provided }], "relatedAction" : [{ // I Relationship to another action "targetId" : "<id>", // I R! What action is this related to "relationship" : "<code>", // R! before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end "endRelationship" : "<code>", // before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end // offset[x]: Time offset for the relationship. One of these 2: "offsetDuration" : { Duration }, "offsetRange" : { Range } }], // timing[x]: When the action should take place. One of these 4: "timingAge" : { Age }, "timingDuration" : { Duration }, "timingRange" : { Range }, "timingTiming" : { Timing }, "location" : { CodeableReference(Location) }, // Where it should happen "participant" : [{ // Who should participate in the action "actorId" : "<string>", // What actor "type" : "<code>", // careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson "typeCanonical" : "<canonical(CapabilityStatement)>", // Who or what can participate "typeReference" : { Reference(CareTeam|Device|DeviceDefinition|Endpoint| Group|HealthcareService|Location|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Who or what can participate "role" : { CodeableConcept }, // E.g. Nurse, Surgeon, Parent "function" : { CodeableConcept } // E.g. Author, Reviewer, Witness, etc }], "type" : { CodeableConcept }, // create | update | remove | fire-event "groupingBehavior" : "<code>", // visual-group | logical-group | sentence-group "selectionBehavior" : "<code>", // any | all | all-or-none | exactly-one | at-most-one | one-or-more "requiredBehavior" : "<code>", // must | could | must-unless-documented "precheckBehavior" : "<code>", // yes | no "cardinalityBehavior" : "<code>", // single | multiple // definition[x]: Description of the activity to be performed. One of these 2: "definitionCanonical" : "<canonical(ActivityDefinition|MessageDefinition|ObservationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition)>", "definitionUri" : "<uri>", "transform" : "<canonical(StructureMap)>", // Transform to apply the template "dynamicValue" : [{ // Dynamic aspects of the definition "path" : "<string>", // The path to the element to be set dynamically "expression" : { Expression } // An expression that provides the dynamic value for the customization }], "action" : [{ Content as for PlanDefinition.action }] // A sub-action }], // asNeeded[x]: Preconditions for service. One of these 2: "asNeededBoolean" : <boolean>, "asNeededCodeableConcept" : { CodeableConcept } }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:PlanDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:url [ uri ] ; # 0..1 Canonical identifier for this plan definition, represented as a URI (globally unique) fhir:identifier ( [ Identifier ] ... ) ; # 0..* Additional identifier for the plan definition fhir:version [ string ] ; # 0..1 Business version of the plan definition # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2 fhir:versionAlgorithm [ a fhir:string ; string ] fhir:versionAlgorithm [ a fhir:Coding ; Coding ] fhir:name [ string ] ; # 0..1 I Name for this plan definition (computer friendly) fhir:title [ string ] ; # 0..1 Name for this plan definition (human friendly) fhir:subtitle [ string ] ; # 0..1 Subordinate title of the plan definition fhir:type [ CodeableConcept ] ; # 0..1 order-set | clinical-protocol | eca-rule | workflow-definition fhir:status [ code ] ; # 1..1 draft | active | retired | unknown fhir:experimental [ boolean ] ; # 0..1 For testing purposes, not real usage # subject[x] : 0..1 Type of individual the plan definition is focused on. One of these 3 fhir:subject [ a fhir:CodeableConcept ; CodeableConcept ] fhir:subject [ a fhir:Reference ; Reference(AdministrableProductDefinition|Group|ManufacturedItemDefinition| MedicinalProductDefinition|PackagedProductDefinition|SubstanceDefinition) ] fhir:subject [ a fhir:canonical ; canonical(EvidenceVariable) ] fhir:date [ dateTime ] ; # 0..1 Date last changed fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual) fhir:contact ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher fhir:description [ markdown ] ; # 0..1 Natural language description of the plan definition fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support fhir:jurisdiction ( [ CodeableConcept ] ... ) ; # 0..* Intended jurisdiction for plan definition (if applicable) fhir:purpose [ markdown ] ; # 0..1 Why this plan definition is defined fhir:usage [ markdown ] ; # 0..1 Describes the clinical usage of the plan fhir:copyright [ markdown ] ; # 0..1 Use and/or publishing restrictions fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s) fhir:approvalDate [ date ] ; # 0..1 When the plan definition was approved by publisher fhir:lastReviewDate [ date ] ; # 0..1 When the plan definition was last reviewed by the publisher fhir:effectivePeriod [ Period ] ; # 0..1 When the plan definition is expected to be used fhir:topic ( [ CodeableConcept ] ... ) ; # 0..* E.g. Education, Treatment, Assessment fhir:author ( [ ContactDetail ] ... ) ; # 0..* Who authored the content fhir:editor ( [ ContactDetail ] ... ) ; # 0..* Who edited the content fhir:reviewer ( [ ContactDetail ] ... ) ; # 0..* Who reviewed the content fhir:endorser ( [ ContactDetail ] ... ) ; # 0..* Who endorsed the content fhir:relatedArtifact ( [ RelatedArtifact ] ... ) ; # 0..* Additional documentation, citations fhir:library ( [ canonical(Library) ] ... ) ; # 0..* Logic used by the plan definition fhir:goal ( [ # 0..* I What the plan is trying to accomplish fhir:category [ CodeableConcept ] ; # 0..1 E.g. Treatment, dietary, behavioral fhir:description [ CodeableConcept ] ; # 1..1 Code or text describing the goal fhir:priority [ CodeableConcept ] ; # 0..1 high-priority | medium-priority | low-priority fhir:start [ CodeableConcept ] ; # 0..1 When goal pursuit begins fhir:addresses ( [ CodeableConcept ] ... ) ; # 0..* What does the goal address fhir:documentation ( [ RelatedArtifact ] ... ) ; # 0..* Supporting documentation for the goal fhir:target ( [ # 0..* Target outcome for the goal fhir:measure [ CodeableConcept ] ; # 0..1 The parameter whose value is to be tracked # detail[x] : 0..1 The target value to be achieved. One of these 7 fhir:detail [ a fhir:Quantity ; Quantity ] fhir:detail [ a fhir:Range ; Range ] fhir:detail [ a fhir:CodeableConcept ; CodeableConcept ] fhir:detail [ a fhir:string ; string ] fhir:detail [ a fhir:boolean ; boolean ] fhir:detail [ a fhir:integer ; integer ] fhir:detail [ a fhir:Ratio ; Ratio ] fhir:due [ Duration ] ; # 0..1 Reach goal within ] ... ) ; ] ... ) ; fhir:actor ( [ # 0..* Actors within the plan fhir:title [ string ] ; # 0..1 User-visible title fhir:description [ markdown ] ; # 0..1 Describes the actor fhir:option ( [ # 1..* Who or what can be this actor fhir:type [ code ] ; # 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson fhir:typeCanonical [ canonical(CapabilityStatement) ] ; # 0..1 Who or what can participate fhir:typeReference [ Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location| Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who or what can participate fhir:role [ CodeableConcept ] ; # 0..1 E.g. Nurse, Surgeon, Parent ] ... ) ; ] ... ) ; fhir:action ( [ # 0..* I Action defined by the plan fhir:linkId [ string ] ; # 0..1 Unique id for the action in the PlanDefinition fhir:prefix [ string ] ; # 0..1 User-visible prefix for the action (e.g. 1. or A.) fhir:title [ string ] ; # 0..1 User-visible title fhir:description [ markdown ] ; # 0..1 Brief description of the action fhir:textEquivalent [ markdown ] ; # 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system fhir:priority [ code ] ; # 0..1 routine | urgent | asap | stat fhir:code [ CodeableConcept ] ; # 0..1 Code representing the meaning of the action or sub-actions fhir:reason ( [ CodeableConcept ] ... ) ; # 0..* Why the action should be performed fhir:documentation ( [ RelatedArtifact ] ... ) ; # 0..* Supporting documentation for the intended performer of the action fhir:goalId ( [ id ] ... ) ; # 0..* I What goals this action supports # subject[x] : 0..1 Type of individual the action is focused on. One of these 3 fhir:subject [ a fhir:CodeableConcept ; CodeableConcept ] fhir:subject [ a fhir:Reference ; Reference(Group) ] fhir:subject [ a fhir:canonical ; canonical ] fhir:trigger ( [ TriggerDefinition ] ... ) ; # 0..* When the action should be triggered fhir:condition ( [ # 0..* Whether or not the action is applicable fhir:kind [ code ] ; # 1..1 applicability | start | stop fhir:expression [ Expression ] ; # 0..1 Boolean-valued expression ] ... ) ; fhir:input ( [ # 0..* Input data requirements fhir:title [ string ] ; # 0..1 User-visible title fhir:requirement [ DataRequirement ] ; # 0..1 I What data is provided fhir:relatedData [ id ] ; # 0..1 I What data is provided ] ... ) ; fhir:output ( [ # 0..* Output data definition fhir:title [ string ] ; # 0..1 User-visible title fhir:requirement [ DataRequirement ] ; # 0..1 I What data is provided fhir:relatedData [ string ] ; # 0..1 I What data is provided ] ... ) ; fhir:relatedAction ( [ # 0..* I Relationship to another action fhir:targetId [ id ] ; # 1..1 I What action is this related to fhir:relationship [ code ] ; # 1..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end fhir:endRelationship [ code ] ; # 0..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end # offset[x] : 0..1 Time offset for the relationship. One of these 2 fhir:offset [ a fhir:Duration ; Duration ] fhir:offset [ a fhir:Range ; Range ] ] ... ) ; # timing[x] : 0..1 When the action should take place. One of these 4 fhir:timing [ a fhir:Age ; Age ] fhir:timing [ a fhir:Duration ; Duration ] fhir:timing [ a fhir:Range ; Range ] fhir:timing [ a fhir:Timing ; Timing ] fhir:location [ CodeableReference(Location) ] ; # 0..1 Where it should happen fhir:participant ( [ # 0..* Who should participate in the action fhir:actorId [ string ] ; # 0..1 What actor fhir:type [ code ] ; # 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson fhir:typeCanonical [ canonical(CapabilityStatement) ] ; # 0..1 Who or what can participate fhir:typeReference [ Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location| Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who or what can participate fhir:role [ CodeableConcept ] ; # 0..1 E.g. Nurse, Surgeon, Parent fhir:function [ CodeableConcept ] ; # 0..1 E.g. Author, Reviewer, Witness, etc ] ... ) ; fhir:type [ CodeableConcept ] ; # 0..1 create | update | remove | fire-event fhir:groupingBehavior [ code ] ; # 0..1 visual-group | logical-group | sentence-group fhir:selectionBehavior [ code ] ; # 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more fhir:requiredBehavior [ code ] ; # 0..1 must | could | must-unless-documented fhir:precheckBehavior [ code ] ; # 0..1 yes | no fhir:cardinalityBehavior [ code ] ; # 0..1 single | multiple # definition[x] : 0..1 Description of the activity to be performed. One of these 2 fhir:definition [ a fhir:canonical ; canonical(ActivityDefinition|MessageDefinition|ObservationDefinition|PlanDefinition| Questionnaire|SpecimenDefinition) ] fhir:definition [ a fhir:uri ; uri ] fhir:transform [ canonical(StructureMap) ] ; # 0..1 Transform to apply the template fhir:dynamicValue ( [ # 0..* Dynamic aspects of the definition fhir:path [ string ] ; # 0..1 The path to the element to be set dynamically fhir:expression [ Expression ] ; # 0..1 An expression that provides the dynamic value for the customization ] ... ) ; fhir:action ( [ See PlanDefinition.action ] ... ) ; # 0..* A sub-action ] ... ) ; # asNeeded[x] : 0..1 Preconditions for service. One of these 2 fhir:asNeeded [ a fhir:boolean ; boolean ] fhir:asNeeded [ a fhir:CodeableConcept ; CodeableConcept ] ]
Changes from both R4 and R4B
PlanDefinition | |
PlanDefinition.versionAlgorithm[x] |
|
PlanDefinition.subject[x] |
|
PlanDefinition.usage |
|
PlanDefinition.copyrightLabel |
|
PlanDefinition.goal.target.detail[x] |
|
PlanDefinition.actor |
|
PlanDefinition.actor.title |
|
PlanDefinition.actor.description |
|
PlanDefinition.actor.option |
|
PlanDefinition.actor.option.type |
|
PlanDefinition.actor.option.typeCanonical |
|
PlanDefinition.actor.option.typeReference |
|
PlanDefinition.actor.option.role |
|
PlanDefinition.action.linkId |
|
PlanDefinition.action.description |
|
PlanDefinition.action.textEquivalent |
|
PlanDefinition.action.code |
|
PlanDefinition.action.subject[x] |
|
PlanDefinition.action.input |
|
PlanDefinition.action.input.title |
|
PlanDefinition.action.input.requirement |
|
PlanDefinition.action.input.relatedData |
|
PlanDefinition.action.output |
|
PlanDefinition.action.output.title |
|
PlanDefinition.action.output.requirement |
|
PlanDefinition.action.output.relatedData |
|
PlanDefinition.action.relatedAction.targetId |
|
PlanDefinition.action.relatedAction.endRelationship |
|
PlanDefinition.action.timing[x] |
|
PlanDefinition.action.location |
|
PlanDefinition.action.participant.actorId |
|
PlanDefinition.action.participant.type |
|
PlanDefinition.action.participant.typeCanonical |
|
PlanDefinition.action.participant.typeReference |
|
PlanDefinition.action.participant.function |
|
PlanDefinition.asNeeded[x] |
|
PlanDefinition.action.relatedAction.actionId |
|
See the Full Difference for further information
This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.
See R4 <--> R5 Conversion Maps (status = See Conversions Summary.)
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PlanDefinition | TU | DomainResource | The definition of a plan for a series of actions, independent of any specific patient or context + Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation + Warning: goalid should reference the id of a goal definition + Warning: targetId should reference the id of an action Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension Interfaces Implemented: MetadataResource | |
url | ΣC | 0..1 | uri | Canonical identifier for this plan definition, represented as a URI (globally unique) + Warning: URL should not contain | or # - these characters make processing canonical references problematic |
identifier | Σ | 0..* | Identifier | Additional identifier for the plan definition |
version | Σ | 0..1 | string | Business version of the plan definition |
versionAlgorithm[x] | Σ | 0..1 | How to compare versions Binding: Version Algorithm (Extensible) | |
versionAlgorithmString | string | |||
versionAlgorithmCoding | Coding | |||
name | ΣC | 0..1 | string | Name for this plan definition (computer friendly) |
title | ΣT | 0..1 | string | Name for this plan definition (human friendly) |
subtitle | T | 0..1 | string | Subordinate title of the plan definition |
type | Σ | 0..1 | CodeableConcept | order-set | clinical-protocol | eca-rule | workflow-definition Binding: Plan Definition Type (Extensible) |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (Required) |
experimental | Σ | 0..1 | boolean | For testing purposes, not real usage |
subject[x] | 0..1 | Type of individual the plan definition is focused on Binding: Participant Resource Types (Extensible) | ||
subjectCodeableConcept | CodeableConcept | |||
subjectReference | Reference(Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition) | |||
subjectCanonical | canonical(EvidenceVariable) | |||
date | Σ | 0..1 | dateTime | Date last changed |
publisher | ΣT | 0..1 | string | Name of the publisher/steward (organization or individual) |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher |
description | ΣT | 0..1 | markdown | Natural language description of the plan definition |
useContext | Σ | 0..* | UsageContext | The context that the content is intended to support |
jurisdiction | ΣXD | 0..* | CodeableConcept | Intended jurisdiction for plan definition (if applicable) Binding: Jurisdiction ValueSet (Extensible) |
purpose | T | 0..1 | markdown | Why this plan definition is defined |
usage | T | 0..1 | markdown | Describes the clinical usage of the plan |
copyright | 0..1 | markdown | Use and/or publishing restrictions | |
copyrightLabel | T | 0..1 | string | Copyright holder and year(s) |
approvalDate | 0..1 | date | When the plan definition was approved by publisher | |
lastReviewDate | 0..1 | date | When the plan definition was last reviewed by the publisher | |
effectivePeriod | Σ | 0..1 | Period | When the plan definition is expected to be used |
topic | XD | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment Binding: Definition Topic (Example) |
author | 0..* | ContactDetail | Who authored the content | |
editor | 0..* | ContactDetail | Who edited the content | |
reviewer | 0..* | ContactDetail | Who reviewed the content | |
endorser | 0..* | ContactDetail | Who endorsed the content | |
relatedArtifact | 0..* | RelatedArtifact | Additional documentation, citations | |
library | 0..* | canonical(Library) | Logic used by the plan definition | |
goal | C | 0..* | BackboneElement | What the plan is trying to accomplish |
category | 0..1 | CodeableConcept | E.g. Treatment, dietary, behavioral Binding: Goal Category (Example) | |
description | 1..1 | CodeableConcept | Code or text describing the goal Binding: SNOMED CT Clinical Findings (Example) | |
priority | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority Binding: Goal Priority (Preferred) | |
start | 0..1 | CodeableConcept | When goal pursuit begins Binding: Goal Start Event (Example) | |
addresses | 0..* | CodeableConcept | What does the goal address Binding: Condition/Problem/Diagnosis Codes (Example) | |
documentation | 0..* | RelatedArtifact | Supporting documentation for the goal | |
target | 0..* | BackboneElement | Target outcome for the goal | |
measure | 0..1 | CodeableConcept | The parameter whose value is to be tracked Binding: LOINC Codes (Example) | |
detail[x] | 0..1 | The target value to be achieved | ||
detailQuantity | Quantity | |||
detailRange | Range | |||
detailCodeableConcept | CodeableConcept | |||
detailString | string | |||
detailBoolean | boolean | |||
detailInteger | integer | |||
detailRatio | Ratio | |||
due | 0..1 | Duration | Reach goal within | |
actor | 0..* | BackboneElement | Actors within the plan | |
title | T | 0..1 | string | User-visible title |
description | T | 0..1 | markdown | Describes the actor |
option | 1..* | BackboneElement | Who or what can be this actor | |
type | 0..1 | code | careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson Binding: Action Participant Type (Required) | |
typeCanonical | 0..1 | canonical(CapabilityStatement) | Who or what can participate | |
typeReference | 0..1 | Reference(CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) | Who or what can participate | |
role | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent Binding: Action Participant Role (Example) | |
action | C | 0..* | BackboneElement | Action defined by the plan |
linkId | 0..1 | string | Unique id for the action in the PlanDefinition | |
prefix | 0..1 | string | User-visible prefix for the action (e.g. 1. or A.) | |
title | T | 0..1 | string | User-visible title |
description | T | 0..1 | markdown | Brief description of the action |
textEquivalent | T | 0..1 | markdown | Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system |
priority | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (Required) | |
code | 0..1 | CodeableConcept | Code representing the meaning of the action or sub-actions Binding: Action Code (Example) | |
reason | 0..* | CodeableConcept | Why the action should be performed Binding: Action Reason Code (Example) | |
documentation | 0..* | RelatedArtifact | Supporting documentation for the intended performer of the action | |
goalId | C | 0..* | id | What goals this action supports |
subject[x] | 0..1 | Type of individual the action is focused on Binding: Participant Resource Types (Extensible) | ||
subjectCodeableConcept | CodeableConcept | |||
subjectReference | Reference(Group) | |||
subjectCanonical | canonical() | |||
trigger | 0..* | TriggerDefinition | When the action should be triggered | |
condition | 0..* | BackboneElement | Whether or not the action is applicable | |
kind | 1..1 | code | applicability | start | stop Binding: Action Condition Kind (Required) | |
expression | 0..1 | Expression | Boolean-valued expression | |
input | C | 0..* | BackboneElement | Input data requirements + Rule: Input data elements must have a requirement or a relatedData, but not both |
title | T | 0..1 | string | User-visible title |
requirement | C | 0..1 | DataRequirement | What data is provided |
relatedData | C | 0..1 | id | What data is provided |
output | C | 0..* | BackboneElement | Output data definition + Rule: Output data element must have a requirement or a relatedData, but not both |
title | T | 0..1 | string | User-visible title |
requirement | C | 0..1 | DataRequirement | What data is provided |
relatedData | C | 0..1 | string | What data is provided |
relatedAction | C | 0..* | BackboneElement | Relationship to another action |
targetId | C | 1..1 | id | What action is this related to |
relationship | 1..1 | code | before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end Binding: Action Relationship Type (Required) | |
endRelationship | 0..1 | code | before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end Binding: Action Relationship Type (Required) | |
offset[x] | 0..1 | Time offset for the relationship | ||
offsetDuration | Duration | |||
offsetRange | Range | |||
timing[x] | 0..1 | When the action should take place | ||
timingAge | Age | |||
timingDuration | Duration | |||
timingRange | Range | |||
timingTiming | Timing | |||
location | 0..1 | CodeableReference(Location) | Where it should happen | |
participant | 0..* | BackboneElement | Who should participate in the action | |
actorId | 0..1 | string | What actor | |
type | 0..1 | code | careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson Binding: Action Participant Type (Required) | |
typeCanonical | 0..1 | canonical(CapabilityStatement) | Who or what can participate | |
typeReference | 0..1 | Reference(CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) | Who or what can participate | |
role | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent Binding: Action Participant Role (Example) | |
function | 0..1 | CodeableConcept | E.g. Author, Reviewer, Witness, etc Binding: Action Participant Function (Example) | |
type | 0..1 | CodeableConcept | create | update | remove | fire-event Binding: Action Type (Extensible) | |
groupingBehavior | 0..1 | code | visual-group | logical-group | sentence-group Binding: Action Grouping Behavior (Required) | |
selectionBehavior | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more Binding: Action Selection Behavior (Required) | |
requiredBehavior | 0..1 | code | must | could | must-unless-documented Binding: Action Required Behavior (Required) | |
precheckBehavior | 0..1 | code | yes | no Binding: Action Precheck Behavior (Required) | |
cardinalityBehavior | 0..1 | code | single | multiple Binding: Action Cardinality Behavior (Required) | |
definition[x] | 0..1 | Description of the activity to be performed | ||
definitionCanonical | canonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition) | |||
definitionUri | uri | |||
transform | 0..1 | canonical(StructureMap) | Transform to apply the template | |
dynamicValue | 0..* | BackboneElement | Dynamic aspects of the definition | |
path | 0..1 | string | The path to the element to be set dynamically | |
expression | 0..1 | Expression | An expression that provides the dynamic value for the customization | |
action | 0..* | see action | A sub-action | |
asNeeded[x] | Σ | 0..1 | Preconditions for service Binding: SNOMED CT Medication As Needed Reason Codes (Example) | |
asNeededBoolean | boolean | |||
asNeededCodeableConcept | CodeableConcept | |||
Documentation for this format |
See the Extensions for this resource
XML Template
<PlanDefinition xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <url value="[uri]"/><!-- 0..1 Canonical identifier for this plan definition, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the plan definition --></identifier> <version value="[string]"/><!-- 0..1 Business version of the plan definition --> <versionAlgorithm[x]><!-- 0..1 string|Coding How to compare versions --></versionAlgorithm[x]> <name value="[string]"/><!-- I 0..1 Name for this plan definition (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this plan definition (human friendly) --> <subtitle value="[string]"/><!-- 0..1 Subordinate title of the plan definition --> <type><!-- 0..1 CodeableConcept order-set | clinical-protocol | eca-rule | workflow-definition --></type> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage --> <subject[x]><!-- 0..1 CodeableConcept|Reference(AdministrableProductDefinition| Group|ManufacturedItemDefinition|MedicinalProductDefinition| PackagedProductDefinition|SubstanceDefinition)|canonical(EvidenceVariable) Type of individual the plan definition is focused on --></subject[x]> <date value="[dateTime]"/><!-- 0..1 Date last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the plan definition --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for plan definition (if applicable) --></jurisdiction> <purpose value="[markdown]"/><!-- 0..1 Why this plan definition is defined --> <usage value="[markdown]"/><!-- 0..1 Describes the clinical usage of the plan --> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <copyrightLabel value="[string]"/><!-- 0..1 Copyright holder and year(s) --> <approvalDate value="[date]"/><!-- 0..1 When the plan definition was approved by publisher --> <lastReviewDate value="[date]"/><!-- 0..1 When the plan definition was last reviewed by the publisher --> <effectivePeriod><!-- 0..1 Period When the plan definition is expected to be used --></effectivePeriod> <topic><!-- 0..* CodeableConcept E.g. Education, Treatment, Assessment --></topic> <author><!-- 0..* ContactDetail Who authored the content --></author> <editor><!-- 0..* ContactDetail Who edited the content --></editor> <reviewer><!-- 0..* ContactDetail Who reviewed the content --></reviewer> <endorser><!-- 0..* ContactDetail Who endorsed the content --></endorser> <relatedArtifact><!-- 0..* RelatedArtifact Additional documentation, citations --></relatedArtifact> <library><!-- 0..* canonical(Library) Logic used by the plan definition --></library> <goal> <!-- I 0..* What the plan is trying to accomplish --> <category><!-- 0..1 CodeableConcept E.g. Treatment, dietary, behavioral --></category> <description><!-- 1..1 CodeableConcept Code or text describing the goal --></description> <priority><!-- 0..1 CodeableConcept high-priority | medium-priority | low-priority --></priority> <start><!-- 0..1 CodeableConcept When goal pursuit begins --></start> <addresses><!-- 0..* CodeableConcept What does the goal address --></addresses> <documentation><!-- 0..* RelatedArtifact Supporting documentation for the goal --></documentation> <target> <!-- 0..* Target outcome for the goal --> <measure><!-- 0..1 CodeableConcept The parameter whose value is to be tracked --></measure> <detail[x]><!-- 0..1 Quantity|Range|CodeableConcept|string|boolean|integer| Ratio The target value to be achieved --></detail[x]> <due><!-- 0..1 Duration Reach goal within --></due> </target> </goal> <actor> <!-- 0..* Actors within the plan --> <title value="[string]"/><!-- 0..1 User-visible title --> <description value="[markdown]"/><!-- 0..1 Describes the actor --> <option> <!-- 1..* Who or what can be this actor --> <type value="[code]"/><!-- 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson --> <typeCanonical><!-- 0..1 canonical(CapabilityStatement) Who or what can participate --></typeCanonical> <typeReference><!-- 0..1 Reference(CareTeam|Device|DeviceDefinition|Endpoint| Group|HealthcareService|Location|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Who or what can participate --></typeReference> <role><!-- 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent --></role> </option> </actor> <action> <!-- I 0..* Action defined by the plan --> <linkId value="[string]"/><!-- 0..1 Unique id for the action in the PlanDefinition --> <prefix value="[string]"/><!-- 0..1 User-visible prefix for the action (e.g. 1. or A.) --> <title value="[string]"/><!-- 0..1 User-visible title --> <description value="[markdown]"/><!-- 0..1 Brief description of the action --> <textEquivalent value="[markdown]"/><!-- 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system --> <priority value="[code]"/><!-- 0..1 routine | urgent | asap | stat --> <code><!-- 0..1 CodeableConcept Code representing the meaning of the action or sub-actions --></code> <reason><!-- 0..* CodeableConcept Why the action should be performed --></reason> <documentation><!-- 0..* RelatedArtifact Supporting documentation for the intended performer of the action --></documentation> <goalId value="[id]"/><!-- I 0..* What goals this action supports --> <subject[x]><!-- 0..1 CodeableConcept|Reference(Group)|canonical Type of individual the action is focused on --></subject[x]> <trigger><!-- 0..* TriggerDefinition When the action should be triggered --></trigger> <condition> <!-- 0..* Whether or not the action is applicable --> <kind value="[code]"/><!-- 1..1 applicability | start | stop --> <expression><!-- 0..1 Expression Boolean-valued expression --></expression> </condition> <input> <!-- 0..* Input data requirements --> <title value="[string]"/><!-- 0..1 User-visible title --> <requirement><!-- I 0..1 DataRequirement What data is provided --></requirement> <relatedData value="[id]"/><!-- I 0..1 What data is provided --> </input> <output> <!-- 0..* Output data definition --> <title value="[string]"/><!-- 0..1 User-visible title --> <requirement><!-- I 0..1 DataRequirement What data is provided --></requirement> <relatedData value="[string]"/><!-- I 0..1 What data is provided --> </output> <relatedAction> <!-- I 0..* Relationship to another action --> <targetId value="[id]"/><!-- I 1..1 What action is this related to --> <relationship value="[code]"/><!-- 1..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end --> <endRelationship value="[code]"/><!-- 0..1 before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end --> <offset[x]><!-- 0..1 Duration|Range Time offset for the relationship --></offset[x]> </relatedAction> <timing[x]><!-- 0..1 Age|Duration|Range|Timing When the action should take place --></timing[x]> <location><!-- 0..1 CodeableReference(Location) Where it should happen --></location> <participant> <!-- 0..* Who should participate in the action --> <actorId value="[string]"/><!-- 0..1 What actor --> <type value="[code]"/><!-- 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson --> <typeCanonical><!-- 0..1 canonical(CapabilityStatement) Who or what can participate --></typeCanonical> <typeReference><!-- 0..1 Reference(CareTeam|Device|DeviceDefinition|Endpoint| Group|HealthcareService|Location|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) Who or what can participate --></typeReference> <role><!-- 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent --></role> <function><!-- 0..1 CodeableConcept E.g. Author, Reviewer, Witness, etc --></function> </participant> <type><!-- 0..1 CodeableConcept create | update | remove | fire-event --></type> <groupingBehavior value="[code]"/><!-- 0..1 visual-group | logical-group | sentence-group --> <selectionBehavior value="[code]"/><!-- 0..1 any | all | all-or-none | exactly-one | at-most-one | one-or-more --> <requiredBehavior value="[code]"/><!-- 0..1 must | could | must-unless-documented --> <precheckBehavior value="[code]"/><!-- 0..1 yes | no --> <cardinalityBehavior value="[code]"/><!-- 0..1 single | multiple --> <definition[x]><!-- 0..1 canonical(ActivityDefinition|MessageDefinition| ObservationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition)|uri Description of the activity to be performed --></definition[x]> <transform><!-- 0..1 canonical(StructureMap) Transform to apply the template --></transform> <dynamicValue> <!-- 0..* Dynamic aspects of the definition --> <path value="[string]"/><!-- 0..1 The path to the element to be set dynamically --> <expression><!-- 0..1 Expression An expression that provides the dynamic value for the customization --></expression> </dynamicValue> <action><!-- 0..* Content as for PlanDefinition.action A sub-action --></action> </action> <asNeeded[x]><!-- 0..1 boolean|CodeableConcept Preconditions for service --></asNeeded[x]> </PlanDefinition>
JSON Template
{ "resourceType" : "PlanDefinition", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "url" : "<uri>", // Canonical identifier for this plan definition, represented as a URI (globally unique) "identifier" : [{ Identifier }], // Additional identifier for the plan definition "version" : "<string>", // Business version of the plan definition // versionAlgorithm[x]: How to compare versions. One of these 2: "versionAlgorithmString" : "<string>", "versionAlgorithmCoding" : { Coding }, "name" : "<string>", // I Name for this plan definition (computer friendly) "title" : "<string>", // Name for this plan definition (human friendly) "subtitle" : "<string>", // Subordinate title of the plan definition "type" : { CodeableConcept }, // order-set | clinical-protocol | eca-rule | workflow-definition "status" : "<code>", // R! draft | active | retired | unknown "experimental" : <boolean>, // For testing purposes, not real usage // subject[x]: Type of individual the plan definition is focused on. One of these 3: "subjectCodeableConcept" : { CodeableConcept }, "subjectReference" : { Reference(AdministrableProductDefinition|Group| ManufacturedItemDefinition|MedicinalProductDefinition| PackagedProductDefinition|SubstanceDefinition) }, "subjectCanonical" : "<canonical(EvidenceVariable)>", "date" : "<dateTime>", // Date last changed "publisher" : "<string>", // Name of the publisher/steward (organization or individual) "contact" : [{ ContactDetail }], // Contact details for the publisher "description" : "<markdown>", // Natural language description of the plan definition "useContext" : [{ UsageContext }], // The context that the content is intended to support "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for plan definition (if applicable) "purpose" : "<markdown>", // Why this plan definition is defined "usage" : "<markdown>", // Describes the clinical usage of the plan "copyright" : "<markdown>", // Use and/or publishing restrictions "copyrightLabel" : "<string>", // Copyright holder and year(s) "approvalDate" : "<date>", // When the plan definition was approved by publisher "lastReviewDate" : "<date>", // When the plan definition was last reviewed by the publisher "effectivePeriod" : { Period }, // When the plan definition is expected to be used "topic" : [{ CodeableConcept }], // E.g. Education, Treatment, Assessment "author" : [{ ContactDetail }], // Who authored the content "editor" : [{ ContactDetail }], // Who edited the content "reviewer" : [{ ContactDetail }], // Who reviewed the content "endorser" : [{ ContactDetail }], // Who endorsed the content "relatedArtifact" : [{ RelatedArtifact }], // Additional documentation, citations "library" : ["<canonical(Library)>"], // Logic used by the plan definition "goal" : [{ // I What the plan is trying to accomplish "category" : { CodeableConcept }, // E.g. Treatment, dietary, behavioral "description" : { CodeableConcept }, // R! Code or text describing the goal "priority" : { CodeableConcept }, // high-priority | medium-priority | low-priority "start" : { CodeableConcept }, // When goal pursuit begins "addresses" : [{ CodeableConcept }], // What does the goal address "documentation" : [{ RelatedArtifact }], // Supporting documentation for the goal "target" : [{ // Target outcome for the goal "measure" : { CodeableConcept }, // The parameter whose value is to be tracked // detail[x]: The target value to be achieved. One of these 7: "detailQuantity" : { Quantity }, "detailRange" : { Range }, "detailCodeableConcept" : { CodeableConcept }, "detailString" : "<string>", "detailBoolean" : <boolean>, "detailInteger" : <integer>, "detailRatio" : { Ratio }, "due" : { Duration } // Reach goal within }] }], "actor" : [{ // Actors within the plan "title" : "<string>", // User-visible title "description" : "<markdown>", // Describes the actor "option" : [{ // R! Who or what can be this actor "type" : "<code>", // careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson "typeCanonical" : "<canonical(CapabilityStatement)>", // Who or what can participate "typeReference" : { Reference(CareTeam|Device|DeviceDefinition|Endpoint| Group|HealthcareService|Location|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Who or what can participate "role" : { CodeableConcept } // E.g. Nurse, Surgeon, Parent }] }], "action" : [{ // I Action defined by the plan "linkId" : "<string>", // Unique id for the action in the PlanDefinition "prefix" : "<string>", // User-visible prefix for the action (e.g. 1. or A.) "title" : "<string>", // User-visible title "description" : "<markdown>", // Brief description of the action "textEquivalent" : "<markdown>", // Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system "priority" : "<code>", // routine | urgent | asap | stat "code" : { CodeableConcept }, // Code representing the meaning of the action or sub-actions "reason" : [{ CodeableConcept }], // Why the action should be performed "documentation" : [{ RelatedArtifact }], // Supporting documentation for the intended performer of the action "goalId" : ["<id>"], // I What goals this action supports // subject[x]: Type of individual the action is focused on. One of these 3: "subjectCodeableConcept" : { CodeableConcept }, "subjectReference" : { Reference(Group) }, "subjectCanonical" : "<canonical>", "trigger" : [{ TriggerDefinition }], // When the action should be triggered "condition" : [{ // Whether or not the action is applicable "kind" : "<code>", // R! applicability | start | stop "expression" : { Expression } // Boolean-valued expression }], "input" : [{ // Input data requirements "title" : "<string>", // User-visible title "requirement" : { DataRequirement }, // I What data is provided "relatedData" : "<id>" // I What data is provided }], "output" : [{ // Output data definition "title" : "<string>", // User-visible title "requirement" : { DataRequirement }, // I What data is provided "relatedData" : "<string>" // I What data is provided }], "relatedAction" : [{ // I Relationship to another action "targetId" : "<id>", // I R! What action is this related to "relationship" : "<code>", // R! before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end "endRelationship" : "<code>", // before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end // offset[x]: Time offset for the relationship. One of these 2: "offsetDuration" : { Duration }, "offsetRange" : { Range } }], // timing[x]: When the action should take place. One of these 4: "timingAge" : { Age }, "timingDuration" : { Duration }, "timingRange" : { Range }, "timingTiming" : { Timing }, "location" : { CodeableReference(Location) }, // Where it should happen "participant" : [{ // Who should participate in the action "actorId" : "<string>", // What actor "type" : "<code>", // careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson "typeCanonical" : "<canonical(CapabilityStatement)>", // Who or what can participate "typeReference" : { Reference(CareTeam|Device|DeviceDefinition|Endpoint| Group|HealthcareService|Location|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) }, // Who or what can participate "role" : { CodeableConcept }, // E.g. Nurse, Surgeon, Parent "function" : { CodeableConcept } // E.g. Author, Reviewer, Witness, etc }], "type" : { CodeableConcept }, // create | update | remove | fire-event "groupingBehavior" : "<code>", // visual-group | logical-group | sentence-group "selectionBehavior" : "<code>", // any | all | all-or-none | exactly-one | at-most-one | one-or-more "requiredBehavior" : "<code>", // must | could | must-unless-documented "precheckBehavior" : "<code>", // yes | no "cardinalityBehavior" : "<code>", // single | multiple // definition[x]: Description of the activity to be performed. One of these 2: "definitionCanonical" : "<canonical(ActivityDefinition|MessageDefinition|ObservationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition)>", "definitionUri" : "<uri>", "transform" : "<canonical(StructureMap)>", // Transform to apply the template "dynamicValue" : [{ // Dynamic aspects of the definition "path" : "<string>", // The path to the element to be set dynamically "expression" : { Expression } // An expression that provides the dynamic value for the customization }], "action" : [{ Content as for PlanDefinition.action }] // A sub-action }], // asNeeded[x]: Preconditions for service. One of these 2: "asNeededBoolean" : <boolean>, "asNeededCodeableConcept" : { CodeableConcept } }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:PlanDefinition; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:url [ uri ] ; # 0..1 Canonical identifier for this plan definition, represented as a URI (globally unique) fhir:identifier ( [ Identifier ] ... ) ; # 0..* Additional identifier for the plan definition fhir:version [ string ] ; # 0..1 Business version of the plan definition # versionAlgorithm[x] : 0..1 How to compare versions. One of these 2 fhir:versionAlgorithm [ a fhir:string ; string ] fhir:versionAlgorithm [ a fhir:Coding ; Coding ] fhir:name [ string ] ; # 0..1 I Name for this plan definition (computer friendly) fhir:title [ string ] ; # 0..1 Name for this plan definition (human friendly) fhir:subtitle [ string ] ; # 0..1 Subordinate title of the plan definition fhir:type [ CodeableConcept ] ; # 0..1 order-set | clinical-protocol | eca-rule | workflow-definition fhir:status [ code ] ; # 1..1 draft | active | retired | unknown fhir:experimental [ boolean ] ; # 0..1 For testing purposes, not real usage # subject[x] : 0..1 Type of individual the plan definition is focused on. One of these 3 fhir:subject [ a fhir:CodeableConcept ; CodeableConcept ] fhir:subject [ a fhir:Reference ; Reference(AdministrableProductDefinition|Group|ManufacturedItemDefinition| MedicinalProductDefinition|PackagedProductDefinition|SubstanceDefinition) ] fhir:subject [ a fhir:canonical ; canonical(EvidenceVariable) ] fhir:date [ dateTime ] ; # 0..1 Date last changed fhir:publisher [ string ] ; # 0..1 Name of the publisher/steward (organization or individual) fhir:contact ( [ ContactDetail ] ... ) ; # 0..* Contact details for the publisher fhir:description [ markdown ] ; # 0..1 Natural language description of the plan definition fhir:useContext ( [ UsageContext ] ... ) ; # 0..* The context that the content is intended to support fhir:jurisdiction ( [ CodeableConcept ] ... ) ; # 0..* Intended jurisdiction for plan definition (if applicable) fhir:purpose [ markdown ] ; # 0..1 Why this plan definition is defined fhir:usage [ markdown ] ; # 0..1 Describes the clinical usage of the plan fhir:copyright [ markdown ] ; # 0..1 Use and/or publishing restrictions fhir:copyrightLabel [ string ] ; # 0..1 Copyright holder and year(s) fhir:approvalDate [ date ] ; # 0..1 When the plan definition was approved by publisher fhir:lastReviewDate [ date ] ; # 0..1 When the plan definition was last reviewed by the publisher fhir:effectivePeriod [ Period ] ; # 0..1 When the plan definition is expected to be used fhir:topic ( [ CodeableConcept ] ... ) ; # 0..* E.g. Education, Treatment, Assessment fhir:author ( [ ContactDetail ] ... ) ; # 0..* Who authored the content fhir:editor ( [ ContactDetail ] ... ) ; # 0..* Who edited the content fhir:reviewer ( [ ContactDetail ] ... ) ; # 0..* Who reviewed the content fhir:endorser ( [ ContactDetail ] ... ) ; # 0..* Who endorsed the content fhir:relatedArtifact ( [ RelatedArtifact ] ... ) ; # 0..* Additional documentation, citations fhir:library ( [ canonical(Library) ] ... ) ; # 0..* Logic used by the plan definition fhir:goal ( [ # 0..* I What the plan is trying to accomplish fhir:category [ CodeableConcept ] ; # 0..1 E.g. Treatment, dietary, behavioral fhir:description [ CodeableConcept ] ; # 1..1 Code or text describing the goal fhir:priority [ CodeableConcept ] ; # 0..1 high-priority | medium-priority | low-priority fhir:start [ CodeableConcept ] ; # 0..1 When goal pursuit begins fhir:addresses ( [ CodeableConcept ] ... ) ; # 0..* What does the goal address fhir:documentation ( [ RelatedArtifact ] ... ) ; # 0..* Supporting documentation for the goal fhir:target ( [ # 0..* Target outcome for the goal fhir:measure [ CodeableConcept ] ; # 0..1 The parameter whose value is to be tracked # detail[x] : 0..1 The target value to be achieved. One of these 7 fhir:detail [ a fhir:Quantity ; Quantity ] fhir:detail [ a fhir:Range ; Range ] fhir:detail [ a fhir:CodeableConcept ; CodeableConcept ] fhir:detail [ a fhir:string ; string ] fhir:detail [ a fhir:boolean ; boolean ] fhir:detail [ a fhir:integer ; integer ] fhir:detail [ a fhir:Ratio ; Ratio ] fhir:due [ Duration ] ; # 0..1 Reach goal within ] ... ) ; ] ... ) ; fhir:actor ( [ # 0..* Actors within the plan fhir:title [ string ] ; # 0..1 User-visible title fhir:description [ markdown ] ; # 0..1 Describes the actor fhir:option ( [ # 1..* Who or what can be this actor fhir:type [ code ] ; # 0..1 careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson fhir:typeCanonical [ canonical(CapabilityStatement) ] ; # 0..1 Who or what can participate fhir:typeReference [ Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location| Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 Who or what can participate fhir:role [ CodeableConcept ] ; # 0..1 E.g. Nurse, Surgeon, Parent ] ... ) ; ] ... ) ; fhir:action ( [ # 0..* I Action defined by the plan fhir:linkId [ string ] ; # 0..1 Unique id for the action in the PlanDefinition fhir:prefix [ string ] ; # 0..1 User-visible prefix for the action (e.g. 1. or A.) fhir:title [ string ] ; # 0..1 User-visible title fhir:description [ markdown ] ; # 0..1 Brief description of the action fhir:textEquivalent [ markdown ] ; # 0..1 Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system fhir:priority [ code ] ; # 0..1 routine | urgent | asap | stat fhir:code [