Electronic Long-Term Services and Supports (eLTSS) Release 1 - US Realm
2.0.0-ballot - ballot United States of America flag

This page is part of the electronic Long-Term Services and Supports Implementation Guide (v2.0.0-ballot: STU2 Ballot 1) based on FHIR (HL7® FHIR® Standard) R4. The current version which supersedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions

Resource Profile: eLTSS Goal Profile

Official URL: http://hl7.org/fhir/us/eltss/StructureDefinition/Goal-eltss Version: 2.0.0-ballot
Standards status: Trial-use Maturity Level: 2 Computable Name: Goal_eltss

Goal resource mapping for eLTSS

Implementer mapping guidance

The following aids in finding the location of eLTSS data elements. See R4 FHIR Mapping page for complete guidance, here we are providing a subset of fields for convenience.

eLTSS Grouping eLTSS Data Element Name Data Element Definition (includes examples, expected list of values and usage note where applicable) FHIR R4 Resource Element(s) FHIR R4 Resource Element Cardinality (with US Core Constraints) Additional Mapping Details Important change
Goals & Strengths Goal A statement of a desired result that the person wants to achieve. CarePlan → goal(Goal)

Goal → description → text
CarePlan
...goal(Goal) 0..*
......description 1
.........text 1
......subject(Patient) 1
1) Will use CarePlan → goal to reference the Goal for the care plan being developed.
2) description is required by both FHIR and US Core, and is a CodableConcept whose text element, per US Core, must include a text description of the goal.
3) Each goal should go into a separate Goal element so each can potentially reference a step or action(s), or a service(s) that addresses the goal.
4) A Goal can be referenced from a Step or Action or from a service. For a goal related to a step or action, use extension(pertainsToGoal). For a service request specific goal, also use extension(pertainsToGoal). Logically, these goals are exclusive to each other and the same goal isn't duplicated at both levels.
5) US Core requires the use of Goal → Subject to reference back to the Patient.
Replaced use of CarePlan.activity.detail, and emphasized the extension pertainsToGoal
Goals & Strengths Step or Action A planned measurable step or action that needs to be taken to accomplish a goal identified by the person. CarePlan → activity
→ reference(Resource) → note
→ text → extension(pertainsToGoal)
CarePlan
...activity 0..*
......reference(Resource) 0..1
.........note 0..*
............text 1
.........extension(pertainsToGoal)
1) CarePlan includes activity → reference, which can be a reference to ServiceRequest, Task or other Resource.
2) ServiceRequest would be used when the Step or Action is a task under a service. If the Step or Action is an informal support or an activity being undertaken by the beneficiary the Task Resource, similar to a Patient Task used in the Gravity SDOH IG, can be used.
3) activity → reference(Resource) is linked to the Goal the step or action addresses through the pertainsToGoal Extension in the referenced activity.
4) activity → reference(Resource) includes a performer, author, participant with type or other data element that can be used to reference who is responsible for performing the step or action, such as to indicate that the person or a related person is responsible.
5) text is where the Step or Action text would be provided.
6) text is required by FHIR if note is provided.
7) Note that a stated goal may lead directly to a service, and not necessarily to an explicit Step or Action. For example, a person's goal could be to attend church regularly, and this would be achieved through a transportation service.
Replaced use of CarePlan.activity.detail, and emphasized the extension pertainsToGoal
Data Requirements Not Specific to eLTSS Dataset Data Elements
This section documents data elements that are mandatory per FHIR XML schemas or US Core requirements, but that do not align with individual eLTSS Dataset data elements.
FHIR Data Element Name
Requirement Source
Data Element Definition FHIR R4 Resource Element(s) FHIR R4 Resource Element Cardinality (with US Core Constraints) Additional Mapping Details
Goal LifecycleStatus
FHIR
US Core
The state of the goal throughout its lifecycle. Goal → lifecycleStatus Goal 0..*
...lifecycleStatus 1
1) lifecycleStatus is required by both FHIR and US Core, and must use the GoalStatus value set which has values: proposed, accepted, in-progress, etc.
Goal Subject
FHIR
US Core
Identifies the patient, group or organization for whom the goal is being established. Goal → subject(Patient) Goal
...subject 1
1) subject is required by both FHIR and US Core, and is a reference to a Patient.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from USCoreGoalProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. Goal 0..*USCoreGoalProfileDescribes the intended objective(s) for a patient, group or organization
... description 1..1CodeableConceptGoal
... subject 1..1Reference(Patient_eltss)Who this goal is intended for
... Slices for start[x] 0..1date, CodeableConceptWhen goal pursuit begins
Slice: Unordered, Open by type:$this
.... start[x]:startDate S0..1dateStart-date of the duration of time when the goal is due. End-date is found in dueDate
... addresses 0..*Reference(Condition_eltss | Observation_eltss | ServiceRequest_eltss | RiskAssessment_eltss | NutritionOrder | MedicationStatement)Issues addressed by this goal

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Goal 0..*USCoreGoalProfileDescribes the intended objective(s) for a patient, group or organization
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... lifecycleStatus ?!SΣ1..1codeproposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected
Binding: GoalLifecycleStatus (required)
... subject SΣ1..1Reference(Patient_eltss)Who this goal is intended for
... Slices for start[x] Σ0..1When goal pursuit begins
Slice: Unordered, Open by type:$this
Binding: GoalStartEvent (example): Codes describing events that can trigger the initiation of a goal.

.... startDatedate
.... startCodeableConceptCodeableConcept
.... start[x]:startDate SΣ0..1dateStart-date of the duration of time when the goal is due. End-date is found in dueDate
... target SC0..*BackboneElementTarget outcome for the goal
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... Slices for due[x] Σ0..1dateReach goal on or before
Slice: Unordered, Closed by type:$this
..... due[x]:dueDate SΣ0..1dateReach goal on or before
... expressedBy Σ0..1Reference(Patient_eltss | Practitioner | eLTSS PractitionerRole Profile | eLTSS RelatedPerson Profile)Who's responsible for creating Goal?
... addresses 0..*Reference(Condition_eltss | Observation_eltss | ServiceRequest_eltss | RiskAssessment_eltss | NutritionOrder | MedicationStatement)Issues addressed by this goal

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Goal.lifecycleStatusrequiredGoalLifecycleStatus
Goal.descriptionexampleSNOMEDCTClinicalFindings
Goal.start[x]exampleGoalStartEvent

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorGoalIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorGoalIf 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-4errorGoalIf 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-5errorGoalIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceGoalA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
gol-1errorGoal.targetGoal.target.measure is required if Goal.target.detail is populated
: (detail.exists() and measure.exists()) or detail.exists().not()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Goal 0..*USCoreGoalProfileDescribes the intended objective(s) for a patient, group or organization
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierExternal Ids for this goal
... lifecycleStatus ?!SΣ1..1codeproposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected
Binding: GoalLifecycleStatus (required)
... achievementStatus Σ0..1CodeableConceptin-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 Σ0..*CodeableConceptE.g. Treatment, dietary, behavioral, etc.
Binding: GoalCategory (example): Codes for grouping and sorting goals.


... priority Σ0..1CodeableConcepthigh-priority | medium-priority | low-priority
Binding: GoalPriority (preferred): The level of importance associated with a goal.

... description SΣ1..1CodeableConceptGoal
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..1Reference(Patient_eltss)Who this goal is intended for
... Slices for start[x] Σ0..1When goal pursuit begins
Slice: Unordered, Open by type:$this
Binding: GoalStartEvent (example): Codes describing events that can trigger the initiation of a goal.

.... startDatedate
.... startCodeableConceptCodeableConcept
.... start[x]:startDate SΣ0..1dateStart-date of the duration of time when the goal is due. End-date is found in dueDate
... target SC0..*BackboneElementTarget outcome for the goal
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... measure ΣC0..1CodeableConceptThe 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] ΣC0..1The 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.

..... detailQuantityQuantity
..... detailRangeRange
..... detailCodeableConceptCodeableConcept
..... detailStringstring
..... detailBooleanboolean
..... detailIntegerinteger
..... detailRatioRatio
.... Slices for due[x] Σ0..1dateReach goal on or before
Slice: Unordered, Closed by type:$this
..... due[x]:dueDate SΣ0..1dateReach goal on or before
... statusDate Σ0..1dateWhen goal status took effect
... statusReason 0..1stringReason for current status
... expressedBy Σ0..1Reference(Patient_eltss | Practitioner | eLTSS PractitionerRole Profile | eLTSS RelatedPerson Profile)Who's responsible for creating Goal?
... addresses 0..*Reference(Condition_eltss | Observation_eltss | ServiceRequest_eltss | RiskAssessment_eltss | NutritionOrder | MedicationStatement)Issues addressed by this goal
... note 0..*AnnotationComments about the goal
... outcomeCode 0..*CodeableConceptWhat 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Goal.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Goal.lifecycleStatusrequiredGoalLifecycleStatus
Goal.achievementStatuspreferredGoalAchievementStatus
Goal.categoryexampleGoalCategory
Goal.prioritypreferredGoalPriority
Goal.descriptionexampleSNOMEDCTClinicalFindings
Goal.start[x]exampleGoalStartEvent
Goal.target.measureexampleLOINCCodes (a valid code from LOINC)
Goal.target.detail[x]example
Goal.outcomeCodeexampleSNOMEDCTClinicalFindings

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorGoalIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorGoalIf 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-4errorGoalIf 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-5errorGoalIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceGoalA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
gol-1errorGoal.targetGoal.target.measure is required if Goal.target.detail is populated
: (detail.exists() and measure.exists()) or detail.exists().not()

Differential View

This structure is derived from USCoreGoalProfile

NameFlagsCard.TypeDescription & Constraintsdoco
.. Goal 0..*USCoreGoalProfileDescribes the intended objective(s) for a patient, group or organization
... description 1..1CodeableConceptGoal
... subject 1..1Reference(Patient_eltss)Who this goal is intended for
... Slices for start[x] 0..1date, CodeableConceptWhen goal pursuit begins
Slice: Unordered, Open by type:$this
.... start[x]:startDate S0..1dateStart-date of the duration of time when the goal is due. End-date is found in dueDate
... addresses 0..*Reference(Condition_eltss | Observation_eltss | ServiceRequest_eltss | RiskAssessment_eltss | NutritionOrder | MedicationStatement)Issues addressed by this goal

