Advance Care Planning (PZP)
1.0.0-rc1 - trial-use

Advance Care Planning (PZP), published by IKNL. This guide is not an authorized publication; it is the continuous build for version 1.0.0-rc1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IKNL/PZP-FHIR-R4/ and changes regularly. See the Directory of published versions

## Resource Profile: ACPMedicalPolicyGoal - Detailed Descriptions

Draft as of 2025-10-31

Definitions for the ACP-Medical-Policy-Goal resource profile.

- Key Elements Table
- Differential Elements Table
- Snapshot Elements Table

Guidance on how to interpret the contents of this table can be foundhere

0. Goal
Definition | Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.
Short | Describes the intended objective(s) for a patient, group or organization
Comments | Goal can be achieving a particular change or merely maintaining a current state or even slowing a decline.
Control | 0..*
Is Modifier | false
Summary | false
Invariants | dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (`contained.contained.empty()`) dom-3: If 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-4: 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-5: If a resource is contained in another resource, it SHALL NOT have a security label (`contained.meta.security.empty()`) dom-6: A resource should have narrative for robust management (`text.`div`.exists()`) dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (contained.contained.empty()) dom-3: If 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-4: 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-5: If a resource is contained in another resource, it SHALL NOT have a security label (contained.meta.security.empty()) dom-6: A resource should have narrative for robust management (text.`div`.exists())
2. Goal.implicitRules
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
Short | A set of rules under which this content was created
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.
Control | 0..1
Type | uri
Is Modifier | true because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
4. Goal.extension
Definition | An Extension May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | ExtensionAdditional content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`) ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
Slicing | This element introduces a set of slices on `Goal.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
6. Goal.extension:encounter
Slice Name | encounter
Definition | An extension to link the Encounter during which the Consent, Goal or DeviceUseStatement was created or to which the creation is tightly associated.
Short | ext Encounter Reference
Control | 0..1 This element is affected by the following invariants: ele-1
Type | Extension(ext Encounter Reference) (Extension Type: Reference(Encounter))
Is Modifier | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`) ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
8. Goal.extension:encounter.extension
Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | ExtensionAdditional content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..0*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`) ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
Slicing | This element introduces a set of slices on `Goal.extension.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
10. Goal.extension:encounter.url
Definition | Source of the definition for the extension code - a logical name or a URL.
Short | identifies the meaning of the extension
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
Control | 1..1
Type | uri
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
Fixed Value | `https://api.iknl.nl/docs/pzp/r4/StructureDefinition/ext-EncounterReference`
12. Goal.extension:encounter.value[x]
Definition | The Encounter during which this resource was created or to which the creation is tightly associated. Value of extension - must be one of a constrained set of the data types (see Extensibility for a list).
Short | EncounterValue of extension
Comments | This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. completing the administrative registration after the encounter).
Control | 0..1
Type | Reference(Encounter), date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, Coding, SampledData, id, positiveInt, Distance, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, CodeableConcept, ParameterDefinition, dateTime, code, string, Contributor, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, Signature, unsignedInt, time
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Is Modifier | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
14. Goal.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Short | Extensions that cannot be ignored
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
Summary | false
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`) ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
16. Goal.lifecycleStatus
Definition | The state of the goal throughout its lifecycle.
Short | proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected
Comments | This element is labeled as a modifier because the lifecycleStatus contains codes that mark the resource as not currently valid.
Control | 1..1
Binding | The codes SHALL be taken from GoalLifecycleStatus http://hl7.org/fhir/ValueSet/goal-status|4.0.1 (required to `http://hl7.org/fhir/ValueSet/goal-status|4.0.1` ) Codes that reflect the current state of a goal and whether the goal is still being targeted.
Type | code
Is Modifier | true because This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | Allows knowing whether goal needs to be further tracked.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
18. Goal.description
Definition | Human-readable and/or coded description of a specific desired objective of care, such as "control blood pressure" or "negotiate an obstacle course" or "dance with child at wedding".
Short | Code or text describing goal
Comments | If no code is available, use CodeableConcept.text.
Control | 1..1
Binding | The codes SHALL be taken from For example codes, see MedicalPolicyGoalVS (1.0.0-rc1)http://hl7.org/fhir/ValueSet/clinical-findings|4.0.1 (required to `https://api.iknl.nl/docs/pzp/r4/ValueSet/ACP-MedicalPolicyGoal|1.0.0-rc1` )
Type | CodeableConcept
Is Modifier | false
Obligations |
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Summary | true
Requirements | Without a description of what's trying to be achieved, element has no purpose.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
20. Goal.subject
Definition | Identifies the patient, group or organization for whom the goal is being established.
Short | Who this goal is intended for
Control | 1..1
Type | Reference(Patient, Patient, Group, Organization)
Is Modifier | false
Obligations |
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Summary | true
Requirements | Subject is optional to support annonymized reporting.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
22. Goal.start[x]
Definition | The date or event after which the goal should begin being pursued.
Short | When goal pursuit begins
Control | 0..1
Binding | For example codes, see GoalStartEvent http://hl7.org/fhir/ValueSet/goal-start-event|4.0.1 (example to `http://hl7.org/fhir/ValueSet/goal-start-event|4.0.1` ) Codes describing events that can trigger the initiation of a goal.
Type | Choice of: date, CodeableConcept
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | Goals can be established prior to there being an intention to start pursuing them; e.g. Goals for post-surgical recovery established prior to surgery.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
Slicing | This element introduces a set of slices on `Goal.start[x]`. The slices areUnordered and Open, and can be differentiated using the following discriminators: type @ $this
24. Goal.start[x]:startDate
Slice Name | startDate
Definition | The date or event after which the goal should begin being pursued.
Short | When goal pursuit begins
Control | 0..1
Type | date, CodeableConcept
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Obligations |
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Summary | true
Requirements | Goals can be established prior to there being an intention to start pursuing them; e.g. Goals for post-surgical recovery established prior to surgery.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))

