The old spreadsheet, read out loud before anything is written — and reversible until it is used.
The day you move in. Upload the export from whatever the practice used before, and the columns are matched to fields for you — change any guess. Then the part that matters: a dry run that says, row by row, exactly what would happen. This one becomes a new patient. This one is already on file, matched on the mobile number, so it will be skipped. This one is refused, and here is why — an unreadable date, no age at all, a mobile a message could never reach. Nothing has been written yet. Only when you have read it does “bring it in” do anything, and every row then records what it created, so pressing it twice cannot make a second copy of anybody. Money owed from the old system comes in the same way and lands as a real bill, dated when the balance was struck so it ages honestly. Appointments already promised land on real slots in the doctor’s own hours. And while nothing has been built on an import — no visit, no payment, no arrival — the whole batch can be withdrawn with a reason.
What it does not do, by design. A listing with only benefits is an advertisement.
Read out of the code, not the brochure: each app below is here because one service queries the other’s tables. Install either side and the hand-over is already wired.
Tell us what you run and we will show you this app inside a practice shaped like yours — or answer the question the page above did not.