Guide

Bringing your patient panel across

Summary

Export your clients from your old system, upload the file at Migration (/provider/tools/migrate), then read What came across (/provider/tools/migrate/report) — every record from your file gets a row saying what is wrong with it and what you can do. Blocking records cannot import; incomplete ones import and want a look. The repair chat reads the shape of your file, not your clients' details, and can fix a whole column of mis-read dates in one go. Records nothing in your file can supply still will not import, and that is correct.

By Gale Editorial · Updated 2026-09-22. Every figure cited to a dated source. How we write.

Getting the file out of your old system

SimplePractice exports a `.zip`. Take the whole thing rather than one file out of it: Gale reads the clients, the appointments and the balances from inside it, and a zip with only clients loses the other two.

TherapyNotes and IntakeQ export a single clients `.csv`. IntakeQ's own import template is the shape Gale expects.

Something else? Upload it anyway. Gale reads a general CSV by its column names, and if it cannot find a name or a date of birth column it refuses and tells you the headers it actually saw — which is usually enough to see what to rename.

Nothing imports until you say so

Uploading stages the file. It creates no patient records. You confirm clients one at a time, and until you do, nothing from your old system exists in Gale as a patient.

That is also why the report is worth reading before you confirm anything: this is the moment when fixing something is cheap.

Reading the report

What came across gives every record from your file its own row and its own number. Two severities, and the difference is the point:

What it meansWhat you do
Cannot importThe record cannot become a patient as it stands — no name, no usable date of birth, a balance naming nobody in the client fileType the value from your old system, or take the row out with a reason
Look at thisIt imports; something is thin — no home state, no email, no appointments matched, the same client twiceFill it in now or later. It is not holding anything up

A missing middle name is not a missing date of birth, and the report is built so those never read the same.

The summary ranks the problems by how many records each one is holding back — four of your six are a date format sends you to one fix instead of six rows.

Recording a value is not importing it

When you type a date of birth on a blocked record, Gale writes it beside the record. The record still reads as blocked, and the row says so.

That is deliberate. The quickest way to corrupt a migrated panel is an editor that accepts whatever it is handed and calls it fixed. Your value is kept, attributed to you, and applied where it belongs — it does not silently rewrite what your old system exported.

The repair chat, and what it will not do

Upload the same export on the report screen and Gale reads its shape — the column names and how the dates are written. Your clients' names, birthdays and contact details are not part of that conversation. Refer to a record by its number; a question carrying a patient's name is refused rather than quietly stripped.

It then offers repairs it measured by re-reading your file, with two numbers each:

  • unblocks — records that were not arriving and now would
  • corrects — values that were stored wrongly and now would not be

They are separate because they are different promises. A column of `15/03/1990` dates read day-first instead of month-first is the common one, and it usually unblocks several records at once.

Two things it refuses. It will not guess a two-digit year, and it will not choose between readings of a date that is real both ways — `03/12/1988` is a real date in either order, so nobody but you can say which it is. And applying a fix is your act: the chat proposes, and the repair runs when you press the button.

What a good repair looks like

Errors left over after a repair are the success condition, not a shortfall. A repair that cleared every row would have invented the records your file does not contain.

So after a fix, expect the dates that were mis-read to read, and expect the record with no date of birth in the file at all to still refuse. Nothing in your export says what that date was. It needs a value from your old system or it needs taking out — and taking it out, with a reason, is a legitimate finish.

Before you cancel your old subscription, check the migration ledger on the Migration screen. It accounts for every record type — clients, notes, appointments, balances, consents — and only goes green when every record is either imported or explained. That bit is the one to trust, precisely because it stays red while anything is unaccounted for.

Common questions

Export the whole .zip from SimplePractice, then upload it at Migration. Gale reads the clients, the appointments and the balances out of it and stages them — no patient record is created until you confirm one.

SimplePractice, TherapyNotes and IntakeQ have their own readers. Anything else uploads as a general CSV read by its column names; if Gale cannot find a name or a date of birth column it refuses and tells you the headers it saw.

What came across gives every record its own row and its own number, with what is wrong and what you can do about it. Records that cannot import are separated from records that import and just want a look.

Upload the same file on the report screen. Gale reads how the dates are written and offers to reparse the column day-first, telling you in advance how many records that unblocks — a number it measured by re-reading your file, not an estimate.

Because recording a value is not importing it. Your value is kept beside the record and attributed to you; it does not rewrite what your old system exported. The row says which of the two happened.

That is the correct outcome. A repair that cleared every row would have invented the records your file does not contain — a row with no date of birth anywhere in the export needs a value from your old system, or it needs taking out with a reason.

Check the migration ledger. It accounts for clients, notes, appointments, balances and consents, and goes green only when every record is either imported or explained. It stays red while anything is unaccounted for, which is the point of it.

Run your practice on Gale

The software is free. Gale earns one flat 3.5% all-in per paid transaction — only on transactions that actually pay. No subscription, no setup fee, no network cut.

Start or manage a practice →

Findability, by specialty

How practices like yours get found in local search and AI answers — the honest playbook, per specialty.

SEO for private practices · SEO for AI search / answer engines (all verticals)