Evidence Based Medicine on FHIR Implementation Guide
1.0.0-ballot - ballot International flag

This page is part of the Evidence Based Medicine on FHIR Implementation Guide (v1.0.0-ballot: STU1 Ballot 1) based on FHIR (HL7® FHIR® Standard) v5.0.0. . For a full list of available versions, see the Directory of published versions

Resource Profile: SoaPlanDefinition

Official URL: http://hl7.org/fhir/uv/ebm/StructureDefinition/soa-plandefinition Version: 1.0.0-ballot
Standards status: Draft Maturity Level: 1 Computable Name: SoaPlanDefinition

Profile of PlanDefinition for temporary testing to coordination with M11 use.

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition C0..*PlanDefinitionThe definition of a plan for a series of actions, independent of any specific patient or context
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... action C0..*BackboneElementAction defined by the plan
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... timingRelativeTime 0..1(Complex)Timing in which the characteristic is determined
URL: http://hl7.org/fhir/uv/ebm/StructureDefinition/characteristic-timing
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
PlanDefinition.statusrequiredPublicationStatus

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningPlanDefinitionName should be usable as an identifier for the module by machine processing applications such as code generation
: name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
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()
pld-3warningPlanDefinitiongoalid should reference the id of a goal definition
: %context.repeat(action).where((goalId in %context.goal.id).not()).exists().not()
pld-4warningPlanDefinitiontargetId should reference the id of an action
: %context.repeat(action).relatedAction.where((targetId in %context.repeat(action).id).not()).exists().not()
NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition C0..*PlanDefinitionThe definition of a plan for a series of actions, independent of any specific patient or context
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguagesStarter Set
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... url ΣC0..1uriCanonical identifier for this plan definition, represented as a URI (globally unique)
... identifier Σ0..*IdentifierAdditional identifier for the plan definition
... version Σ0..1stringBusiness version of the plan definition
... versionAlgorithm[x] Σ0..1How to compare versions
Binding: VersionAlgorithm (extensible)
.... versionAlgorithmStringstring
.... versionAlgorithmCodingCoding
... name ΣC0..1stringName for this plan definition (computer friendly)
... title Σ0..1stringName for this plan definition (human friendly)
... subtitle 0..1stringSubordinate title of the plan definition
... type Σ0..1CodeableConceptorder-set | clinical-protocol | eca-rule | workflow-definition
Binding: PlanDefinitionType (extensible): The type of PlanDefinition.

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

... experimental Σ0..1booleanFor testing purposes, not real usage
... subject[x] 0..1Type of individual the plan definition is focused on
Binding: ParticipantResourceTypes (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).

