Consolidated CDA Release 2.1 StructureDefinition Publication
2.1 - CI Build

Consolidated CDA Release 2.1 StructureDefinition Publication, published by Health Level Seven. This is not an authorized publication; it is the continuous build for version 2.1). This version is based on the current content of https://github.com/HL7/CDA-ccda-2.1-sd/ and changes regularly. See the Directory of published versions

## Logical Model: Progress Toward Goal Observation

Official URL: http://hl7.org/cda/us/ccda/StructureDefinition/ProgressTowardGoalObservation | Version: 2.1
Draft as of 2023-09-29 | Computable Name: ProgressTowardGoalObservation
Other Identifiers: id: urn:oid:2.16.840.1.113883.10.20.22.4.110

This template represents a patient’s progress toward a goal. It can describe whether a goal has been achieved or not and can also describe movement a patient is making toward the achievement of a goal (e.g., “Goal not achieved - no discernible change”, “Goal not achieved - progressing toward goal”, “Goal not achieved - declining from goal”).

In the Care Planning workflow, the judgment about how well the person is progressing towards the goal is based on the observations made about the status of the patient with respect to interventions performed in the pursuit of achieving that goal.

For example, an observation outcome of a blood oxygen saturation level of 95% is related to the goal of “Maintain Pulse Ox greater than 92” and in this case the Progress Toward Goal Observation template would record that the related goal has been achieved.

Usage:

- Use this Logical Model: Goal Observation and Outcome Observation

### Formal Views of Profile Content

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

- Differential Table
- Key Elements Table
- Snapshot Table
- Statistics/References
- All

This structure is derived from CDAR2.Observation

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation |  |  | CDAR2.Observation | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors: @classCode, @moodCode, @negationInd, realmCode, typeId, templateId, id, code, derivationExpr, text, statusCode, effectiveTime, priorityCode, repeatNumber, languageCode, value, interpretationCode, methodCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, referenceRange
classCode |  | 1..1 | cs | Fixed Value: OBS
moodCode |  | 1..1 | cs | Fixed Value: EVN
Slices for templateId |  | 1..* | II | Slice: Unordered, Open by value:root
templateId:primary |  | 1..1 | II |
root |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.22.4.110
extension |  | 0..0 |  |
id |  | 1..* | II |
code |  | 1..1 | CD |
code |  | 1..1 | cs | Required Pattern: ASSERTION
codeSystem |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.5.4
statusCode |  | 1..1 | CS |
code |  | 1..1 | cs | Fixed Value: completed
value |  | 1..1 | CD | Binding: Goal Achievement (required)
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet
Observation.value | required | Goal Achievement

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation |  | 1..1 | CDAR2.Observation | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors: @classCode, @moodCode, @negationInd, realmCode, typeId, templateId, id, code, derivationExpr, text, statusCode, effectiveTime, priorityCode, repeatNumber, languageCode, value, interpretationCode, methodCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, referenceRange Base for all types and resources
@classCode |  | 1..1 | cs | Binding: ActClassObservation (required) Fixed Value: OBS
@moodCode |  | 1..1 | cs | Fixed Value: EVN
Slices for templateId |  | 1..* | II | Slice: Unordered, Open by value:root
templateId:primary |  | 1..1 | II |
@root |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.22.4.110
id |  | 1..* | II |
code |  | 1..1 | CD | Binding: ObservationType (extensible)
@code |  | 1..1 | cs | Required Pattern: ASSERTION
@codeSystem |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.5.4
statusCode |  | 1..1 | CS | Binding: ActStatus (required)
@code |  | 1..1 | cs | Fixed Value: completed
value |  | 1..1 | CD | Binding: Goal Achievement (required)
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code
Observation.classCode | required | Fixed Value: OBS
Observation.code | extensible | ObservationType
Observation.statusCode | required | ActStatus
Observation.value | required | Goal Achievement

#### Constraints

