Implementation 14 min read

EHR Data Migration: The Complete Checklist for a Clean Transition (2026)

The tactical action-item checklist for EHR data migration — with phase-by-phase timelines, cost benchmarks by practice size, a 12-point data quality gate, go/no-go decision matrix, pre-migration cleanup sprint, and an hour-by-hour cutover-weekend runbook. This is the "how and when" execution guide; for strategic planning context on PAMI+P frameworks, HIPAA, FHIR standards, and risk methodology, see our companion guide.

By Kori Hale

Related: Looking for the strategic planning guide covering PAMI+P data frameworks, HIPAA compliance, FHIR/USCDI standards, and risk assessment? See our EHR Data Migration Planning and Risk Management Guide.

Key Takeaways

  • 83% of data migration projects fail or exceed budgets and timelines (Gartner). Healthcare migrations carry additional patient-safety stakes that generic IT projects do not.
  • Small-practice migration costs $5K-$20K and takes 3-10 weeks. Enterprise migrations run $50K-$250K+ and take 9-18 months.
  • Duplicate patient records average 8-12% in most organizations. Your target before migration: under 3%.
  • USCDI v3 became mandatory January 1, 2026. Any system you migrate to must support the expanded data classes or you risk non-compliance.
  • Run at least two full test migrations before production cutover. One test is not enough to surface edge-case mapping failures.

EHR Data Migration at a Glance

Before diving into the details, here is the 30-second overview. Every migration follows the same five macro-phases regardless of practice size.

Phase % of Total Effort Top Risk If Skipped
1. Discovery & Planning 15-20% Scope creep, budget overrun
2. Data Cleanup & Profiling 20-25% Dirty data contaminates new system
3. Mapping & Transformation 25-30% Field mismatches, clinical errors
4. Testing & Validation 20-25% Undetected data loss or corruption
5. Cutover & Stabilization 10-15% Extended downtime, patient safety gaps

Notice that testing and data cleanup together represent roughly half of all migration effort. Organizations that shortchange these phases account for the bulk of the 83% failure rate.

Data Migration Timeline by Phase

The table below breaks each phase into concrete durations, key activities, and the role that owns the deliverable. Adjust durations upward for multi-site or multi-vendor environments.

Phase Duration Key Activities Owner
Discovery & Planning 2-6 weeks Inventory legacy systems, define data scope (PAMI+P baseline), identify stakeholders, execute BAAs Project Manager
Data Profiling & Cleanup 3-8 weeks Run quality scans, deduplicate records, standardize codes, fix incomplete demographics HIM / Data Analyst
Mapping & Transformation 4-10 weeks Build field-to-field maps, write ETL scripts, map code sets (ICD-10, LOINC, RxNorm, SNOMED CT) Migration Engineer
Test Migration #1 1-2 weeks Migrate sample subset (100-500 patients), validate record counts, spot-check clinical data Migration Engineer + Clinical Lead
Remediation 2-4 weeks Fix mapping errors found in Test #1, update ETL logic, re-profile source data Migration Engineer
Test Migration #2 (Full) 1-3 weeks Full-volume test migration, UAT with clinicians, CDS validation, record-count reconciliation Clinical Lead + IT
Go/No-Go Decision 1 week Review pass/fail criteria, executive sign-off, finalize cutover plan and rollback procedures Steering Committee
Production Cutover 48-72 hours Data freeze, final extraction, load into production, smoke-test critical workflows Migration Engineer + IT
Post-Go-Live Stabilization 2-4 weeks Monitor for data gaps, run reconciliation reports, medication reconciliation for all patients seen Clinical Lead + IT

Timeline reality check: Data mapping and validation consume 30-40% of the total project timeline. If your vendor quotes a "4-week migration" but you have 50,000+ patient records across multiple legacy systems, push back. That timeline almost certainly assumes clean, pre-mapped data you don't have yet.

Migration Cost Benchmarks by Practice Size

Migration cost is one of the least transparent line items in EHR procurement. The table below reflects 2026 market data from published vendor pricing, KLAS research, and implementation consultant benchmarks.

Practice Size Data Volume Typical Cost Range Vendor Fee vs. DIY
Solo / 1-3 providers 1,000-10,000 patients $5,000 - $15,000 Often included in vendor implementation fee; DIY via CSV import possible
Small practice (4-10 providers) 10,000-50,000 patients $10,000 - $35,000 Vendor fee: $10K-$25K. DIY savings ~30% but requires dedicated IT staff
Mid-size group (11-25 providers) 50,000-200,000 patients $20,000 - $75,000 Vendor fee: $30K-$60K. Third-party specialist recommended for complex mappings
Large group (26-100 providers) 200,000-1M patients $50,000 - $250,000 Vendor + specialist: $75K-$200K. Multiple legacy systems multiply cost
Health system (100+ providers) 1M+ patients, 30-40+ legacy apps $250,000 - $5M+ Enterprise migration team required; budget separately from EHR license fees

