The Hidden Cost of Building EHR Integrations In-House
Date Published
Feb 11, 2026
Written by
Consolidate Health
Time to Read
5 mins
Every healthcare startup has the same conversation at some point:
"How hard can EHR integration be? There's a standard now. Let's just build it ourselves."
We've been there. We spent over two years building integrations across Epic, Cerner, athena, eClinicalWorks, NextGen, Flatiron, Modernizing Medicine, and many more. Here's what we learned and what we wish someone had told us before we started.
The FHIR Promise vs. The FHIR Reality
FHIR (Fast Healthcare Interoperability Resources) was supposed to solve healthcare's integration problem. A single standard! Consistent data models! RESTful APIs!
The reality is more complicated.
Yes, there's a standard. No, EHRs don't implement it the same way. Here's what you'll discover when you start building:
Each EHR has different registration processes. Epic requires you to create an account on their developer portal, define your application, select API endpoints, and go through an approval process. Cerner has a different portal with different requirements. athena has another. Some require business agreements before you can access sandbox environments.
Authentication flows vary. OAuth 2.0 is the standard, but implementation details differ. Redirect URIs, token expiration, refresh token behavior, scope definitions: each EHR has quirks. What works for Epic won't work for Cerner without modification.
FHIR resources aren't consistent. The Patient resource is supposed to be standardized. In practice, Epic returns different extensions than Cerner. Field mappings vary. Some EHRs support resources that others don't. Search parameters that work on one system fail on another.
Sandbox environments don't match production. You build against a sandbox, everything works, then you try to go live and discover the production system behaves differently. Rate limits, data availability, supported operations; testing catches some issues, but production always has surprises.
The Time Cost Is Worse Than You Think
When teams estimate EHR integration timelines, they typically account for:
Learning the FHIR specification
Building API clients
Testing against sandboxes
What they underestimate:
Portal bureaucracy: Getting approved, signing agreements, obtaining credentials. Calendar time, not coding time.
Edge case handling: What happens when a patient has records at multiple locations within the same health system? When a field is missing? When the API returns an unexpected format?
Error handling: EHR APIs return cryptic error codes. Debugging requires understanding both FHIR and the specific EHR's implementation.
Maintenance: APIs change. New versions require updates. Credentials expire. Breaking changes happen without warning.
One EHR integration might take 2-3 months. Seven integrations don't take 14-21 months, they take longer, because each one surfaces new patterns you need to handle.
The Ongoing Cost Is Even Worse
Integration isn't a one-time project. It's an ongoing commitment.
EHRs release updates quarterly or annually. Epic's May 2025 release added new FHIR resources. Cerner's certification changes required client updates. Each release potentially affects your integrations.
When something breaks, you need engineers who understand both your codebase and the specific EHR's API behavior. That's specialized knowledge that takes time to build and is expensive to maintain.
We've seen teams dedicate 1-2 full-time engineers just to EHR integration maintenance. That's engineering capacity that could be building features your users actually want.
The Opportunity Cost Is the Real Cost
Here's the question that matters: what could your team build instead?
Every hour spent debugging OAuth flows is an hour not spent improving your core product. Every week navigating EHR developer portals is a week your competitors might be shipping features.
For early-stage healthcare companies, speed matters. You're trying to validate product-market fit, acquire customers, and demonstrate traction. Tying up engineering resources on infrastructure that doesn't differentiate your product is a strategic mistake.
What We Learned
We built these integrations because, at the time, we were building a patient-facing application that needed them. After two years of work, we realized something:
The most valuable thing we'd built wasn't the application. It was the integration infrastructure.
We'd solved the hard problems: the EHR-specific quirks, the authentication edge cases, the data normalization challenges. And we realized other teams were facing the same problems.
That's why we pivoted to API-as-a-Service. We'd already done the integration work. We could save other teams from doing it themselves.
Build vs. Buy
If your product's core value proposition is EHR integration, build it yourself. Own the complexity; it's your competitive advantage.
But if EHR integration is a means to an end - a necessary component that enables your actual product - consider whether building it makes strategic sense.
Our API provides access to patient records across Epic, Cerner, athena, eClinicalWorks, NextGen, Flatiron, and Modernizing Medicine through a single integration point. We've already done the work.
You could spend the next 6-12 months building and maintaining these integrations yourself. Or you could integrate with our API in days and focus your engineering resources on what makes your product unique.
The code you don't write is code you don't have to maintain.


