Oracle Health EHR Integration for a Multi-EHR Medical SaaS Platform

Client
Industry
Country
Solution
SaaS Platform
Healthcare
United States
Oracle Integration

Client and Context

Client details anonymized under NDA

A healthcare SaaS platform that aggregates clinical data from multiple healthcare organizations and supports more than one EHR system.

Its customers do not all run the same EHR, so support for each additional vendor is a commercial requirement rather than a technical preference.

The Challenge

The platform was widening its EHR support, and a share of the incoming healthcare organizations ran Oracle Health. Adding a vendor is where this kind of product quietly becomes two: a second architecture, a second set of assumptions, a second thing to maintain — each one a copy of work already done, and diverging from the original the moment either changes.

Underneath that, the per-connection work was manual. For every new organization the engineering team checked by hand which resources were actually available, how search behaved on each one, what access rights had been granted, and which API quirks applied this time. None of it is visible to a customer, and all of it sits between signing an organization and its data being usable — so the waiting lands on the people who need the data, not on the team doing the checking.

The requirement was to add Oracle Health as another supported EHR without building a wholly separate architecture for it, and without that per-connection investigation starting over every time.

An illustrative scenario shows the hidden costs and complexity of adding a second EHR to an existing platform.

Why Oracle Health?

Oracle Health wasn’t a choice either. It runs in a substantial share of US health systems, and an integration adapts to the installed system rather than the other way round.

That determines the endpoint persona, how scopes are granted, which constraints are fixed at registration, and who has to approve the connection before data moves.

Our Approach

The same five stages described on our EHR Integration page:

Sandbox verification → access alignment with the organization → build → production readiness → go-live.

Sandbox Verification

Account, application registered through the vendor console, endpoints discovered at runtime, and a verified authenticated read against a synthetic test patient. No production environment, no real patient data at any point.

Access Alignment

Each customer decides whether the application runs in their environment, domain by domain, and Oracle Health states it validates and registers every provider-facing SMART application. Sandbox results have no influence on either decision, so that conversation starts in parallel with development.

Build

Read paths against the resources the product needs, with search behavior, response volume and error handling verified per resource rather than assumed from what the API advertises. The technical approach is ours; access rights and the production connection are agreed with each healthcare organization.

Production Readiness

Separate service addresses and credentials, access rights per organization, audit logging, monitoring, defensive handling of large responses, and security review.

Go-live

Go-live, on the organization’s timetable.

A working sandbox integration proves the protocol works. It is not production readiness.

Feature image

Technical Solution — Oracle Health Specifics

We built against the correct endpoint persona from the start: Oracle Health runs three separate endpoints on one tenant — open, provider and patient — and they behave differently enough that a token issued for one does not work against another, while the open endpoint is read-only and advertises no write interaction on any resource. 

Application and Access Type

We fixed the application type and access type before registering, because those choices cannot be changed afterwards, and granted resource access per resource, where each read or write checkbox becomes exactly one scope — which is why a valid token reached Patient and Observation while a request to Condition returned 403, that right never having been granted.

Session Design

We designed the session around an access token valid for roughly 9.5 minutes rather than a long-lived one, reading the expiry from the token response and refreshing or re-launching on that basis instead of hardcoding a lifetime. We also matched Oracle Health’s request-format requirements exactly, since an incorrect Accept header is enough to produce a 406 on an otherwise valid request.

Management Scenarios

We designed and verified the key scenarios for managing EHR connections — connected systems and their state, resource access rights, authentication, audit trail and synchronization status — and built them into a working demo platform showing Oracle Health and Epic side by side under one administrative view.

Infographic explaining secure Oracle Health API connection setup.

The Obstacle: the API Said It Supported It, and It Didn’t

Oracle Health advertised date search on the Encounter resource. Our request with that parameter returned 400. It was a loud failure, but a useful one: a capability statement shows what a server claims to support, not what a specific environment accepts. From then on, we verified every parameter the product relied on with real requests against the endpoint it would actually call.