What Drives Cost Up

Cost Driver Impact Mitigation
Multiple source systems +30-50% per additional legacy system Consolidate to single export format before migration
Poor source data quality +20-40% for cleanup labor Start data cleanup 90+ days before cutover
Legacy vendor extraction fees $5,000-$50,000 in surprise fees Negotiate extraction terms before signing new contract
Custom interface rebuilds $3,000-$15,000 per interface Audit interfaces early; decommission unused ones
Extended parallel operation Legacy license fees continue ($2K-$20K/month) Move to archive platform within 90 days of go-live

For a complete breakdown of all EHR-related costs beyond migration, see our EHR Cost Guide.

Data Quality Checklist: 12 Checks Before You Migrate

Migrating dirty data into a new system is the single most common cause of post-go-live problems. Run every check below at least 60 days before cutover.

# Check Description Pass / Fail Criteria
1 Duplicate patient rate Scan for duplicate MRNs, matching names + DOB, SSN overlaps Pass: <3%   Fail: >5%
2 Demographic completeness Name, DOB, sex, address, phone, insurance — all fields populated Pass: >95%   Fail: <90%
3 Active medication accuracy All active meds have valid RxNorm code, dosage, frequency, and prescriber Pass: 100%   Fail: <100%
4 Allergy records coded Allergies recorded as structured, coded entries — not free-text only Pass: >98%   Fail: <95%
5 Problem list standardization Active diagnoses use ICD-10 or SNOMED CT codes, not local/custom codes Pass: >95%   Fail: <90%
6 Lab result coding (LOINC) Lab results mapped to LOINC codes for interoperability compliance Pass: >90%   Fail: <85%
7 Inactive patient flagging Patients with no encounter in 24+ months flagged for archive vs. active migration Pass: Flagged   Fail: Not segmented
8 Provider NPI validation All active providers have valid, verified NPI numbers in the system Pass: 100%   Fail: <100%
9 Insurance/payer mapping Payer IDs in source system map to valid payer IDs in destination system Pass: >95%   Fail: <90%
10 Document attachment integrity Scanned documents, images, and PDFs are accessible and not corrupted Pass: >99%   Fail: <98%
11 USCDI v3 readiness Destination system supports all USCDI v3 data classes (mandatory since Jan 2026) Pass: Certified   Fail: Not certified
12 Open encounters / claims All open encounters closed or documented; pending claims identified for billing continuity Pass: <1% open   Fail: >3% open

Pro tip: Checks 3 and 4 (medications and allergies) are non-negotiable safety gates. If either fails, do not proceed to test migration. A conversion error that doubles a medication dosage or drops an allergy record is a patient safety event, not a data quality nuisance.

Common Migration Failures: What Goes Wrong and How Often

The table below catalogs the most frequent failure modes, how often they occur, their clinical and operational impact, and specific prevention strategies.

Failure Type Frequency Impact Prevention
Duplicate records created Very common (60%+ of projects) Split charts, missed allergies, fragmented clinical history MPI cleanup before migration; deterministic + probabilistic matching
Field mapping errors Very common (50%+) Data in wrong fields, clinical misinterpretation, broken reports Map at field level, not table level; validate with clinical SMEs
Data loss / truncation Common (30-40%) Missing clinical notes, lost lab results, incomplete histories Record-count reconciliation at every stage; checksum validation
Code set mismatches Common (30%+) Billing rejections, incorrect CDS alerts, reporting errors Pre-map ICD-10, CPT, LOINC, RxNorm codes; use crosswalk tables
Medication dosage errors Uncommon but critical Patient safety event — documented cases of doubled dosages 100% medication validation; pharmacist review of converted med lists
Extended downtime Common (25-35%) Missed appointments, delayed billing, staff frustration Timed test migrations; 20-30% buffer on cutover window
Interface failures post-cutover Common (20-30%) Lab orders not flowing, pharmacy disconnected, claims not transmitting Interface testing with live data in staging; vendor coordination checklist
Legacy access gap Common (20-30%) Clinicians unable to view historical records; decisions made with incomplete data Maintain read-only legacy access for 6-12 months; archive solution in place before cutover

