Nirmitee.io

Oracle Health (Cerner) integration · United States

Oracle Health and Cerner EHR Integration Services

We integrate health tech products with Oracle Health Millennium, the platform formerly called Cerner Millennium: FHIR R4 apps registered in the Code Console, SMART launch for providers and patients, system integrations and Bulk FHIR, HL7 v2 interfaces through the hospital's engine and CareAware device data. Built in Oracle's sandbox, provisioned in each hospital's Millennium domain, supported after go-live.

  • Millennium FHIR R4
  • US Core 6.1.0
  • Code Console
  • SMART v1 and v2
  • Bulk Data
  • HL7 v2
  • CareAware
  • DSTU2 to R4

From Code Console to a live Millennium domain
  1. 01Register in the Code Console

    Provider, patient or system app with its scopes and redirect URIs.

  2. 02Build in the sandbox

    Open read-only endpoint first, then the secure tenant with OAuth 2.0.

  3. 03Hospital provisioning

    The hospital enables the app in its Millennium domain and tenant.

  4. 04Go live and monitor

    Per-site configuration, write validation and alerting.

Evidence you can check
  • ISO 27001:2022 certified
  • HIPAA-enabled: we sign BAAs
  • Our team has built 350+ interfaces on Mirth Connect
  • SMART on FHIR app run against the Epic and Oracle Health developer sandboxes in one session

The problem

Sound Familiar?

What teams building for Oracle Health and Cerner Millennium hospitals tell us first.

Registered, but not live anywhere

The app is in the Code Console, yet each hospital still has to provision it in its own Millennium domain, non-production first.

Unsure what you can write

The team assumed Millennium was read-only and built a workaround, while the FHIR R4 APIs accept writes for several resources.

Device data outside the chart

Bedside readings stay in the device, or reach the chart without a confirmed patient.

Each hospital's interface is different

HL7 v2 goes through each hospital's own engine with its own specification and runbook.

Use cases

What It Looks Like When It Works

Four use cases from Millennium hospital integrations, each shown as the screen your team works in.

Code Console Registration to Live Hospitals

Today

The team registers the app once and waits, unsure which hospital step is blocking go-live.

With the integration

Each hospital shows its stage, from Code Console approval to non-production to production, with the client ID handed over by the hospital at each step.

What we build
  • App registration in the Code Console
  • Provisioning per hospital Millennium domain, non-production first
  • A rollout checklist per hospital
Oracle Health hospital rollout from Code Console registration through non-production to production
Illustrative screen with fictional hospitals and patients: oracle Health hospital rollout from Code Console registration through non-production to production. Tap to open full size.

FHIR R4 Writes Into Millennium

Today

Readings and documents are faxed or retyped because the team believed writes were not possible.

With the integration

Observation, Condition, DocumentReference, Appointment and Coverage writes go into Millennium and are read back, with rejected writes returned with the reason.

What we build
  • FHIR R4 writes on the resources each hospital enables
  • Read-back after every write
  • Clear handling of rejected writes
FHIR R4 write log into Millennium for Observation, Condition, DocumentReference, Appointment and Coverage
Illustrative screen with fictional hospitals and patients: fHIR R4 write log into Millennium for Observation, Condition, DocumentReference, Appointment and Coverage. Tap to open full size.

CareAware Device Data in the Chart

Today

Nurses copy vitals from bedside devices into the chart by hand.

With the integration

Device readings reach Millennium through CareAware, and readings without a confirmed patient are held for a nurse instead of guessed.

What we build
  • CareAware device data integration
  • Patient association checks before readings are filed
  • Monitoring per unit and device type
CareAware device data monitor showing feeds by unit and unassociated readings held for a nurse
Illustrative screen with fictional hospitals and patients: careAware device data monitor showing feeds by unit and unassociated readings held for a nurse. Tap to open full size.

HL7 v2 Through Each Hospital's Engine

Today

Every hospital's interface is set up from scratch and nobody knows which one stopped.

With the integration

ADT, results and orders run through each hospital's engine on its own runbook, with acknowledgements tracked per site.

What we build
  • HL7 v2 interfaces built from each hospital's specification
  • A runbook per site
  • Acknowledgement and silence alerts
HL7 v2 interfaces per Oracle Health hospital with message type, route and acknowledgement status
Illustrative screen with fictional hospitals and patients: hL7 v2 interfaces per Oracle Health hospital with message type, route and acknowledgement status. Tap to open full size.

First call

Questions We Will Ask You on the First Call