The quiet version of this problem is worse. Some unsupported parameters are not rejected: the API returns 200, ignores the filter and sends back a broader dataset, with nothing in the response to say so. A narrowed query and an unnarrowed one look identical, so the product can end up processing records the workflow never asked for. A related quirk: _count could be ignored on certain resources, which meant oversized responses, slower processing and a risk of timeouts.

What We Put In Place

  • Verification of actual API behavior per parameter and per resource, rather than trust in what is advertised.
  • Response validation — checking that what came back matches what was requested, including result counts against expectation.
  • Explicit control that filters were applied, so a silently ignored filter surfaces as a problem instead of passing as success.
  • Separate handling rules for resources whose behavior differs, including defensive handling of large responses and pagination where _count is not honored.

The critical discrepancies emerged during the first several days of integration testing — early enough to refine the design instead of ever surfacing later in production.

Oracle Health EHR Integration for a Multi-EHR Medical SaaS Platform 1

Compliance and Security

No real patient data in any vendor sandbox, at any point

A shared sandbox tenant carries no consent and no business associate agreement.

Sandbox and production credentials held separately

Sandbox and production configuration held separately — separate service addresses, separate credentials, no shared configuration file, no production callback on a sandbox application.

Logs carry identifiers and shapes, never content

Resource type, resource ID, status code, duration. No response bodies, patient names, clinical values, tokens or authorization codes.

Patient identity handled correctly at the data layer

A FHIR resource ID is valid only for the server that issued it and is never a permanent key for a person; business identifiers such as an MRN are matched on assigning system and value together, because two organizations can issue the same MRN to different people.

BAA scope is established before the architecture is fixed,

since whether one applies depends on the role each party plays and how data moves. This is typically confirmed with the healthcare organization’s legal and compliance team before any design decision depends on the answer.

Security review on the organization’s terms and timetable

A sandbox result is not a HIPAA assessment, a penetration test or a clinical safety case.

 Infographic outlining structural compliance and security boundaries for healthcare integrations.

Outcome

6–10 weeks from kickoff with a committed healthcare organization to production connection (scenario)

Sandbox verification, access alignment, security review and production preparation. The variable is how fast approvals move on the organization’s side, which is why those conversations start in week one rather than at handover.

Four failure modes caught in testing, not in production (verified)

A rejected date filter, a filter silently ignored behind a 200, an ignored _count returning far more than requested, and a 406 from a wrong Accept header. All surfaced in the first days of integration testing, early enough to shape the design.

Two EHR vendors, one architecture (scenario)

Oracle Health added without a separate stack beside the existing one. Connecting a new organization becomes configuration and verification rather than a fresh technical project: standard authentication, access-rights verification, response validation, filter control, large-dataset handling, and one consistent set of error-handling rules.

 An Oracle Health EHR integration infographic explains how a bespoke project can become a repeatable implementation process.

Planning an Oracle Health integration?

We’ll walk you through the working platform and the implementation path for your use case.

Book a Technical Demo
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...
Views: 12
Written by:
Alex Shpachuk Alex Shpachuk CEO
Alex Shpachuk is the owner and strategic partner of Empeek. His effective leadership and a visionary approach to the future of healthcare turned the company into a dynamic environment attracting the brightest minds with the common vision for product impact and service excellence. With over a decade of experience in software engineering and comprehensive knowledge of designing and deploying tailor-made solutions for healthcare providers, Alex channels his passion for software development and consulting into the written word.

Cases You May Like

View All Cases

Contact Us

Image preloader

Meet Empeek!

Scheduling a call made easy! Pick suitable time and let's get started

Book a call

Reliable Software delivery partner is closer than you think

  • HIPAA & GDPR compliance
  • 4.9 Rating on clutch
  • A winning tech stack
  • In-house team of versatile experts
  • Proven expertise in healthtech development

Alternatively, contact us directly: