---
title: "Evaluate the \"Missing Before Discharge\" safety checklist for an appointment (PAW-628)."
method: GET
path: "/Appointments/{id}/discharge-checklist"
tags: ["Appointments"]
---

# Evaluate the "Missing Before Discharge" safety checklist for an appointment (PAW-628).

`GET /Appointments/{id}/discharge-checklist`

## Request

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

## Path parameters

- `id` string, required

## Response `200`

OK

- DischargeChecklistDto: Result of evaluating the "Missing Before Discharge" safety checklist for an appointment (PAW-628). Items are grouped by how they gate discharge so the UI can render three sections: required, recommended, and already-completed.
  - `appointmentId` string
  - `required` DischargeChecklistItemDto[]: Items that must be resolved or overridden before discharge.
    - `key` string
    - `category` string: medical | financial | communication | inventory
    - `status` string: missing | complete | overridden | pending
    - `severity` string: required | warning
    - `title` string
    - `explanation` string
    - `actionLabel` string, nullable: Label for the direct-action button, e.g. "Finalize invoice". Null when no action applies.
    - `actionTarget` string, nullable: Frontend deep-link hint for the action button, e.g. "invoice", "dispense", "schedule". The chronicle UI maps these to the relevant tab/route.
    - `canOverride` boolean: Whether the current user is permitted to override this item.
    - `override` ChecklistOverrideDto: Audit record of an override: reason, user, timestamp.
      - `reason` string
      - `userId` string, nullable
      - `timestamp` string, date-time
  - `recommended` DischargeChecklistItemDto[]: Items worth attention but not blocking (warning-only).
    - `key` string
    - `category` string: medical | financial | communication | inventory
    - `status` string: missing | complete | overridden | pending
    - `severity` string: required | warning
    - `title` string
    - `explanation` string
    - `actionLabel` string, nullable: Label for the direct-action button, e.g. "Finalize invoice". Null when no action applies.
    - `actionTarget` string, nullable: Frontend deep-link hint for the action button, e.g. "invoice", "dispense", "schedule". The chronicle UI maps these to the relevant tab/route.
    - `canOverride` boolean: Whether the current user is permitted to override this item.
    - `override` ChecklistOverrideDto: Audit record of an override: reason, user, timestamp.
      - `reason` string
      - `userId` string, nullable
      - `timestamp` string, date-time
  - `completed` DischargeChecklistItemDto[]: Items that passed — shown for reassurance, not action.
    - `key` string
    - `category` string: medical | financial | communication | inventory
    - `status` string: missing | complete | overridden | pending
    - `severity` string: required | warning
    - `title` string
    - `explanation` string
    - `actionLabel` string, nullable: Label for the direct-action button, e.g. "Finalize invoice". Null when no action applies.
    - `actionTarget` string, nullable: Frontend deep-link hint for the action button, e.g. "invoice", "dispense", "schedule". The chronicle UI maps these to the relevant tab/route.
    - `canOverride` boolean: Whether the current user is permitted to override this item.
    - `override` ChecklistOverrideDto: Audit record of an override: reason, user, timestamp.
      - `reason` string
      - `userId` string, nullable
      - `timestamp` string, date-time
  - `pending` DischargeChecklistItemDto[]: Items whose subject doesn't exist yet (no invoice created, no vaccines administered, no SOAP plan...). Never block completion; rendered as upcoming rather than green so the live rail doesn't claim success before the work has happened (PAW-675).
    - `key` string
    - `category` string: medical | financial | communication | inventory
    - `status` string: missing | complete | overridden | pending
    - `severity` string: required | warning
    - `title` string
    - `explanation` string
    - `actionLabel` string, nullable: Label for the direct-action button, e.g. "Finalize invoice". Null when no action applies.
    - `actionTarget` string, nullable: Frontend deep-link hint for the action button, e.g. "invoice", "dispense", "schedule". The chronicle UI maps these to the relevant tab/route.
    - `canOverride` boolean: Whether the current user is permitted to override this item.
    - `override` ChecklistOverrideDto: Audit record of an override: reason, user, timestamp.
      - `reason` string
      - `userId` string, nullable
      - `timestamp` string, date-time
  - `evaluatedAt` string, date-time
  - `hasBlockingItems` boolean: True when at least one required item is still unresolved (status == "missing"). When true the discharge/completion gate should block until resolved or overridden.
  - `isEuthanasiaVisit` boolean: True when the visit is detected as a euthanasia/end-of-life visit (ITE-323). The discharge tab uses this to default generation off and show the "Generate anyway" affordance instead.
  - `euthanasiaSignal` string, nullable: Human-readable reason for the euthanasia detection, when detected.

## Changes

- **2026-08-12** `e7d381a5453b`: 6 info
  - added the optional property `euthanasiaSignal` to the response with the `200` status (media type: text/plain)
  - added the optional property `euthanasiaSignal` to the response with the `200` status (media type: application/json)
  - added the optional property `euthanasiaSignal` to the response with the `200` status (media type: text/json)
  - added the optional property `isEuthanasiaVisit` to the response with the `200` status (media type: text/plain)
  - …2 more

[Operation history](https://skmtc.dev/clinicos/apis/pawthosx-business-api-v1/changes/Appointments/:id/discharge-checklist/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)
