Not long ago, the engineering team at Nexevo took on a deceptively ambitious project: build an Injury Patient Tracker for a healthcare client operating on eClinicalWorks (eCW). The goal was clear — pull patient data directly from the client's EMR and surface it inside a purpose-built tracker that would help their clinical and administrative teams monitor injury patients, manage case timelines, and coordinate across care providers, insurance carriers, and attorneys.
What followed was one of the most instructive integration journeys our team has undertaken — not because the destination was unreachable, but because reaching it required a precise, earned understanding of how eClinicalWorks structures its API ecosystem, how FHIR and HL7 behave differently under production conditions, and exactly where one standard's capabilities end and the other's begin.
We are publishing this account for a specific reason: every lesson we learned is now a capability we can bring to your project. If your organization is building on eCW — or any FHIR and HL7-based EMR environment — this is the guide we wish we had at the start.
eClinicalWorks is one of the largest ambulatory EMR platforms in the United States, serving tens of thousands of providers. Like most modern EMRs, it exposes patient data through a FHIR R4 API — but eCW also supports HL7 v2 messaging for operational and financial workflows that FHIR does not fully cover. Understanding both is essential.
Before writing a single line of integration code, your team must understand the two distinct data access modes eCW offers external vendors:
Allows your application to retrieve data for one patient at a time, typically triggered by a patient login or authorization event. Designed for patient-facing apps and point-of-care tools. Requires a different app registration type and authorization flow.
Allows your application to request data across an entire patient population or defined cohort in a single asynchronous operation. Designed for analytics platforms, care coordination tools, reporting engines, and population health dashboards. This is the correct mode for most B2B clinical application use cases.
This distinction is not cosmetic. It determines which app type you register in the eCW vendor portal, which OAuth 2.0 scopes you request, what your authorization flow looks like, and what class of data you receive. Getting it wrong at registration creates downstream delays that cost real sprint time. We know because we experienced it.
Access to eClinicalWorks' FHIR APIs requires registering your application in the eCW App Orchard — eCW's dedicated developer and vendor portal. This is your integration passport. No registration means no API access, and the registration type you choose has long-lasting consequences.
The end-to-end registration process:
When our team registered our application, the portal's category descriptions did not make the bulk vs. single patient distinction as clear as it needed to be for our specific use case. We initially registered under the wrong type and were later asked to re-register under Bulk Patient Data. That shift required revisiting the approval workflow and delayed our integration timeline. Our advice: map your use case explicitly to the bulk data category before you begin registration, and when in doubt, ask eCW's technical support team to confirm before you submit.
Vendor portal approval is only the first gate. Your registered application exists as an abstract entity in eCW's ecosystem until it is explicitly connected to a specific client's eCW instance. This client-side authorization step is where many external development teams get stuck — and where project management experience matters as much as technical skill.
What happens after vendor portal approval:
Client-side eCW authorization is often underestimated in integration project plans. It requires coordination between your team, your client's internal eCW admin, and sometimes eCW support directly. Patient group definition requires clinical input — someone needs to determine which patients belong in which group. Factor all of this into your sprint planning. A conservative estimate adds 3 to 10 business days to your integration timeline for this phase alone.
Here is the single most important structural insight from our integration project — and the reason this blog exists: FHIR compliance does not mean complete data access.
eClinicalWorks implements FHIR R4 legitimately and substantively. It passes standard compliance tests and satisfies ONC certification requirements. But every EMR vendor's FHIR implementation has a scope. Not every data element your clinical use case requires is available through FHIR endpoints. The delta between the FHIR specification and what eCW actually exposes through its API is where most real-world integration plans encounter their first hard wall.
In our injury patient tracking project, this delta became critical. Injury case management sits at the intersection of clinical care, legal proceedings, and insurance adjudication. A robust injury tracker needs to know not just the patient's diagnosis — but who their attorney is, which insurer is covering the claim, what the claim status is, and whether this visit was a workplace injury, an auto accident, or another injury category that triggers a different billing pathway. Here is exactly what we found:
| Data Domain | Available via eCW FHIR | Solution Approach |
|---|---|---|
| Insurance Information | Limited / Partial | HL7 ADT & DFT Messages |
| Claims & Billing Data | Not Exposed via FHIR | HL7 DFT / Financial Msgs |
| Attorney & Legal Info | Not Exposed via FHIR | Custom HL7 + Manual Intake |
| Injury-Specific Visit Types | Not Exposed via FHIR | HL7 ADT with Z-Segments |
| Encounter Clinical Notes | Available (FHIR R4) | FHIR Bulk Export |
| Patient Demographics | Available (FHIR R4) | FHIR Bulk Export |
| Diagnoses & Conditions | Available (FHIR R4) | FHIR Bulk Export |
| Medications & Prescriptions | Available (FHIR R4) | FHIR Bulk Export |
These data domains — insurance coverage details, claims and billing transactions, legal representation, and visit type classifications for injury workflows — are operationally driven rather than clinically driven. They live in the administrative and financial layers of eCW, which are served by HL7 v2 messaging (ADT, DFT message types) rather than FHIR resources. FHIR R4, even when fully implemented, was designed primarily around clinical data exchange. The operational and financial envelope around a patient's care — especially in complex injury case workflows — requires HL7 to complete the picture.
When FHIR's implementation scope could not surface the full dataset our injury tracking product required, we turned to HL7 — the older, deeply embedded messaging standard that still powers the operational backbone of most clinical environments, including eClinicalWorks.
This was not a fallback or a workaround. It was the architecturally correct decision. Understanding why requires understanding what HL7 is, how it differs from FHIR, and what it unlocks in the eCW environment specifically.
Health Level Seven International (HL7) is the global standards organization responsible for both HL7 v2 messaging and FHIR. HL7 v2 — the older version — has been in production across hospitals and clinics since the 1980s and remains the most widely deployed healthcare data exchange standard in the world by active implementation volume.
HL7 v2 operates through message-based communication. Clinical and administrative events — a patient admission, a discharge, a charge posting, a lab result, an appointment change — trigger HL7 messages that are transmitted between systems in near real-time. These messages are structured text payloads with defined segment types, each carrying a specific slice of clinical or administrative data.
ADT (Admit, Discharge, Transfer) — Carries patient registration, admission details, and demographic information. Critically, ADT messages include visit type classification, insurance details via IN1 and IN2 segments, and location data. For injury workflows, ADT was our primary source for identifying injury-specific visit categories that FHIR did not surface.
eClinicalWorks supports HL7 v2 message interfaces alongside its FHIR API. These operate through HL7 interface engines — middleware components that receive HL7 messages generated by eCW in response to clinical and administrative events. In a typical setup:
For our injury patient tracker, we designed a hybrid data ingestion model: FHIR Bulk Export ($export) provided the clinical foundation — diagnoses, medications, encounters, and patient demographics — while HL7 v2 message streaming provided the operational layer that FHIR missed: insurance carrier identification, claim transaction references, attorney associations, and injury visit type classifications. Together, these two channels produced a complete and actionable view of each patient's injury case. This hybrid approach is not an edge case — it is the correct architecture for any complex clinical product built on eCW.
| Dimension | HL7 v2 | FHIR R4 |
|---|---|---|
| Data Model | Segment-based flat text (pipe-delimited) | JSON/XML resource objects |
| Real-time Events | Excellent — event-driven by design | Limited — polling-based |
| Financial/Insurance | Strong — DFT, IN1/IN2 segments | Limited in most EMR implementations |
| Legal/Custom Fields | Supported via Z-segment extensions | Not available in standard FHIR |
| Clinical Records | Rich clinical segment support | Strong — standardized resources |
| Interoperability | Vendor-specific, widely deployed | Modern open standard |
| Best Used For | Operational events, billing, and financials | Population analytics, patient apps |
The right question is never 'which standard is better?' — it is 'which standard serves this specific data need?' For population-level clinical data retrieval, FHIR wins. For real-time operational events, financial transactions, and administrative data that EMR vendors have not yet mapped into their FHIR implementations, HL7 v2 remains the practical answer.
Every insight below represents real project hours spent navigating eCW's ecosystem. We are sharing them so your team can learn faster.
The choice between the Single Patient App and the Bulk Patient Data App in the eCW vendor portal is not a cosmetic one. It shapes every subsequent step: credentials, scopes, authorization flow, and data access pattern. Map your use case to the correct type before you submit. If you are building anything that touches more than one patient at a time, the answer is Bulk.
Vendor portal approval does not activate your integration. Your client must authorize your app within their eCW environment. Their eCW administrator must configure the connection. Patient groups must be defined with clinical input. These steps require coordination across multiple stakeholders and should have dedicated line items in your project plan.
Map your required data fields against eCW's actual live FHIR surface area before committing to a product design. Insurance data, claims data, attorney references, and injury-specific visit classifications are not available through FHIR in eCW's implementation. If your product needs this data, you need HL7.
HL7 v2 messaging remains the most widely deployed healthcare data standard in the world for good reasons. In the eCW environment specifically, it is the primary channel for financial, insurance, and event-driven clinical data. Treating it as a fallback misses the point: it is part of a complete integration architecture.
For complex clinical products — especially those involving injury case management, insurance coordination, or legal workflows — a single-channel approach will not surface the full data picture. FHIR handles the clinical layer. HL7 handles the operational layer. Together, they provide complete coverage.
FHIR $export is asynchronous. Your application needs robust job dispatch, status polling, retry logic, NDJSON parsing, data normalization, and error handling. It is not a request-response pattern. Design your pipeline architecture before you start building, not after.
eCW app approval, client-side authorization, and group configuration are not instant. A realistic integration timeline includes these human-coordinated steps. Projects that do not account for them consistently slip.
The integration capability described in this post was built on a live production engagement, under real client constraints and delivery expectations. It is not theoretical knowledge. It is a repeatable practice we now bring to every healthcare integration project we take on.
We guide you through registering the right app type, configuring correct FHIR scopes, and completing the eCW approval process without costly restarts or re-registrations.
We design and build the full async export pipeline — $export job dispatch, status polling, NDJSON parsing, data normalization, and integration with your product layer.
We build HL7 listeners, parsers, and integration pipelines for ADT, DFT, ORM, ORU, and SIU message types — including Z-segment parsing for eCW-proprietary fields.
We architect composite data models that combine FHIR bulk export with HL7 v2 message streams, giving your product a complete clinical and operational data layer.
We extract insurance carrier data, claims references, and billing transactions through HL7 DFT and IN1/IN2 segments when FHIR's scope falls short.
We manage or guide the client-side authorization process — from eCW admin app approval through patient group configuration — so you are not blocked waiting on stakeholders.
We map your required clinical data fields against eCW's live FHIR surface area and help you design around gaps before they become product blockers.
From data layer through application UI — we build complete clinical tools on top of eCW: injury trackers, care dashboards, reporting platforms, and more.
If any of the following situations sounds familiar, we would like to talk with you:
Our Practice Focus
Nexevo works at the intersection of healthcare data engineering, FHIR and HL7 integration architecture, and clinical application development. We do not just understand the standards — we understand the operational processes, vendor dynamics, client coordination requirements, and clinical context that determine whether a healthcare integration project ships on time and delivers what it promises.
The regulatory push for interoperability — the 21st Century Cures Act, the ONC Interoperability and Information Blocking Final Rule, and the CMS Patient Access Rule — has made FHIR-based integration a compliance obligation, not just a technical aspiration. Healthcare organizations that cannot provide FHIR-based access to their data face audit risk and operational disadvantage.
At the same time, HL7 v2 is not disappearing. The installed base of HL7 v2 interfaces across US hospitals and clinics is enormous, and EMR vendors including eClinicalWorks continue to generate HL7 messages for the operational event streams that FHIR's pull-based model does not naturally replace. Organizations building on eCW today need both.
Nexevo built that competency on a live client project. We would be glad to bring it to you.
Whether you are at the planning stage, stuck mid-integration, or trying to understand what data is actually accessible through eClinicalWorks, Nexevo, as a software development in Bangalore, can step in with the context and capability to move your project forward.