Two developers sketching an abstract API flow of boxes and arrows on a whiteboard in a bright office
    Cerner FHIR capabilities

    Cerner FHIR Capabilities

    Before you promise a health system an Oracle Health (Cerner) integration, you need to know which FHIR R4 interactions, scopes and exports the Millennium Platform documents. Agnotic Technologies maps them from Oracle's developer documentation, then builds and tests the integration for you, sandbox first.

    FHIR R4 (4.0.1)SMART v1 and v2Bulk Data exportMillennium Platform

    Trusted by global innovators

    Benchmark
    Chibasco
    Fundency
    Lantimer
    Lauren
    Lera
    One Minute
    Pento Pix
    TAP
    Xtrium
    Healthevolve
    Benchmark
    Chibasco
    Fundency
    Lantimer
    Lauren
    Lera
    One Minute
    Pento Pix
    TAP
    Xtrium
    Healthevolve
    Benchmark
    Chibasco
    Fundency
    Lantimer
    Lauren
    Lera
    One Minute
    Pento Pix
    TAP
    Xtrium
    Healthevolve
    Benchmark
    Chibasco
    Fundency
    Lantimer
    Lauren
    Lera
    One Minute
    Pento Pix
    TAP
    Xtrium
    Healthevolve

    What are Cerner FHIR capabilities?

    Cerner FHIR capabilities are the FHIR R4 APIs, SMART authorization and Bulk Data exports that Oracle Health documents for the Millennium Platform behind its Oracle Health (Cerner) EHRs. Agnotic Technologies reads that documentation, confirms what each health system has enabled, and builds the integration that reads, writes and searches the data for you.

    Oracle completed its acquisition of Cerner in 2022, and the developer documentation now sits on Oracle Help Center. Older fhir.cerner.com links redirect there.

    This page is a developer reference. Our Oracle Health (Cerner) integration services page covers the engagement itself.

    API surface

    How is the Oracle Health API surface organised?

    Oracle documents three API families for the Millennium Platform. Most integrations start with FHIR R4 and add the others only where a workflow needs them.

    01

    FHIR R4 APIs

    • FHIR 4.0.1, JSON only, with application/fhir+json as the media type
    • Read and search on resources such as Patient, Encounter, Condition and Procedure
    • Create and update where the published scopes include them
    • SMART v1 and v2 scopes for patient, user and system access
    02

    FHIR R4 Bulk Data Access

    • Group Export at Bulk Data guide v1.0.1, with some v2.0.0 parameters
    • Patient Export at v2.0.0 for a supplied list of patient IDs
    • Result files returned as application/fhir+ndjson
    • Registered as a Millennium Bulk Data SMART application in code Console
    03

    Oracle Health EHR APIs

    • Proprietary REST APIs on api.cernermillennium.com
    • Namespaces such as allergy, condition, chief complaint, personnel and message
    • One scope per API, for example oraclehealth:millennium:condition
    • The tenant identifier is part of every endpoint path

    Capability table

    Which Oracle Health FHIR capabilities can your app use?

    Built only from Oracle's Millennium Platform documentation. What a given tenant has enabled for your app is confirmed in testing.

    AreaInteractionsAuth modelNotes from Oracle's docs
    PatientRead, search; create and update scopes publishedSMART patient, user or system scopesSearch needs _id, or a combination such as identifier, name, birthdate, phone or email
    ConditionRead, search; create and update scopes publishedSMART patient, user or system scopesSupported categories are problem-list-item and encounter-diagnosis
    EncounterRead, searchSMART patient, user or system scopes_count is not honoured when _id is set
    WritesPOST to create, PUT to update; PATCH through a method overrideWrite scopes (v1 .write, or v2 c and u)Stale versions return 409; business rule failures return 422
    Bulk Data Group ExportExport for a group the health system managesAuthenticated SMART app; open endpoints not supportedGroups are managed by the organization in Ignite Management Tooling
    Bulk Data Patient ExportExport for a list of patient IDsAuthenticated SMART appNo export of all patients; a patient ID list is required
    Patient and proxy accessPatient persona reads through a separate service rootSMART patient scopesSome data is filtered, such as non-instructional notes; proxy access to adolescent records may be restricted

    Oracle states that Millennium ids and identifiers only have meaning with their full service root URL. The same Patient id or MRN in another tenant may identify a different person.

    Sandboxes

    Which Oracle Health sandbox should you test against?

    Oracle publishes three sandbox service roots for R4. Each one answers a different testing question.

    CodeNameTypical use
    Open sandboxfhir-open.cerner.com, no authenticationRead-only proofs of concept and request shape checks. No writes are available here.
    Secure sandbox (provider)fhir-ehr-code.cerner.com, authorizedProvider and system flows, including writes, with SMART authorization in place.
    Secure sandbox (patient)fhir-myrecord.cerner.com, authorizedPatient and proxy flows, where data filtering differs from provider access.

    Failure points

    Where do Oracle Health FHIR integrations go wrong?

    These come straight from Oracle's documentation, and each one shows up late if nobody plans for it.

    Challenge

    Treating a Patient id as global

    Agnotic approach

    We key every stored record on tenant and id together, because Oracle says ids only have meaning with the full service root URL.

    Challenge

    Building on DSTU 2

    Agnotic approach

    Oracle no longer supports DSTU 2. We build on R4 only and move any legacy DSTU 2 calls to R4 first.

    Challenge

    Testing writes against the open sandbox

    Agnotic approach

    The open sandbox is read only. Write paths are tested in the secure sandbox with synthetic patients.

    Challenge

    Bulk exports that pull more than the app needs

    Agnotic approach

    Oracle asks that bulk queries capture only the data an application needs, so we limit resource types and agree groups with the organization.

    Challenge

    No plan for throttling

    Agnotic approach

    Bulk endpoints can return 429 when too many requests are sent. Our clients back off and retry instead of failing the export.

    Challenge

    Patient apps that expect provider data

    Agnotic approach

    Patient access filters some data and may return masked values, so the patient experience is designed and tested on that persona.

    Compliance as engineering

    How do we handle PHI and access on Oracle Health integrations?

    HIPAA applies to your product as well as the health system. These are the decisions we make up front.

    Business associate agreements

    Agnotic signs a BAA before any PHI is shared. Development uses Oracle's sandboxes and synthetic patients.

    Least-privilege scopes

    Your app requests only the patient, user or system scopes its use case needs, in SMART v1 or v2 syntax.

    Tenant isolation

    Each health system is a separate tenant in our data model, so records and credentials never cross between customers.

    Audit logging

    Every FHIR call is logged with user, patient, tenant and time, so access questions have an answer.

    Who builds on Oracle Health

    Who builds on Oracle Health FHIR APIs?

    Oracle's own bulk data examples, plus the app types we build most often.

    Clinical data warehouses

    Study data pulled through Bulk Data into an internal warehouse.

    Machine learning teams

    Training data extracted from the EHR under an agreed group and purpose.

    Population health platforms

    Cohort data moved between the EHR and a population health system.

    Payer quality programs

    Data transferred to a payer database for care quality assessment.

    Registry submissions

    Reportable disease and other registry feeds built on FHIR exports.

    Clinician and patient apps

    SMART apps that read and write chart data for providers, patients and proxies.

    How we work

    How do you build against the Millennium Platform?

    Four steps, with a fixed first release agreed before build starts.

    1.

    Prove the idea on the open sandbox

    We check request shapes and resource content against the read-only open sandbox before any registration work.

    Read only
    2.

    Register and test with authorization

    We register the app, request the narrowest scopes and test reads and writes in the secure sandbox for providers and patients.

    Synthetic data
    3.

    Confirm the tenant setup

    With the health system we confirm the tenant, enabled scopes and any bulk groups, so production matches what we tested.

    Per tenant
    4.

    Go live and monitor

    We monitor auth errors, throttling and failed writes, and keep the integration on R4 as Oracle updates its APIs.

    Monitored

    Scope drivers

    What drives the cost of a Cerner FHIR integration?

    We do not quote a price before scoping. These factors move the effort most on Oracle Health builds.

    Read only or write back

    Reads and searches are the smaller build. Writes add validation, conflict handling for 409 and 422 responses, and more testing.

    Number of tenants

    Each health system is its own tenant with its own setup, so rollout effort grows with every site.

    Bulk Data

    Group or Patient Export brings group setup, long-running jobs, NDJSON processing and throttling into scope.

    EHR APIs beyond FHIR

    Workflows that need the Oracle Health EHR APIs add a second API family with its own scopes.

    Patient and proxy access

    Patient-facing apps need their own persona testing, because data filtering differs from provider access.

    Vendor fees

    Oracle publishes its own API access and app registration fee information. We help you read it but do not set those fees.

    Standards in scope

    Standards on the Oracle Health FHIR surface

    FHIR R4SMARTOAuth 2.0Bulk DataUS CoreHIPAA

    Compliance-First Healthcare App Development Services Backed by Global Standards

    01HIPAA logo

    HIPAA

    Health Insurance Portability and Accountability Act

    Protect PHI with privacy-first architecture, encrypted storage and transmission, strict access controls, and traceable audit logs.

    02GDPR logo

    GDPR

    General Data Protection Regulation

    Implement lawful consent flows, data minimization, retention controls, and secure processing for sensitive health data.

    03FHIR logo

    FHIR

    Fast Healthcare Interoperability Resources

    Enable standardized health data exchange across apps, care teams, and systems through standards-based FHIR APIs.

    04HL7 logo

    HL7

    Health Level Seven International

    Support enterprise-grade interoperability with HL7-based integrations for records, events, and clinical messaging workflows.

    05HITRUST logo

    HITRUST

    Health Information Trust Alliance

    Align security programs to healthcare-specific control and risk management practices trusted by providers and ecosystem partners.

    06HITECH logo

    HITECH

    Health Information Technology for Economic and Clinical Health Act

    Design with breach notification readiness, digital record safeguards, and operational controls that support regulated care programs.

    07SaMD logo

    SaMD

    FDA Software as a Medical Device

    Plan software quality, traceability, and documentation pathways for products that may require SaMD review and submission.

    08MDR (EU) logo

    MDR (EU)

    Medical Device Regulation (European Union)

    Prepare EU market-ready processes for risk classification, evidence tracking, and lifecycle governance under MDR expectations.

    09SAMHSA logo

    SAMHSA

    Substance Abuse and Mental Health Services Administration

    Apply confidentiality controls and consent-aware sharing models for behavioral and mental health data experiences.

    Facts and sources

    Which facts from Oracle's documentation shape this page?

    Short facts we design around, each linked to its primary source.

    Frequently Asked Questions

    Yes. Oracle completed its acquisition of Cerner in 2022, and the Millennium FHIR APIs are now documented as the Oracle Health Millennium Platform. Older fhir.cerner.com links redirect to Oracle Help Center.