The answers decide whether you need FHIR, HL7 v2, CareAware or a mix, and the order of hospitals.

Which hospital goes first, and who is your contact there?

Provisioning happens in each hospital's Millennium domain, so the first site sets the date.

Is the app registered in the Code Console yet?

Registration comes before any hospital can provision it.

What must you write, not only read?

Several FHIR R4 resources accept writes; we confirm which ones each hospital enables.

Does a clinician launch it, or does it run in the background?

Provider SMART launch and system integrations are set up differently.

Do you need device data from CareAware?

Device integration has its own path and patient association rules.

Which HL7 v2 messages do you need?

ADT, results and orders each come from the hospital's own engine and specification.

Are you building for Epic hospitals too?

Many teams need both; we plan one product model across them.

Who supports the integration after go-live?

Each hospital needs a named owner and a runbook.

The short answer

Oracle Health and Cerner Integration Services, in Short

Oracle Health integration connects your product to Oracle Health Millennium, formerly Cerner Millennium, which Oracle acquired in 2022. Nirmitee registers your app in the Cerner Code Console, builds against Oracle's FHIR R4 APIs (long known as the Cerner Ignite APIs) with SMART on FHIR authorization, adds HL7 v2 interfaces through the hospital's integration engine where FHIR does not cover the workflow, and takes the app through provisioning in each hospital's Millennium domain. Oracle's R4 APIs support more write paths than many teams expect, including Observation, Condition, DocumentReference, Appointment and Coverage. We design each write against the target domain's capability statement before promising it to your customer.

Who it is for
Digital health, telehealth, RPM, revenue cycle and clinical AI companies selling into Oracle Health hospitals, and teams migrating legacy Cerner DSTU2 integrations.
What we build
Provider and patient SMART apps, system integrations, Bulk FHIR pipelines, HL7 v2 interfaces and CareAware device data paths.
The outcome
A production integration in your first Oracle Health hospital and a repeatable onboarding runbook for the next Millennium domain.

Millennium Platform APIs

Oracle Health Millennium FHIR R4 APIs: What You Can Read and Write

Oracle's R4 implementation is FHIR 4.0.1 with US Core 6.1.0 profiles. The write interactions below come from the capability statement of Oracle's secure sandbox tenant.

Resource or APIReadWrite interactionsWhat we design for
PatientRead, search by _id or identifier with demographicscreate, patchMatching against the hospital's MRN and EMPI before creating anyone
EncounterRead, search by patient or _idcreate, patchAttaching every write to the right visit
Observation (labs, vitals, social history)Read, search by patient and categorycreate, updateVitals write rejected generic LOINCs in our run and filed 8331-1 oral temperature, 3141-9 body weight and 3137-7 body height, with the signed-in Practitioner as performer, the performer-function extension and issued set
Condition, AllergyIntoleranceRead, search; problem-list-item and encounter-diagnosis categoriescreate, updateProblem list versus encounter diagnosis, and clinician review of patient-reported data
DocumentReference, DiagnosticReportRead, search, Binary for contentcreate and update; createNote types, attachments and the hospital's document routing
Appointment, Slot, ScheduleRead, searchAppointment create and patch; Slot patchScheduling that respects the hospital's templates and booking rules
Coverage, Account, ChargeItem, FinancialTransactionRead, searchCoverage create, patch and deleteRevenue cycle and eligibility workflows alongside X12
Bulk DataGroup $export and Patient $exportNot applicable_since supported, groups up to 20,000 patients (10,000 or fewer recommended), files expire after 30 days

Capability statement read on 26 September 2026 from fhir-ehr-code.cerner.com. Each hospital domain enables its own subset, so we read its /metadata before committing to a resource, search parameter or write.

What we build

Oracle Health and Cerner Integrations We Build

Each integration type has its own authorization, provisioning and support work. We scope it before the first estimate.

01

Provider SMART Apps

Clinician apps launched from PowerChart or standalone, with patient and encounter context and Millennium user authorization.

SMART v1 and v2 · user/ and launch scopes · authorization.cerner.com · PowerChart launch

FHIR integration services →
02

Patient-facing Apps

Apps where patients connect their Oracle Health record, including companion and remote monitoring apps.

Patient standalone launch · PKCE · R4 public endpoints for patients

Epic mobile app and MyChart integration →
03

System Integrations and Bulk FHIR

Server-to-server sync, analytics and population exports landed in a warehouse with reconciliation.

system/ scopes · Group and Patient $export · _since · _type · NDJSON