Id | Grade | Path(s) | Details | Requirements
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation |  | 1..1 | CDAR2.Observation | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors: @classCode, @moodCode, @negationInd, realmCode, typeId, templateId, id, code, derivationExpr, text, statusCode, effectiveTime, priorityCode, repeatNumber, languageCode, value, interpretationCode, methodCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, referenceRange Base for all types and resources
@classCode |  | 1..1 | cs | Binding: ActClassObservation (required) Fixed Value: OBS
@moodCode |  | 1..1 | cs | Fixed Value: EVN
@negationInd |  | 0..1 | bl |
realmCode |  | 0..* | CS |
typeId |  | 0..1 | II |
Slices for templateId |  | 1..* | II | Slice: Unordered, Open by value:root
templateId:primary |  | 1..1 | II |
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
@assigningAuthorityName |  | 0..1 | st |
@displayable |  | 0..1 | bl |
@root |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.22.4.110
id |  | 1..* | II |
code |  | 1..1 | CD | Binding: ObservationType (extensible)
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
@code |  | 1..1 | cs | Required Pattern: ASSERTION
@codeSystem |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.5.4
@codeSystemName |  | 0..1 | st |
@codeSystemVersion |  | 0..1 | st |
@displayName |  | 0..1 | st |
@sdtcValueSet |  | 0..1 | oid | XML Namespace: urn:hl7-org:sdtc XML: valueSet (urn:hl7-org:sdtc)
@sdtcValueSetVersion |  | 0..1 | st | XML Namespace: urn:hl7-org:sdtc XML: valueSetVersion (urn:hl7-org:sdtc)
originalText |  | 0..1 | ED |
qualifier |  | 0..* | CR |
translation |  | 0..* | CD |
derivationExpr |  | 0..1 | ST |
text |  | 0..1 | ED |
statusCode |  | 1..1 | CS | Binding: ActStatus (required)
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
@code |  | 1..1 | cs | Fixed Value: completed
@sdtcValueSet |  | 0..1 | oid | XML Namespace: urn:hl7-org:sdtc XML: valueSet (urn:hl7-org:sdtc)
@sdtcValueSetVersion |  | 0..1 | st | XML Namespace: urn:hl7-org:sdtc XML: valueSetVersion (urn:hl7-org:sdtc)
effectiveTime |  | 0..1 | IVL_TS |
priorityCode |  | 0..1 | CE | Binding: ActPriority (extensible)
repeatNumber |  | 0..1 | IVL_INT |
languageCode |  | 0..1 | CS | Binding: HumanLanguage (required)
value |  | 1..1 | CD | Binding: Goal Achievement (required)
interpretationCode |  | 0..* | CE | Binding: ObservationInterpretation (required)
methodCode |  | 0..* | CE | Binding: ObservationMethod (extensible)
targetSiteCode |  | 0..* | CD |
subject |  | 0..1 | Subject |
specimen |  | 0..* | Specimen |
performer |  | 0..* | Performer2 |
author |  | 0..* | Author |
informant |  | 0..* | Informant |
participant |  | 0..* | Participant2 |
entryRelationship |  | 0..* | EntryRelationship |
reference |  | 0..* | Reference |
precondition |  | 0..* | Precondition |
referenceRange |  | 0..* | InfrastructureRoot |
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
realmCode |  | 0..* | CS |
typeId |  | 0..1 | II |
templateId |  | 0..* | II |
@typeCode |  | 0..1 | cs | Binding: ActRelationshipPertains (required) Fixed Value: REFV
observationRange |  | 1..1 | ObservationRange |
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code
Observation.classCode | required | Fixed Value: OBS
Observation.templateId:primary.nullFlavor | required | NullFlavor
Observation.code | extensible | ObservationType
Observation.code.nullFlavor | required | NullFlavor
Observation.statusCode | required | ActStatus
Observation.statusCode.nullFlavor | required | NullFlavor
Observation.priorityCode | extensible | ActPriority
Observation.languageCode | required | HumanLanguage (a valid code from `http://terminology.hl7.org/CodeSystem/ietf3066`)
Observation.value | required | Goal Achievement
Observation.interpretationCode | required | ObservationInterpretation
Observation.methodCode | extensible | ObservationMethod
Observation.referenceRange.nullFlavor | required | NullFlavor
Observation.referenceRange.typeCode | required | Fixed Value: REFV

