SMART Base
0.1.0 - ci-build

SMART Base, published by WHO. This guide is not an authorized publication; it is the continuous build for version 0.1.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 PlanDefinition

Official URL: http://smart.who.int/base/StructureDefinition/SGPlanDefinition Version: 0.1.0
Draft as of 2024-10-04 Computable Name: SGPlanDefinition

Defines the minimum expectations for PlanDefinition resources used in SMART Guidelines

Usage:

  • This Resource Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

This structure is derived from CRMIShareablePlanDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition 1..1 CRMIShareablePlanDefinition The definition of a plan for a series of actions, independent of any specific patient or context
... name 1..1 string Name for this plan definition (computer friendly)
... publisher 1..1 string Name of the publisher (organization or individual)

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition C 1..1 CRMIShareablePlanDefinition The definition of a plan for a series of actions, independent of any specific patient or context
pdf-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... knowledgeCapability S 0..* code shareable | computable | publishable | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability
Binding: KnowledgeCapability (required)
.... artifactComment S 0..* (Complex) Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/StructureDefinition/cqf-artifactComment
.... versionAlgorithm S 0..1 string, Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
.... versionPolicy S 0..1 CodeableConcept metadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: Artifact Version Policy (extensible): The versioning policy of the artifact


... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... version SΣ 1..1 string Business version of the plan definition
... name SΣC 1..1 string Name for this plan definition (computer friendly)
... title SΣ 1..1 string Name for this plan definition (human friendly)
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental SΣ 0..1 boolean For testing purposes, not real usage
... publisher SΣ 1..1 string Name of the publisher (organization or individual)
... description SΣ 1..1 markdown Natural language description of the plan definition

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
PlanDefinition.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPlanDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPlanDefinitionIf 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-4errorPlanDefinitionIf 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-5errorPlanDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePlanDefinitionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
pdf-0warningPlanDefinitionName 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}')
NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition C 1..1 CRMIShareablePlanDefinition The definition of a plan for a series of actions, independent of any specific patient or context
pdf-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... knowledgeCapability S 0..* code shareable | computable | publishable | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability
Binding: KnowledgeCapability (required)
.... artifactComment S 0..* (Complex) Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/StructureDefinition/cqf-artifactComment
.... versionAlgorithm S 0..1 string, Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
.... versionPolicy S 0..1 CodeableConcept metadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: Artifact Version Policy (extensible): The versioning policy of the artifact


... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url SΣ 1..1 uri Canonical identifier for this plan definition, represented as a URI (globally unique)
... identifier Σ 0..* Identifier Additional identifier for the plan definition
... version SΣ 1..1 string Business version of the plan definition
... name SΣC 1..1 string Name for this plan definition (computer friendly)
... title SΣ 1..1 string Name for this plan definition (human friendly)
... subtitle 0..1 string Subordinate title of the plan definition
... type Σ 0..1 CodeableConcept order-set | clinical-protocol | eca-rule | workflow-definition
Binding: PlanDefinitionType (extensible): The type of PlanDefinition.

... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental SΣ 0..1 boolean For testing purposes, not real usage
... 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.).

.... subjectCodeableConcept CodeableConcept
.... subjectReference Reference(Group)
... date Σ 0..1 dateTime Date last changed
... publisher SΣ 1..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description SΣ 1..1 markdown Natural language description of the plan definition
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for plan definition (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1 markdown Why this plan definition is defined
... usage 0..1 string Describes the clinical usage of the plan
... copyright 0..1 markdown Use and/or publishing restrictions
... approvalDate 0..1 date When the plan definition was approved by publisher
... lastReviewDate 0..1 date When the plan definition was last reviewed
... effectivePeriod Σ 0..1 Period When the plan definition is expected to be used
... topic 0..* CodeableConcept E.g. Education, Treatment, Assessment
Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering.


... 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 0..* BackboneElement What the plan is trying to accomplish
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... category 0..1 CodeableConcept E.g. Treatment, dietary, behavioral
Binding: GoalCategory (example): Example codes for grouping goals for filtering or presentation.

.... description 1..1 CodeableConcept Code or text describing the goal
Binding: SNOMEDCTClinicalFindings (example): Describes goals that can be achieved.

.... 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.

.... start 0..1 CodeableConcept When goal pursuit begins
Binding: GoalStartEvent (example): Identifies the types of events that might trigger the start of a goal.

.... addresses 0..* CodeableConcept What does the goal address
Binding: Condition/Problem/DiagnosisCodes (example): Identifies problems, conditions, issues, or concerns that goals may address.


.... documentation 0..* RelatedArtifact Supporting documentation for the goal
.... target 0..* BackboneElement Target outcome for the goal
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... 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.

..... detail[x] 0..1 The target value to be achieved
...... detailQuantity Quantity
...... detailRange Range
...... detailCodeableConcept CodeableConcept
..... due 0..1 Duration Reach goal within
... action 0..* BackboneElement Action defined by the plan
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... prefix 0..1 string User-visible prefix for the action (e.g. 1. or A.)
.... title 0..1 string User-visible title
.... description 0..1 string Brief description of the action
.... textEquivalent 0..1 string Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
.... priority 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

.... code 0..* CodeableConcept Code representing the meaning of the action or sub-actions
.... reason 0..* CodeableConcept Why the action should be performed
.... documentation 0..* RelatedArtifact Supporting documentation for the intended performer of the action
.... goalId 0..* id What goals this action supports
.... 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.).

