The CMS Interoperability and Prior Authorization Final Rule (CMS-0057-F) is the most technically demanding mandate CMS has imposed on health plans since the ACA Meaningful Use requirements. It requires Medicare Advantage, Medicaid managed care, CHIP, and Qualified Health Plan issuers to implement FHIR-based prior authorization APIs — with specific implementation guides, defined response time SLAs, and documentation requirements that must be met by hard compliance dates.
The compliance dates are not suggestions. CMS has indicated clearly that it will conduct targeted audits of payers that have not demonstrated functional API compliance by the published deadlines. Payers that have treated CMS-0057-F as a policy and operations project rather than a software delivery project are significantly behind schedule. Understanding the engineering timeline and the specific technical requirements is the starting point for getting back on track.
The Four APIs Required by CMS-0057-F
CMS-0057-F requires payers to implement four FHIR R4 APIs. The Patient Access API must include prior authorization information in the data available to patients. The Provider Access API must allow providers to query patient clinical and coverage data with appropriate patient permission. The Payer-to-Payer API must allow patients to request transfer of their prior authorization and clinical data when they change plans. And the Prior Authorization API — the most technically demanding requirement — must support real-time prior auth decisions integrated into EHR clinical workflows.
The Prior Authorization API is implemented using the Da Vinci Coverage Requirements Discovery (CRD), Documentation Templates and Rules (DTR), and Prior Authorization Support (PAS) implementation guides. Each of these three Da Vinci IGs has specific FHIR R4 resource conformance requirements that the payer system must satisfy.
Da Vinci CRD: Coverage Requirements at the Point of Care
Da Vinci CRD uses the CDS Hooks specification to inject coverage requirement information into the EHR workflow at the point where a clinician is ordering a service. When a physician orders an MRI, the EHR sends a CDS Hooks request to the payer's CRD service. The CRD service responds with coverage information — whether prior auth is required, what documentation is needed, and whether the service is covered — within the time constraints of the clinical workflow.
The technical constraint that most payers fail to satisfy initially is the CDS Hooks response time. CRD responses must return within the time window that the EHR CDS Hooks client expects, typically 5 seconds or less. Payer systems that process coverage decisions through legacy batch processing infrastructure cannot meet this SLA without architectural changes. The CRD service must query a real-time coverage data layer, not a nightly batch update.
Da Vinci DTR: Automated Documentation Retrieval
Da Vinci DTR allows the EHR to automatically pre-populate prior authorization request forms using clinical data already in the patient's record. The DTR service provides FHIR Questionnaire resources that the EHR renders, and uses FHIR Questionnaire Response resources with embedded CQL logic to extract relevant clinical data from the patient record. Clinicians complete only the fields that cannot be auto-populated.
DTR implementation requires the payer to maintain FHIR Questionnaire resources for each service type requiring prior authorization, and to update those questionnaires when clinical criteria change. This is an ongoing operational obligation, not a one-time implementation. Payers must establish governance processes for questionnaire maintenance that connect clinical policy updates to DTR questionnaire updates.
Da Vinci PAS: Real-Time Prior Authorization Decisions
Da Vinci PAS uses FHIR R4 Claim resources to submit prior authorization requests and receive decisions in real time. The PAS service must return a ClaimResponse resource that communicates approval, denial, or pended status. Approved decisions must include the prior authorization number and validity period. Denied decisions must include specific denial reason codes.
Most payers processing prior authorization requests today use proprietary portals, fax, or telephone — none compatible with PAS. Building a PAS implementation requires exposing the payer's prior authorization adjudication logic through a FHIR R4 API that can process requests in real time. For payers running on commercial plan administration platforms, this requires middleware between the FHIR API layer and the plan system, because these platforms do not natively expose FHIR prior authorization APIs.
Compliance Timeline and Enforcement Risk
The realistic engineering timeline from a standing start — no FHIR infrastructure, no Da Vinci implementation experience — to functional PAS compliance is 18 to 24 months. Payers closer to compliance deadlines must scope their implementation to focus on minimum viable compliance and then optimise, rather than pursuing a full-featured implementation before the deadline. CMS has established a process for accepting attestations of compliance and will conduct audits to verify that APIs are functional and meeting documented SLAs. Payers that attest without functional APIs face civil monetary penalties.
The Algorithm Approach: Pragmatic CMS-0057-F Implementation
The Algorithm has delivered Da Vinci CRD, DTR, and PAS implementations for payers across multiple plan administration platforms. Our implementation approach starts with a capability gap assessment that maps current state to each CMS-0057-F technical requirement, identifies the critical path to compliance, and produces a sequenced delivery plan. We build the FHIR middleware layer that decouples the compliance API surface from the underlying plan administration system, allowing compliance to be achieved without core system replacement.
EU AI Act: What CTOs Actually Need to Do Before August 2026
DORA Is Live. Here's What 'Operational Resilience' Means for Your Codebase
FedRAMP Rev 5: What Changed and Why Most Current ATO Holders Are Already Non-Compliant
The engineering behind this article is available as a service.
We have done this work — not advised on it, not reviewed documentation about it. If the problem in this article is your problem, the first call is with a senior engineer who has solved it.