---
title: "The record's surgical phases, resolved on read by SurgeryPhaseResolver (ITE-1330 PR3, flag `SurgicalPhaseNotes`): the boundaries with the console signal each came from, plus the phase of every timeline event and anesthesia-grid row. Nothing is stored — phases follow corrections immediately and a finalized record is never written. 404 with the flag off."
method: GET
path: "/SurgicalRecords/{id}/phases"
tags: ["SurgicalRecords"]
---

# The record's surgical phases, resolved on read by SurgeryPhaseResolver (ITE-1330 PR3, flag \`SurgicalPhaseNotes\`): the boundaries with the console signal each came from, plus the phase of every timeline event and anesthesia-grid row. Nothing is stored — phases follow corrections immediately and a finalized record is never written. 404 with the flag off.

`GET /SurgicalRecords/{id}/phases`

## Request

- Base URL: `https://api.clinicos.vet/backend/business`
- URL: `https://api.clinicos.vet/backend/business/SurgicalRecords/{id}/phases`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/docs/SurgicalRecords/:id/phases/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `id` string, required

## Response `200`

OK

- SurgicalPhasesDto: A surgical record's phases, resolved on read (ITE-1330 PR3). Boundaries are null when no console signal placed them; items the boundaries can't place are SurgeryPhase.Unknown.
  - `induction` SurgicalPhaseBoundaryDto
    - `at` string, date-time
    - `source` string: The console signal the boundary came from, e.g. "induction milestone".
  - `procedureStart` SurgicalPhaseBoundaryDto
    - `at` string, date-time
    - `source` string: The console signal the boundary came from, e.g. "induction milestone".
  - `postOpStart` SurgicalPhaseBoundaryDto
    - `at` string, date-time
    - `source` string: The console signal the boundary came from, e.g. "induction milestone".
  - `dischargeStart` SurgicalPhaseBoundaryDto
    - `at` string, date-time
    - `source` string: The console signal the boundary came from, e.g. "induction milestone".
  - `events` SurgicalEventPhaseDto[]
    - `eventId` string
    - `phase` integer: The surgical phase an item of a surgery visit falls in (ITE-1330), resolved on read by `SurgeryPhaseResolver` from console timestamps only. Declaration order is chronological; SurgeryPhase.Unknown is last. Pre-op ends at induction (scoping decision, 2026-10-12). Intra-op splits into the work done under anesthesia before the procedure (dental radiographs, scaling, blocks, prep) and the procedure itself; SurgeryPhase.IntraOp is intra-op time that can't be split because the procedure start was never stamped.
  - `gridRows` SurgicalGridRowPhaseDto[]
    - `rowId` string, nullable: The grid row's client id; null for a row saved without one.
    - `at` string, date-time, nullable: When the reading was taken, or null when it couldn't be dated.
    - `phase` integer: The surgical phase an item of a surgery visit falls in (ITE-1330), resolved on read by `SurgeryPhaseResolver` from console timestamps only. Declaration order is chronological; SurgeryPhase.Unknown is last. Pre-op ends at induction (scoping decision, 2026-10-12). Intra-op splits into the work done under anesthesia before the procedure (dental radiographs, scaling, blocks, prep) and the procedure itself; SurgeryPhase.IntraOp is intra-op time that can't be split because the procedure start was never stamped.

## Other responses

- `404`: Not Found

## Changes

- **2026-10-21** `85ee96c0bb96`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/SurgicalRecords/:id/phases/get.md)

---

[API](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1.md) - [All operations](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/revisions/099cf36186e0?raw)
