I have done seven of these. Cornerstone, AVImark, ezyVet — the muscle memory is real. But Maple was the cleanest one I've run, and the reason was discipline about parallel-running, not anything fancy on the technical side.
Day 1–3 · discovery
We sat with Mara, her two associates, the front desk lead, and the head tech for two hours. Not a sales call. We mapped the workflows. Where do recall lists live? What's the rule for charging a no-show fee? Who has signing authority on a Saturday?
Half of our migration plan came out of that meeting. The other half came from running an export against the live Cornerstone database the next morning.
Week 1–2 · import
Patients, owners, visit history, AR, recall queues — all into a private Vetch tenant. We deduped 412 owner records that had appeared twice over the years (this is normal for any 15+ year practice). Original PDFs were preserved alongside the structured fields, so when a vet pulls a 2014 chart, they see exactly what was there before.
Week 3 · validate
Both systems ran in parallel. The Maple team kept writing into Cornerstone as the source of truth. Vetch mirrored. Every morning at 6am, we ran a diff. Most days the diff was empty. The day it wasn't, we found one duplicate weight log — fixed in twenty minutes.
Friday cutover · 5pm to 8:30pm
- Cornerstone went read-only at 5:00pm.
- Final snapshot at 5:01pm.
- Vetch took over at 5:04pm. Front desk closed two cash drawers in Vetch to confirm payment flow.
- The on-call vet logged a Friday-night recheck SOAP at 7:42pm — the first signed chart on the new system.
- I went home at 8:30pm. The team walked in Monday to a fully-populated Vetch.
I won't pretend nothing was hard. The recall logic for Maple's specific cadence took two more iterations after cutover. But there was no day where the clinic couldn't see a patient because of the migration. That's the bar.
Cornerstone stays read-only at Maple for six more months. They've opened it twice.