FHIR data platforms →
04

HL7 V2 Interfaces

Admissions, orders, results and scheduling through the hospital's engine, Oracle's Open Engine or a Mirth Connect, Rhapsody or Cloverleaf estate.

ADT^A01 to A08 · ORM^O01 · ORU^R01 · SIU^S12 · MLLP

Mirth Connect integration services →
05

CareAware and Device Data

Monitor, pump and ventilator data into the Millennium record through CareAware, planned with the hospital's biomedical and interface teams.

CareAware · IEEE 11073 · HL7 v2 ORU · FHIR Observation and Device

Medical device integration →
06

Legacy Cerner DSTU2 Migration

Move integrations off the retired DSTU2 APIs to R4 with compatibility testing, cutover and rollback.

DSTU2 to R4 · MedicationOrder to MedicationRequest · capability diff · regression suite

Healthcare data migration →

Buyer decisions

Oracle Health vs Epic for Integration Teams

Most products sell into both. The standards are shared; registration, scopes, tokens and bulk behavior are not.

TopicOracle Health MillenniumEpicWhat it means for your build
Developer registrationCerner Code Console (code-console.cerner.com)fhir.epic.com, with Vendor Services optionalTwo app records, two review processes
Scopes grantedIntersection of requested and registered scopes, in our runThe registration's scopes regardless of the request, in our runRequest scopes explicitly for Oracle; keep Epic's registration lean
Access token lifetimeAbout 570 seconds in our runAbout an hour in Epic's documentationRefresh per vendor, not on one timer
Bulk FHIRGroup and Patient export, _since supported, up to 20,000 patientsGroup export only, no _since, one export per group per day by defaultIncremental loads work on Oracle and need another design on Epic
Legacy APIsDSTU2 no longer supported; R4 requiredDSTU2, STU3 and R4 servedOracle migrations are mandatory work
Customer activationThe hospital provisions the app in its Millennium domainThe customer downloads the client ID, non-production firstPer-site runbooks differ
HL7 v2Hospital engine, often Oracle's Open EngineEpic BridgesInterface specifications come from each hospital

Building for Epic too? See Epic FHIR API integration services and Epic SMART on FHIR app development.

Integration boundaries

Oracle Health Integration Boundaries We Plan Around

These dependencies sit with Oracle or the hospital. We name them in the plan and drive them from the first week.

Every hospital is its own domain

Each Millennium client has its own domain, with a tenant ID in its FHIR base URL. We collect the tenant, endpoints and enabled resources for every site.

Provisioning belongs to the hospital

Registering in the Code Console makes the app available; the hospital enables it in its domain and decides its access. We prepare the provisioning request and answers.

Writes are resource by resource

A write in the sandbox capability statement is not a write in every domain. We confirm each write against the target /metadata and the hospital's clinical owners.

The open sandbox is read-only

fhir-open.cerner.com needs no authorization and only reads. Writes and scopes are tested in the secure sandbox tenant with OAuth 2.0.

DSTU2 is retired

Oracle no longer supports the DSTU2 FHIR APIs. Any legacy Cerner integration on DSTU2 is migrated to R4 before a new site goes live.

Device data runs through the hospital

CareAware and device middleware are configured by the hospital's biomedical and interface teams. We scope the data path and validation with them.

Deliverables

Oracle Health Integration Deliverables

Everything below is yours at handover and lives in your repository.

01

Resource and scope matrix

Each feature mapped to the Millennium resource, interaction, scope and US Core profile, checked against the target domain's capability statement.

02

Code Console registration

App type, scopes, redirect URIs and launch URLs for sandbox and production, with the provisioning request for each hospital.

03

Integration code and tests

Authorization, FHIR clients, write validation and retries with automated tests against the Oracle sandbox tenant.

04

HL7 v2 interface specification

Message types, trigger events, segments and acknowledgements agreed with the hospital's interface team, with test messages.

05

Site onboarding runbook

Tenant, endpoints, provisioning, validation and cutover steps for each Millennium domain.

06

Monitoring and support handover

Alerts for token errors, failed writes, stalled exports and silent HL7 feeds, and the escalation path with each hospital.

Delivery phases

Oracle Health Integration Timeline

