---
title: "View treatment plans"
method: GET
path: "/treatment_plans"
tags: ["Treatment Plans"]
---

# View treatment plans

`GET /treatment_plans`

## Request

- Base URL: `https://nexhealth.info`
- URL: `https://nexhealth.info/treatment_plans`
- Auth: API key in header `Authorization`

Returns a cursor-paginated list of treatment plans for the institution, with each plan's procedures embedded. Soft-deleted treatment plans are excluded. Results can be filtered by patient_id, status, and updated_since, and are ordered by id ascending — when using updated_since for incremental sync, do not assume results are ordered by update time.

## Query parameters

- `subdomain` string, required
- `patient_id` integer
- `status` 'not_applicable' | 'proposed' | 'accepted' | 'rejected' | 'completed'
- `updated_since` string, date-time
- `start_cursor` string
- `end_cursor` string
- `per_page` integer

## Headers

- `Nex-Api-Version` string, required

## Response `200`

Successful

- APIV20240412EntitiesTreatmentPlanCollectionResponseWithCursor: API_V20240412_Entities_TreatmentPlan_Collection_Response_WithCursor model
  - `code` boolean: Indicates the success or failure of the request
  - `description` string: Additional context on the request to help with debugging.
  - `error` string[]: Any errors that occur during the execution of the request.
  - `data` APIV20240412EntitiesTreatmentPlan[]
    - `id` integer: Resource id
    - `name` string, nullable: The name of the treatment plan
    - `patient_id` integer, nullable: The ID of patient this treatment plan is for
    - `updated_at` string, date-time: Treatment plan update date in UTC
    - `status` 'not_applicable' | 'proposed' | 'accepted' | 'rejected' | 'completed', nullable: Status of the treatment plan
    - `procedures` APIV2EntitiesProcedure[]: Procedures assigned to the treatment plan
      - `id` integer: Procedure id
      - `location_id` integer, nullable: Location id
      - `patient_id` integer, nullable: Patient id
      - `provider_id` integer, nullable: Provider id
      - `appointment_id` integer, nullable: Appointment id. Null when the procedure is not attached to an appointment
      - `code` string, nullable: Procedure code
      - `name` string, nullable: Procedure name
      - `status` 'planned' | 'scheduled' | 'completed' | 'inactive' | 'referred', nullable: Procedure status
      - `updated_at` string, date-time: Procedure update date in UTC
      - `body_site` APIV2EntitiesProcedureBodySite
        - `tooth` string[]: Tooth identifier strings, typically tooth numbers
        - `surface` string: Tooth surface codes
      - `fee` APIV2EntitiesPrice
        - `amount` string: The currency value, in whole units (e.g. dollars)
        - `currency` string: The ISO currency code
      - `start_date` string, date, nullable: Start date for procedure
      - `end_date` string, date, nullable: End date for procedure
  - `page_info` object: Pagination information that can be used for fetching previous and next pages.

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `500`: Internal Server Error

---

[API](https://skmtc.dev/nexhealth/apis/nexhealth-api.md) - [All operations](https://skmtc.dev/nexhealth/apis/nexhealth-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nexhealth/apis/nexhealth-api/revisions/a180e830b672?raw)