..... subjectCodeableConcept CodeableConcept
..... subjectReference Reference(Group)
.... trigger 0..* TriggerDefinition When the action should be triggered
.... condition 0..* BackboneElement Whether or not the action is applicable
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... kind 1..1 code applicability | start | stop
Binding: ActionConditionKind (required): Defines the kinds of conditions that can appear on actions.

..... expression 0..1 Expression Boolean-valued expression
.... input 0..* DataRequirement Input data requirements
.... output 0..* DataRequirement Output data definition
.... relatedAction 0..* BackboneElement Relationship to another action
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... actionId 1..1 id What action is this related to
..... 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.

..... offset[x] 0..1 Time offset for the relationship
...... offsetDuration Duration
...... offsetRange Range
.... timing[x] 0..1 When the action should take place
..... timingDateTime dateTime
..... timingAge Age
..... timingPeriod Period
..... timingDuration Duration
..... timingRange Range
..... timingTiming Timing
.... participant 0..* BackboneElement Who should participate in the action
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 code patient | practitioner | related-person | device
Binding: ActionParticipantType (required): The type of participant for the action.

..... role 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent
Binding: ActionParticipantRole (example): Defines roles played by participants for the action.

.... type 0..1 CodeableConcept create | update | remove | fire-event
Binding: ActionType (extensible): The type of action to be performed.

.... groupingBehavior 0..1 code visual-group | logical-group | sentence-group
Binding: ActionGroupingBehavior (required): Defines organization behavior of a group.

.... 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.

.... requiredBehavior 0..1 code must | could | must-unless-documented
Binding: ActionRequiredBehavior (required): Defines expectations around whether an action or action group is required.

.... precheckBehavior 0..1 code yes | no
Binding: ActionPrecheckBehavior (required): Defines selection frequency behavior for an action or group.

.... 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.

.... definition[x] 0..1 Description of the activity to be performed
..... definitionCanonical canonical(ActivityDefinition | PlanDefinition | Questionnaire)
..... definitionUri uri
.... transform 0..1 canonical(StructureMap) Transform to apply the template
.... dynamicValue 0..* BackboneElement Dynamic aspects of the definition
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... 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 (PlanDefinition) A sub-action

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
PlanDefinition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
PlanDefinition.typeextensiblePlanDefinitionType
http://hl7.org/fhir/ValueSet/plan-definition-type
from the FHIR Standard
PlanDefinition.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
PlanDefinition.subject[x]extensibleSubjectType
http://hl7.org/fhir/ValueSet/subject-type
from the FHIR Standard
PlanDefinition.jurisdictionextensibleJurisdiction ValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
PlanDefinition.topicexampleDefinitionTopic
http://hl7.org/fhir/ValueSet/definition-topic
from the FHIR Standard
PlanDefinition.goal.categoryexampleGoalCategory
http://hl7.org/fhir/ValueSet/goal-category
from the FHIR Standard
PlanDefinition.goal.descriptionexampleSNOMEDCTClinicalFindings
http://hl7.org/fhir/ValueSet/clinical-findings
from the FHIR Standard
PlanDefinition.goal.prioritypreferredGoalPriority
http://hl7.org/fhir/ValueSet/goal-priority
from the FHIR Standard
PlanDefinition.goal.startexampleGoalStartEvent
http://hl7.org/fhir/ValueSet/goal-start-event
from the FHIR Standard
PlanDefinition.goal.addressesexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
PlanDefinition.goal.target.measureexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
PlanDefinition.action.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
PlanDefinition.action.subject[x]extensibleSubjectType
http://hl7.org/fhir/ValueSet/subject-type
from the FHIR Standard
PlanDefinition.action.condition.kindrequiredActionConditionKind
http://hl7.org/fhir/ValueSet/action-condition-kind|4.0.1
from the FHIR Standard
PlanDefinition.action.relatedAction.relationshiprequiredActionRelationshipType
http://hl7.org/fhir/ValueSet/action-relationship-type|4.0.1
from the FHIR Standard
PlanDefinition.action.participant.typerequiredActionParticipantType
http://hl7.org/fhir/ValueSet/action-participant-type|4.0.1
from the FHIR Standard
PlanDefinition.action.participant.roleexampleActionParticipantRole
http://hl7.org/fhir/ValueSet/action-participant-role
from the FHIR Standard
PlanDefinition.action.typeextensibleActionType
http://hl7.org/fhir/ValueSet/action-type
from the FHIR Standard
PlanDefinition.action.groupingBehaviorrequiredActionGroupingBehavior
http://hl7.org/fhir/ValueSet/action-grouping-behavior|4.0.1
from the FHIR Standard
PlanDefinition.action.selectionBehaviorrequiredActionSelectionBehavior
http://hl7.org/fhir/ValueSet/action-selection-behavior|4.0.1
from the FHIR Standard
PlanDefinition.action.requiredBehaviorrequiredActionRequiredBehavior
http://hl7.org/fhir/ValueSet/action-required-behavior|4.0.1
from the FHIR Standard
PlanDefinition.action.precheckBehaviorrequiredActionPrecheckBehavior
http://hl7.org/fhir/ValueSet/action-precheck-behavior|4.0.1
from the FHIR Standard
PlanDefinition.action.cardinalityBehaviorrequiredActionCardinalityBehavior
http://hl7.org/fhir/ValueSet/action-cardinality-behavior|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPlanDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPlanDefinitionIf 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-4errorPlanDefinitionIf 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-5errorPlanDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePlanDefinitionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
pdf-0warningPlanDefinitionName 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}')

