Case study · Health insurance

Putting FHIR prior authorisation APIs in front of a payer's legacy claims systems

Prior authorisation ran on fax, phone and portals, and a federal rule had set dates for API-based exchange. The goal was standards-based FHIR APIs that providers could call, wrapped around claims and utilisation management systems that could not be replaced in time.

Case studyHealth insurance · PayerSumanta Mukhopadhyay8 min read
#healthcare#fhir#regulation#architecture#platform
CASE STUDY · CASE STUDY · HEALTH INSURANCE28 Oct 2026 · 01:12 GST
At a glance
SectorHealth insurance · Payer
My rolePrincipal architect
EngagementArchitecture, delivery oversight and hand-off
ScopeFHIR APIs, rules, reviewer workflow, decision tracking, metrics
What changed
  • A standards-based prior authorisation front door without replacing core claims systems
  • Every request traceable from submission to decision with a recorded reason
  • Clear routing between automated checks and clinical reviewers
  • Metrics reporting built on the same event stream as operations
FHIR R4Da Vinci CRDDa Vinci DTRDa Vinci PASCDS HooksRules engineEvent busKubernetes

Anonymised composite. Client names, identifying details and confidential figures are withheld; public facts are cited in the references.

The situation

A regional health payer handled prior authorisation the way much of the industry still does: faxes, phone calls and a provider portal, feeding a utilisation management system that sat beside the core claims platform. Providers waited, reviewers re-keyed information, and nobody could easily answer how long decisions took or why requests were pended.

The CMS Interoperability and Prior Authorization Final Rule (CMS-0057-F) changed the timetable. It requires impacted payers to implement a prior authorisation API, with API compliance dates from January 2027, and to publicly report prior authorisation metrics1. Replacing the claims and utilisation management systems in that window was not realistic, so the question became how to put a standards-based front door on them.

What had to be true

  • Standards, not a bespoke API, so provider EHR vendors could integrate once.
  • No rip-and-replace: the existing systems remain the systems of record.
  • Every decision traceable, with a reason a provider could act on.
  • Humans for clinical judgement: automation handles completeness and clear-cut rules; reviewers handle the rest.
  • Metrics by construction, not by quarterly spreadsheet.

Architecture

The design followed the three HL7 Da Vinci guides that work together for prior authorisation: Coverage Requirements Discovery, Documentation Templates and Rules, and Prior Authorization Support.

Provider
EHR order workflowCDS Hooks clientDTR appquestionnairesPAS clientClaim bundle
API edge
CRD servicecoverage requirementsDTR servicepayer rules and formsPAS endpointsubmit and inquire
Decisioning
Rules engineversioned policiesReviewer queueclinical judgementDecision recordstatus and reason
Core systems
Utilisation managementsystem of recordClaims platformunchangedMember and coverageeligibility
Observe
Event busevery state changeMetrics storereporting viewsAuditwho decided what
Layered architecture: Da Vinci APIs at the edge, a thin decisioning layer, and core systems left in place.

CRD uses CDS Hooks so the payer can return coverage requirements inside the provider's ordering workflow2. DTR lets payer documentation rules run in the provider context so the required information is gathered up front3. PAS carries the request as a bundle built around a Claim resource, aligned to the X12 278 transaction, and is designed to be used together with CRD and DTR4.

The data flow, end to end

  1. DiscoverOrder signed in the EHR triggers a CRD call; response says whether authorisation and documentation are needed
  2. DocumentDTR gathers required information, pre-filled from the record where possible
  3. SubmitPAS bundle received, validated and mapped to an internal work item
  4. CheckRules engine checks eligibility, completeness and clear-cut policy criteria
  5. ReviewAnything needing clinical judgement goes to a reviewer queue with the evidence attached
  6. RespondDecision and reason returned via PAS; every state change published as an event
Automation decides completeness; people decide clinical questions.

Status inquiries used the same decision record, so a provider checking on a pended request saw exactly what a reviewer saw, and the answer never depended on which internal system happened to hold the case.

A deeper walkthrough of the rule and the APIs is in CMS-0057 prior authorisation APIs.

The hard part: translating policy into rules people trust

The FHIR plumbing was well specified. Medical policy was not. Coverage criteria lived in documents written for human reviewers, and turning them into DTR questionnaires and rules required:

  • A policy backlog ranked by request volume, so the most common services were automated first.
  • Clinical owners for every rule, with versioning so a decision could be traced to the policy text in force at the time.
  • A firm boundary: rules could approve or route to review, but a denial on clinical grounds always went through a reviewer.
  • Specific, actionable reasons in every pended or denied response, rather than generic codes.

An API that returns "pended" faster is not an improvement. The value is in returning the right question to the provider at the moment they can still answer it.

How the engagement ran

Provider
  1. Signs order
  2. Completes DTR form
  3. Receives decision and reason
Payer platform
  1. Returns requirements
  2. Validates and checks rules
  3. Publishes events
Reviewer
  1. Receives routed case
  2. Decides with evidence
  3. Records reason
One request, three actors, one traceable record.
Phase 1Assess
  • Rule requirements mapped
  • Current workflow and systems
  • Highest-volume services
Phase 2Front door
  • PAS endpoint and mapping
  • Decision record and events
  • Partner testing
Phase 3Upstream
  • CRD responses
  • DTR questionnaires
  • Rules for top services
Phase 4Operate
  • Metrics reporting
  • Policy change process
  • Runbooks and hand-off
PAS first, because it gives every later step a single place to record decisions.

For the security model of provider-facing apps, see SMART on FHIR authorisation; for the event backbone, change data capture and event streams.

Key decisions and trade-offs

DecisionAlternativeWhy
Da Vinci CRD, DTR and PASProprietary REST APIEHR vendors integrate once across payers
Façade over existing systemsReplace utilisation managementMeets the timetable without core system risk
Versioned, owned rulesRules embedded in codePolicy changes are auditable and owned by clinicians
Clinical denials always reviewedFull automationKeeps clinical judgement with qualified people
Metrics from the event streamPeriodic reporting extractsPublished numbers match operational reality

What I'd do again, and differently

Again: start with the decision record and event stream, because everything else (reporting, audit, provider status checks) hangs off it. Differently: bring provider-side EHR partners into testing earlier. Real Claim bundles from real ordering workflows surface mapping gaps that synthetic tests never do.

If you are planning for CMS-0057-F, the healthcare data architecture page describes how I run these engagements, or analyse your challenge and bring the result to a call.

References
  1. 1
    CMS Interoperability and Prior Authorization Final Rule (CMS-0057-F) fact sheetCenters for Medicare & Medicaid Services · 17 Jan 2024
  2. 2
  3. 3
  4. 4
FAQ

Common questions

What are CRD, DTR and PAS?

They are HL7 Da Vinci implementation guides. CRD tells the provider at the point of care whether prior authorisation or documentation is needed, DTR gathers the documentation the payer requires, and PAS submits the request and returns the decision.

Do we need to replace our claims system to meet CMS-0057-F?

Usually not. The APIs can sit in front of existing claims and utilisation management systems, translating FHIR requests into internal work items and decisions back into FHIR responses.

Why build metrics from events?

The rule requires prior authorisation metrics to be reported publicly. Deriving them from the same events that drive operations means the published numbers match what actually happened.

Keep reading

Related

Open to advisory, fractional CTO & select builds

Let's talk about what you're building.

The fastest route is a free 30-minute call. Prefer to write? Send a message and I'll reply personally within two business days.

Start a conversation

How would you like to reach me?

Book a 30-min callFastest. Pick any open slot on my calendar.→ Write in GmailOpens a pre-filled draft in your browser.→ Use my email appOutlook, Apple Mail or your default client.→

I reply personally within two business days. Time zones from the Americas and Europe to the Middle East and Asia-Pacific.