SMART Base
0.3.0 - ci-build

SMART Base, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.3.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/WorldHealthOrganization/smart-base/ and changes regularly. See the Directory of published versions

Resource Profile: SMART Guidelines Decision Table

Official URL: http://smart.who.int/base/StructureDefinition/SGDecisionTable Version: 0.3.0
Draft as of 2026-10-20 Computable Name: SGDecisionTable

Defines the minimum expectations for PlanDefinition resources used in SMART Guidelines which are derived from DAK Decision Tables

Usages:

  • This Profile is not used by any profiles in this Specification

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: doco
PlanDefinition C 1..1 SGPlanDefinition The definition of a plan for a series of actions, independent of any specific patient or context
Constraints: pdf-0, shr-1
PlanDefinition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
PlanDefinition.Slices for extension Content/Rules for all slices
PlanDefinition.Slices for extension.extension:knowledgeCapability This element must be supported. C 0..* code shareable | computable | publishable | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability
Binding: KnowledgeCapability (required)
PlanDefinition.Slices for extension.extension:versionAlgorithm This element must be supported. 0..1 Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
PlanDefinition.Slices for extension.extension:versionPolicy 0..1 CodeableConcept metadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: ValueSet Artifact Version Policy (extensible): The versioning policy of the artifact
PlanDefinition.Slices for extension.extension:webSource This element must be supported. 0..1 url web-source
URL: http://hl7.org/fhir/StructureDefinition/web-source
PlanDefinition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
PlanDefinition.url This element must be supported. This element is included in summaries. 1..1 uri Canonical identifier for this plan definition, represented as a URI (globally unique)
PlanDefinition.version This element must be supported. This element is included in summaries. 1..1 string Business version of the plan definition
PlanDefinition.name This element must be supported. This element is included in summaries. C 1..1 string Name for this plan definition (computer friendly)
PlanDefinition.title This element must be supported. This element is included in summaries. 1..1 string Name for this plan definition (human friendly)
PlanDefinition.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
PlanDefinition.experimental This element must be supported. This element is included in summaries. 0..1 boolean For testing purposes, not real usage
PlanDefinition.publisher This element must be supported. This element is included in summaries. 1..1 string Name of the publisher (organization or individual)
PlanDefinition.description This element must be supported. This element is included in summaries. 1..1 markdown Natural language description of the plan definition
PlanDefinition.library 1..* canonical(Library) Logic used by the plan definition

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PlanDefinition.status Base required PublicationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error PlanDefinition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error PlanDefinition If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error PlanDefinition If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error PlanDefinition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice PlanDefinition A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
pdf-0 warning PlanDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
shr-1 error PlanDefinition If knowledge capabilities are stated, they SHALL include shareable extension('http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability').exists() implies extension('http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability').where(value = 'shareable').exists()

This structure is derived from SGPlanDefinition

NameFlagsCard.TypeDescription & Constraints    Filter: doco
PlanDefinition 1..1 SGPlanDefinition The definition of a plan for a series of actions, independent of any specific patient or context
PlanDefinition.library 1..* canonical(Library) Logic used by the plan definition

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: doco
PlanDefinition C 1..1 SGPlanDefinition The definition of a plan for a series of actions, independent of any specific patient or context
Constraints: pdf-0, shr-1
PlanDefinition.id This element is included in summaries. 0..1 id Logical id of this artifact
PlanDefinition.meta This element is included in summaries. 0..1 Meta Metadata about the resource
PlanDefinition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
PlanDefinition.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
PlanDefinition.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
PlanDefinition.contained 0..* Resource Contained, inline Resources
PlanDefinition.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
PlanDefinition.Slices for extension.extension:knowledgeCapability This element must be supported. C 0..* code shareable | computable | publishable | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability
Binding: KnowledgeCapability (required)
PlanDefinition.Slices for extension.extension:versionAlgorithm This element must be supported. 0..1 Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
PlanDefinition.Slices for extension.extension:versionPolicy 0..1 CodeableConcept metadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: ValueSet Artifact Version Policy (extensible): The versioning policy of the artifact
PlanDefinition.Slices for extension.extension:webSource This element must be supported. 0..1 url web-source
URL: http://hl7.org/fhir/StructureDefinition/web-source
PlanDefinition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
PlanDefinition.url This element must be supported. This element is included in summaries. 1..1 uri Canonical identifier for this plan definition, represented as a URI (globally unique)
PlanDefinition.identifier This element is included in summaries. 0..* Identifier Additional identifier for the plan definition
PlanDefinition.version This element must be supported. This element is included in summaries. 1..1 string Business version of the plan definition
PlanDefinition.name This element must be supported. This element is included in summaries. C 1..1 string Name for this plan definition (computer friendly)
PlanDefinition.title This element must be supported. This element is included in summaries. 1..1 string Name for this plan definition (human friendly)
PlanDefinition.subtitle 0..1 string Subordinate title of the plan definition
PlanDefinition.type This element is included in summaries. 0..1 CodeableConcept order-set | clinical-protocol | eca-rule | workflow-definition
Binding: PlanDefinitionType (extensible): The type of PlanDefinition.
PlanDefinition.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
PlanDefinition.experimental This element must be supported. This element is included in summaries. 0..1 boolean For testing purposes, not real usage
PlanDefinition.subject[x] 0..1 Type of individual the plan definition is focused on
Binding: SubjectType (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).
PlanDefinition.subject[x].subjectCodeableConcept CodeableConcept
PlanDefinition.subject[x].subjectReference Reference(Group)
PlanDefinition.date This element is included in summaries. 0..1 dateTime Date last changed
PlanDefinition.publisher This element must be supported. This element is included in summaries. 1..1 string Name of the publisher (organization or individual)
PlanDefinition.contact This element is included in summaries. 0..* ContactDetail Contact details for the publisher
PlanDefinition.description This element must be supported. This element is included in summaries. 1..1 markdown Natural language description of the plan definition
PlanDefinition.useContext This element is included in summaries. 0..* UsageContext The context that the content is intended to support
PlanDefinition.jurisdiction This element is included in summaries. 0..* CodeableConcept Intended jurisdiction for plan definition (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
PlanDefinition.purpose 0..1 markdown Why this plan definition is defined
PlanDefinition.usage 0..1 string Describes the clinical usage of the plan
PlanDefinition.copyright 0..1 markdown Use and/or publishing restrictions
PlanDefinition.approvalDate 0..1 date When the plan definition was approved by publisher
PlanDefinition.lastReviewDate 0..1 date When the plan definition was last reviewed
PlanDefinition.effectivePeriod This element is included in summaries. 0..1 Period When the plan definition is expected to be used
PlanDefinition.topic 0..* CodeableConcept E.g. Education, Treatment, Assessment
Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering.
PlanDefinition.author 0..* ContactDetail Who authored the content
PlanDefinition.editor 0..* ContactDetail Who edited the content
PlanDefinition.reviewer 0..* ContactDetail Who reviewed the content
PlanDefinition.endorser 0..* ContactDetail Who endorsed the content
PlanDefinition.relatedArtifact 0..* RelatedArtifact Additional documentation, citations
PlanDefinition.library 1..* canonical(Library) Logic used by the plan definition
PlanDefinition.goal 0..* BackboneElement What the plan is trying to accomplish
PlanDefinition.goal.id 0..1 string Unique id for inter-element referencing
PlanDefinition.goal.extension 0..* Extension Additional content defined by implementations
PlanDefinition.goal.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PlanDefinition.goal.category 0..1 CodeableConcept E.g. Treatment, dietary, behavioral
Binding: GoalCategory (example): Example codes for grouping goals for filtering or presentation.
PlanDefinition.goal.description 1..1 CodeableConcept Code or text describing the goal
Binding: SNOMEDCTClinicalFindings (example): Describes goals that can be achieved.
PlanDefinition.goal.priority 0..1 CodeableConcept high-priority | medium-priority | low-priority
Binding: GoalPriority (preferred): Indicates the level of importance associated with reaching or sustaining a goal.
PlanDefinition.goal.start 0..1 CodeableConcept When goal pursuit begins
Binding: GoalStartEvent (example): Identifies the types of events that might trigger the start of a goal.
PlanDefinition.goal.addresses 0..* CodeableConcept What does the goal address
Binding: Condition/Problem/DiagnosisCodes (example): Identifies problems, conditions, issues, or concerns that goals may address.
PlanDefinition.goal.documentation 0..* RelatedArtifact Supporting documentation for the goal
PlanDefinition.goal.target 0..* BackboneElement Target outcome for the goal
PlanDefinition.goal.target.id 0..1 string Unique id for inter-element referencing
PlanDefinition.goal.target.extension 0..* Extension Additional content defined by implementations
PlanDefinition.goal.target.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PlanDefinition.goal.target.measure 0..1 CodeableConcept The parameter whose value is to be tracked
Binding: LOINCCodes (example): Identifies types of parameters that can be tracked to determine goal achievement.
PlanDefinition.goal.target.detail[x] 0..1 The target value to be achieved
PlanDefinition.goal.target.detail[x].detailQuantity Quantity
PlanDefinition.goal.target.detail[x].detailRange Range
PlanDefinition.goal.target.detail[x].detailCodeableConcept CodeableConcept
PlanDefinition.goal.target.due 0..1 Duration Reach goal within
PlanDefinition.action 0..* BackboneElement Action defined by the plan
PlanDefinition.action.id 0..1 string Unique id for inter-element referencing
PlanDefinition.action.extension 0..* Extension Additional content defined by implementations
PlanDefinition.action.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PlanDefinition.action.prefix 0..1 string User-visible prefix for the action (e.g. 1. or A.)
PlanDefinition.action.title 0..1 string User-visible title
PlanDefinition.action.description 0..1 string Brief description of the action
PlanDefinition.action.textEquivalent 0..1 string Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
PlanDefinition.action.priority 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
PlanDefinition.action.code 0..* CodeableConcept Code representing the meaning of the action or sub-actions
PlanDefinition.action.reason 0..* CodeableConcept Why the action should be performed
PlanDefinition.action.documentation 0..* RelatedArtifact Supporting documentation for the intended performer of the action
PlanDefinition.action.goalId 0..* id What goals this action supports
PlanDefinition.action.subject[x] 0..1 Type of individual the action is focused on
Binding: SubjectType (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).
PlanDefinition.action.subject[x].subjectCodeableConcept CodeableConcept
PlanDefinition.action.subject[x].subjectReference Reference(Group)
PlanDefinition.action.trigger 0..* TriggerDefinition When the action should be triggered
PlanDefinition.action.condition 0..* BackboneElement Whether or not the action is applicable
PlanDefinition.action.condition.id 0..1 string Unique id for inter-element referencing
PlanDefinition.action.condition.extension 0..* Extension Additional content defined by implementations
PlanDefinition.action.condition.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PlanDefinition.action.condition.kind 1..1 code applicability | start | stop
Binding: ActionConditionKind (required): Defines the kinds of conditions that can appear on actions.
PlanDefinition.action.condition.expression 0..1 Expression Boolean-valued expression
PlanDefinition.action.input 0..* DataRequirement Input data requirements
PlanDefinition.action.output 0..* DataRequirement Output data definition
PlanDefinition.action.relatedAction 0..* BackboneElement Relationship to another action
PlanDefinition.action.relatedAction.id 0..1 string Unique id for inter-element referencing
PlanDefinition.action.relatedAction.extension 0..* Extension Additional content defined by implementations
PlanDefinition.action.relatedAction.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PlanDefinition.action.relatedAction.actionId 1..1 id What action is this related to
PlanDefinition.action.relatedAction.relationship 1..1 code before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.
PlanDefinition.action.relatedAction.offset[x] 0..1 Time offset for the relationship
PlanDefinition.action.relatedAction.offset[x].offsetDuration Duration
PlanDefinition.action.relatedAction.offset[x].offsetRange Range
PlanDefinition.action.timing[x] 0..1 When the action should take place
PlanDefinition.action.timing[x].timingDateTime dateTime
PlanDefinition.action.timing[x].timingAge Age
PlanDefinition.action.timing[x].timingPeriod Period
PlanDefinition.action.timing[x].timingDuration Duration
PlanDefinition.action.timing[x].timingRange Range
PlanDefinition.action.timing[x].timingTiming Timing
PlanDefinition.action.participant 0..* BackboneElement Who should participate in the action
PlanDefinition.action.participant.id 0..1 string Unique id for inter-element referencing
PlanDefinition.action.participant.extension 0..* Extension Additional content defined by implementations
PlanDefinition.action.participant.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PlanDefinition.action.participant.type 1..1 code patient | practitioner | related-person | device
Binding: ActionParticipantType (required): The type of participant for the action.
PlanDefinition.action.participant.role 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent
Binding: ActionParticipantRole (example): Defines roles played by participants for the action.
PlanDefinition.action.type 0..1 CodeableConcept create | update | remove | fire-event
Binding: ActionType (extensible): The type of action to be performed.
PlanDefinition.action.groupingBehavior 0..1 code visual-group | logical-group | sentence-group
Binding: ActionGroupingBehavior (required): Defines organization behavior of a group.
PlanDefinition.action.selectionBehavior 0..1 code any | all | all-or-none | exactly-one | at-most-one | one-or-more
Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.
PlanDefinition.action.requiredBehavior 0..1 code must | could | must-unless-documented
Binding: ActionRequiredBehavior (required): Defines expectations around whether an action or action group is required.
PlanDefinition.action.precheckBehavior 0..1 code yes | no
Binding: ActionPrecheckBehavior (required): Defines selection frequency behavior for an action or group.
PlanDefinition.action.cardinalityBehavior 0..1 code single | multiple
Binding: ActionCardinalityBehavior (required): Defines behavior for an action or a group for how many times that item may be repeated.
PlanDefinition.action.definition[x] 0..1 Description of the activity to be performed
PlanDefinition.action.definition[x].definitionCanonical canonical(ActivityDefinition | PlanDefinition | Questionnaire)
PlanDefinition.action.definition[x].definitionUri uri
PlanDefinition.action.transform 0..1 canonical(StructureMap) Transform to apply the template
PlanDefinition.action.dynamicValue 0..* BackboneElement Dynamic aspects of the definition
PlanDefinition.action.dynamicValue.id 0..1 string Unique id for inter-element referencing
PlanDefinition.action.dynamicValue.extension 0..* Extension Additional content defined by implementations
PlanDefinition.action.dynamicValue.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PlanDefinition.action.dynamicValue.path 0..1 string The path to the element to be set dynamically
PlanDefinition.action.dynamicValue.expression 0..1 Expression An expression that provides the dynamic value for the customization
PlanDefinition.action.action 0..* See action (PlanDefinition) A sub-action

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PlanDefinition.language Base preferred Common Languages 📍4.0.1 FHIR Std.
PlanDefinition.type Base extensible PlanDefinitionType 📍4.0.1 FHIR Std.
PlanDefinition.status Base required PublicationStatus 📍4.0.1 FHIR Std.
PlanDefinition.subject[x] Base extensible Subject type 📍4.0.1 FHIR Std.
PlanDefinition.jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
PlanDefinition.topic Base example DefinitionTopic 📍4.0.1 FHIR Std.
PlanDefinition.goal.​category Base example Goal category 📍4.0.1 FHIR Std.
PlanDefinition.goal.​description Base example SNOMED CT Clinical Findings 📍4.0.1 FHIR Std.
PlanDefinition.goal.​priority Base preferred Goal priority 📍4.0.1 FHIR Std.
PlanDefinition.goal.​start Base example Goal start event 📍4.0.1 FHIR Std.
PlanDefinition.goal.​addresses Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.
PlanDefinition.goal.​target.measure Base example LOINC Codes 📍4.0.1 FHIR Std.
PlanDefinition.action.​priority Base required Request priority 📍4.0.1 FHIR Std.
PlanDefinition.action.​subject[x] Base extensible Subject type 📍4.0.1 FHIR Std.
PlanDefinition.action.​condition.kind Base required ActionConditionKind 📍4.0.1 FHIR Std.
PlanDefinition.action.​relatedAction.relationship Base required ActionRelationshipType 📍4.0.1 FHIR Std.
PlanDefinition.action.​participant.type Base required ActionParticipantType 📍4.0.1 FHIR Std.
PlanDefinition.action.​participant.role Base example Action participant role 📍4.0.1 FHIR Std.
PlanDefinition.action.​type Base extensible ActionType 📍4.0.1 FHIR Std.
PlanDefinition.action.​groupingBehavior Base required ActionGroupingBehavior 📍4.0.1 FHIR Std.
PlanDefinition.action.​selectionBehavior Base required ActionSelectionBehavior 📍4.0.1 FHIR Std.
PlanDefinition.action.​requiredBehavior Base required ActionRequiredBehavior 📍4.0.1 FHIR Std.
PlanDefinition.action.​precheckBehavior Base required ActionPrecheckBehavior 📍4.0.1 FHIR Std.
PlanDefinition.action.​cardinalityBehavior Base required ActionCardinalityBehavior 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error PlanDefinition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error PlanDefinition If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error PlanDefinition If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error PlanDefinition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice PlanDefinition A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
pdf-0 warning PlanDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
shr-1 error PlanDefinition If knowledge capabilities are stated, they SHALL include shareable extension('http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability').exists() implies extension('http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability').where(value = 'shareable').exists()

This structure is derived from SGPlanDefinition

Summary

Mandatory: 1 element

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
PlanDefinition C 1..1 SGPlanDefinition The definition of a plan for a series of actions, independent of any specific patient or context
Constraints: pdf-0, shr-1
PlanDefinition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
PlanDefinition.Slices for extension Content/Rules for all slices
PlanDefinition.Slices for extension.extension:knowledgeCapability This element must be supported. C 0..* code shareable | computable | publishable | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability
Binding: KnowledgeCapability (required)
PlanDefinition.Slices for extension.extension:versionAlgorithm This element must be supported. 0..1 Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
PlanDefinition.Slices for extension.extension:versionPolicy 0..1 CodeableConcept metadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: ValueSet Artifact Version Policy (extensible): The versioning policy of the artifact
PlanDefinition.Slices for extension.extension:webSource This element must be supported. 0..1 url web-source
URL: http://hl7.org/fhir/StructureDefinition/web-source
PlanDefinition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
PlanDefinition.url This element must be supported. This element is included in summaries. 1..1 uri Canonical identifier for this plan definition, represented as a URI (globally unique)
PlanDefinition.version This element must be supported. This element is included in summaries. 1..1 string Business version of the plan definition
PlanDefinition.name This element must be supported. This element is included in summaries. C 1..1 string Name for this plan definition (computer friendly)
PlanDefinition.title This element must be supported. This element is included in summaries. 1..1 string Name for this plan definition (human friendly)
PlanDefinition.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
PlanDefinition.experimental This element must be supported. This element is included in summaries. 0..1 boolean For testing purposes, not real usage
PlanDefinition.publisher This element must be supported. This element is included in summaries. 1..1 string Name of the publisher (organization or individual)
PlanDefinition.description This element must be supported. This element is included in summaries. 1..1 markdown Natural language description of the plan definition
PlanDefinition.library 1..* canonical(Library) Logic used by the plan definition

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PlanDefinition.status Base required PublicationStatus 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error PlanDefinition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error PlanDefinition If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error PlanDefinition If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error PlanDefinition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice PlanDefinition A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
pdf-0 warning PlanDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
shr-1 error PlanDefinition If knowledge capabilities are stated, they SHALL include shareable extension('http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability').exists() implies extension('http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability').where(value = 'shareable').exists()

Differential View

This structure is derived from SGPlanDefinition

NameFlagsCard.TypeDescription & Constraints    Filter: doco
PlanDefinition 1..1 SGPlanDefinition The definition of a plan for a series of actions, independent of any specific patient or context
PlanDefinition.library 1..* canonical(Library) Logic used by the plan definition

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: doco
PlanDefinition C 1..1 SGPlanDefinition The definition of a plan for a series of actions, independent of any specific patient or context
Constraints: pdf-0, shr-1
PlanDefinition.id This element is included in summaries. 0..1 id Logical id of this artifact
PlanDefinition.meta This element is included in summaries. 0..1 Meta Metadata about the resource
PlanDefinition.implicitRules This element is a modifier element. This element is included in summaries. 0..1 uri A set of rules under which this content was created
PlanDefinition.language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
PlanDefinition.text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
PlanDefinition.contained 0..* Resource Contained, inline Resources
PlanDefinition.Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
PlanDefinition.Slices for extension.extension:knowledgeCapability This element must be supported. C 0..* code shareable | computable | publishable | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability
Binding: KnowledgeCapability (required)
PlanDefinition.Slices for extension.extension:versionAlgorithm This element must be supported. 0..1 Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
PlanDefinition.Slices for extension.extension:versionPolicy 0..1 CodeableConcept metadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: ValueSet Artifact Version Policy (extensible): The versioning policy of the artifact
PlanDefinition.Slices for extension.extension:webSource This element must be supported. 0..1 url web-source
URL: http://hl7.org/fhir/StructureDefinition/web-source
PlanDefinition.modifierExtension This element is a modifier element. 0..* Extension Extensions that cannot be ignored
PlanDefinition.url This element must be supported. This element is included in summaries. 1..1 uri Canonical identifier for this plan definition, represented as a URI (globally unique)
PlanDefinition.identifier This element is included in summaries. 0..* Identifier Additional identifier for the plan definition
PlanDefinition.version This element must be supported. This element is included in summaries. 1..1 string Business version of the plan definition
PlanDefinition.name This element must be supported. This element is included in summaries. C 1..1 string Name for this plan definition (computer friendly)
PlanDefinition.title This element must be supported. This element is included in summaries. 1..1 string Name for this plan definition (human friendly)
PlanDefinition.subtitle 0..1 string Subordinate title of the plan definition
PlanDefinition.type This element is included in summaries. 0..1 CodeableConcept order-set | clinical-protocol | eca-rule | workflow-definition
Binding: PlanDefinitionType (extensible): The type of PlanDefinition.
PlanDefinition.status This element is a modifier element. This element must be supported. This element is included in summaries. 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
PlanDefinition.experimental This element must be supported. This element is included in summaries. 0..1 boolean For testing purposes, not real usage
PlanDefinition.subject[x] 0..1 Type of individual the plan definition is focused on
Binding: SubjectType (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).
PlanDefinition.subject[x].subjectCodeableConcept CodeableConcept
PlanDefinition.subject[x].subjectReference Reference(Group)
PlanDefinition.date This element is included in summaries. 0..1 dateTime Date last changed
PlanDefinition.publisher This element must be supported. This element is included in summaries. 1..1 string Name of the publisher (organization or individual)
PlanDefinition.contact This element is included in summaries. 0..* ContactDetail Contact details for the publisher
PlanDefinition.description This element must be supported. This element is included in summaries. 1..1 markdown Natural language description of the plan definition
PlanDefinition.useContext This element is included in summaries. 0..* UsageContext The context that the content is intended to support
PlanDefinition.jurisdiction This element is included in summaries. 0..* CodeableConcept Intended jurisdiction for plan definition (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
PlanDefinition.purpose 0..1 markdown Why this plan definition is defined
PlanDefinition.usage 0..1 string Describes the clinical usage of the plan
PlanDefinition.copyright 0..1 markdown Use and/or publishing restrictions
PlanDefinition.approvalDate 0..1 date When the plan definition was approved by publisher
PlanDefinition.lastReviewDate 0..1 date When the plan definition was last reviewed
PlanDefinition.effectivePeriod This element is included in summaries. 0..1 Period When the plan definition is expected to be used
PlanDefinition.topic 0..* CodeableConcept E.g. Education, Treatment, Assessment
Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering.
PlanDefinition.author 0..* ContactDetail Who authored the content
PlanDefinition.editor 0..* ContactDetail Who edited the content
PlanDefinition.reviewer 0..* ContactDetail Who reviewed the content
PlanDefinition.endorser 0..* ContactDetail Who endorsed the content
PlanDefinition.relatedArtifact 0..* RelatedArtifact Additional documentation, citations
PlanDefinition.library 1..* canonical(Library) Logic used by the plan definition
PlanDefinition.goal 0..* BackboneElement What the plan is trying to accomplish
PlanDefinition.goal.id 0..1 string Unique id for inter-element referencing
PlanDefinition.goal.extension 0..* Extension Additional content defined by implementations
PlanDefinition.goal.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PlanDefinition.goal.category 0..1 CodeableConcept E.g. Treatment, dietary, behavioral
Binding: GoalCategory (example): Example codes for grouping goals for filtering or presentation.
PlanDefinition.goal.description 1..1 CodeableConcept Code or text describing the goal
Binding: SNOMEDCTClinicalFindings (example): Describes goals that can be achieved.
PlanDefinition.goal.priority 0..1 CodeableConcept high-priority | medium-priority | low-priority
Binding: GoalPriority (preferred): Indicates the level of importance associated with reaching or sustaining a goal.
PlanDefinition.goal.start 0..1 CodeableConcept When goal pursuit begins
Binding: GoalStartEvent (example): Identifies the types of events that might trigger the start of a goal.
PlanDefinition.goal.addresses 0..* CodeableConcept What does the goal address
Binding: Condition/Problem/DiagnosisCodes (example): Identifies problems, conditions, issues, or concerns that goals may address.
PlanDefinition.goal.documentation 0..* RelatedArtifact Supporting documentation for the goal
PlanDefinition.goal.target 0..* BackboneElement Target outcome for the goal
PlanDefinition.goal.target.id 0..1 string Unique id for inter-element referencing
PlanDefinition.goal.target.extension 0..* Extension Additional content defined by implementations
PlanDefinition.goal.target.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PlanDefinition.goal.target.measure 0..1 CodeableConcept The parameter whose value is to be tracked
Binding: LOINCCodes (example): Identifies types of parameters that can be tracked to determine goal achievement.
PlanDefinition.goal.target.detail[x] 0..1 The target value to be achieved
PlanDefinition.goal.target.detail[x].detailQuantity Quantity
PlanDefinition.goal.target.detail[x].detailRange Range
PlanDefinition.goal.target.detail[x].detailCodeableConcept CodeableConcept
PlanDefinition.goal.target.due 0..1 Duration Reach goal within
PlanDefinition.action 0..* BackboneElement Action defined by the plan
PlanDefinition.action.id 0..1 string Unique id for inter-element referencing
PlanDefinition.action.extension 0..* Extension Additional content defined by implementations
PlanDefinition.action.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PlanDefinition.action.prefix 0..1 string User-visible prefix for the action (e.g. 1. or A.)
PlanDefinition.action.title 0..1 string User-visible title
PlanDefinition.action.description 0..1 string Brief description of the action
PlanDefinition.action.textEquivalent 0..1 string Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
PlanDefinition.action.priority 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
PlanDefinition.action.code 0..* CodeableConcept Code representing the meaning of the action or sub-actions
PlanDefinition.action.reason 0..* CodeableConcept Why the action should be performed
PlanDefinition.action.documentation 0..* RelatedArtifact Supporting documentation for the intended performer of the action
PlanDefinition.action.goalId 0..* id What goals this action supports
PlanDefinition.action.subject[x] 0..1 Type of individual the action is focused on
Binding: SubjectType (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).
PlanDefinition.action.subject[x].subjectCodeableConcept CodeableConcept
PlanDefinition.action.subject[x].subjectReference Reference(Group)
PlanDefinition.action.trigger 0..* TriggerDefinition When the action should be triggered
PlanDefinition.action.condition 0..* BackboneElement Whether or not the action is applicable
PlanDefinition.action.condition.id 0..1 string Unique id for inter-element referencing
PlanDefinition.action.condition.extension 0..* Extension Additional content defined by implementations
PlanDefinition.action.condition.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PlanDefinition.action.condition.kind 1..1 code applicability | start | stop
Binding: ActionConditionKind (required): Defines the kinds of conditions that can appear on actions.
PlanDefinition.action.condition.expression 0..1 Expression Boolean-valued expression
PlanDefinition.action.input 0..* DataRequirement Input data requirements
PlanDefinition.action.output 0..* DataRequirement Output data definition
PlanDefinition.action.relatedAction 0..* BackboneElement Relationship to another action
PlanDefinition.action.relatedAction.id 0..1 string Unique id for inter-element referencing
PlanDefinition.action.relatedAction.extension 0..* Extension Additional content defined by implementations
PlanDefinition.action.relatedAction.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PlanDefinition.action.relatedAction.actionId 1..1 id What action is this related to
PlanDefinition.action.relatedAction.relationship 1..1 code before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.
PlanDefinition.action.relatedAction.offset[x] 0..1 Time offset for the relationship
PlanDefinition.action.relatedAction.offset[x].offsetDuration Duration
PlanDefinition.action.relatedAction.offset[x].offsetRange Range
PlanDefinition.action.timing[x] 0..1 When the action should take place
PlanDefinition.action.timing[x].timingDateTime dateTime
PlanDefinition.action.timing[x].timingAge Age
PlanDefinition.action.timing[x].timingPeriod Period
PlanDefinition.action.timing[x].timingDuration Duration
PlanDefinition.action.timing[x].timingRange Range
PlanDefinition.action.timing[x].timingTiming Timing
PlanDefinition.action.participant 0..* BackboneElement Who should participate in the action
PlanDefinition.action.participant.id 0..1 string Unique id for inter-element referencing
PlanDefinition.action.participant.extension 0..* Extension Additional content defined by implementations
PlanDefinition.action.participant.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PlanDefinition.action.participant.type 1..1 code patient | practitioner | related-person | device
Binding: ActionParticipantType (required): The type of participant for the action.
PlanDefinition.action.participant.role 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent
Binding: ActionParticipantRole (example): Defines roles played by participants for the action.
PlanDefinition.action.type 0..1 CodeableConcept create | update | remove | fire-event
Binding: ActionType (extensible): The type of action to be performed.
PlanDefinition.action.groupingBehavior 0..1 code visual-group | logical-group | sentence-group
Binding: ActionGroupingBehavior (required): Defines organization behavior of a group.
PlanDefinition.action.selectionBehavior 0..1 code any | all | all-or-none | exactly-one | at-most-one | one-or-more
Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.
PlanDefinition.action.requiredBehavior 0..1 code must | could | must-unless-documented
Binding: ActionRequiredBehavior (required): Defines expectations around whether an action or action group is required.
PlanDefinition.action.precheckBehavior 0..1 code yes | no
Binding: ActionPrecheckBehavior (required): Defines selection frequency behavior for an action or group.
PlanDefinition.action.cardinalityBehavior 0..1 code single | multiple
Binding: ActionCardinalityBehavior (required): Defines behavior for an action or a group for how many times that item may be repeated.
PlanDefinition.action.definition[x] 0..1 Description of the activity to be performed
PlanDefinition.action.definition[x].definitionCanonical canonical(ActivityDefinition | PlanDefinition | Questionnaire)
PlanDefinition.action.definition[x].definitionUri uri
PlanDefinition.action.transform 0..1 canonical(StructureMap) Transform to apply the template
PlanDefinition.action.dynamicValue 0..* BackboneElement Dynamic aspects of the definition
PlanDefinition.action.dynamicValue.id 0..1 string Unique id for inter-element referencing
PlanDefinition.action.dynamicValue.extension 0..* Extension Additional content defined by implementations
PlanDefinition.action.dynamicValue.modifierExtension This element is a modifier element. This element is included in summaries. 0..* Extension Extensions that cannot be ignored even if unrecognized
PlanDefinition.action.dynamicValue.path 0..1 string The path to the element to be set dynamically
PlanDefinition.action.dynamicValue.expression 0..1 Expression An expression that provides the dynamic value for the customization
PlanDefinition.action.action 0..* See action (PlanDefinition) A sub-action

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
PlanDefinition.language Base preferred Common Languages 📍4.0.1 FHIR Std.
PlanDefinition.type Base extensible PlanDefinitionType 📍4.0.1 FHIR Std.
PlanDefinition.status Base required PublicationStatus 📍4.0.1 FHIR Std.
PlanDefinition.subject[x] Base extensible Subject type 📍4.0.1 FHIR Std.
PlanDefinition.jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
PlanDefinition.topic Base example DefinitionTopic 📍4.0.1 FHIR Std.
PlanDefinition.goal.​category Base example Goal category 📍4.0.1 FHIR Std.
PlanDefinition.goal.​description Base example SNOMED CT Clinical Findings 📍4.0.1 FHIR Std.
PlanDefinition.goal.​priority Base preferred Goal priority 📍4.0.1 FHIR Std.
PlanDefinition.goal.​start Base example Goal start event 📍4.0.1 FHIR Std.
PlanDefinition.goal.​addresses Base example Condition/Problem/Diagnosis Codes 📍4.0.1 FHIR Std.
PlanDefinition.goal.​target.measure Base example LOINC Codes 📍4.0.1 FHIR Std.
PlanDefinition.action.​priority Base required Request priority 📍4.0.1 FHIR Std.
PlanDefinition.action.​subject[x] Base extensible Subject type 📍4.0.1 FHIR Std.
PlanDefinition.action.​condition.kind Base required ActionConditionKind 📍4.0.1 FHIR Std.
PlanDefinition.action.​relatedAction.relationship Base required ActionRelationshipType 📍4.0.1 FHIR Std.
PlanDefinition.action.​participant.type Base required ActionParticipantType 📍4.0.1 FHIR Std.
PlanDefinition.action.​participant.role Base example Action participant role 📍4.0.1 FHIR Std.
PlanDefinition.action.​type Base extensible ActionType 📍4.0.1 FHIR Std.
PlanDefinition.action.​groupingBehavior Base required ActionGroupingBehavior 📍4.0.1 FHIR Std.
PlanDefinition.action.​selectionBehavior Base required ActionSelectionBehavior 📍4.0.1 FHIR Std.
PlanDefinition.action.​requiredBehavior Base required ActionRequiredBehavior 📍4.0.1 FHIR Std.
PlanDefinition.action.​precheckBehavior Base required ActionPrecheckBehavior 📍4.0.1 FHIR Std.
PlanDefinition.action.​cardinalityBehavior Base required ActionCardinalityBehavior 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error PlanDefinition If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error PlanDefinition If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error PlanDefinition If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error PlanDefinition If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice PlanDefinition A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
pdf-0 warning PlanDefinition Name should be usable as an identifier for the module by machine processing applications such as code generation name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
shr-1 error PlanDefinition If knowledge capabilities are stated, they SHALL include shareable extension('http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability').exists() implies extension('http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability').where(value = 'shareable').exists()

This structure is derived from SGPlanDefinition

Summary

Mandatory: 1 element

 

Other representations of profile: CSV, Excel, Schematron