This page is part of the FHIR Specification v4.3.0-snapshot1: R4B Snapshot to support the Jan 2022 Connectathon. About the R4B version of FHIR. The current officially released version is 4.3.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
Patient Care Work Group | Maturity Level: 2 | Trial Use | Security Category: Patient | Compartments: Patient |
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.
A Goal in health care services delivery is generally an expressed desired health state to be achieved by a subject of care (or family/group) over a period or at a specific point of time. This desired target health state may be achieved as a result of health care intervention(s) or resulting from natural recovery over time. For example:
Goals may address the prevention of illness, cure or mitigation of a condition, prolongation of life, or mitigation of pain and discomfort.
When dealing with groups, goals may also reflect health state, such as a reduction of addiction behaviors. However, they may also reflect population health objectives such as education, screening, etc.
Organizational goals are typically not health state specific but may instead identify measurement targets such as infection control, cost management, patient satisfaction, etc.
Goals are typically established in the context of a CarePlan. However, goals may also be directly referenced by request-type resources (e.g. MedicationRequest or ServiceRequest) by using an extension.
A goal represents a specific goal instance for a particular patient, group, etc. It is not intended to be used to define types of potential goals as part of an order set or protocol definition. Protocol definitions and order sets are supported through PlanDefinition. The Goal resource is intended to be used once an order set is instantiated or assigned to a patient, which is when the potential goals become the actual goals, if not changed or deleted.
Goals are often evaluated using Observations.
This resource is referenced by CarePlan.
This resource does not implement any patterns.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Goal | TU | DomainResource | Describes the intended objective(s) for a patient, group or organization Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | 0..* | Identifier | External Ids for this goal | |
lifecycleStatus | ?!Σ | 1..1 | code | proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected GoalLifecycleStatus (Required) |
achievementStatus | Σ | 0..1 | CodeableConcept | in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable GoalAchievementStatus (Preferred) |
category | Σ | 0..* | CodeableConcept | E.g. Treatment, dietary, behavioral, etc. GoalCategory (Example) |
priority | Σ | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority GoalPriority (Preferred) |
description | Σ | 1..1 | CodeableConcept | Code or text describing goal SNOMED CT Clinical Findings (Example) |
subject | Σ | 1..1 | Reference(Patient | Group | Organization) | Who this goal is intended for |
start[x] | Σ | 0..1 | When goal pursuit begins GoalStartEvent (Example) | |
startDate | date | |||
startCodeableConcept | CodeableConcept | |||
target | I | 0..* | BackboneElement | Target outcome for the goal + Rule: Goal.target.measure is required if Goal.target.detail is populated |
measure | ΣI | 0..1 | CodeableConcept | The parameter whose value is being tracked LOINC Codes (Example) |
detail[x] | ΣI | 0..1 | The target value to be achieved GoalTargetDetail (Example) | |
detailQuantity | Quantity | |||
detailRange | Range | |||
detailCodeableConcept | CodeableConcept | |||
detailString | string | |||
detailBoolean | boolean | |||
detailInteger | integer | |||
detailRatio | Ratio | |||
due[x] | Σ | 0..1 | Reach goal on or before | |
dueDate | date | |||
dueDuration | Duration | |||
statusDate | Σ | 0..1 | date | When goal status took effect |
statusReason | 0..1 | string | Reason for current status | |
expressedBy | Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) | Who's responsible for creating Goal? |
addresses | 0..* | Reference(Condition | Observation | MedicationStatement | NutritionOrder | ServiceRequest | RiskAssessment) | Issues addressed by this goal | |
note | 0..* | Annotation | Comments about the goal | |
outcomeCode | 0..* | CodeableConcept | What result was achieved regarding the goal? SNOMED CT Clinical Findings (Example) | |
outcomeReference | 0..* | Reference(Observation) | Observation that resulted from goal | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<Goal xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External Ids for this goal --></identifier> <lifecycleStatus value="[code]"/><!-- 1..1 proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected --> <achievementStatus><!-- 0..1 CodeableConcept in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable --></achievementStatus> <category><!-- 0..* CodeableConcept E.g. Treatment, dietary, behavioral, etc. --></category> <priority><!-- 0..1 CodeableConcept high-priority | medium-priority | low-priority --></priority> <description><!-- 1..1 CodeableConcept Code or text describing goal --></description> <subject><!-- 1..1 Reference(Group|Organization|Patient) Who this goal is intended for --></subject> <start[x]><!-- 0..1 date|CodeableConcept When goal pursuit begins --></start[x]> <target> <!-- 0..* Target outcome for the goal --> <measure><!-- 0..1 CodeableConcept The parameter whose value is being tracked --></measure> <detail[x]><!-- 0..1 Quantity|Range|CodeableConcept|string|boolean|integer| Ratio The target value to be achieved --></detail[x]> <due[x]><!-- 0..1 date|Duration Reach goal on or before --></due[x]> </target> <statusDate value="[date]"/><!-- 0..1 When goal status took effect --> <statusReason value="[string]"/><!-- 0..1 Reason for current status --> <expressedBy><!-- 0..1 Reference(Patient|Practitioner|PractitionerRole| RelatedPerson) Who's responsible for creating Goal? --></expressedBy> <addresses><!-- 0..* Reference(Condition|MedicationStatement|NutritionOrder| Observation|RiskAssessment|ServiceRequest) Issues addressed by this goal --></addresses> <note><!-- 0..* Annotation Comments about the goal --></note> <outcomeCode><!-- 0..* CodeableConcept What result was achieved regarding the goal? --></outcomeCode> <outcomeReference><!-- 0..* Reference(Observation) Observation that resulted from goal --></outcomeReference> </Goal>
JSON Template
{ "resourceType" : "Goal", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External Ids for this goal "lifecycleStatus" : "<code>", // R! proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected "achievementStatus" : { CodeableConcept }, // in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable "category" : [{ CodeableConcept }], // E.g. Treatment, dietary, behavioral, etc. "priority" : { CodeableConcept }, // high-priority | medium-priority | low-priority "description" : { CodeableConcept }, // R! Code or text describing goal "subject" : { Reference(Group|Organization|Patient) }, // R! Who this goal is intended for // start[x]: When goal pursuit begins. One of these 2: "startDate" : "<date>", "startCodeableConcept" : { CodeableConcept }, "target" : [{ // C? Target outcome for the goal "measure" : { CodeableConcept }, // C? The parameter whose value is being tracked // detail[x]: The target value to be achieved. One of these 7: "detailQuantity" : { Quantity }, "detailRange" : { Range }, "detailCodeableConcept" : { CodeableConcept }, "detailString" : "<string>", "detailBoolean" : <boolean>, "detailInteger" : <integer>, "detailRatio" : { Ratio }, // due[x]: Reach goal on or before. One of these 2: "dueDate" : "<date>" "dueDuration" : { Duration } }], "statusDate" : "<date>", // When goal status took effect "statusReason" : "<string>", // Reason for current status "expressedBy" : { Reference(Patient|Practitioner|PractitionerRole| RelatedPerson) }, // Who's responsible for creating Goal? "addresses" : [{ Reference(Condition|MedicationStatement|NutritionOrder| Observation|RiskAssessment|ServiceRequest) }], // Issues addressed by this goal "note" : [{ Annotation }], // Comments about the goal "outcomeCode" : [{ CodeableConcept }], // What result was achieved regarding the goal? "outcomeReference" : [{ Reference(Observation) }] // Observation that resulted from goal }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:Goal; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:Goal.identifier [ Identifier ], ... ; # 0..* External Ids for this goal fhir:Goal.lifecycleStatus [ code ]; # 1..1 proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected fhir:Goal.achievementStatus [ CodeableConcept ]; # 0..1 in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable fhir:Goal.category [ CodeableConcept ], ... ; # 0..* E.g. Treatment, dietary, behavioral, etc. fhir:Goal.priority [ CodeableConcept ]; # 0..1 high-priority | medium-priority | low-priority fhir:Goal.description [ CodeableConcept ]; # 1..1 Code or text describing goal fhir:Goal.subject [ Reference(Group|Organization|Patient) ]; # 1..1 Who this goal is intended for # Goal.start[x] : 0..1 When goal pursuit begins. One of these 2 fhir:Goal.startDate [ date ] fhir:Goal.startCodeableConcept [ CodeableConcept ] fhir:Goal.target [ # 0..* Target outcome for the goal fhir:Goal.target.measure [ CodeableConcept ]; # 0..1 The parameter whose value is being tracked # Goal.target.detail[x] : 0..1 The target value to be achieved. One of these 7 fhir:Goal.target.detailQuantity [ Quantity ] fhir:Goal.target.detailRange [ Range ] fhir:Goal.target.detailCodeableConcept [ CodeableConcept ] fhir:Goal.target.detailString [ string ] fhir:Goal.target.detailBoolean [ boolean ] fhir:Goal.target.detailInteger [ integer ] fhir:Goal.target.detailRatio [ Ratio ] # Goal.target.due[x] : 0..1 Reach goal on or before. One of these 2 fhir:Goal.target.dueDate [ date ] fhir:Goal.target.dueDuration [ Duration ] ], ...; fhir:Goal.statusDate [ date ]; # 0..1 When goal status took effect fhir:Goal.statusReason [ string ]; # 0..1 Reason for current status fhir:Goal.expressedBy [ Reference(Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Who's responsible for creating Goal? fhir:Goal.addresses [ Reference(Condition|MedicationStatement|NutritionOrder|Observation|RiskAssessment| ServiceRequest) ], ... ; # 0..* Issues addressed by this goal fhir:Goal.note [ Annotation ], ... ; # 0..* Comments about the goal fhir:Goal.outcomeCode [ CodeableConcept ], ... ; # 0..* What result was achieved regarding the goal? fhir:Goal.outcomeReference [ Reference(Observation) ], ... ; # 0..* Observation that resulted from goal ]
Changes since R3
Goal | |
Goal.lifecycleStatus |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 2 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.)
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Goal | TU | DomainResource | Describes the intended objective(s) for a patient, group or organization Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | 0..* | Identifier | External Ids for this goal | |
lifecycleStatus | ?!Σ | 1..1 | code | proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected GoalLifecycleStatus (Required) |
achievementStatus | Σ | 0..1 | CodeableConcept | in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable GoalAchievementStatus (Preferred) |
category | Σ | 0..* | CodeableConcept | E.g. Treatment, dietary, behavioral, etc. GoalCategory (Example) |
priority | Σ | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority GoalPriority (Preferred) |
description | Σ | 1..1 | CodeableConcept | Code or text describing goal SNOMED CT Clinical Findings (Example) |
subject | Σ | 1..1 | Reference(Patient | Group | Organization) | Who this goal is intended for |
start[x] | Σ | 0..1 | When goal pursuit begins GoalStartEvent (Example) | |
startDate | date | |||
startCodeableConcept | CodeableConcept | |||
target | I | 0..* | BackboneElement | Target outcome for the goal + Rule: Goal.target.measure is required if Goal.target.detail is populated |
measure | ΣI | 0..1 | CodeableConcept | The parameter whose value is being tracked LOINC Codes (Example) |
detail[x] | ΣI | 0..1 | The target value to be achieved GoalTargetDetail (Example) | |
detailQuantity | Quantity | |||
detailRange | Range | |||
detailCodeableConcept | CodeableConcept | |||
detailString | string | |||
detailBoolean | boolean | |||
detailInteger | integer | |||
detailRatio | Ratio | |||
due[x] | Σ | 0..1 | Reach goal on or before | |
dueDate | date | |||
dueDuration | Duration | |||
statusDate | Σ | 0..1 | date | When goal status took effect |
statusReason | 0..1 | string | Reason for current status | |
expressedBy | Σ | 0..1 | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson) | Who's responsible for creating Goal? |
addresses | 0..* | Reference(Condition | Observation | MedicationStatement | NutritionOrder | ServiceRequest | RiskAssessment) | Issues addressed by this goal | |
note | 0..* | Annotation | Comments about the goal | |
outcomeCode | 0..* | CodeableConcept | What result was achieved regarding the goal? SNOMED CT Clinical Findings (Example) | |
outcomeReference | 0..* | Reference(Observation) | Observation that resulted from goal | |
Documentation for this format |
XML Template
<Goal xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier External Ids for this goal --></identifier> <lifecycleStatus value="[code]"/><!-- 1..1 proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected --> <achievementStatus><!-- 0..1 CodeableConcept in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable --></achievementStatus> <category><!-- 0..* CodeableConcept E.g. Treatment, dietary, behavioral, etc. --></category> <priority><!-- 0..1 CodeableConcept high-priority | medium-priority | low-priority --></priority> <description><!-- 1..1 CodeableConcept Code or text describing goal --></description> <subject><!-- 1..1 Reference(Group|Organization|Patient) Who this goal is intended for --></subject> <start[x]><!-- 0..1 date|CodeableConcept When goal pursuit begins --></start[x]> <target> <!-- 0..* Target outcome for the goal --> <measure><!-- 0..1 CodeableConcept The parameter whose value is being tracked --></measure> <detail[x]><!-- 0..1 Quantity|Range|CodeableConcept|string|boolean|integer| Ratio The target value to be achieved --></detail[x]> <due[x]><!-- 0..1 date|Duration Reach goal on or before --></due[x]> </target> <statusDate value="[date]"/><!-- 0..1 When goal status took effect --> <statusReason value="[string]"/><!-- 0..1 Reason for current status --> <expressedBy><!-- 0..1 Reference(Patient|Practitioner|PractitionerRole| RelatedPerson) Who's responsible for creating Goal? --></expressedBy> <addresses><!-- 0..* Reference(Condition|MedicationStatement|NutritionOrder| Observation|RiskAssessment|ServiceRequest) Issues addressed by this goal --></addresses> <note><!-- 0..* Annotation Comments about the goal --></note> <outcomeCode><!-- 0..* CodeableConcept What result was achieved regarding the goal? --></outcomeCode> <outcomeReference><!-- 0..* Reference(Observation) Observation that resulted from goal --></outcomeReference> </Goal>
JSON Template
{ "resourceType" : "Goal", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // External Ids for this goal "lifecycleStatus" : "<code>", // R! proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected "achievementStatus" : { CodeableConcept }, // in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable "category" : [{ CodeableConcept }], // E.g. Treatment, dietary, behavioral, etc. "priority" : { CodeableConcept }, // high-priority | medium-priority | low-priority "description" : { CodeableConcept }, // R! Code or text describing goal "subject" : { Reference(Group|Organization|Patient) }, // R! Who this goal is intended for // start[x]: When goal pursuit begins. One of these 2: "startDate" : "<date>", "startCodeableConcept" : { CodeableConcept }, "target" : [{ // C? Target outcome for the goal "measure" : { CodeableConcept }, // C? The parameter whose value is being tracked // detail[x]: The target value to be achieved. One of these 7: "detailQuantity" : { Quantity }, "detailRange" : { Range }, "detailCodeableConcept" : { CodeableConcept }, "detailString" : "<string>", "detailBoolean" : <boolean>, "detailInteger" : <integer>, "detailRatio" : { Ratio }, // due[x]: Reach goal on or before. One of these 2: "dueDate" : "<date>" "dueDuration" : { Duration } }], "statusDate" : "<date>", // When goal status took effect "statusReason" : "<string>", // Reason for current status "expressedBy" : { Reference(Patient|Practitioner|PractitionerRole| RelatedPerson) }, // Who's responsible for creating Goal? "addresses" : [{ Reference(Condition|MedicationStatement|NutritionOrder| Observation|RiskAssessment|ServiceRequest) }], // Issues addressed by this goal "note" : [{ Annotation }], // Comments about the goal "outcomeCode" : [{ CodeableConcept }], // What result was achieved regarding the goal? "outcomeReference" : [{ Reference(Observation) }] // Observation that resulted from goal }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:Goal; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:Goal.identifier [ Identifier ], ... ; # 0..* External Ids for this goal fhir:Goal.lifecycleStatus [ code ]; # 1..1 proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected fhir:Goal.achievementStatus [ CodeableConcept ]; # 0..1 in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable fhir:Goal.category [ CodeableConcept ], ... ; # 0..* E.g. Treatment, dietary, behavioral, etc. fhir:Goal.priority [ CodeableConcept ]; # 0..1 high-priority | medium-priority | low-priority fhir:Goal.description [ CodeableConcept ]; # 1..1 Code or text describing goal fhir:Goal.subject [ Reference(Group|Organization|Patient) ]; # 1..1 Who this goal is intended for # Goal.start[x] : 0..1 When goal pursuit begins. One of these 2 fhir:Goal.startDate [ date ] fhir:Goal.startCodeableConcept [ CodeableConcept ] fhir:Goal.target [ # 0..* Target outcome for the goal fhir:Goal.target.measure [ CodeableConcept ]; # 0..1 The parameter whose value is being tracked # Goal.target.detail[x] : 0..1 The target value to be achieved. One of these 7 fhir:Goal.target.detailQuantity [ Quantity ] fhir:Goal.target.detailRange [ Range ] fhir:Goal.target.detailCodeableConcept [ CodeableConcept ] fhir:Goal.target.detailString [ string ] fhir:Goal.target.detailBoolean [ boolean ] fhir:Goal.target.detailInteger [ integer ] fhir:Goal.target.detailRatio [ Ratio ] # Goal.target.due[x] : 0..1 Reach goal on or before. One of these 2 fhir:Goal.target.dueDate [ date ] fhir:Goal.target.dueDuration [ Duration ] ], ...; fhir:Goal.statusDate [ date ]; # 0..1 When goal status took effect fhir:Goal.statusReason [ string ]; # 0..1 Reason for current status fhir:Goal.expressedBy [ Reference(Patient|Practitioner|PractitionerRole|RelatedPerson) ]; # 0..1 Who's responsible for creating Goal? fhir:Goal.addresses [ Reference(Condition|MedicationStatement|NutritionOrder|Observation|RiskAssessment| ServiceRequest) ], ... ; # 0..* Issues addressed by this goal fhir:Goal.note [ Annotation ], ... ; # 0..* Comments about the goal fhir:Goal.outcomeCode [ CodeableConcept ], ... ; # 0..* What result was achieved regarding the goal? fhir:Goal.outcomeReference [ Reference(Observation) ], ... ; # 0..* Observation that resulted from goal ]
Changes since Release 3
Goal | |
Goal.lifecycleStatus |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 2 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis
Path | Definition | Type | Reference |
---|---|---|---|
Goal.lifecycleStatus | Required | GoalLifecycleStatus | |
Goal.achievementStatus | Preferred | GoalAchievementStatus | |
Goal.category | Example | GoalCategory | |
Goal.priority | Preferred | GoalPriority | |
Goal.description | Example | SNOMEDCTClinicalFindings | |
Goal.start[x] | Example | GoalStartEvent | |
Goal.target.measure | Example | LOINCCodes | |
Goal.target.detail[x] | Example | ?? | |
Goal.outcomeCode | Example | SNOMEDCTClinicalFindings |
id | Level | Location | Description | Expression |
gol-1 | Rule | Goal.target | Goal.target.measure is required if Goal.target.detail is populated | (detail.exists() and measure.exists()) or detail.exists().not() |
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
achievement-status | token | in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable | Goal.achievementStatus | |
category | token | E.g. Treatment, dietary, behavioral, etc. | Goal.category | |
identifier | token | External Ids for this goal | Goal.identifier | |
lifecycle-status | token | proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected | Goal.lifecycleStatus | |
patient | reference | Who this goal is intended for | Goal.subject.where(resolve() is Patient) (Group, Organization, Patient) | |
start-date | date | When goal pursuit begins | (Goal.start as date) | |
subject | reference | Who this goal is intended for | Goal.subject (Group, Organization, Patient) | |
target-date | date | Reach goal on or before | (Goal.target.due as date) |