QI-Core Implementation Guide - This is the current published version.. See the Directory of published versions
Weight Loss Example |
The official URL for this profile is:
http://hl7.org/fhir/us/qicore/StructureDefinition/qicore-goal
Profile of Goal for decision support/quality metrics. Defines the core set of elements and extensions for quality rule and measure authors.
This profile builds on USCoreGoalProfile.
This profile was published on Wed Aug 22 00:00:00 UTC 2018 as a draft by Health Level Seven, Inc. - CQI WG.
Description of Profiles, Differentials, and Snapshots.
Summary
Mandatory: 1 element (2 nested mandatory elements)
Must-Support: 8 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Goal | 0..* | USCoreGoalProfile | ||
id | 0..1 | string | ||
goal-reasonRejected | 0..1 | CodeableConcept | The reason the goal was not accepted URL: http://hl7.org/fhir/StructureDefinition/goal-reasonRejected Binding: Reasons for rejecting goal codes (example) | |
lifecycleStatus | S | 1..1 | code | |
achievementStatus | S | 0..1 | CodeableConcept | |
category | S | 0..* | CodeableConcept | |
description | S | 1..1 | CodeableConcept | Binding: SNOMEDCTClinicalFindings (preferred) |
subject | S | 1..1 | Reference(QICorePatient) | |
start[x] | 0..1 | date | ||
target | S | 0..* | BackboneElement | |
measure | 1..1 | CodeableConcept | Binding: LOINCCodes (preferred) | |
detail[x] | 1..1 | Quantity, Range, CodeableConcept, string, boolean, integer, Ratio | ||
due[x] | 0..1 | date | ||
statusDate | S | 0..1 | date | |
expressedBy | 0..1 | Reference(QICorePatient | QICorePractitioner | QICoreRelatedPerson) | ||
addresses | S | 0..* | Reference(QICoreCondition | QICoreObservation | QICoreMedicationStatement | NutritionOrder | QICoreServiceRequest | RiskAssessment) | |
Documentation for this format |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Goal | I | 0..* | USCoreGoalProfile | Describes the intended objective(s) for a patient, group or organization |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
goal-reasonRejected | I | 0..1 | CodeableConcept | The reason the goal was not accepted URL: http://hl7.org/fhir/StructureDefinition/goal-reasonRejected |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | I | 0..* | Identifier | External Ids for this goal |
lifecycleStatus | ?!SΣI | 1..1 | code | proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected Binding: GoalLifecycleStatus (required) |
achievementStatus | SΣI | 0..1 | CodeableConcept | in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable Binding: GoalAchievementStatus (preferred) |
category | SΣI | 0..* | CodeableConcept | E.g. Treatment, dietary, behavioral, etc. Binding: GoalCategory (example) |
priority | ΣI | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority Binding: GoalPriority (preferred) |
description | SΣI | 1..1 | CodeableConcept | Code or text describing goal Binding: SNOMEDCTClinicalFindings (preferred) |
subject | SΣI | 1..1 | Reference(QICorePatient) | Who this goal is intended for |
start[x] | ΣI | 0..1 | date | When goal pursuit begins |
target | SI | 0..* | BackboneElement | Target outcome for the goal |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
measure | ΣI | 1..1 | CodeableConcept | The parameter whose value is being tracked Binding: LOINCCodes (preferred) |
detail[x] | ΣI | 1..1 | The target value to be achieved Binding: (unbound) (example) | |
detailQuantity | Quantity | |||
detailRange | Range | |||
detailCodeableConcept | CodeableConcept | |||
detailString | string | |||
detailBoolean | boolean | |||
detailInteger | integer | |||
detailRatio | Ratio | |||
due[x] | ΣI | 0..1 | (Slice Definition) | Reach goal on or before Slice: Unordered, Closed by type:$this |
due[x]:dueDate | SΣI | 0..1 | date | Reach goal on or before |
statusDate | SΣI | 0..1 | date | When goal status took effect |
statusReason | I | 0..1 | string | Reason for current status |
expressedBy | ΣI | 0..1 | Reference(QICorePatient | QICorePractitioner | QICoreRelatedPerson) | Who's responsible for creating Goal? |
addresses | SI | 0..* | Reference(QICoreCondition | QICoreObservation | QICoreMedicationStatement | NutritionOrder | QICoreServiceRequest | RiskAssessment) | Issues addressed by this goal |
note | I | 0..* | Annotation | Comments about the goal |
outcomeCode | I | 0..* | CodeableConcept | What result was achieved regarding the goal? Binding: SNOMEDCTClinicalFindings (example) |
outcomeReference | I | 0..* | Reference(Observation) | Observation that resulted from goal |
Documentation for this format |
Summary
Mandatory: 1 element (2 nested mandatory elements)
Must-Support: 8 elements
Structures
This structure refers to these other structures:
Extensions
This structure refers to these extensions:
Differential View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Goal | 0..* | USCoreGoalProfile | ||
id | 0..1 | string | ||
goal-reasonRejected | 0..1 | CodeableConcept | The reason the goal was not accepted URL: http://hl7.org/fhir/StructureDefinition/goal-reasonRejected Binding: Reasons for rejecting goal codes (example) | |
lifecycleStatus | S | 1..1 | code | |
achievementStatus | S | 0..1 | CodeableConcept | |
category | S | 0..* | CodeableConcept | |
description | S | 1..1 | CodeableConcept | Binding: SNOMEDCTClinicalFindings (preferred) |
subject | S | 1..1 | Reference(QICorePatient) | |
start[x] | 0..1 | date | ||
target | S | 0..* | BackboneElement | |
measure | 1..1 | CodeableConcept | Binding: LOINCCodes (preferred) | |
detail[x] | 1..1 | Quantity, Range, CodeableConcept, string, boolean, integer, Ratio | ||
due[x] | 0..1 | date | ||
statusDate | S | 0..1 | date | |
expressedBy | 0..1 | Reference(QICorePatient | QICorePractitioner | QICoreRelatedPerson) | ||
addresses | S | 0..* | Reference(QICoreCondition | QICoreObservation | QICoreMedicationStatement | NutritionOrder | QICoreServiceRequest | RiskAssessment) | |
Documentation for this format |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Goal | I | 0..* | USCoreGoalProfile | Describes the intended objective(s) for a patient, group or organization |
id | Σ | 0..1 | string | Logical id of this artifact |
meta | ΣI | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!ΣI | 0..1 | uri | A set of rules under which this content was created |
language | I | 0..1 | code | Language of the resource content Binding: CommonLanguages (preferred) Max Binding: AllLanguages |
text | I | 0..1 | Narrative | Text summary of the resource, for human interpretation |
contained | 0..* | Resource | Contained, inline Resources | |
extension | I | 0..* | Extension | Extension Slice: Unordered, Open by value:url |
goal-reasonRejected | I | 0..1 | CodeableConcept | The reason the goal was not accepted URL: http://hl7.org/fhir/StructureDefinition/goal-reasonRejected |
modifierExtension | ?!I | 0..* | Extension | Extensions that cannot be ignored |
identifier | I | 0..* | Identifier | External Ids for this goal |
lifecycleStatus | ?!SΣI | 1..1 | code | proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected Binding: GoalLifecycleStatus (required) |
achievementStatus | SΣI | 0..1 | CodeableConcept | in-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable Binding: GoalAchievementStatus (preferred) |
category | SΣI | 0..* | CodeableConcept | E.g. Treatment, dietary, behavioral, etc. Binding: GoalCategory (example) |
priority | ΣI | 0..1 | CodeableConcept | high-priority | medium-priority | low-priority Binding: GoalPriority (preferred) |
description | SΣI | 1..1 | CodeableConcept | Code or text describing goal Binding: SNOMEDCTClinicalFindings (preferred) |
subject | SΣI | 1..1 | Reference(QICorePatient) | Who this goal is intended for |
start[x] | ΣI | 0..1 | date | When goal pursuit begins |
target | SI | 0..* | BackboneElement | Target outcome for the goal |
id | 0..1 | string | Unique id for inter-element referencing | |
extension | I | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!ΣI | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
measure | ΣI | 1..1 | CodeableConcept | The parameter whose value is being tracked Binding: LOINCCodes (preferred) |
detail[x] | ΣI | 1..1 | The target value to be achieved Binding: (unbound) (example) | |
detailQuantity | Quantity | |||
detailRange | Range | |||
detailCodeableConcept | CodeableConcept | |||
detailString | string | |||
detailBoolean | boolean | |||
detailInteger | integer | |||
detailRatio | Ratio | |||
due[x] | ΣI | 0..1 | (Slice Definition) | Reach goal on or before Slice: Unordered, Closed by type:$this |
due[x]:dueDate | SΣI | 0..1 | date | Reach goal on or before |
statusDate | SΣI | 0..1 | date | When goal status took effect |
statusReason | I | 0..1 | string | Reason for current status |
expressedBy | ΣI | 0..1 | Reference(QICorePatient | QICorePractitioner | QICoreRelatedPerson) | Who's responsible for creating Goal? |
addresses | SI | 0..* | Reference(QICoreCondition | QICoreObservation | QICoreMedicationStatement | NutritionOrder | QICoreServiceRequest | RiskAssessment) | Issues addressed by this goal |
note | I | 0..* | Annotation | Comments about the goal |
outcomeCode | I | 0..* | CodeableConcept | What result was achieved regarding the goal? Binding: SNOMEDCTClinicalFindings (example) |
outcomeReference | I | 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 | preferred | SNOMEDCTClinicalFindings |
Goal.target.measure | preferred | 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:reasonRejected | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | Goal.extension:reasonRejected | 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.target.due[x]:dueDate | 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()) |