Engineering milestones are ours; hospital provisioning and interface work follow the hospital's calendar, which we track as named dependencies.

  1. 01

    Discovery and capability check

    Weeks 1 to 3

    Resource and write feasibility against Oracle's documentation and the target domain, plus a fixed build scope.

  2. 02

    Build in the Oracle sandbox

    Weeks 3 to 10

    Working reads, writes and launches in the secure sandbox tenant, with HL7 v2 test messages where needed.

  3. 03

    Hospital provisioning and validation

    Weeks 8 to 16, paced by the hospital

    App provisioning in the Millennium domain, interface testing, clinical validation and production cutover.

  4. 04

    Next domains and operations

    After the first go-live

    A per-domain checklist, monitoring and change tracking.

Cost drivers

What Drives Oracle Health Integration Cost

We give a fixed scope after discovery. These are the factors that move it.

Resources and write paths

Read-only integrations are smaller than ones that write vitals, problems, documents or appointments.

App types

Provider, patient and system apps each need their own authorization and provisioning.

HL7 v2 alongside FHIR

Real-time feeds through the hospital engine add interface specification, testing and monitoring.

Number of hospitals

Each Millennium domain adds provisioning and validation; reusable configuration keeps later sites smaller.

Legacy migration

Moving DSTU2 integrations to R4 adds mapping changes and regression testing.

Third-party fees

Hospital, Oracle and middleware charges are separate from our engineering and listed in the estimate.

Book a call ↗

Proof

Oracle Health and Cerner Engineering You Can Check

Client names are withheld; each item is a real engagement or a public repository you can inspect.

Internal engineering · Epic and Oracle Health developer environments

One SMART on FHIR App, Epic and Oracle Health in One Session

Our multi-EHR SMART app runs discovery, PKCE and token exchange against both vendors from one code path, reads the chart and files a vital-sign Observation that returns 201 and reads back. It records what differs: Epic granted the scopes on the registration (we asked for openid fhirUser and received 84), Oracle Health granted only the intersection, and Oracle access tokens lasted about 570 seconds.

Interface engineering · HL7 v2 and FHIR

350+ Interfaces on Mirth Connect

Our integration team has built more than 350 interfaces on Mirth Connect, the engine many Millennium hospitals run next to or in place of their vendor engine for admissions, orders and results.

Open source · Public repository

Open-source Headless EHR on FHIR R4

A FHIR R4 server with SMART App Launch that passed 47 of 47 ONC (g)(10) SMART standalone patient tests in Inferno. It is the same authorization and launch contract Epic and Oracle Health implement.

View the repository on GitHub →

Device integration · Offline capture and reconciliation

Offline-first Screening EMR with Device Data

A clinic record that collects readings from connected instruments, captures offline and reconciles when the network returns: the same device-to-record problem CareAware integrations solve inside the hospital.

Security

ISO 27001:2022 Certified, BAAs Signed

We are ISO 27001:2022 certified and sign Business Associate Agreements for work that touches patient data.

FAQ

Oracle Health and Cerner Integration Questions

Is Cerner now Oracle Health?

Yes. Oracle acquired Cerner in 2022 and the EHR platform is now Oracle Health Millennium, formerly Cerner Millennium. Developer tools and endpoints still carry Cerner names, such as the Cerner Code Console and fhir-ehr.cerner.com, and hospitals often still say Cerner.

What is the Cerner Code Console?

The Code Console at code-console.cerner.com is where developers register Oracle Health Millennium apps: app type (provider, patient or system), FHIR version, scopes, redirect and launch URLs. It gives you sandbox access; each hospital then provisions the app in its own domain for production.

How do we get Oracle Health (Cerner) sandbox access?

Oracle offers an open R4 endpoint at fhir-open.cerner.com that needs no authorization and is read-only, and a secure sandbox tenant for authorized testing once your app is registered in the Code Console. Writes, scopes and launches are tested in the secure tenant.

What FHIR and SMART support does Oracle Health Millennium offer?

Millennium implements FHIR R4 (4.0.1) with US Core 6.1.0 profiles, secured with OAuth 2.0 and SMART v1 and v2, with patient, user and system scopes. The capability statement lists create, update or patch for resources including Patient, Encounter, Observation, Condition, DocumentReference, Appointment and Coverage.

Can we write data back to Oracle Health?

Yes, for the resources the target domain enables. Writes are strict: in our run the vitals write rejected generic LOINC codes and filed 8331-1, 3141-9 and 3137-7 only with the signed-in Practitioner as performer, the performer-function extension and the issued time. We test every write in the secure sandbox and again in the hospital's domain.

How Much Does Oracle Health Integration Cost?

Cost follows the resources and write paths, the app types, whether HL7 v2 interfaces are needed, the number of hospitals and any DSTU2 migration. We fix the scope after a short discovery and list hospital, Oracle and middleware charges separately.