#### Constraints

Id | Grade | Path(s) | Details | Requirements
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |

This structure is derived from CDAR2.Observation

Summary

Mandatory: 9 elements
Fixed Value: 3 elements
Prohibited: 1 element

Slices

This structure defines the following Slices:

- The element Observation.templateId is sliced based on the value of value:root

Differential View

This structure is derived from CDAR2.Observation

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation |  |  | CDAR2.Observation | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors: @classCode, @moodCode, @negationInd, realmCode, typeId, templateId, id, code, derivationExpr, text, statusCode, effectiveTime, priorityCode, repeatNumber, languageCode, value, interpretationCode, methodCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, referenceRange
classCode |  | 1..1 | cs | Fixed Value: OBS
moodCode |  | 1..1 | cs | Fixed Value: EVN
Slices for templateId |  | 1..* | II | Slice: Unordered, Open by value:root
templateId:primary |  | 1..1 | II |
root |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.22.4.110
extension |  | 0..0 |  |
id |  | 1..* | II |
code |  | 1..1 | CD |
code |  | 1..1 | cs | Required Pattern: ASSERTION
codeSystem |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.5.4
statusCode |  | 1..1 | CS |
code |  | 1..1 | cs | Fixed Value: completed
value |  | 1..1 | CD | Binding: Goal Achievement (required)
Documentation for this format

#### Terminology Bindings (Differential)

Path | Conformance | ValueSet
Observation.value | required | Goal Achievement

Key Elements View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation |  | 1..1 | CDAR2.Observation | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors: @classCode, @moodCode, @negationInd, realmCode, typeId, templateId, id, code, derivationExpr, text, statusCode, effectiveTime, priorityCode, repeatNumber, languageCode, value, interpretationCode, methodCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, referenceRange Base for all types and resources
@classCode |  | 1..1 | cs | Binding: ActClassObservation (required) Fixed Value: OBS
@moodCode |  | 1..1 | cs | Fixed Value: EVN
Slices for templateId |  | 1..* | II | Slice: Unordered, Open by value:root
templateId:primary |  | 1..1 | II |
@root |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.22.4.110
id |  | 1..* | II |
code |  | 1..1 | CD | Binding: ObservationType (extensible)
@code |  | 1..1 | cs | Required Pattern: ASSERTION
@codeSystem |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.5.4
statusCode |  | 1..1 | CS | Binding: ActStatus (required)
@code |  | 1..1 | cs | Fixed Value: completed
value |  | 1..1 | CD | Binding: Goal Achievement (required)
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code
Observation.classCode | required | Fixed Value: OBS
Observation.code | extensible | ObservationType
Observation.statusCode | required | ActStatus
Observation.value | required | Goal Achievement

#### Constraints

Id | Grade | Path(s) | Details | Requirements
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |

Snapshot View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
Observation |  | 1..1 | CDAR2.Observation | XML Namespace: urn:hl7-org:v3 Elements defined in Ancestors: @classCode, @moodCode, @negationInd, realmCode, typeId, templateId, id, code, derivationExpr, text, statusCode, effectiveTime, priorityCode, repeatNumber, languageCode, value, interpretationCode, methodCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, referenceRange Base for all types and resources
@classCode |  | 1..1 | cs | Binding: ActClassObservation (required) Fixed Value: OBS
@moodCode |  | 1..1 | cs | Fixed Value: EVN
@negationInd |  | 0..1 | bl |
realmCode |  | 0..* | CS |
typeId |  | 0..1 | II |
Slices for templateId |  | 1..* | II | Slice: Unordered, Open by value:root
templateId:primary |  | 1..1 | II |
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
@assigningAuthorityName |  | 0..1 | st |
@displayable |  | 0..1 | bl |
@root |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.10.20.22.4.110
id |  | 1..* | II |
code |  | 1..1 | CD | Binding: ObservationType (extensible)
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
@code |  | 1..1 | cs | Required Pattern: ASSERTION
@codeSystem |  | 1..1 | oid, uuid, ruid | Required Pattern: 2.16.840.1.113883.5.4
@codeSystemName |  | 0..1 | st |
@codeSystemVersion |  | 0..1 | st |
@displayName |  | 0..1 | st |
@sdtcValueSet |  | 0..1 | oid | XML Namespace: urn:hl7-org:sdtc XML: valueSet (urn:hl7-org:sdtc)
@sdtcValueSetVersion |  | 0..1 | st | XML Namespace: urn:hl7-org:sdtc XML: valueSetVersion (urn:hl7-org:sdtc)
originalText |  | 0..1 | ED |
qualifier |  | 0..* | CR |
translation |  | 0..* | CD |
derivationExpr |  | 0..1 | ST |
text |  | 0..1 | ED |
statusCode |  | 1..1 | CS | Binding: ActStatus (required)
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
@code |  | 1..1 | cs | Fixed Value: completed
@sdtcValueSet |  | 0..1 | oid | XML Namespace: urn:hl7-org:sdtc XML: valueSet (urn:hl7-org:sdtc)
@sdtcValueSetVersion |  | 0..1 | st | XML Namespace: urn:hl7-org:sdtc XML: valueSetVersion (urn:hl7-org:sdtc)
effectiveTime |  | 0..1 | IVL_TS |
priorityCode |  | 0..1 | CE | Binding: ActPriority (extensible)
repeatNumber |  | 0..1 | IVL_INT |
languageCode |  | 0..1 | CS | Binding: HumanLanguage (required)
value |  | 1..1 | CD | Binding: Goal Achievement (required)
interpretationCode |  | 0..* | CE | Binding: ObservationInterpretation (required)
methodCode |  | 0..* | CE | Binding: ObservationMethod (extensible)
targetSiteCode |  | 0..* | CD |
subject |  | 0..1 | Subject |
specimen |  | 0..* | Specimen |
performer |  | 0..* | Performer2 |
author |  | 0..* | Author |
informant |  | 0..* | Informant |
participant |  | 0..* | Participant2 |
entryRelationship |  | 0..* | EntryRelationship |
reference |  | 0..* | Reference |
precondition |  | 0..* | Precondition |
referenceRange |  | 0..* | InfrastructureRoot |
@nullFlavor |  | 0..1 | cs | Binding: NullFlavor (required)
realmCode |  | 0..* | CS |
typeId |  | 0..1 | II |
templateId |  | 0..* | II |
@typeCode |  | 0..1 | cs | Binding: ActRelationshipPertains (required) Fixed Value: REFV
observationRange |  | 1..1 | ObservationRange |
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet / Code
Observation.classCode | required | Fixed Value: OBS
Observation.templateId:primary.nullFlavor | required | NullFlavor
Observation.code | extensible | ObservationType
Observation.code.nullFlavor | required | NullFlavor
Observation.statusCode | required | ActStatus
Observation.statusCode.nullFlavor | required | NullFlavor
Observation.priorityCode | extensible | ActPriority
Observation.languageCode | required | HumanLanguage (a valid code from `http://terminology.hl7.org/CodeSystem/ietf3066`)
Observation.value | required | Goal Achievement
Observation.interpretationCode | required | ObservationInterpretation
Observation.methodCode | extensible | ObservationMethod
Observation.referenceRange.nullFlavor | required | NullFlavor
Observation.referenceRange.typeCode | required | Fixed Value: REFV

#### Constraints

Id | Grade | Path(s) | Details | Requirements
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |

This structure is derived from CDAR2.Observation

Summary

Mandatory: 9 elements
Fixed Value: 3 elements
Prohibited: 1 element

Slices

This structure defines the following Slices:

- The element Observation.templateId is sliced based on the value of value:root

Other representations of profile: CSV, Excel