ClinicDesk Documentation
ClinicDesk — Changelog
Every user-visible change to ClinicDesk, newest first.
This log covers changes that matter to users — new features, behaviour changes, removals, and bug-fix summaries. Internal refactors, dependency bumps, and build-system tweaks are left out. The format follows Keep a Changelog.
How entries are labelled
- Added — new capabilities.
- Changed — adjustments to existing behaviour you should notice.
- Fixed — defects that affected the product day to day.
- Removed — capabilities that were taken out.
1.2 — May 2026
Correctness, security, and polish pass across the whole application.
Added
- Per-IP login rate limit — five failed attempts from the same computer triggers a 15-minute lockout. The lockout is per-workstation, so a single PC stuck on a typo won’t lock out the rest of the clinic.
- Double-booking guarantee. The server now blocks overlapping appointment slots for the same doctor at booking time, with a clear error message. Cancelled appointments do not count as conflicts.
- “Now” line on the doctor schedule — the boss/doctor schedule shows a horizontal line at the current time across today’s view.
Changed
- Cancelling an appointment now requires a reason, which is stored on the appointment for future reference.
- Patient editing is now safe for partial updates. Editing a patient updates only the field you changed — leaving an optional field blank no longer wipes it.
- Invoice numbers follow the
INV-YYYY-NNNNNformat consistently across all generated invoices. - Three-payment splits totalling the bill (e.g. $33.33 / $33.33 / $33.34) now correctly mark the invoice as paid.
- Over-payments are rejected with a clear message instead of silently accepting more than the balance due.
- Session cookies now use
SameSite=Laxin addition toHttpOnly, closing a CSRF exposure. - Self-service password changes now require your current password. First-login forced changes still bypass this gate.
- Deactivating a user immediately invalidates their active session — they can no longer keep working until the session expires.
Fixed
- Em-dashes, middots, and special characters render correctly on every page. No more garbled “—” symbols on Reports, Settings, pager labels (“5–10 of 60”), and tooltips.
- Dates match your local clock everywhere. The dashboard, the “today” tab on the doctor schedule, and date-default fields no longer skip a day in the early morning hours.
- CSV report downloads open cleanly in Excel with proper UTF-8 detection (no leading “” garbage before the first header).
- Daily Revenue returns rows when you pick a single date.
- Patient Statement loads faster — eliminated extra database queries per invoice.
- Empty report date ranges return an empty table instead of an error.
- Special characters in names and notes (apostrophes, quotes) are handled safely throughout the UI.
- Money rounding drift fixed across invoices and partial payments — balances can no longer end at
-0.005and mis-classify as still partial. - Appointment status state machine. Terminal states (
completed,cancelled,no-show) can no longer be changed.
1.1 — March 2026
Multi-day schedule, hashed passwords, network access, and PDF invoices.
Added
- Doctor schedule now supports multi-day view with week navigation.
- Secure hashed password storage implemented to enhance account security.
- LAN and public IP access now supported for deployments on dedicated and virtual private servers.
- Enhanced user interface designed for Doctors, Secretaries, and Administrators.
- Schedule slot indicator added to help prevent overlapping appointments.
- Personalised option to display the clinic name across all application screens.
- Invoices can now be exported as PDF from the browser interface.
- Added email notification support for appointment confirmations.
Changed
- Patient search now indexes by phone number in addition to full name.
- Session timeout extended from 30 to 60 minutes with a warning prompt.
Fixed
- Partial payments now update invoice status correctly.
- Resolved a rare crash when deleting a patient with open appointments.
- Audit log timestamp offset on servers in non-UTC timezones.
1.0 — January 2026
First public release.
Added
- Appointment scheduling with full status tracking (pending, confirmed, completed, cancelled, no-show).
- Patient records with complete profile management — demographics, contact, blood type, allergies, emergency contact, and notes.
- Clinical visit records — diagnosis, treatment, prescription, follow-up interval.
- Document attachments per appointment and per visit.
- Invoicing and partial payment tracking with subtotal, tax, total, due date, and balance due.
- Role-based access control — Admin, Secretary, and Doctor roles enforced on every protected endpoint.
- Secretary-to-doctor assignment management.
- Full audit log for every create / update / delete operation.
- Browser-based UI — no client installation required.
- SQLite database with WAL mode for reliable concurrent multi-user access.