<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nirmitee.io</title>
    <description>The latest articles on DEV Community by Nirmitee.io (@nirmitee).</description>
    <link>https://dev.to/nirmitee</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4224081%2Fa9a148bc-1458-4a89-9474-1f91daca1193.png</url>
      <title>DEV Community: Nirmitee.io</title>
      <link>https://dev.to/nirmitee</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nirmitee"/>
    <language>en</language>
    <item>
      <title>EHR APIs Compared: Epic, Oracle Health, athena and eCW</title>
      <dc:creator>Nirmitee.io</dc:creator>
      <pubDate>Tue, 03 Nov 2026 10:57:08 +0000</pubDate>
      <link>https://dev.to/nirmitee/ehr-apis-compared-epic-oracle-health-athena-and-ecw-dbf</link>
      <guid>https://dev.to/nirmitee/ehr-apis-compared-epic-oracle-health-athena-and-ecw-dbf</guid>
      <description>&lt;p&gt;&lt;em&gt;All four pass the same certification floor. Where they differ (write-back, backend access and the path to a live customer) decides your roadmap.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If your product has to work with more than one EHR, every health system you sell to asks the same question: "Does it work with our EHR?"&lt;/p&gt;

&lt;p&gt;In the US in 2026, the answer starts with a certified FHIR R4 API secured with SMART on FHIR. Epic, Oracle Health, athenahealth and eClinicalWorks all offer one. But the parts a product roadmap depends on are not the same across the four.&lt;/p&gt;

&lt;p&gt;Here is the short version, built from each vendor's public developer documents, checked on 12 September 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  What every certified EHR API must do
&lt;/h2&gt;

&lt;p&gt;US rules (ONC criterion 170.315(g)(10)) set a floor. Every certified EHR API must:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Return one patient's data to an app that a clinician or patient has authorized.&lt;/li&gt;
&lt;li&gt;Export data for a group of patients through FHIR Bulk Data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is the floor, and all four vendors meet it. Anything above it is a vendor choice. One example: using a backend (system) token for everyday single-patient calls, such as a scheduling agent looking up one patient's appointments with no user present. Epic, Oracle Health and eClinicalWorks document this, and athenahealth documents system scopes on its certified FHIR resources. How far it reaches still varies by vendor and by resource.&lt;/p&gt;

&lt;h2&gt;
  
  
  The biggest gap: writing data back
&lt;/h2&gt;

&lt;p&gt;Reading data is broadly available. Writing it back is where the vendors split. From the public sandbox documents pulled in September 2026:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F91frmqxn4tj2wvq6kw4c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F91frmqxn4tj2wvq6kw4c.png" alt="Heatmap of FHIR write-back by resource for Epic, Oracle Health, athenahealth and eClinicalWorks, from public R4 CapabilityStatements, September 2026." width="800" height="993"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;FHIR write-back by vendor, from public R4 CapabilityStatements, September 2026. Source: Nirmitee.io&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Oracle Health&lt;/strong&gt; lists writes on &lt;strong&gt;21&lt;/strong&gt; resource types, including Appointment, Encounter, MedicationRequest and Coverage. It has the widest FHIR write surface of the four.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Epic&lt;/strong&gt; lists writes on &lt;strong&gt;13&lt;/strong&gt; resource types, focused on documentation, observations and orders.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;athenahealth&lt;/strong&gt; lists &lt;strong&gt;one&lt;/strong&gt; standard FHIR write (QuestionnaireResponse create). Writes such as booking and clinical documents go through its proprietary athenaOne APIs, which athenahealth advertises as 700 to 800+ endpoints.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;eClinicalWorks&lt;/strong&gt; documents create, update and delete APIs, but contracts them separately, and they do not appear in its public metadata.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A listed write is a capability, not a promise. The original post gives three rules: check the write in the customer's own production metadata, make sure your app registration asks for that write, and plan a fallback (a proprietary API, an interface message or a clinician task).&lt;/p&gt;