Warning: The average healthcare organization discovers a duplicate patient record rate of 8-12%. During migration, matching algorithms can either resolve these duplicates or create new ones. If you skip MPI cleanup, expect your duplicate rate to increase, not decrease, after go-live.

Vendor Migration Support Comparison

Not all EHR vendors offer the same level of migration support. The table below compares migration tooling and services across four major vendors based on publicly available documentation and KLAS research as of early 2026.

Feature Epic athenahealth eClinicalWorks DrChrono
Dedicated migration team Yes — full implementation staff Yes — onboarding specialists Yes — implementation team Yes — dedicated engineers
Structured data import Yes — PAMI+P conversion, C-CDA Yes — automated demographic + clinical import Yes — bulk clinical data import Yes — CSV, SQL, database file import
Document / image migration Yes — into Media Manager Yes — document upload tools Yes — scanned document import Yes — bulk document import (PDF, images, X-rays)
FHIR-based extraction Yes — Care Everywhere, FHIR R4 APIs Yes — open API, FHIR-ready Yes — Carequality integration Partial — API available, FHIR evolving
Data validation tooling Strong — built-in reconciliation reports Moderate — post-import review tools Moderate — validation reporting Basic — manual spot-check workflows
Legacy archive solution Yes — partner ecosystem (MediQuant, Harmony) Yes — partner integrations Limited — third-party recommended Limited — export tools available
Migration cost included No — billed separately Partial — basic included, complex extra Partial — depends on package Often included — in implementation fee
Typical timeline (mid-size) 6-18 months 3-6 months 3-6 months 3-8 weeks

Epic's migration tooling is the most robust but also the most expensive and longest to deploy. For small to mid-size practices, athenahealth and DrChrono offer faster, more turnkey migration experiences. For a deeper vendor-by-vendor analysis, see our Switching EHR Systems guide.

Go/No-Go Decision Matrix

This matrix is designed for the steering committee meeting that happens 5-7 days before production cutover. Each criterion gets a Green, Yellow, or Red rating. The decision rule is simple.

Decision rule: All Green = proceed. Any Yellow = proceed with documented mitigation plan. Any Red = delay cutover until resolved. No exceptions for Red items.

Criterion Green (Go) Yellow (Go with Mitigation) Red (No-Go)
Test migration pass rate >99.5% records validated 97-99.5% — known gaps documented <97% or untested data categories
Medication / allergy accuracy 100% validated by clinical team N/A — no Yellow allowed <100% or not clinically validated
Interface testing All interfaces tested end-to-end with live data 1-2 non-critical interfaces pending Lab, pharmacy, or claims interface untested
Staff training completion >90% of end-users trained 80-90% trained; schedule for remainder <80% trained or no super-users in place
Rollback plan Documented, tested, and rehearsed Documented but not rehearsed No rollback plan exists
Legacy system access Read-only access confirmed for 6+ months Access confirmed for 90 days only Legacy system being decommissioned at cutover
Go-live support staffing Vendor + internal support on-site for 5+ days Remote vendor support only No vendor support commitment post-cutover
Patient volume reduction 50-75% of normal volume scheduled for week 1 75-90% of normal volume Full patient volume during go-live week
Executive sign-off All stakeholders signed off 1 non-clinical stakeholder pending Clinical leadership has not signed off

Note that medication and allergy accuracy has no Yellow state. This is intentional. There is no acceptable mitigation plan for migrating inaccurate medication or allergy data. It must be 100% or the cutover must be delayed.

Pre-Migration Data Cleanup: The 90-Day Sprint

Start cleanup at least 90 days before your target cutover date. The table below provides a week-by-week cleanup schedule.

Timeframe Cleanup Task Owner Done?
Day 1-14 Run initial data quality scan; generate baseline metrics for all 12 checks above Data Analyst
Day 1-14 Identify and merge duplicate patient records using MPI matching algorithms HIM Team
Day 15-30 Standardize medication lists to RxNorm; convert free-text allergies to coded entries Clinical Informatics
Day 15-30 Validate and correct provider NPI numbers; deactivate departed providers Practice Manager
Day 31-45 Map insurance payer IDs between source and destination systems Billing Lead
Day 31-45 Fill missing demographic fields (address, phone, insurance); verify SSN/DOB accuracy Front Desk / HIM
Day 46-60 Flag inactive patients (no visit in 24+ months) for archive-only migration Data Analyst
Day 46-60 Close open encounters; resolve pending claims; document open authorizations Billing Lead + Providers
Day 61-75 Run second data quality scan; compare to baseline metrics; remediate remaining failures Data Analyst
Day 76-90 Final quality scan; sign-off on data readiness; freeze non-critical data changes Project Manager + Clinical Lead