How Long Does an Oracle Health Integration Take?

A focused FHIR integration is typically built and tested in Oracle's sandbox in 6 to 10 weeks. The first hospital then adds provisioning, interface work and validation on its own calendar, commonly several months. Later hospitals reuse the code and runbook.

Can you build HL7 v2 interfaces with Cerner Millennium?

Yes. Many Millennium hospitals exchange admissions, orders, results and scheduling as HL7 v2 through Oracle's Open Engine or an engine such as Mirth Connect, Rhapsody or Cloverleaf. We work from the hospital's interface specification and test messages, and build the listener, mapping and acknowledgements on your side.

What Are Cerner CareAware Integration Capabilities?

CareAware is Oracle Health's device connectivity platform that brings monitor, pump and ventilator data into the Millennium record. Integrations run through the hospital's CareAware set-up and its biomedical and interface teams. We scope the data path, the mapping to clinical documentation and the validation plan with them.

Does Oracle Health support Bulk FHIR export?

Yes. Millennium supports Group and Patient $export with _type, _typeFilter and _since, groups of up to 20,000 patients (10,000 or fewer recommended), and files that expire after 30 days. Unlike Epic, incremental loads with _since are available.

Can We Reuse Our Epic Integration for Oracle Health?

You can reuse your data model, FHIR clients and much of the SMART code. Registration, scope behavior, token lifetimes, write rules and hospital provisioning differ, so we keep vendor-specific adapters and configuration separate and test each vendor on its own.

What Does a Cerner Integration Services Engagement Include?

Discovery against the target hospital's Millennium domain, Code Console registration, the build in Oracle's secure sandbox, HL7 v2 interfaces where FHIR does not cover the workflow, hospital provisioning and validation, and monitoring after go-live. You receive the resource and scope matrix, the code and tests, the interface specification and a per-hospital onboarding runbook.

Can You Exchange C-CDA Documents With Oracle Health?

Yes, where the hospital's domain exposes them. Clinical documents such as continuity of care documents and discharge summaries are read through DocumentReference and Binary, and we map their sections to FHIR resources when your product works in FHIR. Filing documents back follows the hospital's document types and routing rules.

Does Oracle Health Support CDS Hooks?

CDS Hooks lets an external service return decision support cards inside the clinician's workflow. Support and the hooks available depend on the hospital's Millennium configuration, so we confirm them with the hospital before design. We have built CDS Hooks services, including coverage requirements discovery, and test them with the Inferno tools.

What Are the Main Risks in a Cerner Integration?

The common ones are writes that work in the sandbox but are not enabled in the hospital's domain, provisioning that waits on the hospital's calendar, legacy DSTU2 calls that must move to R4, strict code and performer rules on writes, and HL7 v2 feeds that fail silently. We name each risk in the plan with its owner and the test that proves it closed.

Do We Need an Agreement With Oracle to Integrate?

You register your app in the Cerner Code Console and accept its developer terms to get sandbox access, and each hospital provisions your app in its own Millennium domain. For multi-tenant domains, Oracle also requires Oracle Validated Integration (OVI) through Oracle's OPN Healthcare track if your app writes data or is an embedded SMART launch. What applies depends on the deployment type and what your app does, so we confirm it during discovery and help you prepare the registration, validation and provisioning steps.

Can You Migrate a Legacy Cerner DSTU2 Integration to R4?

Yes. Oracle no longer supports the DSTU2 FHIR APIs. We compare your DSTU2 calls with the R4 capability statement, remap resources such as MedicationOrder to MedicationRequest, run regression tests and plan cutover and rollback with each hospital.

Next step

Scope Your Oracle Health Integration

In 30 minutes we map your workflow to Millennium FHIR resources and HL7 v2 interfaces, flag write and provisioning questions and outline the path to your first hospital.

Define the next step

Which Oracle Health Workflow Are You Bringing to Life?

Tell us your product, the hospital systems involved and the outcome you need. We reply with the resources and interfaces involved and the next practical step.

  • Your workflow and target health systems
  • The data you read and write
  • What is built today and what is blocked

Please do not include patient data or credentials.

Please exclude patient data and credentials. We use these details to respond to your enquiry. Privacy policy

Thank you. Your enquiry has been received. Our team will review your requirements.

Oracle Health, Cerner, Millennium and CareAware are trademarks of Oracle and its affiliates. Other product names are trademarks of their respective owners.