Migration Playbook

Migrating from TherapyNotes to SignalEHR: a 14-day playbook

August 26, 2026 · 8 min read · By SignalEHR

Read this part before you do anything else

TherapyNotes has two deadlines that permanently destroy records, and both are easy to trip while you are busy thinking about software. Nothing else on this page matters if you hit one of them.

Export everything before you cancel. After termination, records are permanently deleted once the retention window closes. Cancelling first and exporting afterwards is not a sequence that works.

Never let the account lapse mid-migration. Sixty days of non-payment marks the account abandoned, and it is terminated on day 61. Keep paying for the old system until your export is safely in hand. It is the cheapest insurance in this whole process.

With that out of the way: TherapyNotes is a solid, well-run EHR, and its demographics export is the best of the three major systems by a clear margin. The hard part here is not the client data. It is the notes.

Fourteen days matches our free trial and is the realistic minimum for a careful cutover. If you have several hundred active clients, budget longer. Section two explains why.

1. The easy part, honestly

Demographics and insurance come out as one clean CSV, with policy information alongside the client record rather than in a separate report you have to join by hand. Of the three systems we import from, this is the one that behaves.

Client demographics

Name, email, phone, date of birth, address. TherapyNotes produces the cleanest demographics CSV of the three major systems. This part genuinely is easy.

Insurance details

Primary and secondary payer with member IDs, in the same export as demographics rather than a second report you have to remember to run.

Notes, as documents

One combined PDF per client, attached to their record. Readable and searchable by filename; not structured notes, because a PDF cannot honestly be turned back into one.

2. The notes are per-patient, one client at a time

There is no self-serve bulk note export. You open a client, choose “Download Multiple”, and get one combined PDF for that client. Then you do it again for the next one.

For a practice with 40 active clients that is an afternoon. For one with 400 it is a genuine project. It is also why a TherapyNotes migration takes longer than its clean CSV suggests. A true bulk export exists, but it is a paid support request. Price it before you commit to doing this by hand. At a few hundred clients the paid route is almost certainly cheaper than your own time.

TherapyNotes has no public API at all. No partner programme, no enterprise tier. There is no automated path around the manual export, for us or for anyone else. Any vendor promising to “connect to your TherapyNotes account and pull everything across” is describing something that does not exist.

3. What stays behind

Appointment history

TherapyNotes exports appointments inside a transaction spreadsheet rather than as a calendar. You rebuild the forward schedule in SignalEHR during the parallel run.

Billing history

The financial export is a reference document, not an importable ledger. Outstanding balances finish collecting in TherapyNotes while you run both.

We would rather say this plainly on a page you read before signing up than have you discover it in week one. Your client list and insurance details move in minutes. Your calendar and your ledger do not, from any system to any other. A parallel run is how everyone handles it, including the practices who tell you afterwards that their migration was painless.

4. The import itself

Drop the CSV in. It recognises a TherapyNotes export from its column headers, maps what it knows, and shows you a review table before anything is created.

  • Date order is worked out, not assumed. 03/04/1990 is two different birthdays. We read the whole column to decide which convention the file uses, rather than picking one and quietly moving a third of your clients' dates of birth.
  • Columns we could not map are listed for you before you commit, so a field you care about stays a decision rather than a silent omission.
  • Nothing is created until you say so. Parse, review, then create. A wrong file is something you catch before it reaches your records.

5. The fourteen days, compressed

Day 1

Confirm the TherapyNotes account is paid and current. Start the SignalEHR trial. Price the paid bulk-note export if you have more than ~100 active clients.

Day 2

Pull the demographics and insurance CSV. This is the quick win. It is clean and it imports the same afternoon.

Days 2–9

The note export grind, or the paid bulk request. Start it early; it is the only part with no shortcut.

Day 3

Import demographics. Review unmapped columns. Fix anything that looks wrong while the export is still running.

Days 4–12

Parallel run. New bookings and notes in SignalEHR; balances finish collecting in TherapyNotes.

Day 13

Attach note PDFs to client records. Verify a sample against the originals. Pick the messiest chart you have.

Day 14

Cut over. Do NOT cancel TherapyNotes yet.

Day 30+

Cancel only once you have verified the export is complete and readable. The deletion is permanent.

6. If you are a Canadian practice

TherapyNotes is built for the US market and prices in US dollars. We bill Canadian clinics in Canadian dollars, at the same number. A practice earning in CAD should not have its software bill move with the exchange rate.

Client card payments settle into your own connected account in your own currency, with your practice as the merchant of record. Your client's statement shows your practice name rather than ours.

Start the 14-day trial

Full features, no credit card. Admin and receptionist seats are free. Only practitioners are billed. Bring your demographics CSV and see your own client list in it before you commit to anything.

Start free trial

Export behaviour and retention timelines described here reflect TherapyNotes as documented at the time of writing. Confirm the current terms with TherapyNotes directly before planning a cancellation around them. The deletion is permanent and the responsibility is yours.