&lt;h2&gt;
  
  
  How it plays out for common products
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://nirmitee.io/blog/ehr-integration-api-comparison-epic-oracle-athenahealth-eclinicalworks/" rel="noopener noreferrer"&gt;full comparison on Nirmitee.io&lt;/a&gt; maps product types to vendor reality. A few examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AI scribe or ambient notes.&lt;/strong&gt; Epic and Oracle Health list note (DocumentReference) create and update. eClinicalWorks has a contracted note create. athenahealth's FHIR API does not, so plan a non-FHIR note path there.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scheduling or voice agent.&lt;/strong&gt; Oracle Health lists Appointment create. Epic books through its own scheduling operations once the health system sets up its scheduling rules. eClinicalWorks has no FHIR Appointment API and points scheduling to healow.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Analytics and population health.&lt;/strong&gt; All four support Bulk Data export, but Epic needs a patient roster built by the health system, and Oracle Health's Patient export needs a list of patient IDs.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Production access sets the schedule, not code
&lt;/h2&gt;

&lt;p&gt;Every vendor puts the customer between your finished build and live data:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Epic:&lt;/strong&gt; each customer downloads your client ID.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Oracle Health:&lt;/strong&gt; Oracle validates provider-facing apps, then each client enables them domain by domain.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;athenahealth:&lt;/strong&gt; each practice enables your app. Its proprietary APIs also need a Platform Services contract and Solution Validation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;eClinicalWorks:&lt;/strong&gt; the practice enters your App Activation Code, you approve the practice, and the practice activates the app.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Limits matter too. eClinicalWorks allows 250 calls per minute per practice base URL. athenahealth publishes 150 calls per second and 500,000 per day in production. Epic publishes no fixed rate limit. Oracle Health rejects Patient searches that match more than 1,000 records.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://nirmitee.io/blog/ehr-integration-api-comparison-epic-oracle-athenahealth-eclinicalworks/" rel="noopener noreferrer"&gt;vendor-by-vendor sections in the original post&lt;/a&gt; cover where teams get stuck, such as no sponsoring customer, per-site setup, locked app registrations and upgrade drift.&lt;/p&gt;

&lt;h2&gt;
  
  
  Roll out in five phases
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foz3zju2ci9hi2tywtzes.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Foz3zju2ci9hi2tywtzes.png" alt="Multi-EHR rollout in five phases: Map, Build, Go live, Extend and Operate." width="799" height="446"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;A multi-EHR rollout in five phases. Source: Nirmitee.io&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The post recommends one shared integration layer, with each EHR added as an adapter behind it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Map.&lt;/strong&gt; Write each feature as a resource, an action and an auth pattern. Check every sandbox's published capabilities.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build.&lt;/strong&gt; Pick the first EHR by customer demand and build against its sandbox, with tests for each feature.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Go live.&lt;/strong&gt; Clear the vendor's gate with one sponsoring site, then rerun the tests in production.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Extend.&lt;/strong&gt; Add the next vendor as a new adapter behind the same interface and run the same tests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operate.&lt;/strong&gt; Recheck each site's capabilities on a schedule, alert per site and review each EHR release before it reaches your sites.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  What drives cost and timeline
&lt;/h2&gt;

&lt;p&gt;Cost depends less on how many FHIR resources you use and more on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Vendors times sites.&lt;/strong&gt; Each EHR is an adapter. Each site is setup, a security review and a production check.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;How much you write.&lt;/strong&gt; Every write path outside certified FHIR adds mapping, testing and ownership.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customer queues.&lt;/strong&gt; Client ID downloads, enablement, activation and security questionnaires run on the customer's calendar, so start them alongside the build.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The cheapest decision, in the post's words, is the one you make before the first adapter ships: keep vendor logic out of product code.&lt;/p&gt;




&lt;p&gt;&lt;a href="https://nirmitee.io/healthcare-interoperability/ehr-emr-integration-services/" rel="noopener noreferrer"&gt;Nirmitee.io&lt;/a&gt; builds and runs EHR integrations across Epic, Oracle Health, athenahealth and eClinicalWorks for product teams. For the full comparison table, auth flows, and vendor-by-vendor detail, read the complete guide: &lt;strong&gt;&lt;a href="https://nirmitee.io/blog/ehr-integration-api-comparison-epic-oracle-athenahealth-eclinicalworks/" rel="noopener noreferrer"&gt;EHR Integration APIs Compared (2026) on Nirmitee.io&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Dinesh Thorat is Healthtech Growth Partner at Nirmitee.io.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Originally published at &lt;a href="https://nirmitee.io/blog/ehr-integration-api-comparison-epic-oracle-athenahealth-eclinicalworks/" rel="noopener noreferrer"&gt;nirmitee.io&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>healthcare</category>
      <category>api</category>
      <category>fhir</category>
      <category>interoperability</category>
    </item>
  </channel>
</rss>
