762 B
762 B
Patient Page Refactoring
Current Architecture Issues
- File:
src/routes/(app)/patients/+page.svelte(543 lines) - Mixes patient CRUD + visit management + ADT history in one file
- Inline visit card rendering (~100 lines)
- Helper functions at bottom (formatDate, formatDateTime)
- Patient name formatting repeated 3+ times inline
Refactoring Plan
- Extract VisitCard.svelte component
- Create patientUtils.js for shared helpers
- Group modal states into objects (patientModals, visitModals)
- Use $derived for computed values (patientFullName, formattedVisits)
- Add JSDoc types for Patient and Visit
Related Files
- PatientFormModal.svelte
- VisitFormModal.svelte
- VisitADTHistoryModal.svelte
- $lib/api/patients.js
- $lib/api/visits.js