This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical artifacts such as clinical decision support rules, order sets and protocols.
In scope of the eHealth infrastructure, PlanDefinitions are used for defining tele-medicine plans. A PlanDefinition is comprised by potentially a number of subplans (each also represented as a PlanDefinition), and a number of activities each represented by an ActivityDefinition instance. These in turn can specify an activity to be performed, for instance measuring of a measure or answering of a Questionnaire.
Once a PlanDefinition and all the PlanDefinition, ActivityDefinition, and Questionnaire instances comprising it has a status set to other than draft, it can be itself be set to active. With that status it can be used as a template for applying it into a CarePlan bound to a specific Patient. The CarePlan then references the PlanDefinition as its definition.
PlanDefinitions (subplans), Questionnaires and ActivityDefinitions can be modified independently. Often by people in different organisations. PlanDefinitions (subplans), Questionnaires and ActivityDefinitions, can all be reused in different top level PlanDefinitions.
The following principles ensures that the owner of a resource can make controlled updates when resources maintained by other organisations are updated.
These principles are valid for PlanDefinitions, ActivityDefinitions, and Questionnaires. Plan is used as an example in the following principles:
Example: A new ActivityDefinition should be added to an existing PlanDefinition.
The element ehealth-modifier-role
specifies one or more Organization and each Organization’s role in maintaining
the PlanDefinition:
ehealth-modifier-role.reference
references the Organizationehealth-modifier-role.role
set to owner
means that the referenced Organization can update the resource
and alter the entities referenced by ehealth-modifier-role
, for instance, by adding more co-authors.ehealth-modifier-role.role
set to co-author
means that the referenced Organization can update the resource
but not alter the element ehealth-modifier-role
.PlanDefinitions can reference information material intended for Practitioner, Patient or RelatedPerson. The material can be in the form of embedded material (of reasonable size) or referenced videos, PDF-files or printed material. Information material is contained or referenced using a DocumentReference resource and referenced from the PlanDefinition using the relatedArtifact
element.
The official URL for this profile is:
http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-plandefinition
This profile builds on PlanDefinition.
This profile was published on Tue Oct 27 14:11:48 UTC 2020 as a draft by ehealth.sundhed.dk.
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
Path | Conformance | ValueSet |
PlanDefinition.language | extensible | Common Languages Max Binding: All Languages |
PlanDefinition.type | extensible | PlanDefinitionType |
PlanDefinition.status | required | PublicationStatus |
PlanDefinition.jurisdiction | extensible | Jurisdiction |
PlanDefinition.topic | example | TopicType |
PlanDefinition.goal.category | example | GoalCategory |
PlanDefinition.goal.description | example | SNOMED CT Clinical Findings |
PlanDefinition.goal.priority | preferred | GoalPriority |
PlanDefinition.goal.start | example | GoalStartEvent |
PlanDefinition.goal.addresses | example | Condition/Problem/Diagnosis Codes |
PlanDefinition.goal.target.measure | example | LOINC Codes |
PlanDefinition.action.condition.kind | required | ActionConditionKind |
PlanDefinition.action.relatedAction.relationship | required | ActionRelationshipType |
PlanDefinition.action.participant.type | required | ActionParticipantType |
PlanDefinition.action.participant.role | example | ActionParticipantRole |
PlanDefinition.action.type | required | ActionType |
PlanDefinition.action.groupingBehavior | required | ActionGroupingBehavior |
PlanDefinition.action.selectionBehavior | required | ActionSelectionBehavior |
PlanDefinition.action.requiredBehavior | required | ActionRequiredBehavior |
PlanDefinition.action.precheckBehavior | required | ActionPrecheckBehavior |
PlanDefinition.action.cardinalityBehavior | required | ActionCardinalityBehavior |
Id | Path | Details | Requirements |
dom-2 | PlanDefinition | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-1 | PlanDefinition | If the resource is contained in another resource, it SHALL NOT contain any narrative : contained.text.empty() | |
dom-4 | 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-3 | PlanDefinition | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource : contained.where(('#'+id in %resource.descendants().reference).not()).empty() | |
ele-1 | PlanDefinition.extension:recommendation | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | PlanDefinition.extension:recommendation | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PlanDefinition.extension:intendedAudience | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | PlanDefinition.extension:intendedAudience | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PlanDefinition.extension:modifierRole | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | PlanDefinition.extension:modifierRole | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PlanDefinition.goal | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ele-1 | PlanDefinition.goal.target | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ele-1 | PlanDefinition.action | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ele-1 | PlanDefinition.action.extension:overviewUsageMode | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ext-1 | PlanDefinition.action.extension:overviewUsageMode | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | PlanDefinition.action.condition | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ele-1 | PlanDefinition.action.relatedAction | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ele-1 | PlanDefinition.action.participant | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) | |
ele-1 | PlanDefinition.action.dynamicValue | All FHIR elements must have a @value or children : hasValue() | (children().count() > id.count()) |