---
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`

## 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.

---

[API](https://skmtc.net/clinicos/apis/pawthosx-business-api-v1.md) · [All operations](https://skmtc.net/clinicos/apis/pawthosx-business-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clinicos/pawthosx-business-api-v1/revisions/a905bde4e796/schema)