doco Documentation for this format

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Goal 0..*USCoreGoalProfileDescribes the intended objective(s) for a patient, group or organization
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... lifecycleStatus ?!SΣ1..1codeproposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected
Binding: GoalLifecycleStatus (required)
... subject SΣ1..1Reference(Patient_eltss)Who this goal is intended for
... Slices for start[x] Σ0..1When goal pursuit begins
Slice: Unordered, Open by type:$this
Binding: GoalStartEvent (example): Codes describing events that can trigger the initiation of a goal.

.... startDatedate
.... startCodeableConceptCodeableConcept
.... start[x]:startDate SΣ0..1dateStart-date of the duration of time when the goal is due. End-date is found in dueDate
... target SC0..*BackboneElementTarget outcome for the goal
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... Slices for due[x] Σ0..1dateReach goal on or before
Slice: Unordered, Closed by type:$this
..... due[x]:dueDate SΣ0..1dateReach goal on or before
... expressedBy Σ0..1Reference(Patient_eltss | Practitioner | eLTSS PractitionerRole Profile | eLTSS RelatedPerson Profile)Who's responsible for creating Goal?
... addresses 0..*Reference(Condition_eltss | Observation_eltss | ServiceRequest_eltss | RiskAssessment_eltss | NutritionOrder | MedicationStatement)Issues addressed by this goal

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Goal.lifecycleStatusrequiredGoalLifecycleStatus
Goal.descriptionexampleSNOMEDCTClinicalFindings
Goal.start[x]exampleGoalStartEvent

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorGoalIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorGoalIf 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-4errorGoalIf 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-5errorGoalIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceGoalA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
gol-1errorGoal.targetGoal.target.measure is required if Goal.target.detail is populated
: (detail.exists() and measure.exists()) or detail.exists().not()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Goal 0..*USCoreGoalProfileDescribes the intended objective(s) for a patient, group or organization
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... identifier 0..*IdentifierExternal Ids for this goal
... lifecycleStatus ?!SΣ1..1codeproposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected
Binding: GoalLifecycleStatus (required)
... achievementStatus Σ0..1CodeableConceptin-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 Σ0..*CodeableConceptE.g. Treatment, dietary, behavioral, etc.
Binding: GoalCategory (example): Codes for grouping and sorting goals.


... priority Σ0..1CodeableConcepthigh-priority | medium-priority | low-priority
Binding: GoalPriority (preferred): The level of importance associated with a goal.

... description SΣ1..1CodeableConceptGoal
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..1Reference(Patient_eltss)Who this goal is intended for
... Slices for start[x] Σ0..1When goal pursuit begins
Slice: Unordered, Open by type:$this
Binding: GoalStartEvent (example): Codes describing events that can trigger the initiation of a goal.

.... startDatedate
.... startCodeableConceptCodeableConcept
.... start[x]:startDate SΣ0..1dateStart-date of the duration of time when the goal is due. End-date is found in dueDate
... target SC0..*BackboneElementTarget outcome for the goal
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... measure ΣC0..1CodeableConceptThe 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] ΣC0..1The 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.

..... detailQuantityQuantity
..... detailRangeRange
..... detailCodeableConceptCodeableConcept
..... detailStringstring
..... detailBooleanboolean
..... detailIntegerinteger
..... detailRatioRatio
.... Slices for due[x] Σ0..1dateReach goal on or before
Slice: Unordered, Closed by type:$this
..... due[x]:dueDate SΣ0..1dateReach goal on or before
... statusDate Σ0..1dateWhen goal status took effect
... statusReason 0..1stringReason for current status
... expressedBy Σ0..1Reference(Patient_eltss | Practitioner | eLTSS PractitionerRole Profile | eLTSS RelatedPerson Profile)Who's responsible for creating Goal?
... addresses 0..*Reference(Condition_eltss | Observation_eltss | ServiceRequest_eltss | RiskAssessment_eltss | NutritionOrder | MedicationStatement)Issues addressed by this goal
... note 0..*AnnotationComments about the goal
... outcomeCode 0..*CodeableConceptWhat 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet
Goal.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
Goal.lifecycleStatusrequiredGoalLifecycleStatus
Goal.achievementStatuspreferredGoalAchievementStatus
Goal.categoryexampleGoalCategory
Goal.prioritypreferredGoalPriority
Goal.descriptionexampleSNOMEDCTClinicalFindings
Goal.start[x]exampleGoalStartEvent
Goal.target.measureexampleLOINCCodes (a valid code from LOINC)
Goal.target.detail[x]example
Goal.outcomeCodeexampleSNOMEDCTClinicalFindings

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorGoalIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorGoalIf 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-4errorGoalIf 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-5errorGoalIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceGoalA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
gol-1errorGoal.targetGoal.target.measure is required if Goal.target.detail is populated
: (detail.exists() and measure.exists()) or detail.exists().not()

 

Other representations of profile: CSV, Excel, Schematron