Type `/patient <fileNumber>` to pull up a patient: a skeleton card set
appears, then fills in with summary, allergies & alerts, medications &
problems, and vitals/labs/visits — composed from existing Card/Badge/
Avatar/Separator/Skeleton primitives (no new design).
- lib/patients.ts: typed mock fixture + async getPatient() (swap point
for a real API later).
- components/chat/patient-cards.tsx: PatientResult (loading/ready/
not-found).
- chat-panel.tsx: discriminated-union message model, strict /patient
parse, async lookup with update-by-id, clinical heading.
- chat-input.tsx: relabel leftover coding-assistant controls to clinical
copy + clinical icons; layout/styling unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>