This page is part of the Clinical Guidelines (v1.0.0: STU 1) based on FHIR R4. This is the current published version. For a full list of available versions, see the Directory of published versions
The official URL for this profile is:
http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-goal
Defines the expectations for the representation of goals used in computable guidelines
This profile builds on Goal.
This profile was published on Thu Jun 06 00:00:00 UTC 2019 as a draft by Health Level Seven, Inc. - CDS WG.
Description of Profiles, Differentials, and Snapshots.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Goal | 0..* | Goal | Describes the intended objective(s) for a patient, group or organization | |
cpg-goalFor | S | 0..* | canonical(CPGShareablePlanDefinition) | Goal For? URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-goalFor |
identifier | S | 0..* | Identifier | External Ids for this goal |
lifecycleStatus | S | 1..1 | code | proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected |
achievementStatus | S | 0..1 | CodeableConcept | in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable |
category | S | 0..* | CodeableConcept | E.g. Treatment, dietary, behavioral, etc. |
priority | S | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority |
description | S | 1..1 | CodeableConcept | Code or text describing goal |
subject | S | 1..1 | Reference(Patient | Group | Organization) | Who this goal is intended for |
start[x] | S | 0..1 | date, CodeableConcept | When goal pursuit begins |
target | S | 0..* | BackboneElement | Target outcome for the goal |
measure | S | 0..1 | CodeableConcept | The parameter whose value is being tracked |
detail[x] | S | 0..1 | Quantity, Range, CodeableConcept, string, boolean, integer, Ratio | The target value to be achieved |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Goal | 0..* | Goal | Describes the intended objective(s) for a patient, group or organization | |
id | Σ | 0..1 | string | 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: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 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 | |
cpg-goalFor | S | 0..* | canonical(CPGShareablePlanDefinition) | Goal For? URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-goalFor |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | S | 0..* | Identifier | External Ids for this goal |
lifecycleStatus | ?!SΣ | 1..1 | code | proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected Binding: GoalLifecycleStatus (required): Codes that reflect the current state of a goal and whether the goal is still being targeted. |
achievementStatus | SΣ | 0..1 | CodeableConcept | in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable Binding: GoalAchievementStatus (preferred): Indicates the progression, or lack thereof, towards the goal against the target. |
category | SΣ | 0..* | CodeableConcept | E.g. Treatment, dietary, behavioral, etc. Binding: GoalCategory (example): Codes for grouping and sorting goals. |
priority | SΣ | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority Binding: GoalPriority (preferred): The level of importance associated with a goal. |
description | SΣ | 1..1 | CodeableConcept | Code or text describing goal Binding: SNOMEDCTClinicalFindings (example): Codes providing the details of a particular goal. This will generally be system or implementation guide-specific. In many systems, only the text element will be used. |
subject | SΣ | 1..1 | Reference(Patient | Group | Organization) | Who this goal is intended for |
start[x] | SΣ | 0..1 | When goal pursuit begins Binding: GoalStartEvent (example): Codes describing events that can trigger the initiation of a goal. | |
startDate | date | |||
startCodeableConcept | CodeableConcept | |||
target | SI | 0..* | BackboneElement | Target outcome for the goal |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
measure | SΣI | 0..1 | CodeableConcept | The parameter whose value is being tracked Binding: LOINCCodes (example): Codes to identify the value being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level. |
detail[x] | SΣI | 0..1 | The target value to be achieved Binding: (unbound) (example): Codes to identify the target value of the focus to be achieved to signify the fulfillment of the goal. | |
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? Binding: SNOMEDCTClinicalFindings (example): 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". | |
outcomeReference | 0..* | Reference(Observation) | Observation that resulted from goal | |
Documentation for this format |
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Goal | 0..* | Goal | Describes the intended objective(s) for a patient, group or organization | |
cpg-goalFor | S | 0..* | canonical(CPGShareablePlanDefinition) | Goal For? URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-goalFor |
identifier | S | 0..* | Identifier | External Ids for this goal |
lifecycleStatus | S | 1..1 | code | proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected |
achievementStatus | S | 0..1 | CodeableConcept | in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable |
category | S | 0..* | CodeableConcept | E.g. Treatment, dietary, behavioral, etc. |
priority | S | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority |
description | S | 1..1 | CodeableConcept | Code or text describing goal |
subject | S | 1..1 | Reference(Patient | Group | Organization) | Who this goal is intended for |
start[x] | S | 0..1 | date, CodeableConcept | When goal pursuit begins |
target | S | 0..* | BackboneElement | Target outcome for the goal |
measure | S | 0..1 | CodeableConcept | The parameter whose value is being tracked |
detail[x] | S | 0..1 | Quantity, Range, CodeableConcept, string, boolean, integer, Ratio | The target value to be achieved |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Goal | 0..* | Goal | Describes the intended objective(s) for a patient, group or organization | |
id | Σ | 0..1 | string | 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: CommonLanguages (preferred) Max Binding: AllLanguages: A human language. | |
text | 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 | |
cpg-goalFor | S | 0..* | canonical(CPGShareablePlanDefinition) | Goal For? URL: http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-goalFor |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier | S | 0..* | Identifier | External Ids for this goal |
lifecycleStatus | ?!SΣ | 1..1 | code | proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected Binding: GoalLifecycleStatus (required): Codes that reflect the current state of a goal and whether the goal is still being targeted. |
achievementStatus | SΣ | 0..1 | CodeableConcept | in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable Binding: GoalAchievementStatus (preferred): Indicates the progression, or lack thereof, towards the goal against the target. |
category | SΣ | 0..* | CodeableConcept | E.g. Treatment, dietary, behavioral, etc. Binding: GoalCategory (example): Codes for grouping and sorting goals. |
priority | SΣ | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority Binding: GoalPriority (preferred): The level of importance associated with a goal. |
description | SΣ | 1..1 | CodeableConcept | Code or text describing goal Binding: SNOMEDCTClinicalFindings (example): Codes providing the details of a particular goal. This will generally be system or implementation guide-specific. In many systems, only the text element will be used. |
subject | SΣ | 1..1 | Reference(Patient | Group | Organization) | Who this goal is intended for |
start[x] | SΣ | 0..1 | When goal pursuit begins Binding: GoalStartEvent (example): Codes describing events that can trigger the initiation of a goal. | |
startDate | date | |||
startCodeableConcept | CodeableConcept | |||
target | SI | 0..* | BackboneElement | Target outcome for the goal |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | 0..* | Extension | Additional content defined by implementations | |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
measure | SΣI | 0..1 | CodeableConcept | The parameter whose value is being tracked Binding: LOINCCodes (example): Codes to identify the value being tracked, e.g. body weight, blood pressure, or hemoglobin A1c level. |
detail[x] | SΣI | 0..1 | The target value to be achieved Binding: (unbound) (example): Codes to identify the target value of the focus to be achieved to signify the fulfillment of the goal. | |
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? Binding: SNOMEDCTClinicalFindings (example): 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". | |
outcomeReference | 0..* | Reference(Observation) | Observation that resulted from goal | |
Documentation for this format |
Path | Conformance | ValueSet |
Goal.language | preferred | CommonLanguages Max Binding: AllLanguages |
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 | Path | Details | Requirements |
dom-2 | Goal | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | Goal | 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 | Goal | 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 | Goal | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Goal | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | Goal.meta | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.implicitRules | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.language | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.text | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Goal.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Goal.extension:goalFor | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Goal.extension:goalFor | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Goal.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Goal.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Goal.identifier | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.lifecycleStatus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.achievementStatus | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.category | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.priority | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.description | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.subject | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.start[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.target | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
gol-1 | Goal.target | Goal.target.measure is required if Goal.target.detail is populated : (detail.exists() and measure.exists()) or detail.exists().not() | |
ele-1 | Goal.target.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Goal.target.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Goal.target.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Goal.target.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | Goal.target.measure | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.target.detail[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.target.due[x] | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.statusDate | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.statusReason | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.expressedBy | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.addresses | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.note | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.outcomeCode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | Goal.outcomeReference | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |