Goal
Overview
The Goal resource describes intended objectives for a patient, group, or organization. Goals are used in care planning to establish targets for patient care and track progress toward achieving desired outcomes.
Purpose:
- Document patient treatment goals and objectives
- Track progress toward health outcomes
- Support care coordination and planning
- Enable measurement of care effectiveness
Use Cases:
- Behavioral health treatment goals (e.g., reduce anxiety, improve coping skills)
- SDOH (Social Determinants of Health) goals (e.g., secure stable housing, obtain employment)
- Clinical outcome goals (e.g., achieve target HbA1c level, maintain sobriety)
- Recovery and wellness planning
Relationships:
- References Patient resources for goal subjects
- Linked to CarePlan resources for treatment planning
- May reference Condition resources for addressed health issues
- Can be tracked via Observation resources for outcome measurement
Resource Schema
Key Fields
| Field | Type | Description |
|---|---|---|
resourceType | string | Always "Goal" |
id | string | Unique identifier for the goal |
lifecycleStatus | code | proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected |
achievementStatus | CodeableConcept | Describes the progression, or lack thereof, towards the goal |
category | CodeableConcept[] | Goal category (e.g., behavioral, dietary, safety) |
description | CodeableConcept | Code or text describing the goal |
subject | Reference(Patient) | Who this goal is intended for |
startDate | date | When goal pursuit begins |
target | BackboneElement[] | Target outcome for the goal |
target.measure | CodeableConcept | The parameter whose value is being tracked |
target.detailQuantity | Quantity | Target value of the measure |
target.detailString | string | Target value of the measure |
target.dueDate | date | Reach goal on or before this date |
JSON Example
{
"resourceType": "Goal",
"id": "goal-123",
"meta": {
"profile": [
"http://hl7.org/fhir/us/core/StructureDefinition/us-core-goal"
]
},
"lifecycleStatus": "active",
"achievementStatus": {
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/goal-achievement",
"code": "in-progress",
"display": "In Progress"
}
]
},
"category": [
{
"coding": [
{
"system": "http://terminology.hl7.org/CodeSystem/goal-category",
"code": "behavioral",
"display": "Behavioral"
}
]
}
],
"description": {
"text": "Patient will develop and practice healthy coping strategies for managing anxiety"
},
"subject": {
"reference": "Patient/patient-123",
"display": "John Smith"
},
"startDate": "2024-01-15",
"target": [
{
"measure": {
"coding": [
{
"system": "http://loinc.org",
"code": "89206-7",
"display": "Generalized anxiety disorder 7 item (GAD-7) total score"
}
]
},
"detailString": "GAD-7 score below 10",
"dueDate": "2024-07-15"
}
]
}
Operations
The Goal resource supports Read and Search operations. Support varies by CareRecord solution:
| CareRecord / Solution | Create | Read | Update | Search |
|---|---|---|---|---|
| GEHRIMED | - | Yes | - | Yes |
| myAvatar | - | Yes | - | Yes |
| myEvolv | - | Yes | - | Yes |
| myUnity | - | Yes | - | Yes |
| TheraOffice | - | Yes | - | Yes |
Read
Retrieve a specific Goal by ID.
- Production
- Preview
GET /Goal/{id}
GET /Goal/{id}
Search
Search for goals using various criteria.
GET Method
Use GET for simple searches with parameters in the query string.
- Production
- Preview
GET /Goal?parameter=value
GET /Goal?parameter=value
POST Method
Use POST for complex searches with form-encoded parameters.
- Production
- Preview
POST /Goal/_search
POST /Goal/_search
Search Parameters
Patient-based Search:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
patient | reference | Yes | Who this goal is intended for | patient=Patient/123 |
description | token | No | Code or text describing goal | description=anxiety |
lifecycle-status | token | No | proposed | planned | accepted | active | on-hold | completed | cancelled | entered-in-error | rejected | lifecycle-status=active |
start-date | date | No | When goal pursuit begins | start-date=ge2024-01-01 |
target-date | date | No | Reach goal on or before | target-date=le2024-12-31 |
_lastUpdated | date | No | Only return resources which were last updated as specified by the given range | _lastUpdated=ge2024-01-01 |
_revinclude | special | No | Include Provenance resource(s) that reference the matched search results. Allowed: "Provenance:target" | _revinclude=Provenance:target |
ID-based Search:
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
_id | token | Yes | The ID of the resource | _id=goal-123 |
_lastUpdated | date | No | Only return resources which were last updated as specified by the given range | _lastUpdated=ge2024-01-01 |
_revinclude | special | No | Include Provenance resource(s) that reference the matched search results. Allowed: "Provenance:target" | _revinclude=Provenance:target |
Examples
Read
Retrieve a specific Goal resource by its ID.
- Production
- Preview
GET /Goal/{id}
GET /Goal/{id}
Search
Via POST (Recommended)
- Production
- Preview
Search by Patient
curl -X POST https://fhir.netsmartcloud.com/provider/system-access/v2/{tenant-id}/Goal/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123"
Search by Patient and Status
curl -X POST https://fhir.netsmartcloud.com/provider/system-access/Goal/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123" \
-d "lifecycle-status=active"
Search with Date Range
curl -X POST https://fhir.netsmartcloud.com/provider/system-access/Goal/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123" \
-d "start-date=ge2024-01-01" \
-d "target-date=le2024-12-31"
Search by Patient
curl -X POST https://fhirtest.netsmartcloud.com/provider/system-access/v2/{tenant-id}/Goal/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123"
Search by Patient and Status
curl -X POST https://fhirtest.netsmartcloud.com/provider/system-access/Goal/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123" \
-d "lifecycle-status=active"
Search with Date Range
curl -X POST https://fhirtest.netsmartcloud.com/provider/system-access/Goal/_search \
-H "Accept: application/fhir+json" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "patient=Patient/patient-123" \
-d "start-date=ge2024-01-01" \
-d "target-date=le2024-12-31"
Via GET
- Production
- Preview
Search by Patient
curl -X GET "https://fhir.netsmartcloud.com/provider/system-access/v2/{tenant-id}/Goal?patient=Patient/patient-123" \
-H "Accept: application/fhir+json"
Search by Patient
curl -X GET "https://fhirtest.netsmartcloud.com/provider/system-access/v2/{tenant-id}/Goal?patient=Patient/patient-123" \
-H "Accept: application/fhir+json"
Integration Patterns
Common Workflows
Treatment Planning:
- Retrieve patient's active CarePlan
- Query associated Goals using
patientparameter - Filter by
lifecycle-status=activefor current goals - Track progress via linked Observation resources
Goal Progress Tracking:
- Search for patient's goals with specific
target-daterange - Review
achievementStatusto assess progress - Update treatment interventions based on goal achievement
Care Coordination:
- Query goals across multiple care episodes
- Use
_revinclude=Provenance:targetto track goal authorship - Coordinate with CarePlan and ServiceRequest resources
Related Resources
- CarePlan - Treatment plans that reference goals
- Condition - Health conditions addressed by goals
- Observation - Measurements tracking goal progress
- Patient - Subject of the goal
- Provenance - Audit trail for goal creation and updates
Error Handling
For common error scenarios and troubleshooting guidance, see Common Errors.