---
title: "Goal data model"
url: "https://docs.unified.to/healthcare/goal/model"
description: "The Goal data model object in Unified's Goal API: 14 fields, including created_at, updated_at and patient_id, with types and enum values."
date: "2026-10-24T20:36:42.560Z"
updated: "2026-10-24T20:36:42.560Z"
---
# Goal data model

Updated: October 24, 2026

 View field support, webhooks, and list parameters for each integration on the [Supported Integrations](https://docs.unified.to/healthcare/integrations.md) page. 

| Field                    | Type                                                                                          | Required | Description                                                                                                                                                 |
| ------------------------ | --------------------------------------------------------------------------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| id                       | string                                                                                        | No       | Unique identifier for the goal                                                                                                                              |
| created\_at              | string (date-time)                                                                            | No       | When the goal record was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)                                                                                   |
| updated\_at              | string (date-time)                                                                            | No       | When the goal record was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)                                                                              |
| patient\_id              | string                                                                                        | No       | The patient the goal is for                                                                                                                                 |
| practitioner\_id         | string                                                                                        | No       | The practitioner who set the goal                                                                                                                           |
| condition\_ids           | string\[\]                                                                                    | No       | Conditions the goal addresses                                                                                                                               |
| name                     | string                                                                                        | No       | Human-readable description of the goal                                                                                                                      |
| codes                    | [HealthcareCode](https://docs.unified.to/healthcare/goal/model.md#HealthcareCode)\[\]         | No       | Codings for the goal                                                                                                                                        |
| codes\[\].system         | string                                                                                        | No       | The code system URI (e.g. http://loinc.org, http://snomed.info/sct)                                                                                         |
| codes\[\].code           | string                                                                                        | No       | The code within the system                                                                                                                                  |
| codes\[\].display        | string                                                                                        | No       | Human-readable display text for the code                                                                                                                    |
| status                   | enum                                                                                          | No       | Lifecycle status of the goal Values: PROPOSED, PLANNED, ACCEPTED, ACTIVE, ON\_HOLD, COMPLETED, CANCELLED, ENTERED\_IN\_ERROR, REJECTED, OTHER               |
| achievement\_status      | enum                                                                                          | No       | Progress towards the goal Values: IN\_PROGRESS, IMPROVING, WORSENING, NO\_CHANGE, ACHIEVED, SUSTAINING, NOT\_ACHIEVED, NO\_PROGRESS, NOT\_ATTAINABLE, OTHER |
| start\_at                | string (date-time)                                                                            | No       | When work on the goal starts (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)                                                                                       |
| due\_at                  | string (date-time)                                                                            | No       | When the goal should be reached (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)                                                                                    |
| notes                    | string                                                                                        | No       | Free-text notes about the goal                                                                                                                              |
| metadata                 | [HealthcareMetadata](https://docs.unified.to/healthcare/goal/model.md#HealthcareMetadata)\[\] | No       | Custom field values                                                                                                                                         |
| metadata\[\].id          | string                                                                                        | No       | Identifier of the custom field                                                                                                                              |
| metadata\[\].value       | object                                                                                        | No       | The custom field value                                                                                                                                      |
| metadata\[\].namespace   | string                                                                                        | No       | The scope or origin of the custom field                                                                                                                     |
| metadata\[\].format      | enum                                                                                          | No       | The data type of the value Values: TEXT, NUMBER, DATE, BOOLEAN, ARRAY, OBJECT                                                                               |
| metadata\[\].extra\_data | object                                                                                        | No       | Additional data about the custom field                                                                                                                      |
| metadata\[\].slug        | string                                                                                        | No       | The custom field key                                                                                                                                        |

## TypeScript

```typescript
export type HealthcareGoal = {
	id?: string; // Unique identifier for the goal
	created_at?: string-time; // When the goal record was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // When the goal record was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	patient_id?: string; // The patient the goal is for
	practitioner_id?: string; // The practitioner who set the goal
	condition_ids?: string[]; // Conditions the goal addresses
	name?: string; // Human-readable description of the goal
	codes?: []; // Codings for the goal
	status?: 'PROPOSED' | 'PLANNED' | 'ACCEPTED' | 'ACTIVE' | 'ON_HOLD' | 'COMPLETED' | 'CANCELLED' | 'ENTERED_IN_ERROR' | 'REJECTED' | 'OTHER'; // Lifecycle status of the goal
	achievement_status?: 'IN_PROGRESS' | 'IMPROVING' | 'WORSENING' | 'NO_CHANGE' | 'ACHIEVED' | 'SUSTAINING' | 'NOT_ACHIEVED' | 'NO_PROGRESS' | 'NOT_ATTAINABLE' | 'OTHER'; // Progress towards the goal
	start_at?: string-time; // When work on the goal starts (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	due_at?: string-time; // When the goal should be reached (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	notes?: string; // Free-text notes about the goal
	metadata?: []; // Custom field values
	raw?: any; // Raw data from integration
} 
```

## Zod

```typescript
import { z } from 'zod';

export const ZodHealthcareGoal = z.object({
	id: z.string().optional().describe("Unique identifier for the goal"),
	created_at: z.string-time().optional().describe("When the goal record was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("When the goal record was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	patient_id: z.string().optional().describe("The patient the goal is for"),
	practitioner_id: z.string().optional().describe("The practitioner who set the goal"),
	condition_ids: z.array().optional().describe("Conditions the goal addresses"),
	name: z.string().optional().describe("Human-readable description of the goal"),
	codes: z.array().optional().describe("Codings for the goal"),
	status: z.enum("PROPOSED", "PLANNED", "ACCEPTED", "ACTIVE", "ON_HOLD", "COMPLETED", "CANCELLED", "ENTERED_IN_ERROR", "REJECTED", "OTHER").optional().describe("Lifecycle status of the goal"),
	achievement_status: z.enum("IN_PROGRESS", "IMPROVING", "WORSENING", "NO_CHANGE", "ACHIEVED", "SUSTAINING", "NOT_ACHIEVED", "NO_PROGRESS", "NOT_ATTAINABLE", "OTHER").optional().describe("Progress towards the goal"),
	start_at: z.string-time().optional().describe("When work on the goal starts (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	due_at: z.string-time().optional().describe("When the goal should be reached (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	notes: z.string().optional().describe("Free-text notes about the goal"),
	metadata: z.array().optional().describe("Custom field values"),

});
```

## Python

```python
import dataclasses

@dataclasses.dataclass
class HealthcareGoalStatus(str, Enum):
	PROPOSED = 'PROPOSED'
	PLANNED = 'PLANNED'
	ACCEPTED = 'ACCEPTED'
	ACTIVE = 'ACTIVE'
	ON_HOLD = 'ON_HOLD'
	COMPLETED = 'COMPLETED'
	CANCELLED = 'CANCELLED'
	ENTERED_IN_ERROR = 'ENTERED_IN_ERROR'
	REJECTED = 'REJECTED'
	OTHER = 'OTHER'

@dataclasses.dataclass
class HealthcareGoalAchievement_status(str, Enum):
	IN_PROGRESS = 'IN_PROGRESS'
	IMPROVING = 'IMPROVING'
	WORSENING = 'WORSENING'
	NO_CHANGE = 'NO_CHANGE'
	ACHIEVED = 'ACHIEVED'
	SUSTAINING = 'SUSTAINING'
	NOT_ACHIEVED = 'NOT_ACHIEVED'
	NO_PROGRESS = 'NO_PROGRESS'
	NOT_ATTAINABLE = 'NOT_ATTAINABLE'
	OTHER = 'OTHER'

@dataclasses.dataclass
class HealthcareGoal:
	"""Unique identifier for the goal"""
	id: Optional[str]
	"""When the goal record was created (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""When the goal record was last updated (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	"""The patient the goal is for"""
	patient_id: Optional[str]
	"""The practitioner who set the goal"""
	practitioner_id: Optional[str]
	"""Conditions the goal addresses"""
	condition_ids: Optional[List[List[str]]]
	"""Human-readable description of the goal"""
	name: Optional[str]
	"""Codings for the goal"""
	codes: Optional[PropertyHealthcareGoalCodes]
	"""Lifecycle status of the goal"""
	status: Optional[HealthcareGoalStatus]
	"""Progress towards the goal"""
	achievement_status: Optional[HealthcareGoalAchievement_status]
	"""When work on the goal starts (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	start_at: Optional[str]
	"""When the goal should be reached (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	due_at: Optional[str]
	"""Free-text notes about the goal"""
	notes: Optional[str]
	"""Custom field values"""
	metadata: Optional[PropertyHealthcareGoalMetadata]

```
