eHealth Infrastructure (v2019.5.3)

StructureDefinition: ehealth-plandefinition

Introduction

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.

Scope and Usage

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.

Governance principles

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 folowing 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:

  • Each plan has a version and a status
  • While a plan version is being worked on it should be in status: draft
  • When a plan version is approved it changes status to active and is now ready to be used by Careplans or as a subplan in another plan.
  • A plan with status: active can be retired, but cannot otherwise change. Retired status means that new references to the plan cannot be created. Existing plans may still continue to use the retired version.
  • If a plan needs to be updated, a new version must be created with status: draft. The new version will be a separate resource with a new id and version, but the same name as the previous version.
  • References to plans in FHIR are always to a specific resource id. In practice this means that a reference will identify a specific (Name, Version) combination.
  • If a subplan is available in a new active version, that the parent plan wants to use, then a new version of the parent plan must be created and then the reference can be updated to the new subplan.

Example: A new ActivityDefinition should be added to an existing PlanDefinition.

  1. Read the existing PlanDefinition (Version: 1)
  2. Bump the version to 2, change the status to draft, remove the id.
  3. Add a reference to the new ActivityDefinition in action.definition
  4. Call Create with the modified plan. This will create a new version of the plan in the database with the new ActivityDefinition added.

Update restrictions

These restrictions are valid for PlanDefinitions, ActivityDefinitions, and Questionnaires:

  • The Practitioner, CareTeam or Organization referenced by ehealth-modifier-role.reference having ehealth-modifier-role.role set to owner can update the resource and alter the entities referenced by ehealth-modifier-role, for instance, by adding more co-authors. This is in contrast to the entities referenced where the ehealth-modifier-role.role is set to co-author, who can update the resource but not alter ehealth-modifier-role.
  • The owner of the resource can always update the resource.
  • intendedAudience is a recommendation for use. The system will not enforce any restrictions.

Referencing information material

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.

Formal Views of Profile Content

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 Fri Jun 07 11:10:06 UTC 2019 as a draft by ehealth.sundhed.dk.

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

 

Terminology Bindings

PathNameConformanceValueSet
PlanDefinition.languageCommon LanguagesextensibleCommon Languages
PlanDefinition.typePlanDefinitionTypeextensiblePlanDefinitionType
PlanDefinition.statusPublicationStatusrequiredPublicationStatus
PlanDefinition.jurisdictionJurisdiction ValueSetextensibleJurisdiction ValueSet
PlanDefinition.topicTopicTypeexampleTopicType
PlanDefinition.goal.categoryGoalCategoryexampleGoalCategory
PlanDefinition.goal.descriptionSNOMED CT Clinical FindingsexampleSNOMED CT Clinical Findings
PlanDefinition.goal.priorityGoalPrioritypreferredGoalPriority
PlanDefinition.goal.startGoalStartEventexampleGoalStartEvent
PlanDefinition.goal.addressesCondition/Problem/Diagnosis CodesexampleCondition/Problem/Diagnosis Codes
PlanDefinition.goal.target.measureLOINC CodesexampleLOINC Codes
PlanDefinition.action.condition.kindActionConditionKindrequiredActionConditionKind
PlanDefinition.action.relatedAction.relationshipActionRelationshipTyperequiredActionRelationshipType
PlanDefinition.action.participant.typeActionParticipantTyperequiredActionParticipantType
PlanDefinition.action.participant.roleActionParticipantRoleexampleActionParticipantRole
PlanDefinition.action.typeActionTyperequiredActionType
PlanDefinition.action.groupingBehaviorActionGroupingBehaviorrequiredActionGroupingBehavior
PlanDefinition.action.selectionBehaviorActionSelectionBehaviorrequiredActionSelectionBehavior
PlanDefinition.action.requiredBehaviorActionRequiredBehaviorrequiredActionRequiredBehavior
PlanDefinition.action.precheckBehaviorActionPrecheckBehaviorrequiredActionPrecheckBehavior
PlanDefinition.action.cardinalityBehaviorActionCardinalityBehaviorrequiredActionCardinalityBehavior

Constraints

IdPathDetailsRequirements
dom-2PlanDefinitionIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-1PlanDefinitionIf the resource is contained in another resource, it SHALL NOT contain any narrative
: contained.text.empty()
dom-4PlanDefinitionIf 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-3PlanDefinitionIf 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-1PlanDefinition.goalAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1PlanDefinition.goal.targetAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1PlanDefinition.actionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1PlanDefinition.action.conditionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1PlanDefinition.action.relatedActionAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1PlanDefinition.action.participantAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
ele-1PlanDefinition.action.dynamicValueAll FHIR elements must have a @value or children
: hasValue() | (children().count() > id.count())
.