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.
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
- → Switching EHR Systems — When to do it, how to plan it, and what it really costs
- → EHR Implementation Checklist — The full 8-phase implementation framework
- → EHR Cost Guide — Complete cost breakdown by practice size and vendor
- → EHR Data Migration Guide — Deep dive on PAMI+P framework, HIPAA, FHIR, and testing protocols