35,161
Patients Migrated
187,963
Appointments Migrated
133 GB
Documents Moved
218
Custom Fields Recovered

Why groups look at switching

Clinic Office holds your practice together, and it has held a great deal of it for a long time. What tends to drive the decision is not a single failure but an accumulation: the clinical detail that lives in custom fields nobody can report on, the finance history that never quite reconciles, the questionnaires that exist as data but not as anything you can use, and the growing realisation that you are running a modern surgical group on a record you cannot query. The barrier isn't loyalty — it's the fear that a decade of history won't survive the move.

What we moved, and what it reconciled to

Every figure here is counted from the migration ledger after the import finished — the record of what actually landed in the new system, reconciled row by row. None of it is read off a log line or estimated from the source.

People and diary

35,161 patients and 187,963 appointments, with practitioners, appointment types, statuses, rooms and locations rebuilt to match. The forward diary is pulled last, the night before go-live, so no future booking is missed or duplicated.

Money

50,301 invoices and 49,605 payments, imported as historical financial records rather than live accounts. Your history is complete and searchable; it does not become debt your new system starts chasing.

Clinical detail

182,928 documents (133 GB), 11,990 patient notes, 9,972 patients' clinical fields, 4,628 GP contacts, and 38,230 questionnaire responses across three forms — reconstructed as real, reportable questionnaires rather than dumped as text.

Two things a naive Clinic Office migration gets wrong

Both of these are specific to Clinic Office, both are invisible until after go-live, and both are the reason we will not quote this migration from a feature list alone.

  1. Most of your clinical data is not in the obvious fields. Clinic Office exposes a tidy set of standard patient fields — and then puts the substance of your practice in custom fields behind them. On the group we moved, that was 218 populated keys carrying clinical history, GP details and three separate questionnaires. A migration that maps only the documented fields produces a patient list that looks complete and is clinically empty. We counted every key and mapped all 218.
  2. Unpaid invoices in Clinic Office are usually not debt. Payments taken outside the system frequently never get marked against the invoice, so the outstanding balance in Clinic Office bears no relation to what patients actually owe — on the group we moved, an apparent multi-million-pound ledger was genuinely zero. Import that naively into a live system and your new platform starts emailing thousands of patients to chase money they paid years ago. We establish the real position with you before a single invoice moves.

Not one patient was contacted

Importing 187,963 appointments into a live system means handing every automation in that system 187,963 new things to react to — confirmations, reminders, review requests, balance chasers. This is the migration failure that damages a clinic's reputation rather than its data.

Our hard rule is that no patient receives any communication about any aspect of an import, ever — enforced structurally, so that imported records are invisible to the scheduled jobs that would otherwise find them, including jobs written long after the migration is over. On this migration the count of patient communications generated was zero, verified against the message ledger rather than assumed.

How the migration works

  1. We connect directly to Clinic Office. This is an API migration, not a CSV hand-off — we read patients, appointments, invoices, payments, staff, clinics, rooms, case notes and documents from the source itself, so nothing depends on what an export screen chooses to include.
  2. We count before we design. Every field, including the custom ones, is counted on your live data before a line of mapping is written. You get told what is actually populated in your system, which is frequently not what anyone expects.
  3. De-duplication happens before anything links up. Patient matching runs first and conservatively: near-matches go to a review queue for a human decision rather than being fused automatically. Merging two different people is far harder to undo than merging two records later.
  4. Bulk history imports while you keep working. Patients, appointments, money, notes, documents and questionnaires all move ahead of your switch date, with Clinic Office still live in front of your team.
  5. Your team validates against the source. You spot-check your own patients while you still have Clinic Office access. Imported notes are prefixed so it is always obvious what came from where.
  6. Cutover is one short pull, not a long night. On the eve of go-live we pull the forward diary — minutes, not hours — because everything else is already in. You sign the migration report; then, and only then, billing starts.

Groups typically retain a single read-only Clinic Office licence afterwards, so nothing ever depends on the migration being perfect on a particular date.

The switch guarantee

White-glove migration on every plan, done for you and reviewed by the founder, scoped and quoted for your clinic before you commit to anything. Your first 30 days on Velastria are free, and your subscription does not start until your historical data is imported, your team has completed a full working week live on Velastria, and you have signed off the migration report. Your old system stays available read-only throughout, so there is never a moment without a working record. If you decide against us, you cancel and take a free, complete export of everything you created here.

Frequently Asked Questions

Do our custom fields come across?

Yes, and this is the part that separates a real Clinic Office migration from a superficial one. We count every populated custom key on your live data first, then map them to proper structured fields, questionnaires and contacts in Velastria — not to a block of free text you can never report on again.

What happens to our questionnaires?

They are rebuilt as real questionnaires. On the group we moved, three separate forms and 38,230 individual responses were reconstructed by matching on question content rather than form name, because the names in the source had drifted over the years.

What about our documents and scanned notes?

They move in full. We fetched 182,928 files totalling 133 GB on the last migration, and every one is reconciled against the catalogue afterwards — not sampled. If a file cannot be retrieved, it appears in your migration report by name.

We have multiple sites. Does that complicate it?

No. Clinics, rooms and locations come across as structure, and Velastria is multi-site by design, so your diary, staff and reporting stay separated by site exactly as they are now.

Is there downtime?

No. Your team keeps working in Clinic Office until the switch date, and it stays available read-only afterwards. The only cutover step is a short forward-diary pull the night before.

How long does it take?

The bulk import runs over days to weeks depending on document volume, and it happens behind you while you carry on working. The part your team experiences — training, validation and cutover — is measured in days.

Coming from something else?

We have also migrated clinics from Pabau and CRM history from Salesforce — the latter for this same group, so their enquiries and their clinical records ended up as one person rather than two. See the switching overview for what we have moved in total.

Start with a conversation.

Tell us what you're running now and what's driving you mad about it. We'll show you Velastria on a live screen-share, and if you want, on a sample of your own data.

Contact us →