.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition)
.... subjectCanonicalcanonical(EvidenceVariable)
... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher/steward (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description Σ0..1markdownNatural language description of the plan definition
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for plan definition (if applicable)
Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this plan definition is defined
... usage 0..1markdownDescribes the clinical usage of the plan
... copyright 0..1markdownUse and/or publishing restrictions
... copyrightLabel 0..1stringCopyright holder and year(s)
... approvalDate 0..1dateWhen the plan definition was approved by publisher
... lastReviewDate 0..1dateWhen the plan definition was last reviewed by the publisher
... effectivePeriod Σ0..1PeriodWhen the plan definition is expected to be used
... author 0..*ContactDetailWho authored the content
... editor 0..*ContactDetailWho edited the content
... reviewer 0..*ContactDetailWho reviewed the content
... endorser 0..*ContactDetailWho endorsed the content
... relatedArtifact 0..*RelatedArtifactAdditional documentation, citations
... library 0..*canonical(Library)Logic used by the plan definition
... goal C0..*BackboneElementWhat the plan is trying to accomplish
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... category 0..1CodeableConceptE.g. Treatment, dietary, behavioral
Binding: GoalCategory (example): Example codes for grouping goals for filtering or presentation.

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

.... priority 0..1CodeableConcepthigh-priority | medium-priority | low-priority
Binding: GoalPriority (preferred): Indicates the level of importance associated with reaching or sustaining a goal.

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

.... addresses 0..*CodeableConceptWhat does the goal address
Binding: ConditionProblemDiagnosisCodes (example): Identifies problems, conditions, issues, or concerns that goals may address.


.... documentation 0..*RelatedArtifactSupporting documentation for the goal
.... target 0..*BackboneElementTarget outcome for the goal
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... measure 0..1CodeableConceptThe 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..1The target value to be achieved
...... detailQuantityQuantity
...... detailRangeRange
...... detailCodeableConceptCodeableConcept
...... detailStringstring
...... detailBooleanboolean
...... detailIntegerinteger
...... detailRatioRatio
..... due 0..1DurationReach goal within
... actor 0..*BackboneElementActors within the plan
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... title 0..1stringUser-visible title
.... description 0..1markdownDescribes the actor
.... option 1..*BackboneElementWho or what can be this actor
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 0..1codecareteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
Binding: ActionParticipantType (required): The type of participant in the activity.

..... typeCanonical 0..1canonical(CapabilityStatement)Who or what can participate
..... typeReference 0..1Reference(CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)Who or what can participate
..... role 0..1CodeableConceptE.g. Nurse, Surgeon, Parent
Binding: Action Participant Role (example)
... action C0..*BackboneElementAction defined by the plan
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... timingRelativeTime 0..1(Complex)Timing in which the characteristic is determined
URL: http://hl7.org/fhir/uv/ebm/StructureDefinition/characteristic-timing
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... linkId 0..1stringUnique id for the action in the PlanDefinition
.... prefix 0..1stringUser-visible prefix for the action (e.g. 1. or A.)
.... title 0..1stringUser-visible title
.... description 0..1markdownBrief description of the action
.... textEquivalent 0..1markdownStatic text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
.... priority 0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

.... code 0..1CodeableConceptCode representing the meaning of the action or sub-actions
Binding: ActionCode (example): Provides examples of actions to be performed.

.... reason 0..*CodeableConceptWhy the action should be performed
Binding: ActionReasonCode (example): Provides examples of reasons for actions to be performed.


.... documentation 0..*RelatedArtifactSupporting documentation for the intended performer of the action
.... goalId C0..*idWhat goals this action supports
.... subject[x] 0..1Type of individual the action is focused on
Binding: ParticipantResourceTypes (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).

..... subjectCodeableConceptCodeableConcept
..... subjectReferenceReference(Group)
..... subjectCanonicalcanonical(Any)
.... trigger 0..*TriggerDefinitionWhen the action should be triggered
.... condition 0..*BackboneElementWhether or not the action is applicable
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... kind 1..1codeapplicability | start | stop
Binding: ActionConditionKind (required): Defines the kinds of conditions that can appear on actions.

..... expression 0..1ExpressionBoolean-valued expression
.... input C0..*BackboneElementInput data requirements
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... title 0..1stringUser-visible title
..... requirement C0..1DataRequirementWhat data is provided
..... relatedData C0..1idWhat data is provided
.... output C0..*BackboneElementOutput data definition
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... title 0..1stringUser-visible title
..... requirement C0..1DataRequirementWhat data is provided
..... relatedData C0..1stringWhat data is provided
.... relatedAction C0..*BackboneElementRelationship to another action
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... targetId C1..1idWhat action is this related to
..... relationship 1..1codebefore | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.

..... endRelationship 0..1codebefore | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.

..... offset[x] 0..1Time offset for the relationship
...... offsetDurationDuration
...... offsetRangeRange
.... timing[x] 0..1When the action should take place
..... timingAgeAge
..... timingDurationDuration
..... timingRangeRange
..... timingTimingTiming
.... location 0..1CodeableReference(Location)Where it should happen
.... participant 0..*BackboneElementWho should participate in the action
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... actorId 0..1stringWhat actor
..... type 0..1codecareteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
Binding: ActionParticipantType (required): The type of participant in the activity.

..... typeCanonical 0..1canonical(CapabilityStatement)Who or what can participate
..... typeReference 0..1Reference(CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)Who or what can participate
..... role 0..1CodeableConceptE.g. Nurse, Surgeon, Parent
Binding: Action Participant Role (example): Defines roles played by participants for the action.

..... function 0..1CodeableConceptE.g. Author, Reviewer, Witness, etc
Binding: ActionParticipantFunction (example)
.... type 0..1CodeableConceptcreate | update | remove | fire-event
Binding: ActionType (extensible): The type of action to be performed.

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

.... selectionBehavior 0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.

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

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

.... cardinalityBehavior 0..1codesingle | multiple
Binding: ActionCardinalityBehavior (required): Defines behavior for an action or a group for how many times that item may be repeated.

.... definition[x] 0..1Description of the activity to be performed
..... definitionCanonicalcanonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition)
..... definitionUriuri
.... transform 0..1canonical(StructureMap)Transform to apply the template
.... dynamicValue 0..*BackboneElementDynamic aspects of the definition
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... path 0..1stringThe path to the element to be set dynamically
..... expression 0..1ExpressionAn expression that provides the dynamic value for the customization
.... action 0..*See action (PlanDefinition)A sub-action
... asNeeded[x] Σ0..1Preconditions for service
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc.