Guidance on how to interpret the contents of this table can be foundhere

0. Goal
2. Goal.extension
Slicing | This element introduces a set of slices on `Goal.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
4. Goal.extension:encounter
Slice Name | encounter
Control | 0..1
Type | Extension(ext Encounter Reference) (Extension Type: Reference(Encounter))
6. Goal.extension:encounter.value[x]
Type | Reference(Encounter)
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
8. Goal.description
Binding | The codes SHALL be taken from MedicalPolicyGoalVS (1.0.0-rc1) (required to `https://api.iknl.nl/docs/pzp/r4/ValueSet/ACP-MedicalPolicyGoal|1.0.0-rc1` )
Obligations |
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
10. Goal.subject
Type | Reference(Patient)
Obligations |
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
12. Goal.start[x]
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Slicing | This element introduces a set of slices on `Goal.start[x]`. The slices areUnordered and Open, and can be differentiated using the following discriminators: type @ $this
14. Goal.start[x]:startDate
Slice Name | startDate
Control | 0..1
Type | date
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Obligations |
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
16. Goal.note
18. Goal.note.text
Obligations |
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter

Guidance on how to interpret the contents of this table can be foundhere

0. Goal
Definition | Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc.
Short | Describes the intended objective(s) for a patient, group or organization
Comments | Goal can be achieving a particular change or merely maintaining a current state or even slowing a decline.
Control | 0..*
Is Modifier | false
Summary | false
Invariants | dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources (`contained.contained.empty()`) dom-3: If 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-4: 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-5: If a resource is contained in another resource, it SHALL NOT have a security label (`contained.meta.security.empty()`) dom-6: A resource should have narrative for robust management (`text.`div`.exists()`)
2. Goal.id
Definition | The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.
Short | Logical id of this artifact
Comments | The only time that a resource does not have an id is when it is being submitted to the server using a create operation.
Control | 0..1
Type | id
Is Modifier | false
Summary | true
4. Goal.meta
Definition | The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource.
Short | Metadata about the resource
Control | 0..1
Type | Meta
Is Modifier | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
6. Goal.implicitRules
Definition | A reference to a set of rules that were followed when the resource was constructed, and which must be understood when processing the content. Often, this is a reference to an implementation guide that defines the special rules along with other profiles etc.
Short | A set of rules under which this content was created
Comments | Asserting this rule set restricts the content to be only understood by a limited set of trading partners. This inherently limits the usefulness of the data in the long term. However, the existing health eco-system is highly fractured, and not yet ready to define, collect, and exchange data in a generally computable sense. Wherever possible, implementers and/or specification writers should avoid using this element. Often, when used, the URL is a reference to an implementation guide that defines these special rules as part of it's narrative along with other profiles, value sets, etc.
Control | 0..1
Type | uri
Is Modifier | true because This element is labeled as a modifier because the implicit rules may provide additional knowledge about the resource that modifies it's meaning or interpretation
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
8. Goal.language
Definition | The base language in which the resource is written.
Short | Language of the resource content
Comments | Language is provided to support indexing and accessibility (typically, services such as text to speech use the language tag). The html language tag in the narrative applies to the narrative. The language tag on the resource may be used to specify the language of other presentations generated from the data in the resource. Not all the content has to be in the base language. The Resource.language should not be assumed to apply to the narrative automatically. If a language is specified, it should it also be specified on the div element in the html (see rules in HTML5 for information about the relationship between xml:lang and the html lang attribute).
Control | 0..1
Binding | The codes SHOULD be taken from CommonLanguages (preferred to `http://hl7.org/fhir/ValueSet/languages|4.0.1` ) A human language.
Additional Bindings | Purpose
AllLanguages | Max Binding
Type | code
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
10. Goal.text
Definition | A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it "clinically safe" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.
Short | Text summary of the resource, for human interpretation
Comments | Contained resources do not have narrative. Resources that are not contained SHOULD have a narrative. In some cases, a resource may only have text with little or no additional discrete data (as long as all minOccurs=1 elements are satisfied). This may be necessary for data from legacy systems where information is captured as a "text blob" or where text is additionally entered raw or narrated and encoded information is added later.
Control | 0..1
Type | Narrative
Is Modifier | false
Summary | false
Alternate Names | narrative, html, xhtml, display
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
12. Goal.contained
Definition | These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope.
Short | Contained, inline Resources
Comments | This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.
Control | 0..*
Type | Resource
Is Modifier | false
Summary | false
Alternate Names | inline resources, anonymous resources, contained resources
14. Goal.extension
Definition | An Extension
Short | Extension
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
Slicing | This element introduces a set of slices on `Goal.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
16. Goal.extension:encounter
Slice Name | encounter
Definition | An extension to link the Encounter during which the Consent, Goal or DeviceUseStatement was created or to which the creation is tightly associated.
Short | ext Encounter Reference
Control | 0..1 This element is affected by the following invariants: ele-1
Type | Extension(ext Encounter Reference) (Extension Type: Reference(Encounter))
Is Modifier | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
18. Goal.extension:encounter.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
20. Goal.extension:encounter.extension
Definition | An Extension
Short | Extension
Control | 0..0
Type | Extension
Is Modifier | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
Slicing | This element introduces a set of slices on `Goal.extension.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
22. Goal.extension:encounter.url
Definition | Source of the definition for the extension code - a logical name or a URL.
Short | identifies the meaning of the extension
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
Control | 1..1
Type | uri
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
Fixed Value | `https://api.iknl.nl/docs/pzp/r4/StructureDefinition/ext-EncounterReference`
24. Goal.extension:encounter.value[x]
Definition | The Encounter during which this resource was created or to which the creation is tightly associated.
Short | Encounter
Comments | This will typically be the encounter the event occurred within, but some activities may be initiated prior to or after the official completion of an encounter but still be tied to the context of the encounter (e.g. completing the administrative registration after the encounter).
Control | 0..1
Type | Reference(Encounter)
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Is Modifier | false
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
26. Goal.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Short | Extensions that cannot be ignored
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the resource that contains them
Summary | false
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
28. Goal.identifier
Definition | Business identifiers assigned to this goal by the performer or other systems which remain constant as the resource is updated and propagates from server to server.
Short | External Ids for this goal
Comments | This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number.
Note | This is a business identifier, not a resource identifier (see discussion)
Control | 0..*
Type | Identifier
Is Modifier | false
Summary | false
Requirements | Allows identification of the goal as it is known by various participating systems and in a way that remains consistent across servers.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
30. Goal.lifecycleStatus
Definition | The state of the goal throughout its lifecycle.
Short | proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected
Comments | This element is labeled as a modifier because the lifecycleStatus contains codes that mark the resource as not currently valid.
Control | 1..1
Binding | The codes SHALL be taken from GoalLifecycleStatus (required to `http://hl7.org/fhir/ValueSet/goal-status|4.0.1` ) Codes that reflect the current state of a goal and whether the goal is still being targeted.
Type | code
Is Modifier | true because This element is labelled as a modifier because it is a status element that contains status entered-in-error which means that the resource should not be treated as valid
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | Allows knowing whether goal needs to be further tracked.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
32. Goal.achievementStatus
Definition | Describes the progression, or lack thereof, towards the goal against the target.
Short | in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable
Control | 0..1
Binding | The codes SHOULD be taken from GoalAchievementStatus (preferred to `http://hl7.org/fhir/ValueSet/goal-achievement|4.0.1` ) Indicates the progression, or lack thereof, towards the goal against the target.
Type | CodeableConcept
Is Modifier | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
34. Goal.category
Definition | Indicates a category the goal falls within.
Short | E.g. Treatment, dietary, behavioral, etc.
Control | 0..*
Binding | For example codes, see GoalCategory (example to `http://hl7.org/fhir/ValueSet/goal-category|4.0.1` ) Codes for grouping and sorting goals.
Type | CodeableConcept
Is Modifier | false
Summary | true
Requirements | Allows goals to be filtered and sorted.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
36. Goal.priority
Definition | Identifies the mutually agreed level of importance associated with reaching/sustaining the goal.
Short | high-priority | medium-priority | low-priority
Comments | Extensions are available to track priorities as established by each participant (i.e. Priority from the patient's perspective, different practitioners' perspectives, family member's perspectives) The ordinal extension on Coding can be used to convey a numerically comparable ranking to priority. (Keep in mind that different coding systems may use a "low value=important".
Control | 0..1
Binding | The codes SHOULD be taken from GoalPriority (preferred to `http://hl7.org/fhir/ValueSet/goal-priority|4.0.1` ) The level of importance associated with a goal.
Type | CodeableConcept
Is Modifier | false
Summary | true
Requirements | Used for sorting and presenting goals.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
38. Goal.description
Definition | Human-readable and/or coded description of a specific desired objective of care, such as "control blood pressure" or "negotiate an obstacle course" or "dance with child at wedding".
Short | Code or text describing goal
Comments | If no code is available, use CodeableConcept.text.
Control | 1..1
Binding | The codes SHALL be taken from MedicalPolicyGoalVS (1.0.0-rc1) (required to `https://api.iknl.nl/docs/pzp/r4/ValueSet/ACP-MedicalPolicyGoal|1.0.0-rc1` )
Type | CodeableConcept
Is Modifier | false
Obligations |
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Summary | true
Requirements | Without a description of what's trying to be achieved, element has no purpose.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
40. Goal.subject
Definition | Identifies the patient, group or organization for whom the goal is being established.
Short | Who this goal is intended for
Control | 1..1
Type | Reference(Patient)
Is Modifier | false
Obligations |
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Summary | true
Requirements | Subject is optional to support annonymized reporting.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
42. Goal.start[x]
Definition | The date or event after which the goal should begin being pursued.
Short | When goal pursuit begins
Control | 0..1
Binding | For example codes, see GoalStartEvent (example to `http://hl7.org/fhir/ValueSet/goal-start-event|4.0.1` ) Codes describing events that can trigger the initiation of a goal.
Type | Choice of: date, CodeableConcept
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | Goals can be established prior to there being an intention to start pursuing them; e.g. Goals for post-surgical recovery established prior to surgery.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
Slicing | This element introduces a set of slices on `Goal.start[x]`. The slices areUnordered and Open, and can be differentiated using the following discriminators: type @ $this
44. Goal.start[x]:startDate
Slice Name | startDate
Definition | The date or event after which the goal should begin being pursued.
Short | When goal pursuit begins
Control | 0..1
Type | date
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Obligations |
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Summary | true
Requirements | Goals can be established prior to there being an intention to start pursuing them; e.g. Goals for post-surgical recovery established prior to surgery.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
46. Goal.target
Definition | Indicates what should be done by when.
Short | Target outcome for the goal
Comments | When multiple targets are present for a single goal instance, all targets must be met for the overall goal to be met.
Control | 0..* This element is affected by the following invariants: gol-1
Type | BackboneElement
Is Modifier | false
Summary | false
Requirements | Allows the progress of the goal to be monitored against an observation or due date. Target is 0..* to support Observations with multiple components, such as blood pressure goals with both a systolic and diastolic target.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) gol-1: Goal.target.measure is required if Goal.target.detail is populated (`(detail.exists() and measure.exists()) or detail.exists().not()`)
48. Goal.target.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
50. Goal.target.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
52. Goal.target.modifierExtension
Definition | May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions. Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).
Short | Extensions that cannot be ignored even if unrecognized
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | true because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
Summary | true
Requirements | Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.
Alternate Names | extensions, user content, modifiers
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
54. Goal.target.measure
Definition | The parameter whose value is being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.
Short | The parameter whose value is being tracked
Control | 0..1 This element is affected by the following invariants: gol-1
Binding | For example codes, see LOINCCodes (example to `http://hl7.org/fhir/ValueSet/observation-codes|4.0.1` ) Codes to identify the value being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level.
Type | CodeableConcept
Is Modifier | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
56. Goal.target.detail[x]
Definition | The target value of the focus to be achieved to signify the fulfillment of the goal, e.g. 150 pounds, 7.0%. Either the high or low or both values of the range can be specified. When a low value is missing, it indicates that the goal is achieved at any focus value at or below the high value. Similarly, if the high value is missing, it indicates that the goal is achieved at any focus value at or above the low value.
Short | The target value to be achieved
Comments | A CodeableConcept with just a text would be used instead of a string if the field was usually coded, or if the type associated with the Goal.target.measure defines a coded value.
Control | 0..1 This element is affected by the following invariants: gol-1
Binding | Codes to identify the target value of the focus to be achieved to signify the fulfillment of the goal.
Type | Choice of: Quantity, Range, CodeableConcept, string, boolean, integer, Ratio
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
58. Goal.target.due[x]
Definition | Indicates either the date or the duration after start by which the goal should be met.
Short | Reach goal on or before
Control | 0..1
Type | Choice of: date, Duration
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Requirements | Identifies when the goal should be evaluated.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
60. Goal.statusDate
Definition | Identifies when the current status. I.e. When initially created, when achieved, when cancelled, etc.
Short | When goal status took effect
Comments | To see the date for past statuses, query history.
Control | 0..1
Type | date
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
62. Goal.statusReason
Definition | Captures the reason for the current status.
Short | Reason for current status
Comments | This will typically be captured for statuses such as rejected, on-hold or cancelled, but could be present for others.
Control | 0..1
Type | string
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | false
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
64. Goal.expressedBy
Definition | Indicates whose goal this is - patient goal, practitioner goal, etc.
Short | Who's responsible for creating Goal?
Comments | This is the individual responsible for establishing the goal, not necessarily who recorded it. (For that, use the Provenance resource.).
Control | 0..1
Type | Reference(Patient, Practitioner, PractitionerRole, RelatedPerson)
Is Modifier | false
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
66. Goal.addresses
Definition | The identified conditions and other health record elements that are intended to be addressed by the goal.
Short | Issues addressed by this goal
Control | 0..*
Type | Reference(Condition, Observation, MedicationStatement, NutritionOrder, ServiceRequest, RiskAssessment)
Is Modifier | false
Summary | false
Requirements | Allows specific goals to explicitly linked to the concerns they're dealing with - makes the goal more understandable.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
68. Goal.note
Definition | Any comments related to the goal.
Short | Comments about the goal
Comments | May be used for progress notes, concerns or other related information that doesn't actually describe the goal itself.
Control | 0..*
Type | Annotation
Is Modifier | false
Summary | false
Requirements | There's a need to capture information about the goal that doesn't actually describe the goal.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
70. Goal.note.id
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
Short | Unique id for inter-element referencing
Control | 0..1
Type | string
Is Modifier | false
XML Format | In the XML format, this property is represented as an attribute.
Summary | false
72. Goal.note.extension
Definition | May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
Short | Additional content defined by implementations
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
Control | 0..*
Type | Extension
Is Modifier | false
Summary | false
Alternate Names | extensions, user content
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`) ext-1: Must have either extensions or value[x], not both (`extension.exists() != value.exists()`)
Slicing | This element introduces a set of slices on `Goal.note.extension`. The slices areUnordered and Open, and can be differentiated using the following discriminators: value @ url
74. Goal.note.author[x]
Definition | The individual responsible for making the annotation.
Short | Individual responsible for the annotation
Comments | Organization is used when there's no need for specific attribution as to who made the comment.
Control | 0..1
Type | Choice of: Reference(Practitioner, Patient, RelatedPerson, Organization), string
[x] Note | SeeChoice of Data Typesfor further information about how to use [x]
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
76. Goal.note.time
Definition | Indicates when this particular annotation was made.
Short | When the annotation was made
Control | 0..1
Type | dateTime
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
78. Goal.note.text
Definition | The text of the annotation in markdown format.
Short | The annotation - text content (as markdown)
Control | 1..1
Type | markdown
Is Modifier | false
Primitive Value | This primitive element may be present, or absent, or replaced by an extension
Obligations |
Obligations | Actor
SHALL:populate-if-known | ACP Actor Provider
SHALL:no-error | ACP Actor Consulter
Summary | true
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
80. Goal.outcomeCode
Definition | Identifies the change (or lack of change) at the point when the status of the goal is assessed.
Short | What result was achieved regarding the goal?
Comments | Note that this should not duplicate the goal status.
Control | 0..*
Binding | For example codes, see SNOMEDCTClinicalFindings (example to `http://hl7.org/fhir/ValueSet/clinical-findings|4.0.1` ) The result of the goal; e.g. "25% increase in shoulder mobility", "Anxiety reduced to moderate levels". "15 kg weight loss sustained over 6 months".
Type | CodeableConcept
Is Modifier | false
Summary | false
Requirements | Outcome tracking is a key aspect of care planning.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)
82. Goal.outcomeReference
Definition | Details of what's changed (or not changed).
Short | Observation that resulted from goal
Comments | The goal outcome is independent of the outcome of the related activities. For example, if the Goal is to achieve a target body weight of 150 lb and a care plan activity is defined to diet, then the care plan’s activity outcome could be calories consumed whereas goal outcome is an observation for the actual body weight measured.
Control | 0..*
Type | Reference(Observation)
Is Modifier | false
Summary | false
Requirements | Outcome tracking is a key aspect of care planning.
Invariants | ele-1: All FHIR elements must have a @value or children (`hasValue() or (children().count() > id.count())`)