The biggest mistake organizations make with data cleanup is starting too late. If you begin cleanup 30 days before cutover instead of 90, you will either delay your go-live or migrate dirty data. Both are expensive.

Cutover Weekend Runbook

For big-bang migrations, the production cutover typically happens over a weekend. Below is an hour-by-hour framework for a Friday-to-Monday cutover.

Time Activity Owner Rollback Trigger
Fri 6:00 PM Initiate data freeze on legacy system; disable new patient registration IT Lead -
Fri 7:00 PM Begin final data extraction from legacy system Migration Engineer Extraction fails to start by 8 PM
Fri 10:00 PM Extraction complete; verify record counts against test migration baseline Migration Engineer Record count variance >0.5%
Fri 11:00 PM Begin data load into new EHR production environment Migration Engineer Load errors exceed 0.1% of records
Sat 6:00 AM Data load complete; begin automated validation scripts Migration Engineer Validation pass rate <99%
Sat 10:00 AM Clinical spot-check: 50 random patient charts reviewed by physicians Clinical Lead Any medication or allergy discrepancy
Sat 2:00 PM Interface activation: labs, pharmacy, clearinghouse, HIE connections IT Lead Critical interface (lab/pharmacy) fails
Sat 6:00 PM End-to-end workflow testing: scheduling, charting, ordering, billing Super-users Core workflow broken (orders, prescriptions)
Sun 10:00 AM Go/No-Go call with steering committee; final sign-off Project Manager Any Red criterion on Go/No-Go matrix
Mon 6:00 AM Go-live: doors open, vendor support on-site, reduced patient volume Everyone -

Rollback protocol: If any rollback trigger fires before Sunday 10 AM, revert to the legacy system and reschedule cutover for 2-4 weeks later. After Monday go-live, rollback becomes exponentially more complex because new data is being created in the new system. Plan your rollback window accordingly.

Post-Go-Live: First 30 Days Checklist

Week Task Owner
Week 1 Vendor support on-site or on-call; daily stand-ups; track all reported issues Project Manager
Week 1 Medication reconciliation for every patient seen; verify allergy alerts firing correctly Providers + Pharmacist
Week 2 Run reconciliation reports: compare record counts between source and production Data Analyst
Week 2 Verify billing cycle: claims submitting, ERA posting, patient statements generating Billing Lead
Week 3 Resume normal patient volume; address any remaining workflow gaps Practice Manager
Week 4 Post-migration retrospective: document lessons learned, remaining punch-list items Project Manager

The first two weeks post-go-live are when most latent migration issues surface. Having vendor support available and patient volume reduced during this window is not optional. For a full implementation playbook that extends beyond migration, see our EHR Implementation Checklist.

Frequently Asked Questions

How long does an EHR data migration typically take?

Small practices (1-5 providers) typically complete migration in 3-10 weeks. Mid-size groups (6-25 providers) should plan for 3-6 months. Large health systems with multiple facilities and legacy integrations often require 9-18 months. Data mapping and validation consume 30-40% of the total timeline, so never underestimate these phases.

How much does EHR data migration cost?

Small practices typically spend $5,000-$20,000. Mid-size practices should budget $20,000-$75,000. Large health systems face costs of $50,000-$250,000 or more. Enterprise-scale migrations with dozens of legacy systems can reach $1-5 million. Some vendors include basic migration in implementation packages; always ask what is and is not included.

What percentage of EHR data migrations fail?

According to Gartner, 83% of data migration projects either fail or exceed their budgets and timelines. In healthcare specifically, up to 70% of technology projects experience an unintended negative consequence. The primary causes are poor source data quality, inadequate testing, incomplete field mapping, and underestimating cleanup time.

What data quality benchmarks should we hit before migration?

Target a duplicate patient record rate below 3%, demographic field completeness above 95%, and medication/allergy accuracy at 100%. Lab results should be LOINC-coded at above 90%, and problem lists should use standardized ICD-10 or SNOMED CT codes at above 95%. Run automated quality scans at least 60 days before cutover.

Should we do a big-bang or phased EHR migration?

Big-bang migrations (single cutover weekend) work best for small to mid-size, single-site organizations with strong vendor support. Phased migrations (by department or location) suit large health systems and multi-site groups with lower risk tolerance. Big-bang is faster and less expensive overall but higher-risk per event; phased limits blast radius but extends total project cost and complexity.

Next Steps