.... asNeededBooleanboolean
.... asNeededCodeableConceptCodeableConcept

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
PlanDefinition.languagerequiredAllLanguages
PlanDefinition.versionAlgorithm[x]extensibleVersionAlgorithm
PlanDefinition.typeextensiblePlanDefinitionType
PlanDefinition.statusrequiredPublicationStatus
PlanDefinition.subject[x]extensibleParticipantResourceTypes
PlanDefinition.jurisdictionextensibleJurisdictionValueSet
PlanDefinition.goal.categoryexampleGoalCategory
PlanDefinition.goal.descriptionexampleSNOMEDCTClinicalFindings
PlanDefinition.goal.prioritypreferredGoalPriority
PlanDefinition.goal.startexampleGoalStartEvent
PlanDefinition.goal.addressesexampleConditionProblemDiagnosisCodes
PlanDefinition.goal.target.measureexampleLOINCCodes (a valid code from LOINC)
PlanDefinition.actor.option.typerequiredActionParticipantType
PlanDefinition.actor.option.roleexampleActionParticipantRole
PlanDefinition.action.priorityrequiredRequestPriority
PlanDefinition.action.codeexampleActionCode
PlanDefinition.action.reasonexampleActionReasonCode
PlanDefinition.action.subject[x]extensibleParticipantResourceTypes
PlanDefinition.action.condition.kindrequiredActionConditionKind
PlanDefinition.action.relatedAction.relationshiprequiredActionRelationshipType
PlanDefinition.action.relatedAction.endRelationshiprequiredActionRelationshipType
PlanDefinition.action.participant.typerequiredActionParticipantType
PlanDefinition.action.participant.roleexampleActionParticipantRole
PlanDefinition.action.participant.functionexampleActionParticipantFunction
PlanDefinition.action.typeextensibleActionType
PlanDefinition.action.groupingBehaviorrequiredActionGroupingBehavior
PlanDefinition.action.selectionBehaviorrequiredActionSelectionBehavior
PlanDefinition.action.requiredBehaviorrequiredActionRequiredBehavior
PlanDefinition.action.precheckBehaviorrequiredActionPrecheckBehavior
PlanDefinition.action.cardinalityBehaviorrequiredActionCardinalityBehavior
PlanDefinition.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningPlanDefinitionName should be usable as an identifier for the module by machine processing applications such as code generation
: name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1warningPlanDefinition.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
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()
pld-0errorPlanDefinition.action.inputInput data elements must have a requirement or a relatedData, but not both
: requirement.exists() xor relatedData.exists()
pld-1errorPlanDefinition.action.outputOutput data element must have a requirement or a relatedData, but not both
: requirement.exists() xor relatedData.exists()
pld-3warningPlanDefinitiongoalid should reference the id of a goal definition
: %context.repeat(action).where((goalId in %context.goal.id).not()).exists().not()
pld-4warningPlanDefinitiontargetId should reference the id of an action
: %context.repeat(action).relatedAction.where((targetId in %context.repeat(action).id).not()).exists().not()

This structure is derived from PlanDefinition

Summary

Prohibited: 1 element

Extensions

This structure refers to these extensions:

Maturity: 1

Differential View

