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:
Example: A new ActivityDefinition should be added to an existing PlanDefinition.
These restrictions are valid for PlanDefinitions, ActivityDefinitions, and Questionnaires
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 Wed Mar 06 14:43:56 UTC 2019 as a draft by ehealth.sundhed.dk.
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
This structure is derived from PlanDefinition
Summary
Mandatory: 3 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
This structure is derived from PlanDefinition
This structure is derived from PlanDefinition
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PlanDefinition | I | 0..* | This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. | |
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: Common Languages (extensible) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
ehealth-recommendation | 0..1 | Coding | Recommendation state of the plan definition. URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-recommendation | |
ehealth-intendedAudience | 0..* | Reference(eHealth Organization) | Intended audience for the plan. URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience | |
ehealth-author | 1..* | Reference(eHealth Organization | eHealth Practitioner) | People or organisations who maintain the plan definition URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-author | |
ehealth-owner | 1..1 | Reference(eHealth Organization) | The formal owner of the PlanDefinition URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-owner | |
ehealth-planDefinitionRole | 0..* | CodeableConcept | Roles involved in the Plan URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-planDefinitionRole | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
url | Σ | 0..1 | uri | Logical URI to reference this plan definition (globally unique) |
identifier | Σ | 0..* | Identifier | Additional identifier for the plan definition |
version | Σ | 1..1 | string | Business version of the plan definition |
name | Σ | 0..1 | string | Name for this plan definition (computer friendly) |
title | Σ | 0..1 | string | Name for this plan definition (human friendly) |
type | Σ | 0..1 | CodeableConcept | order-set | protocol | eca-rule Binding: PlanDefinitionType (extensible) |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required) |
experimental | ?!Σ | 0..1 | boolean | For testing purposes, not real usage |
date | Σ | 0..1 | dateTime | Date this was last changed |
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual) |
description | Σ | 0..1 | markdown | Natural language description of the plan definition |
purpose | 0..1 | markdown | Why this plan definition is defined | |
usage | 0..1 | string | Describes the clinical usage of the asset | |
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 |
useContext | Σ | 0..* | UsageContext | Context the content is intended to support |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for plan definition (if applicable) Binding: Jurisdiction ValueSet (extensible) |
topic | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc Binding: DefinitionTopic (example) | |
contributor | 0..* | Contributor | A content contributor | |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher |
copyright | 0..1 | markdown | Use and/or publishing restrictions | |
relatedArtifact | 0..* | RelatedArtifact | Related artifacts for the asset | |
library | 0..* | Reference(eHealth Library) | Logic used by the plan definition | |
goal | I | 0..* | BackboneElement | What the plan is trying to accomplish |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
category | 0..1 | CodeableConcept | E.g. Treatment, dietary, behavioral, etc Binding: GoalCategory (example) | |
description | 1..1 | CodeableConcept | Code or text describing the goal Binding: SNOMED CT Clinical Findings (example) | |
priority | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority Binding: GoalPriority (preferred) | |
start | 0..1 | CodeableConcept | When goal pursuit begins Binding: GoalStartEvent (example) | |
addresses | 0..* | CodeableConcept | What does the goal address Binding: Condition/Problem/Diagnosis Codes (example) | |
documentation | 0..* | RelatedArtifact | Supporting documentation for the goal | |
target | I | 0..* | BackboneElement | Target outcome for the goal |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
measure | 0..1 | CodeableConcept | The parameter whose value is to be tracked Binding: LOINC Codes (example) | |
detail[x] | 0..1 | Quantity, Range, CodeableConcept | The target value to be achieved | |
due | 0..1 | Duration | Reach goal within | |
action | I | 0..* | BackboneElement | Action defined by the plan |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
label | 0..1 | string | User-visible label for the action (e.g. 1. or A.) | |
title | 0..1 | string | User-visible title | |
description | 0..1 | string | Short 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 | |
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 | |
triggerDefinition | 0..* | TriggerDefinition | When the action should be triggered | |
condition | I | 0..* | BackboneElement | Whether or not the action is applicable |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
kind | 1..1 | code | applicability | start | stop Binding: ActionConditionKind (required) | |
description | 0..1 | string | Natural language description of the condition | |
language | 0..1 | string | Language of the expression | |
expression | 0..1 | string | Boolean-valued expression | |
input | 0..* | DataRequirement | Input data requirements | |
output | 0..* | DataRequirement | Output data definition | |
relatedAction | I | 0..* | BackboneElement | Relationship to another action |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
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) | |
offset[x] | 0..1 | Duration, Range | Time offset for the relationship | |
timing[x] | 0..1 | dateTime, Period, Duration, Range, Timing | When the action should take place | |
participant | I | 0..* | BackboneElement | Who should participate in the action |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
type | 1..1 | code | patient | practitioner | related-person Binding: ActionParticipantType (required) | |
role | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent, etc Binding: ActionParticipantRole (example) | |
type | 0..1 | Coding | create | update | remove | fire-event Binding: ActionType (required) | |
groupingBehavior | 0..1 | code | visual-group | logical-group | sentence-group Binding: ActionGroupingBehavior (required) | |
selectionBehavior | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more Binding: ActionSelectionBehavior (required) | |
requiredBehavior | 0..1 | code | must | could | must-unless-documented Binding: ActionRequiredBehavior (required) | |
precheckBehavior | 0..1 | code | yes | no Binding: ActionPrecheckBehavior (required) | |
cardinalityBehavior | 0..1 | code | single | multiple Binding: ActionCardinalityBehavior (required) | |
definition | 0..1 | Reference(eHealth ActivityDefinition | eHealth PlanDefinition) | Description of the activity to be performed | |
transform | 0..1 | Reference(StructureMap) | Transform to apply the template | |
dynamicValue | I | 0..* | BackboneElement | Dynamic aspects of the definition |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
description | 0..1 | string | Natural language description of the dynamic value | |
path | 0..1 | string | The path to the element to be set dynamically | |
language | 0..1 | string | Language of the expression | |
expression | 0..1 | string | An expression that provides the dynamic value for the customization | |
action | 0..* | Unknown reference to #PlanDefinition.action A sub-action | ||
Documentation for this format |
This structure is derived from PlanDefinition
Summary
Mandatory: 3 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Differential View
This structure is derived from PlanDefinition
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
PlanDefinition | I | 0..* | This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. | |
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: Common Languages (extensible) | |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | 0..* | Extension | Extension Slice: Unordered, Open by value:url | |
ehealth-recommendation | 0..1 | Coding | Recommendation state of the plan definition. URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-recommendation | |
ehealth-intendedAudience | 0..* | Reference(eHealth Organization) | Intended audience for the plan. URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-intendedAudience | |
ehealth-author | 1..* | Reference(eHealth Organization | eHealth Practitioner) | People or organisations who maintain the plan definition URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-author | |
ehealth-owner | 1..1 | Reference(eHealth Organization) | The formal owner of the PlanDefinition URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-owner | |
ehealth-planDefinitionRole | 0..* | CodeableConcept | Roles involved in the Plan URL: http://ehealth.sundhed.dk/fhir/StructureDefinition/ehealth-planDefinitionRole | |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
url | Σ | 0..1 | uri | Logical URI to reference this plan definition (globally unique) |
identifier | Σ | 0..* | Identifier | Additional identifier for the plan definition |
version | Σ | 1..1 | string | Business version of the plan definition |
name | Σ | 0..1 | string | Name for this plan definition (computer friendly) |
title | Σ | 0..1 | string | Name for this plan definition (human friendly) |
type | Σ | 0..1 | CodeableConcept | order-set | protocol | eca-rule Binding: PlanDefinitionType (extensible) |
status | ?!Σ | 1..1 | code | draft | active | retired | unknown Binding: PublicationStatus (required) |
experimental | ?!Σ | 0..1 | boolean | For testing purposes, not real usage |
date | Σ | 0..1 | dateTime | Date this was last changed |
publisher | Σ | 0..1 | string | Name of the publisher (organization or individual) |
description | Σ | 0..1 | markdown | Natural language description of the plan definition |
purpose | 0..1 | markdown | Why this plan definition is defined | |
usage | 0..1 | string | Describes the clinical usage of the asset | |
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 |
useContext | Σ | 0..* | UsageContext | Context the content is intended to support |
jurisdiction | Σ | 0..* | CodeableConcept | Intended jurisdiction for plan definition (if applicable) Binding: Jurisdiction ValueSet (extensible) |
topic | 0..* | CodeableConcept | E.g. Education, Treatment, Assessment, etc Binding: DefinitionTopic (example) | |
contributor | 0..* | Contributor | A content contributor | |
contact | Σ | 0..* | ContactDetail | Contact details for the publisher |
copyright | 0..1 | markdown | Use and/or publishing restrictions | |
relatedArtifact | 0..* | RelatedArtifact | Related artifacts for the asset | |
library | 0..* | Reference(eHealth Library) | Logic used by the plan definition | |
goal | I | 0..* | BackboneElement | What the plan is trying to accomplish |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
category | 0..1 | CodeableConcept | E.g. Treatment, dietary, behavioral, etc Binding: GoalCategory (example) | |
description | 1..1 | CodeableConcept | Code or text describing the goal Binding: SNOMED CT Clinical Findings (example) | |
priority | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority Binding: GoalPriority (preferred) | |
start | 0..1 | CodeableConcept | When goal pursuit begins Binding: GoalStartEvent (example) | |
addresses | 0..* | CodeableConcept | What does the goal address Binding: Condition/Problem/Diagnosis Codes (example) | |
documentation | 0..* | RelatedArtifact | Supporting documentation for the goal | |
target | I | 0..* | BackboneElement | Target outcome for the goal |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
measure | 0..1 | CodeableConcept | The parameter whose value is to be tracked Binding: LOINC Codes (example) | |
detail[x] | 0..1 | Quantity, Range, CodeableConcept | The target value to be achieved | |
due | 0..1 | Duration | Reach goal within | |
action | I | 0..* | BackboneElement | Action defined by the plan |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
label | 0..1 | string | User-visible label for the action (e.g. 1. or A.) | |
title | 0..1 | string | User-visible title | |
description | 0..1 | string | Short 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 | |
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 | |
triggerDefinition | 0..* | TriggerDefinition | When the action should be triggered | |
condition | I | 0..* | BackboneElement | Whether or not the action is applicable |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
kind | 1..1 | code | applicability | start | stop Binding: ActionConditionKind (required) | |
description | 0..1 | string | Natural language description of the condition | |
language | 0..1 | string | Language of the expression | |
expression | 0..1 | string | Boolean-valued expression | |
input | 0..* | DataRequirement | Input data requirements | |
output | 0..* | DataRequirement | Output data definition | |
relatedAction | I | 0..* | BackboneElement | Relationship to another action |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
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) | |
offset[x] | 0..1 | Duration, Range | Time offset for the relationship | |
timing[x] | 0..1 | dateTime, Period, Duration, Range, Timing | When the action should take place | |
participant | I | 0..* | BackboneElement | Who should participate in the action |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
type | 1..1 | code | patient | practitioner | related-person Binding: ActionParticipantType (required) | |
role | 0..1 | CodeableConcept | E.g. Nurse, Surgeon, Parent, etc Binding: ActionParticipantRole (example) | |
type | 0..1 | Coding | create | update | remove | fire-event Binding: ActionType (required) | |
groupingBehavior | 0..1 | code | visual-group | logical-group | sentence-group Binding: ActionGroupingBehavior (required) | |
selectionBehavior | 0..1 | code | any | all | all-or-none | exactly-one | at-most-one | one-or-more Binding: ActionSelectionBehavior (required) | |
requiredBehavior | 0..1 | code | must | could | must-unless-documented Binding: ActionRequiredBehavior (required) | |
precheckBehavior | 0..1 | code | yes | no Binding: ActionPrecheckBehavior (required) | |
cardinalityBehavior | 0..1 | code | single | multiple Binding: ActionCardinalityBehavior (required) | |
definition | 0..1 | Reference(eHealth ActivityDefinition | eHealth PlanDefinition) | Description of the activity to be performed | |
transform | 0..1 | Reference(StructureMap) | Transform to apply the template | |
dynamicValue | I | 0..* | BackboneElement | Dynamic aspects of the definition |
id | 0..1 | string | xml:id (or equivalent in JSON) | |
extension | 0..* | Extension | Additional Content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored |
description | 0..1 | string | Natural language description of the dynamic value | |
path | 0..1 | string | The path to the element to be set dynamically | |
language | 0..1 | string | Language of the expression | |
expression | 0..1 | string | An expression that provides the dynamic value for the customization | |
action | 0..* | Unknown reference to #PlanDefinition.action A sub-action | ||
Documentation for this format |
Path | Name | Conformance | ValueSet |
PlanDefinition.language | Common Languages | extensible | Common Languages |
PlanDefinition.type | PlanDefinitionType | extensible | PlanDefinitionType |
PlanDefinition.status | PublicationStatus | required | PublicationStatus |
PlanDefinition.jurisdiction | Jurisdiction ValueSet | extensible | Jurisdiction ValueSet |
PlanDefinition.topic | DefinitionTopic | example | DefinitionTopic |
PlanDefinition.goal.category | GoalCategory | example | GoalCategory |
PlanDefinition.goal.description | SNOMED CT Clinical Findings | example | SNOMED CT Clinical Findings |
PlanDefinition.goal.priority | GoalPriority | preferred | GoalPriority |
PlanDefinition.goal.start | GoalStartEvent | example | GoalStartEvent |
PlanDefinition.goal.addresses | Condition/Problem/Diagnosis Codes | example | Condition/Problem/Diagnosis Codes |
PlanDefinition.goal.target.measure | LOINC Codes | example | LOINC Codes |
PlanDefinition.action.condition.kind | ActionConditionKind | required | ActionConditionKind |
PlanDefinition.action.relatedAction.relationship | ActionRelationshipType | required | ActionRelationshipType |
PlanDefinition.action.participant.type | ActionParticipantType | required | ActionParticipantType |
PlanDefinition.action.participant.role | ActionParticipantRole | example | ActionParticipantRole |
PlanDefinition.action.type | ActionType | required | ActionType |
PlanDefinition.action.groupingBehavior | ActionGroupingBehavior | required | ActionGroupingBehavior |
PlanDefinition.action.selectionBehavior | ActionSelectionBehavior | required | ActionSelectionBehavior |
PlanDefinition.action.requiredBehavior | ActionRequiredBehavior | required | ActionRequiredBehavior |
PlanDefinition.action.precheckBehavior | ActionPrecheckBehavior | required | ActionPrecheckBehavior |
PlanDefinition.action.cardinalityBehavior | ActionCardinalityBehavior | 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.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.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()) |