QI-Core Implementation Guide: STU 4 (v4.0.0 for FHIR 4.0.1)

QI-Core Implementation Guide - This is the current published version.. See the Directory of published versions

D.4.1 StructureDefinition-qicore-goal

Introduction:

See the patterns page for implementation and usage patterns.

Examples:

Weight Loss Example

D.4.1.1 Formal Views of Profile Content

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:

NameFlagsCard.TypeDescription & Constraintsdoco
.. Goal I0..*USCoreGoalProfileDescribes the intended objective(s) for a patient, group or organization
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... goal-reasonRejected I0..1CodeableConceptThe reason the goal was not accepted
URL: http://hl7.org/fhir/StructureDefinition/goal-reasonRejected
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier I0..*IdentifierExternal Ids for this goal
... lifecycleStatus ?!SΣI1..1codeproposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected
Binding: GoalLifecycleStatus (required)
... achievementStatus SΣI0..1CodeableConceptin-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable
Binding: GoalAchievementStatus (preferred)
... category SΣI0..*CodeableConceptE.g. Treatment, dietary, behavioral, etc.
Binding: GoalCategory (example)
... priority ΣI0..1CodeableConcepthigh-priority | medium-priority | low-priority
Binding: GoalPriority (preferred)
... description SΣI1..1CodeableConceptCode or text describing goal
Binding: SNOMEDCTClinicalFindings (preferred)
... subject SΣI1..1Reference(QICorePatient)Who this goal is intended for
... start[x] ΣI0..1dateWhen goal pursuit begins
... target SI0..*BackboneElementTarget outcome for the goal
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... measure ΣI1..1CodeableConceptThe parameter whose value is being tracked
Binding: LOINCCodes (preferred)
.... detail[x] ΣI1..1The target value to be achieved
Binding: (unbound) (example)
..... detailQuantityQuantity
..... detailRangeRange
..... detailCodeableConceptCodeableConcept
..... detailStringstring
..... detailBooleanboolean
..... detailIntegerinteger
..... detailRatioRatio
.... due[x] ΣI0..1(Slice Definition)Reach goal on or before
Slice: Unordered, Closed by type:$this
..... due[x]:dueDate SΣI0..1dateReach goal on or before
... statusDate SΣI0..1dateWhen goal status took effect
... statusReason I0..1stringReason for current status
... expressedBy ΣI0..1Reference(QICorePatient | QICorePractitioner | QICoreRelatedPerson)Who's responsible for creating Goal?
... addresses SI0..*Reference(QICoreCondition | QICoreObservation | QICoreMedicationStatement | NutritionOrder | QICoreServiceRequest | RiskAssessment)Issues addressed by this goal
... note I0..*AnnotationComments about the goal
... outcomeCode I0..*CodeableConceptWhat result was achieved regarding the goal?
Binding: SNOMEDCTClinicalFindings (example)
... outcomeReference I0..*Reference(Observation)Observation that resulted from goal

doco 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:

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Goal I0..*USCoreGoalProfileDescribes the intended objective(s) for a patient, group or organization
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionExtension
Slice: Unordered, Open by value:url
... goal-reasonRejected I0..1CodeableConceptThe reason the goal was not accepted
URL: http://hl7.org/fhir/StructureDefinition/goal-reasonRejected
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... identifier I0..*IdentifierExternal Ids for this goal
... lifecycleStatus ?!SΣI1..1codeproposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected
Binding: GoalLifecycleStatus (required)
... achievementStatus SΣI0..1CodeableConceptin-progress | improving | worsening | no-change | achieved | sustaining | not-achieved | no-progress | not-attainable
Binding: GoalAchievementStatus (preferred)
... category SΣI0..*CodeableConceptE.g. Treatment, dietary, behavioral, etc.
Binding: GoalCategory (example)
... priority ΣI0..1CodeableConcepthigh-priority | medium-priority | low-priority
Binding: GoalPriority (preferred)
... description SΣI1..1CodeableConceptCode or text describing goal
Binding: SNOMEDCTClinicalFindings (preferred)
... subject SΣI1..1Reference(QICorePatient)Who this goal is intended for
... start[x] ΣI0..1dateWhen goal pursuit begins
... target SI0..*BackboneElementTarget outcome for the goal
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... measure ΣI1..1CodeableConceptThe parameter whose value is being tracked
Binding: LOINCCodes (preferred)
.... detail[x] ΣI1..1The target value to be achieved
Binding: (unbound) (example)
..... detailQuantityQuantity
..... detailRangeRange
..... detailCodeableConceptCodeableConcept
..... detailStringstring
..... detailBooleanboolean
..... detailIntegerinteger
..... detailRatioRatio
.... due[x] ΣI0..1(Slice Definition)Reach goal on or before
Slice: Unordered, Closed by type:$this
..... due[x]:dueDate SΣI0..1dateReach goal on or before
... statusDate SΣI0..1dateWhen goal status took effect
... statusReason I0..1stringReason for current status
... expressedBy ΣI0..1Reference(QICorePatient | QICorePractitioner | QICoreRelatedPerson)Who's responsible for creating Goal?
... addresses SI0..*Reference(QICoreCondition | QICoreObservation | QICoreMedicationStatement | NutritionOrder | QICoreServiceRequest | RiskAssessment)Issues addressed by this goal
... note I0..*AnnotationComments about the goal
... outcomeCode I0..*CodeableConceptWhat result was achieved regarding the goal?
Binding: SNOMEDCTClinicalFindings (example)
... outcomeReference I0..*Reference(Observation)Observation that resulted from goal

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet
Goal.languagepreferredCommonLanguages
Max Binding: AllLanguages
Goal.lifecycleStatusrequiredGoalLifecycleStatus
Goal.achievementStatuspreferredGoalAchievementStatus
Goal.categoryexampleGoalCategory
Goal.prioritypreferredGoalPriority
Goal.descriptionpreferredSNOMEDCTClinicalFindings
Goal.target.measurepreferredLOINCCodes
Goal.target.detail[x]example
Goal.outcomeCodeexampleSNOMEDCTClinicalFindings

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2GoalIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3GoalIf 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-4GoalIf 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-5GoalIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6GoalA resource should have narrative for robust management
: text.`div`.exists()
ele-1Goal.metaAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.implicitRulesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.languageAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.textAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Goal.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Goal.extension:reasonRejectedAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Goal.extension:reasonRejectedMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Goal.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Goal.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Goal.identifierAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.lifecycleStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.achievementStatusAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.categoryAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.priorityAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.descriptionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.subjectAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.start[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.targetAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
gol-1Goal.targetGoal.target.measure is required if Goal.target.detail is populated
: (detail.exists() and measure.exists()) or detail.exists().not()
ele-1Goal.target.extensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Goal.target.extensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Goal.target.modifierExtensionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1Goal.target.modifierExtensionMust have either extensions or value[x], not both
: extension.exists() != value.exists()
ele-1Goal.target.measureAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.target.detail[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.target.due[x]All FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.target.due[x]:dueDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.statusDateAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.statusReasonAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.expressedByAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.addressesAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.noteAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.outcomeCodeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1Goal.outcomeReferenceAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())