This structure is derived from PlanDefinition

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition C0..*PlanDefinitionThe definition of a plan for a series of actions, independent of any specific patient or context
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... contained 0..*ResourceContained, inline Resources
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... action C0..*BackboneElementAction defined by the plan
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... timingRelativeTime 0..1(Complex)Timing in which the characteristic is determined
URL: http://hl7.org/fhir/uv/ebm/StructureDefinition/characteristic-timing
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
PlanDefinition.statusrequiredPublicationStatus

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningPlanDefinitionName should be usable as an identifier for the module by machine processing applications such as code generation
: name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
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()
pld-3warningPlanDefinitiongoalid should reference the id of a goal definition
: %context.repeat(action).where((goalId in %context.goal.id).not()).exists().not()
pld-4warningPlanDefinitiontargetId should reference the id of an action
: %context.repeat(action).relatedAction.where((targetId in %context.repeat(action).id).not()).exists().not()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. PlanDefinition C0..*PlanDefinitionThe definition of a plan for a series of actions, independent of any specific patient or context
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: AllLanguages (required): IETF language tag for a human language

Additional BindingsPurpose
CommonLanguagesStarter Set
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
... url ΣC0..1uriCanonical identifier for this plan definition, represented as a URI (globally unique)
... identifier Σ0..*IdentifierAdditional identifier for the plan definition
... version Σ0..1stringBusiness version of the plan definition
... versionAlgorithm[x] Σ0..1How to compare versions
Binding: VersionAlgorithm (extensible)
.... versionAlgorithmStringstring
.... versionAlgorithmCodingCoding
... name ΣC0..1stringName for this plan definition (computer friendly)
... title Σ0..1stringName for this plan definition (human friendly)
... subtitle 0..1stringSubordinate title of the plan definition
... type Σ0..1CodeableConceptorder-set | clinical-protocol | eca-rule | workflow-definition
Binding: PlanDefinitionType (extensible): The type of PlanDefinition.

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

... experimental Σ0..1booleanFor testing purposes, not real usage
... subject[x] 0..1Type of individual the plan definition is focused on
Binding: ParticipantResourceTypes (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).