This structure is derived from CRMIShareablePlanDefinition

Summary

Mandatory: 2 elements

Differential View

This structure is derived from CRMIShareablePlanDefinition

NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition 1..1 CRMIShareablePlanDefinition The definition of a plan for a series of actions, independent of any specific patient or context
... name 1..1 string Name for this plan definition (computer friendly)
... publisher 1..1 string Name of the publisher (organization or individual)

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition C 1..1 CRMIShareablePlanDefinition The definition of a plan for a series of actions, independent of any specific patient or context
pdf-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... Slices for extension Content/Rules for all slices
.... knowledgeCapability S 0..* code shareable | computable | publishable | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability
Binding: KnowledgeCapability (required)
.... artifactComment S 0..* (Complex) Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/StructureDefinition/cqf-artifactComment
.... versionAlgorithm S 0..1 string, Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
.... versionPolicy S 0..1 CodeableConcept metadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: Artifact Version Policy (extensible): The versioning policy of the artifact


... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... version SΣ 1..1 string Business version of the plan definition
... name SΣC 1..1 string Name for this plan definition (computer friendly)
... title SΣ 1..1 string Name for this plan definition (human friendly)
... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental SΣ 0..1 boolean For testing purposes, not real usage
... publisher SΣ 1..1 string Name of the publisher (organization or individual)
... description SΣ 1..1 markdown Natural language description of the plan definition

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
PlanDefinition.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPlanDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPlanDefinitionIf 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-4errorPlanDefinitionIf 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-5errorPlanDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePlanDefinitionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
pdf-0warningPlanDefinitionName 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}')

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition C 1..1 CRMIShareablePlanDefinition The definition of a plan for a series of actions, independent of any specific patient or context
pdf-0: Name should be usable as an identifier for the module by machine processing applications such as code generation
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.

Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... Slices for extension 0..* Extension Extension
Slice: Unordered, Open by value:url
.... knowledgeCapability S 0..* code shareable | computable | publishable | executable
URL: http://hl7.org/fhir/StructureDefinition/cqf-knowledgeCapability
Binding: KnowledgeCapability (required)
.... artifactComment S 0..* (Complex) Additional documentation, review, or usage guidance
URL: http://hl7.org/fhir/StructureDefinition/cqf-artifactComment
.... versionAlgorithm S 0..1 string, Coding How to compare versions
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionAlgorithm
Binding: VersionAlgorithm (extensible)
.... versionPolicy S 0..1 CodeableConcept metadata | strict
URL: http://hl7.org/fhir/StructureDefinition/artifact-versionPolicy
Binding: Artifact Version Policy (extensible): The versioning policy of the artifact


... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url SΣ 1..1 uri Canonical identifier for this plan definition, represented as a URI (globally unique)
... identifier Σ 0..* Identifier Additional identifier for the plan definition
... version SΣ 1..1 string Business version of the plan definition
... name SΣC 1..1 string Name for this plan definition (computer friendly)
... title SΣ 1..1 string Name for this plan definition (human friendly)
... subtitle 0..1 string Subordinate title of the plan definition
... type Σ 0..1 CodeableConcept order-set | clinical-protocol | eca-rule | workflow-definition
Binding: PlanDefinitionType (extensible): The type of PlanDefinition.

... status ?!SΣ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... experimental SΣ 0..1 boolean For testing purposes, not real usage
... 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.).

.... subjectCodeableConcept CodeableConcept
.... subjectReference Reference(Group)
... date Σ 0..1 dateTime Date last changed
... publisher SΣ 1..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description SΣ 1..1 markdown Natural language description of the plan definition
... useContext Σ 0..* UsageContext The context that the content is intended to support
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for plan definition (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1 markdown Why this plan definition is defined
... usage 0..1 string Describes the clinical usage of the plan
... copyright 0..1 markdown Use and/or publishing restrictions
... approvalDate 0..1 date When the plan definition was approved by publisher
... lastReviewDate 0..1 date When the plan definition was last reviewed
... effectivePeriod Σ 0..1 Period When the plan definition is expected to be used
... topic 0..* CodeableConcept E.g. Education, Treatment, Assessment
Binding: DefinitionTopic (example): High-level categorization of the definition, used for searching, sorting, and filtering.


... 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 0..* BackboneElement What the plan is trying to accomplish
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... category 0..1 CodeableConcept E.g. Treatment, dietary, behavioral
Binding: GoalCategory (example): Example codes for grouping goals for filtering or presentation.

.... description 1..1 CodeableConcept Code or text describing the goal
Binding: SNOMEDCTClinicalFindings (example): Describes goals that can be achieved.

.... 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.

.... start 0..1 CodeableConcept When goal pursuit begins
Binding: GoalStartEvent (example): Identifies the types of events that might trigger the start of a goal.

.... addresses 0..* CodeableConcept What does the goal address
Binding: Condition/Problem/DiagnosisCodes (example): Identifies problems, conditions, issues, or concerns that goals may address.


.... documentation 0..* RelatedArtifact Supporting documentation for the goal
.... target 0..* BackboneElement Target outcome for the goal
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... 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.

..... detail[x] 0..1 The target value to be achieved
...... detailQuantity Quantity
...... detailRange Range
...... detailCodeableConcept CodeableConcept
..... due 0..1 Duration Reach goal within
... action 0..* BackboneElement Action defined by the plan
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... prefix 0..1 string User-visible prefix for the action (e.g. 1. or A.)
.... title 0..1 string User-visible title
.... description 0..1 string Brief description of the action
.... textEquivalent 0..1 string Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
.... priority 0..1 code routine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

.... code 0..* CodeableConcept Code representing the meaning of the action or sub-actions
.... reason 0..* CodeableConcept Why the action should be performed
.... documentation 0..* RelatedArtifact Supporting documentation for the intended performer of the action
.... goalId 0..* id What goals this action supports
.... 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.).

..... subjectCodeableConcept CodeableConcept
..... subjectReference Reference(Group)
.... trigger 0..* TriggerDefinition When the action should be triggered
.... condition 0..* BackboneElement Whether or not the action is applicable
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... kind 1..1 code applicability | start | stop
Binding: ActionConditionKind (required): Defines the kinds of conditions that can appear on actions.

..... expression 0..1 Expression Boolean-valued expression
.... input 0..* DataRequirement Input data requirements
.... output 0..* DataRequirement Output data definition
.... relatedAction 0..* BackboneElement Relationship to another action
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... actionId 1..1 id What action is this related to
..... 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.

..... offset[x] 0..1 Time offset for the relationship
...... offsetDuration Duration
...... offsetRange Range
.... timing[x] 0..1 When the action should take place
..... timingDateTime dateTime
..... timingAge Age
..... timingPeriod Period
..... timingDuration Duration
..... timingRange Range
..... timingTiming Timing
.... participant 0..* BackboneElement Who should participate in the action
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... type 1..1 code patient | practitioner | related-person | device
Binding: ActionParticipantType (required): The type of participant for the action.

..... role 0..1 CodeableConcept E.g. Nurse, Surgeon, Parent
Binding: ActionParticipantRole (example): Defines roles played by participants for the action.

.... type 0..1 CodeableConcept create | update | remove | fire-event
Binding: ActionType (extensible): The type of action to be performed.

.... groupingBehavior 0..1 code visual-group | logical-group | sentence-group
Binding: ActionGroupingBehavior (required): Defines organization behavior of a group.

.... 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.

