Skip to content
← All posts

Custom EMR Migration: How to Avoid the Iceberg in 2026

Custom EMR Migration: How to Avoid the Iceberg in 2026

Custom EMR Migration: How to Avoid the Iceberg in 2026

When a healthcare organization decides to migrate EMR systems — or to build a custom replacement for one they've outgrown — the first scoping conversation usually centers on data: "we need to move 12 years of clinical records from System A to System B."

That's the visible part. Below it sits the actual work, which is rarely about moving data and almost always about reconstructing the operational and clinical context the data was created in.

This is a practical framework for scoping EMR migrations honestly. Based on migrations we've shipped and migrations we've inherited from teams that scoped wrong.

Key Takeaways

  • EMR migrations are not data movement projects. They're audit reconstruction, workflow rebuild, and license-renegotiation projects with a side of data movement — the "iceberg" framing is literal.
  • Three migration types with different risk profiles: vendor switch (move to another commercial EMR), custom replacement (build to replace a commercial system), and modernization in place (rebuild a legacy custom EMR on a modern stack). Don't price them the same.
  • Data quality archaeology comes first. Production EMR data has decades of accumulated drift — incomplete patient merges, ICD-9 codes that never converted, free-text where structured data should be. Code that just copies bytes preserves all of it.
  • Workflow reconstruction is the other 40% of the work. Order sets, alerting rules, configured smartphrases, role permissions — none of these transfer cleanly between systems. Under-scope this and clinical staff revolt at cutover.
  • 6–12 months end-to-end for a mid-size migration; 12–24 months for larger organizations. Anyone offering a 3-month EMR migration is either scoping much smaller than honest or planning a cutover that fails in production.

Three categories of EMR migration

The conversation has to start with which kind of migration you're doing — because the patterns are different.

Type A: Vendor switch

Moving from one commercial EMR vendor to another (e.g., off eClinicalWorks onto Athenahealth, or off legacy Allscripts onto Epic). The "destination" system has its own data model; the migration is a transformation from one well-specified schema to another.

Easier parts: the destination schema is documented, the destination vendor has migration tooling, there's a standard playbook the vendor's professional-services team has run dozens of times.

Harder parts: the source system's data quirks aren't always in the docs, source-side cleanup work falls on you, and the customer is paying for both systems during overlap.

Type B: Custom replacement

Building a custom system to replace a commercial EMR that the customer has outgrown — usually for specialty practices that need workflow specificity the major EMRs don't support well (addiction medicine, behavioral health, certain ophthalmology workflows, niche specialty practices).

Easier parts: you control the destination schema, you can model the actual workflow the customer needs, the long-term software cost is often lower than commercial EMR licensing.

Harder parts: you're now responsible for clinical-workflow correctness on the receiving end, ongoing regulatory compliance for the custom system, integration ecosystem (labs, payers, eRx) that the commercial EMR handled.

Type C: Modernization in place

Migrating from an aging custom EMR to a modernized custom EMR — same data model, same workflow, modernized stack. Common for healthcare organizations that built custom 10+ years ago and need to refresh.

Easier parts: workflow correctness is already known; data model translates 1:1 in many cases; clinical staff don't need retraining.

Harder parts: the legacy system probably has accumulated technical debt that's hard to untangle, integrations to legacy systems may need to be rebuilt, audit-trail continuity has to be preserved across the cutover.

The Type A/B/C designation matters for scoping. Pricing for these is dramatically different. Risk profiles are dramatically different.

The iceberg below "data migration"

For all three types, the visible scoping question is data movement. The submerged work:

1. Data quality archaeology

Production EMR data has decades of accumulated drift:

  • Patient records that were merged in 2014 incompletely
  • Codes from earlier ICD-9 mappings that never got converted
  • Free-text fields where structured data should have been
  • Documents stored as scanned PDFs of paper records
  • Multiple identifiers for the same external entity (e.g., a primary care physician with three different NPIs in different parts of the system)

Migration code that just copies bytes will preserve all this. Often the migration is also the right time to clean it. Scoping has to include how much cleanup is in scope and who decides per-case.

2. Workflow reconstruction

The data is the input; the workflow that uses the data is what clinical staff actually interact with. Examples:

  • Configured order sets, alerting rules, decision support — usually not stored in a way that transfers cleanly
  • Document classifications and routing rules
  • Encounter type templates, smartphrases, smartlists
  • User permissions and role configurations that grew organically over years
  • Reporting and analytics pipelines built on the source system's specific data shape

The "data migration" is maybe 40% of the work. Workflow reconstruction is the rest. Underscope this and the cutover succeeds technically but the clinical staff revolt.

3. Audit trail preservation

HIPAA requires audit logs of PHI access. Migrating systems typically means migrating the audit trail too — clinical staff need to be able to answer "who looked at patient X's record in 2022" even after the system is gone.

Two patterns:

  • Migrate the audit log alongside the clinical data, into the destination system's audit format
  • Archive the source audit log in an accessible read-only state, with documented procedures for retrieval

We've seen both done well; both have trade-offs. The wrong answer is "we'll figure it out later" — that surfaces in the first audit after cutover.

4. Integration ecosystem

The source EMR probably has dozens of active integrations: lab orders, lab results, eRx, payer interfaces, patient portals, billing system, document management, telehealth platforms, specific specialty tools. Each one has to be rebuilt against the destination system.

Scope the inventory early. The vendor selling you on the destination EMR will not enumerate the integrations they don't handle natively.

5. Reporting and analytics

Custom reports, dashboards, regulatory submissions (CMS quality measures, MIPS reporting, etc.) are built against the source system's data shape. Migrating means rebuilding them against the destination.

Most of these are also coupling points where the customer has built business processes around specific report outputs. Changes in the destination's report formats — even when functionally equivalent — break downstream workflows.

6. License and contract overlap

Customers pay both vendors during overlap. EMR licenses are not cheap. The longer the overlap, the more expensive. The shorter the overlap, the higher the risk of botched cutover. Scoping needs to honestly account for this overlap cost.

The migration playbook we use

The pattern that's worked across migrations we've shipped:

Phase 0: Scoping (4-6 weeks)

  • Data inventory. What entities exist in source. Approximate counts. Known quirks per entity. Mapping to destination model.
  • Workflow inventory. What clinical and administrative workflows depend on the source system. Which need to survive cutover unchanged; which can change.
  • Integration inventory. Every active integration. For each: source-side endpoint, destination-side replacement plan, transition strategy.
  • Audit trail policy. Migrate vs archive vs hybrid.
  • Report inventory. Every custom report or regulatory submission. Reproducibility plan for each.
  • Cutover risk register. What can go wrong. Mitigation per item.
  • Pricing and timeline. Honest. Migrations rarely take less than the original estimate.

Phase 1: Foundation (8-12 weeks)

  • Build the destination data model (if custom) or configure the destination vendor (if commercial)
  • Build the migration pipeline — ETL with intermediate staging tables, full record-by-record validation
  • Build the workflow configuration in destination
  • Build or rebuild integrations one at a time, prioritized by clinical impact

Phase 2: Pilot (4-8 weeks)

  • Migrate a small slice of data — one provider, one location, one specialty
  • Run pilot users on the destination system while production stays on source
  • Capture and resolve every workflow gap, data quirk, integration issue
  • Don't proceed past pilot until pilot users are productive on destination

Phase 3: Phased cutover (variable)

  • Migrate user populations in defined phases, with explicit rollback plans
  • Production overlap: source remains write-able for the unmigrated population while destination handles migrated population
  • For Type A/B, this is often per-location or per-specialty
  • For Type C, this is often per-user-cohort

Phase 4: Decommission (2-4 weeks)

  • Final data sync
  • Archive source system in read-only state (for audit trail access)
  • Cancel source vendor contract
  • Capture lessons learned

The total timeline for a typical mid-size EMR migration: 6-12 months end-to-end. Larger organizations: 12-24 months. The pricing reflects this. Anyone offering a 3-month EMR migration is either scoping much smaller than is honest, or is going to deliver a cutover that fails in production.

Failure modes we see most often

After enough EMR migrations (and enough inheriting other teams' broken ones), the patterns are predictable:

  • Vendor's professional-services team scoped to data only. Workflow and integration work fell on the customer. Mid-migration realization that the project is 3x what was budgeted.
  • Cutover compressed because of license-overlap cost. Quality suffered. Production rolled out with material workflow gaps.
  • Audit trail not migrated or archived. First audit after cutover surfaced the gap. Remediation took six months.
  • Reporting not rebuilt. Quality measure submissions failed in the first reporting cycle post-cutover. CMS penalties accrued.
  • Pilot skipped or truncated. Quirks that would have been caught in pilot surfaced in full production. Operational chaos for the first month.
  • Custom replacement scope creep. The custom EMR replaced one workflow well, three workflows poorly, and the rest not at all. Customer ended up running custom + a residual commercial EMR for years.

The mitigations: scope honestly upfront, accept that pilots can't be compressed, build the integration ecosystem before cutover (not after), and run cutover during periods of low clinical volume when possible.

When custom replacement is the right answer

Custom EMR replacement is rarely the right answer for general primary-care or hospital-medicine practices — the commercial EMRs are well-suited to those workflows. But it can be the right answer when:

  • The specialty has workflow patterns that none of the commercial vendors support well (specialty pharmacy management, certain behavioral health workflows, complex multi-modal treatment plans, niche specialty practices)
  • The organization is small enough that commercial EMR licensing costs are disproportionate
  • The organization has technical leadership willing to own ongoing maintenance and regulatory updates
  • Long-term ROI of custom development beats commercial licensing — usually requires 5+ year horizon

We've built custom EMR replacements for clients in addiction medicine, specialty behavioral health, and niche surgical specialty practices. In each case, the trigger was workflow specificity that no commercial EMR supported well.


If you're planning an EMR migration — vendor switch, custom replacement, or modernization in place — we'd be glad to help scope it honestly. See our healthcare software development services, the EHR integration guide for the integration patterns that matter during migration, and the HIPAA microservices architecture deep-dive for what modernized healthcare platforms actually look like in production.

Let's Connect

Have a project in mind or just want to chat about how we can help?
We'd love to hear from you! Fill out the form, and we'll get back to you soon. Let's create something amazing together!

Alejandro Rama

Co-Founder & CEO
Schedule a call