.... subjectCodeableConceptCodeableConcept
.... subjectReferenceReference(Group | MedicinalProductDefinition | SubstanceDefinition | AdministrableProductDefinition | ManufacturedItemDefinition | PackagedProductDefinition)
.... subjectCanonicalcanonical(EvidenceVariable)
... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher/steward (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... description Σ0..1markdownNatural language description of the plan definition
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for plan definition (if applicable)
Binding: JurisdictionValueSet (extensible): Countries and regions within which this artifact is targeted for use.


... purpose 0..1markdownWhy this plan definition is defined
... usage 0..1markdownDescribes the clinical usage of the plan
... copyright 0..1markdownUse and/or publishing restrictions
... copyrightLabel 0..1stringCopyright holder and year(s)
... approvalDate 0..1dateWhen the plan definition was approved by publisher
... lastReviewDate 0..1dateWhen the plan definition was last reviewed by the publisher
... effectivePeriod Σ0..1PeriodWhen the plan definition is expected to be used
... author 0..*ContactDetailWho authored the content
... editor 0..*ContactDetailWho edited the content
... reviewer 0..*ContactDetailWho reviewed the content
... endorser 0..*ContactDetailWho endorsed the content
... relatedArtifact 0..*RelatedArtifactAdditional documentation, citations
... library 0..*canonical(Library)Logic used by the plan definition
... goal C0..*BackboneElementWhat the plan is trying to accomplish
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... category 0..1CodeableConceptE.g. Treatment, dietary, behavioral
Binding: GoalCategory (example): Example codes for grouping goals for filtering or presentation.

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

.... priority 0..1CodeableConcepthigh-priority | medium-priority | low-priority
Binding: GoalPriority (preferred): Indicates the level of importance associated with reaching or sustaining a goal.

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

.... addresses 0..*CodeableConceptWhat does the goal address
Binding: ConditionProblemDiagnosisCodes (example): Identifies problems, conditions, issues, or concerns that goals may address.


.... documentation 0..*RelatedArtifactSupporting documentation for the goal
.... target 0..*BackboneElementTarget outcome for the goal
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... measure 0..1CodeableConceptThe 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..1The target value to be achieved
...... detailQuantityQuantity
...... detailRangeRange
...... detailCodeableConceptCodeableConcept
...... detailStringstring
...... detailBooleanboolean
...... detailIntegerinteger
...... detailRatioRatio
..... due 0..1DurationReach goal within
... actor 0..*BackboneElementActors within the plan
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... title 0..1stringUser-visible title
.... description 0..1markdownDescribes the actor
.... option 1..*BackboneElementWho or what can be this actor
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... type 0..1codecareteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
Binding: ActionParticipantType (required): The type of participant in the activity.

..... typeCanonical 0..1canonical(CapabilityStatement)Who or what can participate
..... typeReference 0..1Reference(CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)Who or what can participate
..... role 0..1CodeableConceptE.g. Nurse, Surgeon, Parent
Binding: Action Participant Role (example)
... action C0..*BackboneElementAction defined by the plan
.... id 0..1stringUnique id for inter-element referencing
.... Slices for extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
.... timingRelativeTime 0..1(Complex)Timing in which the characteristic is determined
URL: http://hl7.org/fhir/uv/ebm/StructureDefinition/characteristic-timing
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... linkId 0..1stringUnique id for the action in the PlanDefinition
.... prefix 0..1stringUser-visible prefix for the action (e.g. 1. or A.)
.... title 0..1stringUser-visible title
.... description 0..1markdownBrief description of the action
.... textEquivalent 0..1markdownStatic text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system
.... priority 0..1coderoutine | urgent | asap | stat
Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.

.... code 0..1CodeableConceptCode representing the meaning of the action or sub-actions
Binding: ActionCode (example): Provides examples of actions to be performed.

.... reason 0..*CodeableConceptWhy the action should be performed
Binding: ActionReasonCode (example): Provides examples of reasons for actions to be performed.


.... documentation 0..*RelatedArtifactSupporting documentation for the intended performer of the action
.... goalId C0..*idWhat goals this action supports
.... subject[x] 0..1Type of individual the action is focused on
Binding: ParticipantResourceTypes (extensible): The possible types of subjects for a plan definition (E.g. Patient, Practitioner, Organization, Location, etc.).

..... subjectCodeableConceptCodeableConcept
..... subjectReferenceReference(Group)
..... subjectCanonicalcanonical(Any)
.... trigger 0..*TriggerDefinitionWhen the action should be triggered
.... condition 0..*BackboneElementWhether or not the action is applicable
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... kind 1..1codeapplicability | start | stop
Binding: ActionConditionKind (required): Defines the kinds of conditions that can appear on actions.

..... expression 0..1ExpressionBoolean-valued expression
.... input C0..*BackboneElementInput data requirements
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... title 0..1stringUser-visible title
..... requirement C0..1DataRequirementWhat data is provided
..... relatedData C0..1idWhat data is provided
.... output C0..*BackboneElementOutput data definition
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... title 0..1stringUser-visible title
..... requirement C0..1DataRequirementWhat data is provided
..... relatedData C0..1stringWhat data is provided
.... relatedAction C0..*BackboneElementRelationship to another action
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... targetId C1..1idWhat action is this related to
..... relationship 1..1codebefore | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.

..... endRelationship 0..1codebefore | before-start | before-end | concurrent | concurrent-with-start | concurrent-with-end | after | after-start | after-end
Binding: ActionRelationshipType (required): Defines the types of relationships between actions.

..... offset[x] 0..1Time offset for the relationship
...... offsetDurationDuration
...... offsetRangeRange
.... timing[x] 0..1When the action should take place
..... timingAgeAge
..... timingDurationDuration
..... timingRangeRange
..... timingTimingTiming
.... location 0..1CodeableReference(Location)Where it should happen
.... participant 0..*BackboneElementWho should participate in the action
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... actorId 0..1stringWhat actor
..... type 0..1codecareteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson
Binding: ActionParticipantType (required): The type of participant in the activity.

..... typeCanonical 0..1canonical(CapabilityStatement)Who or what can participate
..... typeReference 0..1Reference(CareTeam | Device | DeviceDefinition | Endpoint | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)Who or what can participate
..... role 0..1CodeableConceptE.g. Nurse, Surgeon, Parent
Binding: Action Participant Role (example): Defines roles played by participants for the action.

..... function 0..1CodeableConceptE.g. Author, Reviewer, Witness, etc
Binding: ActionParticipantFunction (example)
.... type 0..1CodeableConceptcreate | update | remove | fire-event
Binding: ActionType (extensible): The type of action to be performed.

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

.... selectionBehavior 0..1codeany | all | all-or-none | exactly-one | at-most-one | one-or-more
Binding: ActionSelectionBehavior (required): Defines selection behavior of a group.

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

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

.... cardinalityBehavior 0..1codesingle | multiple
Binding: ActionCardinalityBehavior (required): Defines behavior for an action or a group for how many times that item may be repeated.

.... definition[x] 0..1Description of the activity to be performed
..... definitionCanonicalcanonical(ActivityDefinition | MessageDefinition | ObservationDefinition | PlanDefinition | Questionnaire | SpecimenDefinition)
..... definitionUriuri
.... transform 0..1canonical(StructureMap)Transform to apply the template
.... dynamicValue 0..*BackboneElementDynamic aspects of the definition
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... path 0..1stringThe path to the element to be set dynamically
..... expression 0..1ExpressionAn expression that provides the dynamic value for the customization
.... action 0..*See action (PlanDefinition)A sub-action
... asNeeded[x] Σ0..1Preconditions for service
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the pre-condition that should hold prior to performing a procedure. For example "pain", "on flare-up", etc.

.... asNeededBooleanboolean
.... asNeededCodeableConceptCodeableConcept

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
PlanDefinition.languagerequiredAllLanguages
PlanDefinition.versionAlgorithm[x]extensibleVersionAlgorithm
PlanDefinition.typeextensiblePlanDefinitionType
PlanDefinition.statusrequiredPublicationStatus
PlanDefinition.subject[x]extensibleParticipantResourceTypes
PlanDefinition.jurisdictionextensibleJurisdictionValueSet
PlanDefinition.goal.categoryexampleGoalCategory
PlanDefinition.goal.descriptionexampleSNOMEDCTClinicalFindings
PlanDefinition.goal.prioritypreferredGoalPriority
PlanDefinition.goal.startexampleGoalStartEvent
PlanDefinition.goal.addressesexampleConditionProblemDiagnosisCodes
PlanDefinition.goal.target.measureexampleLOINCCodes (a valid code from LOINC)
PlanDefinition.actor.option.typerequiredActionParticipantType
PlanDefinition.actor.option.roleexampleActionParticipantRole
PlanDefinition.action.priorityrequiredRequestPriority
PlanDefinition.action.codeexampleActionCode
PlanDefinition.action.reasonexampleActionReasonCode
PlanDefinition.action.subject[x]extensibleParticipantResourceTypes
PlanDefinition.action.condition.kindrequiredActionConditionKind
PlanDefinition.action.relatedAction.relationshiprequiredActionRelationshipType
PlanDefinition.action.relatedAction.endRelationshiprequiredActionRelationshipType
PlanDefinition.action.participant.typerequiredActionParticipantType
PlanDefinition.action.participant.roleexampleActionParticipantRole
PlanDefinition.action.participant.functionexampleActionParticipantFunction
PlanDefinition.action.typeextensibleActionType
PlanDefinition.action.groupingBehaviorrequiredActionGroupingBehavior
PlanDefinition.action.selectionBehaviorrequiredActionSelectionBehavior
PlanDefinition.action.requiredBehaviorrequiredActionRequiredBehavior
PlanDefinition.action.precheckBehaviorrequiredActionPrecheckBehavior
PlanDefinition.action.cardinalityBehaviorrequiredActionCardinalityBehavior
PlanDefinition.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes

Constraints

IdGradePath(s)DetailsRequirements
cnl-0warningPlanDefinitionName should be usable as an identifier for the module by machine processing applications such as code generation
: name.exists() implies name.matches('^[A-Z]([A-Za-z0-9_]){1,254}$')
cnl-1warningPlanDefinition.urlURL should not contain | or # - these characters make processing canonical references problematic
: exists() implies matches('^[^|# ]+$')
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()
pld-0errorPlanDefinition.action.inputInput data elements must have a requirement or a relatedData, but not both
: requirement.exists() xor relatedData.exists()
pld-1errorPlanDefinition.action.outputOutput data element must have a requirement or a relatedData, but not both
: requirement.exists() xor relatedData.exists()
pld-3warningPlanDefinitiongoalid should reference the id of a goal definition
: %context.repeat(action).where((goalId in %context.goal.id).not()).exists().not()
pld-4warningPlanDefinitiontargetId should reference the id of an action
: %context.repeat(action).relatedAction.where((targetId in %context.repeat(action).id).not()).exists().not()

This structure is derived from PlanDefinition

Summary

Prohibited: 1 element

Extensions

This structure refers to these extensions:

Maturity: 1

 

Other representations of profile: CSV, Excel, Schematron