.... requiredBehavior 0..1 code must | could | must-unless-documented
Binding: ActionRequiredBehavior (required): Defines expectations around whether an action or action group is required.

.... precheckBehavior 0..1 code yes | no
Binding: ActionPrecheckBehavior (required): Defines selection frequency behavior for an action or group.

.... 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.

.... definition[x] 0..1 Description of the activity to be performed
..... definitionCanonical canonical(ActivityDefinition | PlanDefinition | Questionnaire)
..... definitionUri uri
.... transform 0..1 canonical(StructureMap) Transform to apply the template
.... dynamicValue 0..* BackboneElement Dynamic aspects of the definition
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... 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 (PlanDefinition) A sub-action

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
PlanDefinition.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
PlanDefinition.typeextensiblePlanDefinitionType
http://hl7.org/fhir/ValueSet/plan-definition-type
from the FHIR Standard
PlanDefinition.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|4.0.1
from the FHIR Standard
PlanDefinition.subject[x]extensibleSubjectType
http://hl7.org/fhir/ValueSet/subject-type
from the FHIR Standard
PlanDefinition.jurisdictionextensibleJurisdiction ValueSet
http://hl7.org/fhir/ValueSet/jurisdiction
from the FHIR Standard
PlanDefinition.topicexampleDefinitionTopic
http://hl7.org/fhir/ValueSet/definition-topic
from the FHIR Standard
PlanDefinition.goal.categoryexampleGoalCategory
http://hl7.org/fhir/ValueSet/goal-category
from the FHIR Standard
PlanDefinition.goal.descriptionexampleSNOMEDCTClinicalFindings
http://hl7.org/fhir/ValueSet/clinical-findings
from the FHIR Standard
PlanDefinition.goal.prioritypreferredGoalPriority
http://hl7.org/fhir/ValueSet/goal-priority
from the FHIR Standard
PlanDefinition.goal.startexampleGoalStartEvent
http://hl7.org/fhir/ValueSet/goal-start-event
from the FHIR Standard
PlanDefinition.goal.addressesexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
PlanDefinition.goal.target.measureexampleLOINCCodes (a valid code from LOINC)
http://hl7.org/fhir/ValueSet/observation-codes
from the FHIR Standard
PlanDefinition.action.priorityrequiredRequestPriority
http://hl7.org/fhir/ValueSet/request-priority|4.0.1
from the FHIR Standard
PlanDefinition.action.subject[x]extensibleSubjectType
http://hl7.org/fhir/ValueSet/subject-type
from the FHIR Standard
PlanDefinition.action.condition.kindrequiredActionConditionKind
http://hl7.org/fhir/ValueSet/action-condition-kind|4.0.1
from the FHIR Standard
PlanDefinition.action.relatedAction.relationshiprequiredActionRelationshipType
http://hl7.org/fhir/ValueSet/action-relationship-type|4.0.1
from the FHIR Standard
PlanDefinition.action.participant.typerequiredActionParticipantType
http://hl7.org/fhir/ValueSet/action-participant-type|4.0.1
from the FHIR Standard
PlanDefinition.action.participant.roleexampleActionParticipantRole
http://hl7.org/fhir/ValueSet/action-participant-role
from the FHIR Standard
PlanDefinition.action.typeextensibleActionType
http://hl7.org/fhir/ValueSet/action-type
from the FHIR Standard
PlanDefinition.action.groupingBehaviorrequiredActionGroupingBehavior
http://hl7.org/fhir/ValueSet/action-grouping-behavior|4.0.1
from the FHIR Standard
PlanDefinition.action.selectionBehaviorrequiredActionSelectionBehavior
http://hl7.org/fhir/ValueSet/action-selection-behavior|4.0.1
from the FHIR Standard
PlanDefinition.action.requiredBehaviorrequiredActionRequiredBehavior
http://hl7.org/fhir/ValueSet/action-required-behavior|4.0.1
from the FHIR Standard
PlanDefinition.action.precheckBehaviorrequiredActionPrecheckBehavior
http://hl7.org/fhir/ValueSet/action-precheck-behavior|4.0.1
from the FHIR Standard
PlanDefinition.action.cardinalityBehaviorrequiredActionCardinalityBehavior
http://hl7.org/fhir/ValueSet/action-cardinality-behavior|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorPlanDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorPlanDefinitionIf 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-4errorPlanDefinitionIf 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-5errorPlanDefinitionIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practicePlanDefinitionA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
pdf-0warningPlanDefinitionName 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}')

This structure is derived from CRMIShareablePlanDefinition

Summary

Mandatory: 2 elements

 

Other representations of profile: CSV, Excel, Schematron