What’s new
- The patient list freeze is resolved on 5,000+ clinics. Single-query aggregation replaces what was previously per-patient lookups.
- The typeahead picker holds at 50,000 records. Search stays instant whether the chart is small or massive.
- A 90-second cache on modules. First open of a module loads from the server; switching away and coming back is instant.
- Dashboard cold-load is roughly 320 KB. Down from about 3.5 MB. Every module lazy-loads.
- The 4–5 second blank screen after sign-in is gone. The app reads your clinic from your session instead of waiting on a separate network call.

