description: 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. package_name: hl7.fhir.r6.core derivation: specialization name: PlanDefinition type: PlanDefinition elements: description: {isModifier: false, short: Natural language description of the plan definition, type: markdown, mustSupport: false, isSummary: true, index: 21} date: {isModifier: false, short: Date last changed, type: dateTime, mustSupport: false, isSummary: true, index: 18} endorser: {isModifier: false, short: Who endorsed the content, type: ContactDetail, mustSupport: false, array: true, isSummary: false, index: 35} publisher: {isModifier: false, short: Name of the publisher/steward (organization or individual), type: string, mustSupport: false, isSummary: true, index: 19} approvalDate: {isModifier: false, short: When the plan definition was approved by publisher, type: date, mustSupport: false, isSummary: false, index: 28} asNeeded: isModifier: false short: Preconditions for service mustSupport: false choices: [asNeededBoolean, asNeededCodeableConcept] isSummary: true index: 131 jurisdiction: isModifier: false short: Intended jurisdiction for plan definition (if applicable) type: CodeableConcept mustSupport: false array: true binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/ValueSet/jurisdiction'} isSummary: true index: 23 purpose: {isModifier: false, short: Why this plan definition is defined, type: markdown, mustSupport: false, isSummary: false, index: 24} subjectCodeableConcept: {isModifier: false, short: Type of individual the plan definition is focused on, type: CodeableConcept, mustSupport: false, meaningWhenMissing: Patient, choiceOf: subject, isSummary: false, index: 15} name: {isModifier: false, short: Name for this plan definition (computer friendly), type: string, mustSupport: false, isSummary: true, index: 7} copyrightLabel: {isModifier: false, short: Copyright holder and year(s), type: string, mustSupport: false, isSummary: false, index: 27} useContext: {isModifier: false, short: The context that the content is intended to support, type: UsageContext, mustSupport: false, array: true, isSummary: true, index: 22} goal: isModifier: false short: What the plan is trying to accomplish index: 38 type: BackboneElement mustSupport: false array: true elements: category: isModifier: false short: E.g. Treatment, dietary, behavioral type: CodeableConcept mustSupport: false binding: {strength: example, valueSet: 'http://hl7.org/fhir/ValueSet/goal-category'} isSummary: false index: 39 description: isModifier: false short: Code or text describing the goal type: CodeableConcept mustSupport: false binding: {strength: example, valueSet: 'http://hl7.org/fhir/ValueSet/clinical-findings'} isSummary: false index: 40 priority: isModifier: false short: high-priority | medium-priority | low-priority type: CodeableConcept mustSupport: false binding: {strength: preferred, valueSet: 'http://hl7.org/fhir/ValueSet/goal-priority'} isSummary: false index: 41 start: isModifier: false short: When goal pursuit begins type: CodeableConcept mustSupport: false binding: {strength: example, valueSet: 'http://hl7.org/fhir/ValueSet/goal-start-event'} isSummary: false index: 42 addresses: isModifier: false short: What does the goal address type: CodeableConcept mustSupport: false array: true binding: {strength: example, valueSet: 'http://hl7.org/fhir/ValueSet/condition-code'} isSummary: false index: 43 documentation: {isModifier: false, short: Supporting documentation for the goal, type: RelatedArtifact, mustSupport: false, array: true, isSummary: false, index: 44} target: isModifier: false short: Target outcome for the goal type: BackboneElement mustSupport: false array: true isSummary: false index: 45 elements: detailRange: {isModifier: false, short: The target value to be achieved, type: Range, mustSupport: false, choiceOf: detail, isSummary: false, index: 50} detailQuantity: {isModifier: false, short: The target value to be achieved, type: Quantity, mustSupport: false, choiceOf: detail, isSummary: false, index: 49} detailInteger: {isModifier: false, short: The target value to be achieved, type: integer, mustSupport: false, choiceOf: detail, isSummary: false, index: 54} detailString: {isModifier: false, short: The target value to be achieved, type: string, mustSupport: false, choiceOf: detail, isSummary: false, index: 52} measure: isModifier: false short: The parameter whose value is to be tracked type: CodeableConcept mustSupport: false binding: {strength: example, valueSet: 'http://hl7.org/fhir/ValueSet/observation-codes'} isSummary: false index: 46 due: {isModifier: false, short: Reach goal within, type: Duration, mustSupport: false, isSummary: false, index: 56} detailRatio: {isModifier: false, short: The target value to be achieved, type: Ratio, mustSupport: false, choiceOf: detail, isSummary: false, index: 55} detailCodeableConcept: {isModifier: false, short: The target value to be achieved, type: CodeableConcept, mustSupport: false, choiceOf: detail, isSummary: false, index: 51} detailBoolean: {isModifier: false, short: The target value to be achieved, type: boolean, mustSupport: false, choiceOf: detail, isSummary: false, index: 53} detail: isModifier: false short: The target value to be achieved mustSupport: false choices: [detailQuantity, detailRange, detailCodeableConcept, detailString, detailBoolean, detailInteger, detailRatio] isSummary: false index: 48 required: [description] isSummary: false copyright: {isModifier: false, short: Use and/or publishing restrictions, type: markdown, mustSupport: false, isSummary: false, index: 26} versionAlgorithm: isModifier: false short: How to compare versions mustSupport: false choices: [versionAlgorithmString, versionAlgorithmCoding] isSummary: true index: 4 type: isModifier: false short: order-set | clinical-protocol | eca-rule | workflow-definition type: CodeableConcept mustSupport: false binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/ValueSet/plan-definition-type'} isSummary: true index: 10 experimental: {isModifier: false, short: 'For testing purposes, not real usage', type: boolean, mustSupport: false, meaningWhenMissing: 'If absent, this resource is treated as though it is not experimental.', isSummary: true, index: 12} topic: isModifier: false short: E.g. Education, Treatment, Assessment type: CodeableConcept mustSupport: false array: true binding: {strength: example, valueSet: 'http://hl7.org/fhir/ValueSet/definition-topic'} isSummary: false index: 31 title: {isModifier: false, short: Name for this plan definition (human friendly), type: string, mustSupport: false, isSummary: true, index: 8} library: {isModifier: false, short: Logic used by the plan definition, type: canonical, mustSupport: false, array: true, isSummary: false, index: 37} asNeededBoolean: {isModifier: false, short: Preconditions for service, type: boolean, mustSupport: false, choiceOf: asNeeded, isSummary: true, index: 132} author: {isModifier: false, short: Who authored the content, type: ContactDetail, mustSupport: false, array: true, isSummary: false, index: 32} versionAlgorithmCoding: {isModifier: false, short: How to compare versions, type: Coding, mustSupport: false, choiceOf: versionAlgorithm, isSummary: true, index: 6} usage: {isModifier: false, short: Describes the clinical usage of the plan, type: markdown, mustSupport: false, isSummary: false, index: 25} status: isModifier: true short: draft | active | retired | unknown index: 11 type: code mustSupport: false binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/publication-status|6.0.0-ballot1'} isModifierReason: This is labeled as "Is Modifier" because applications should not use a retired {{title}} without due consideration isSummary: true subtitle: {isModifier: false, short: Subordinate title of the plan definition, type: string, mustSupport: false, isSummary: false, index: 9} url: constraint: cnl-1: {human: 'URL should not contain | or # - these characters make processing canonical references problematic', source: 'http://hl7.org/fhir/StructureDefinition/PlanDefinition', severity: warning, expression: 'exists() implies matches(''^[^|# ]+$'')'} isModifier: false short: Canonical identifier for this plan definition, represented as a URI (globally unique) type: uri mustSupport: false isSummary: true index: 0 identifier: {isModifier: false, short: Additional identifier for the plan definition, type: Identifier, mustSupport: false, array: true, isSummary: true, index: 1} lastReviewDate: {isModifier: false, short: When the plan definition was last reviewed by the publisher, type: date, mustSupport: false, isSummary: false, index: 29} editor: {isModifier: false, short: Who edited the content, type: ContactDetail, mustSupport: false, array: true, isSummary: false, index: 33} action: isModifier: false short: Action defined by the plan type: BackboneElement mustSupport: false array: true isSummary: false index: 65 elements: timingRange: {isModifier: false, short: When the action should take place, type: Range, mustSupport: false, choiceOf: timing, isSummary: false, index: 105} description: {isModifier: false, short: Brief description of the action, type: markdown, mustSupport: false, isSummary: false, index: 69} definition: isModifier: false short: Description of the activity to be performed mustSupport: false choices: [definitionCanonical, definitionUri] isSummary: false index: 122 linkId: {isModifier: false, short: Unique id for the action in the PlanDefinition, type: string, mustSupport: false, isSummary: false, index: 66} transform: {isModifier: false, short: Transform to apply the template, type: canonical, mustSupport: false, isSummary: false, index: 125} textEquivalent: {isModifier: false, short: 'Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system', type: markdown, mustSupport: false, isSummary: false, index: 70} definitionUri: {isModifier: false, short: Description of the activity to be performed, type: uri, mustSupport: false, choiceOf: definition, isSummary: false, index: 124} goalId: {isModifier: false, short: What goals this action supports, type: id, mustSupport: false, array: true, isSummary: false, index: 75} subjectCodeableConcept: {isModifier: false, short: Type of individual the action is focused on, type: CodeableConcept, mustSupport: false, meaningWhenMissing: Patient, choiceOf: subject, isSummary: false, index: 78} definitionCanonical: {isModifier: false, short: Description of the activity to be performed, type: canonical, mustSupport: false, choiceOf: definition, isSummary: false, index: 123} relatedAction: isModifier: false short: Relationship to another action index: 93 type: BackboneElement mustSupport: false array: true elements: targetId: {isModifier: false, short: What action is this related to, type: id, mustSupport: false, isSummary: false, index: 94} relationship: isModifier: false short: before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end type: code mustSupport: false binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/action-relationship-type|6.0.0-ballot1'} isSummary: false index: 95 endRelationship: isModifier: false short: before | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end type: code mustSupport: false binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/action-relationship-type|6.0.0-ballot1'} isSummary: false index: 96 offset: isModifier: false short: Time offset for the relationship mustSupport: false choices: [offsetDuration, offsetRange] isSummary: false index: 98 offsetDuration: {isModifier: false, short: Time offset for the relationship, type: Duration, mustSupport: false, choiceOf: offset, isSummary: false, index: 99} offsetRange: {isModifier: false, short: Time offset for the relationship, type: Range, mustSupport: false, choiceOf: offset, isSummary: false, index: 100} required: [targetId, relationship] isSummary: false type: isModifier: false short: create | update | remove | fire-event type: CodeableConcept mustSupport: false binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/ValueSet/action-type'} isSummary: false index: 115 participant: isModifier: false short: Who should participate in the action type: BackboneElement mustSupport: false array: true isSummary: false index: 108 elements: actorId: {isModifier: false, short: What actor, type: string, mustSupport: false, isSummary: false, index: 109} type: isModifier: false short: careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson type: code mustSupport: false binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/action-participant-type|6.0.0-ballot1'} isSummary: false index: 110 typeCanonical: {isModifier: false, short: Who or what can participate, type: canonical, mustSupport: false, isSummary: false, index: 111} typeReference: isModifier: false short: Who or what can participate refers: ['http://hl7.org/fhir/StructureDefinition/CareTeam', 'http://hl7.org/fhir/StructureDefinition/Device', 'http://hl7.org/fhir/StructureDefinition/DeviceDefinition', 'http://hl7.org/fhir/StructureDefinition/Endpoint', 'http://hl7.org/fhir/StructureDefinition/Group', 'http://hl7.org/fhir/StructureDefinition/HealthcareService', 'http://hl7.org/fhir/StructureDefinition/Location', 'http://hl7.org/fhir/StructureDefinition/Organization', 'http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/PractitionerRole', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson'] type: Reference mustSupport: false isSummary: false index: 112 role: isModifier: false short: E.g. Nurse, Surgeon, Parent type: CodeableConcept mustSupport: false binding: {strength: example, valueSet: 'http://terminology.hl7.org/ValueSet/action-participant-role'} isSummary: false index: 113 function: isModifier: false short: E.g. Author, Reviewer, Witness, etc type: CodeableConcept mustSupport: false binding: {strength: example, valueSet: 'http://hl7.org/fhir/ValueSet/action-participant-function'} isSummary: false index: 114 output: constraint: pld-1: {human: 'Output data element must have a requirement or a relatedData, but not both', source: 'http://hl7.org/fhir/StructureDefinition/PlanDefinition', severity: error, expression: requirement.exists() xor relatedData.exists()} isModifier: false short: Output data definition index: 89 type: BackboneElement mustSupport: false array: true elements: title: {isModifier: false, short: User-visible title, type: string, mustSupport: false, isSummary: false, index: 90} requirement: {isModifier: false, short: What data is provided, type: DataRequirement, mustSupport: false, isSummary: false, index: 91} relatedData: {isModifier: false, short: What data is provided, type: string, mustSupport: false, isSummary: false, index: 92} isSummary: false title: {isModifier: false, short: User-visible title, type: string, mustSupport: false, isSummary: false, index: 68} documentation: {isModifier: false, short: Supporting documentation for the intended performer of the action, type: RelatedArtifact, mustSupport: false, array: true, isSummary: false, index: 74} prefix: {isModifier: false, short: User-visible prefix for the action (e.g. 1. or A.), type: string, mustSupport: false, isSummary: false, index: 67} selectionBehavior: isModifier: false short: any | all | all-or-none | exactly-one | at-most-one | one-or-more type: code mustSupport: false meaningWhenMissing: If no selection behavior is specified but the action has children (i.e. is a group), the selection behavior is assumed to be `all`. binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/action-selection-behavior|6.0.0-ballot1'} isSummary: false index: 117 reason: isModifier: false short: Why the action should be performed type: CodeableConcept mustSupport: false array: true binding: {strength: example, valueSet: 'http://hl7.org/fhir/ValueSet/action-reason-code'} isSummary: false index: 73 timingTiming: {isModifier: false, short: When the action should take place, type: Timing, mustSupport: false, choiceOf: timing, isSummary: false, index: 106} timingDuration: {isModifier: false, short: When the action should take place, type: Duration, mustSupport: false, choiceOf: timing, isSummary: false, index: 104} priority: isModifier: false short: routine | urgent | asap | stat type: code mustSupport: false binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/request-priority|6.0.0-ballot1'} isSummary: false index: 71 requiredBehavior: isModifier: false short: must | could | must-unless-documented type: code mustSupport: false meaningWhenMissing: If no required behavior is specified but the action has children (i.e. is a group), the required behavior is assumed to be `could`. binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/action-required-behavior|6.0.0-ballot1'} isSummary: false index: 118 condition: isModifier: false short: Whether or not the action is applicable index: 82 type: BackboneElement mustSupport: false array: true elements: kind: isModifier: false short: applicability | start | stop type: code mustSupport: false binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/action-condition-kind|6.0.0-ballot1'} isSummary: false index: 83 expression: {isModifier: false, short: Boolean-valued expression, type: Expression, mustSupport: false, isSummary: false, index: 84} required: [kind] isSummary: false timing: isModifier: false short: When the action should take place mustSupport: false choices: [timingAge, timingDuration, timingRange, timingTiming] isSummary: false index: 102 groupingBehavior: isModifier: false short: visual-group | logical-group | sentence-group type: code mustSupport: false meaningWhenMissing: If no grouping behavior is specified but the action has children (i.e. is a group), the grouping behavior is assumed to be `logical-group`. binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/action-grouping-behavior|6.0.0-ballot1'} isSummary: false index: 116 dynamicValue: isModifier: false short: Dynamic aspects of the definition type: BackboneElement mustSupport: false array: true isSummary: false index: 126 elements: path: {isModifier: false, short: The path to the element to be set dynamically, type: string, mustSupport: false, isSummary: false, index: 127} expression: {isModifier: false, short: An expression that provides the dynamic value for the customization, type: Expression, mustSupport: false, isSummary: false, index: 128} code: isModifier: false short: Code representing the meaning of the action or sub-actions type: CodeableConcept mustSupport: false binding: {strength: example, valueSet: 'http://hl7.org/fhir/ValueSet/action-code'} isSummary: false index: 72 timingAge: {isModifier: false, short: When the action should take place, type: Age, mustSupport: false, choiceOf: timing, isSummary: false, index: 103} action: elementReference: ['http://hl7.org/fhir/StructureDefinition/PlanDefinition', elements, action] isModifier: false short: A sub-action mustSupport: false array: true isSummary: false index: 129 precheckBehavior: isModifier: false short: yes | no type: code mustSupport: false meaningWhenMissing: If no precheck behavior is specified but the action has children (i.e. is a group), the precheck behavior is assumed to be `no`. binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/action-precheck-behavior|6.0.0-ballot1'} isSummary: false index: 119 input: constraint: pld-0: {human: 'Input data elements must have a requirement or a relatedData, but not both', source: 'http://hl7.org/fhir/StructureDefinition/PlanDefinition', severity: error, expression: requirement.exists() xor relatedData.exists()} isModifier: false short: Input data requirements index: 85 type: BackboneElement mustSupport: false array: true elements: title: {isModifier: false, short: User-visible title, type: string, mustSupport: false, isSummary: false, index: 86} requirement: {isModifier: false, short: What data is provided, type: DataRequirement, mustSupport: false, isSummary: false, index: 87} relatedData: {isModifier: false, short: What data is provided, type: id, mustSupport: false, isSummary: false, index: 88} isSummary: false subjectCanonical: {isModifier: false, short: Type of individual the action is focused on, type: canonical, mustSupport: false, meaningWhenMissing: Patient, choiceOf: subject, isSummary: false, index: 80} trigger: {isModifier: false, short: When the action should be triggered, type: TriggerDefinition, mustSupport: false, array: true, isSummary: false, index: 81} location: {isModifier: false, short: Where it should happen, type: CodeableReference, mustSupport: false, isSummary: false, index: 107} subjectReference: isModifier: false short: Type of individual the action is focused on index: 79 refers: ['http://hl7.org/fhir/StructureDefinition/Group'] type: Reference mustSupport: false meaningWhenMissing: Patient choiceOf: subject isSummary: false subject: isModifier: false short: Type of individual the action is focused on mustSupport: false choices: [subjectCodeableConcept, subjectReference, subjectCanonical] meaningWhenMissing: Patient isSummary: false index: 77 cardinalityBehavior: isModifier: false short: single | multiple type: code mustSupport: false meaningWhenMissing: If no cardinality behavior is specified but the action has children (i.e. is a group), the cardinality behavior is assumed to be `single`. binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/action-cardinality-behavior|6.0.0-ballot1'} isSummary: false index: 120 versionAlgorithmString: {isModifier: false, short: How to compare versions, type: string, mustSupport: false, choiceOf: versionAlgorithm, isSummary: true, index: 5} subjectCanonical: {isModifier: false, short: Type of individual the plan definition is focused on, type: canonical, mustSupport: false, meaningWhenMissing: Patient, choiceOf: subject, isSummary: false, index: 17} reviewer: {isModifier: false, short: Who reviewed the content, type: ContactDetail, mustSupport: false, array: true, isSummary: false, index: 34} version: {isModifier: false, short: Business version of the plan definition, type: string, mustSupport: false, isSummary: true, index: 2} relatedArtifact: {isModifier: false, short: 'Additional documentation, citations', type: RelatedArtifact, mustSupport: false, array: true, isSummary: false, index: 36} contact: {isModifier: false, short: Contact details for the publisher, type: ContactDetail, mustSupport: false, array: true, isSummary: true, index: 20} subjectReference: isModifier: false short: Type of individual the plan definition is focused on index: 16 refers: ['http://hl7.org/fhir/StructureDefinition/AdministrableProductDefinition', 'http://hl7.org/fhir/StructureDefinition/Group', 'http://hl7.org/fhir/StructureDefinition/ManufacturedItemDefinition', 'http://hl7.org/fhir/StructureDefinition/MedicinalProductDefinition', 'http://hl7.org/fhir/StructureDefinition/PackagedProductDefinition', 'http://hl7.org/fhir/StructureDefinition/SubstanceDefinition'] type: Reference mustSupport: false meaningWhenMissing: Patient choiceOf: subject isSummary: false subject: isModifier: false short: Type of individual the plan definition is focused on mustSupport: false choices: [subjectCodeableConcept, subjectReference, subjectCanonical] meaningWhenMissing: Patient isSummary: false index: 14 asNeededCodeableConcept: {isModifier: false, short: Preconditions for service, type: CodeableConcept, mustSupport: false, choiceOf: asNeeded, isSummary: true, index: 133} effectivePeriod: {isModifier: false, short: When the plan definition is expected to be used, type: Period, mustSupport: false, isSummary: true, index: 30} actor: isModifier: false short: Actors within the plan index: 57 type: BackboneElement mustSupport: false array: true elements: title: {isModifier: false, short: User-visible title, type: string, mustSupport: false, isSummary: false, index: 58} description: {isModifier: false, short: Describes the actor, type: markdown, mustSupport: false, isSummary: false, index: 59} option: min: 1 isModifier: false short: Who or what can be this actor index: 60 type: BackboneElement mustSupport: false array: true elements: type: isModifier: false short: careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson type: code mustSupport: false binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/action-participant-type|6.0.0-ballot1'} isSummary: false index: 61 typeCanonical: {isModifier: false, short: Who or what can participate, type: canonical, mustSupport: false, isSummary: false, index: 62} typeReference: isModifier: false short: Who or what can participate refers: ['http://hl7.org/fhir/StructureDefinition/CareTeam', 'http://hl7.org/fhir/StructureDefinition/Device', 'http://hl7.org/fhir/StructureDefinition/DeviceDefinition', 'http://hl7.org/fhir/StructureDefinition/Endpoint', 'http://hl7.org/fhir/StructureDefinition/Group', 'http://hl7.org/fhir/StructureDefinition/HealthcareService', 'http://hl7.org/fhir/StructureDefinition/Location', 'http://hl7.org/fhir/StructureDefinition/Organization', 'http://hl7.org/fhir/StructureDefinition/Patient', 'http://hl7.org/fhir/StructureDefinition/Practitioner', 'http://hl7.org/fhir/StructureDefinition/PractitionerRole', 'http://hl7.org/fhir/StructureDefinition/RelatedPerson'] type: Reference mustSupport: false isSummary: false index: 63 role: isModifier: false short: E.g. Nurse, Surgeon, Parent type: CodeableConcept mustSupport: false binding: {strength: example, valueSet: 'http://terminology.hl7.org/ValueSet/action-participant-role'} isSummary: false index: 64 isSummary: false required: [option] isSummary: false package_version: 6.0.0-ballot1 class: resource kind: resource url: http://hl7.org/fhir/StructureDefinition/PlanDefinition base: http://hl7.org/fhir/StructureDefinition/DomainResource version: 6.0.0-ballot1 required: [status]