The Treatment Course in the Patient's Pocket
Intro
A course of non-surgical spine treatment runs over many sessions and many weeks. The ANSSI patient app gives the person having it a clear view of where they are - what is booked, what is done, how the plan is progressing - and replaces the arrival queue with a QR scan.
The ANSSI patient app is the patient-facing half of the ANSSI Wellness platform. It is an Expo and React Native application in strict TypeScript, giving people on a course of non-surgical spine treatment a view of their own care between visits.
The Background
Spinal decompression is not a single appointment. It is a course that runs over weeks, sometimes across more than one clinic, alongside physiotherapy and exercise. Patients were tracking that course through appointment reminders and memory, and arriving at reception to be found on a list.
The Challenge
Patient data is the most sensitive material the platform holds, and the app had to reach it from an ordinary consumer handset. Shipping database credentials inside a mobile binary was not an option - anything embedded in the app is recoverable from it.
The login also had to work for people who are not signing up for a product. Patients do not create accounts; the clinic already knows who they are.
The Solution
The app carries no database client and no database credentials. Every screen calls the CRM REST endpoints, authenticating with the patient identifier issued at login, and every query executes server-side under the CRM service role. The handset can ask questions about one patient and receives only that patient''s answers.
Sign-in uses the phone number and PIN the clinic already issued, so there is no signup flow to abandon. Once in, six tabs cover the course: a dashboard with the next appointment, active plan progress and consent status; appointments upcoming and past; session history with a how-you-felt response after each one; a QR scanner for arrival check-in; a guidance section of dos and donts; and a profile holding treatment plans, pain assessments, intake forms and consents.
The Solution
- 01A zero-credential client: the app ships no database client and no keys. Every screen calls the CRM REST endpoints and every query runs server-side under the service role, so the handset can only ever receive one patient''s data.
- 02Sign-in on the phone number and PIN the clinic already issued - no signup flow for people who are patients rather than customers.
- 03A dashboard that answers the three questions a patient mid-course actually has: when is the next appointment, how far through the plan am I, and is my paperwork complete.
- 04QR check-in on arrival - the patient scans the code posted at the clinic instead of queuing to be found on a list.
- 05Session history with a how-you-felt response captured after each visit, feeding progress tracking on the clinical side.
- 06A profile holding treatment plans, pain assessments, intake forms and consents, plus a dos and donts guide for the weeks between sessions.
The Results
- 01Patients can see their own course between visits instead of reconstructing it from appointment reminders.
- 02Arrival became a scan rather than a conversation at reception, and check-ins land directly in the CRM.
- 03Session feedback is captured while it is fresh, giving the clinical team progress data that used to depend on recall at the next visit.
The Achievement
- Built with no database credentials on the device - a security boundary decided at architecture rather than patched later.
- Expo SDK 54 and expo-router in strict TypeScript, sharing structure with the ANSSI attendance app.
- Six patient screens covering dashboard, appointments, check-in, sessions, guidance and profile.
- Camera-based QR check-in wired straight into clinic operations.