Skip to main content
CMS-0057-F COMPLIANT

FHIR R4 APIs

Production-ready FHIR APIs for Patient Access, Provider Access, Payer-to-Payer Exchange, and Prior Authorization

Get Started in 15 Minutes Try Sandbox
1,018 Tests Passing
Open Source
Production Ready
Deadline: Jan 1, 2027

Patient Access API

CMS-9115-F

Patients access their health data via FHIR R4 with OAuth 2.0 consent.

Resources: Patient, Claim, ExplanationOfBenefit, Coverage, Encounter
📖 OpenAPI Spec 🚀 Quickstart
View Endpoints ↓
GET  /fhir/r4/Patient/{id}
GET  /fhir/r4/Claim?patient={id}
GET  /fhir/r4/ExplanationOfBenefit?patient={id}
GET  /fhir/r4/Coverage?patient={id}
GET  /fhir/r4/Encounter?patient={id}
GET  /fhir/r4/Patient/{id}/$everything

Provider Access API

CMS-0057-F

Healthcare providers access member data with SMART on FHIR authentication.

Resources: Patient roster, Claims, EOBs, Bulk member match
📖 OpenAPI Spec 🚀 Quickstart
View Endpoints ↓
GET  /fhir/r4/Patient
GET  /fhir/r4/ExplanationOfBenefit
GET  /fhir/r4/Condition
GET  /fhir/r4/Procedure
POST /fhir/$bulk-member-match

Payer-to-Payer API

CMS-0057-F

Exchange member data when patients switch health plans with $member-match.

Features: Member matching, Bulk export, Consent validation
📖 OpenAPI Spec 🚀 Quickstart
View Endpoints ↓
POST /fhir/$member-match
POST /fhir/$everything
GET  /fhir/Bundle
GET  /fhir/Consent

Prior Authorization API

CMS-0057-F

X12 278 ↔ FHIR bidirectional prior authorization with Da Vinci PAS.

Features: Real-time decisions, CDS Hooks, 72-hour SLA tracking
📖 OpenAPI Spec 🚀 Quickstart
View Endpoints ↓
POST /fhir/Claim
GET  /fhir/ClaimResponse/{id}
POST /cds-services/prior-auth
GET  /fhir/ServiceRequest

Claims Scrubbing API

COMMERCIAL

Pre-validate claims before payer submission. Improve first-pass rates from 85% to 95%+.

Features: 30+ validation rules, Real-time (< 100ms), Analytics
📖 OpenAPI Spec 🚀 Quickstart
View Endpoints ↓
POST /scrubbing/v1/claims/validate
POST /scrubbing/v1/claims/batch-validate
GET  /scrubbing/v1/rules
GET  /scrubbing/v1/analytics/first-pass-rate

Get Started in 15 Minutes

Run the Full Stack Locally

Start MongoDB + Redis + both adjudication services with Docker Compose, seed NCCI edits, create a benefit plan, submit a claim, and see it adjudicated end-to-end — no Azure account needed.

# Clone and start the local stack
git clone https://github.com/aurelianware/cloudhealthoffice.git
cd cloudhealthoffice
docker compose up -d

# Run the full adjudication demo (seeds data + submits + adjudicates)
./scripts/seed-local.sh
📋 Local Claims Quickstart

Quick Test with Sandbox

# Test Patient Access API
curl -H "Authorization: Bearer test-token" \
  https://sandbox.cloudhealthoffice.com/fhir/r4/Patient/PAT001

# Test Payer-to-Payer $member-match
curl -X POST https://sandbox.cloudhealthoffice.com/fhir/$member-match \
  -H "Authorization: Bearer test-token" \
  -H "Content-Type: application/fhir+json" \
  -d @member-match-request.json

# Test Claims Scrubbing
curl -X POST https://sandbox.cloudhealthoffice.com/scrubbing/v1/claims/validate \
  -H "X-API-Key: test_key" \
  -H "Content-Type: application/fhir+json" \
  -d @claim.json
📘 Full Quickstart Guide

Standards & Compliance

✅ HL7 FHIR R4

Full FHIR R4.0.1 specification compliance with US Core 3.1.1+ profiles

✅ CMS Rules

CMS-9115-F (Patient Access) and CMS-0057-F (Interoperability)

✅ Da Vinci IGs

PDex, PAS, CRD, and DTR Implementation Guides

✅ SMART on FHIR

App Launch v2.0 with OAuth 2.0 security

✅ X12 EDI

Bidirectional conversion: 837, 835, 270, 271, 278 transactions

✅ HIPAA

PHI encryption, audit logging, and access controls

Integration Examples

JavaScript / TypeScript
// Fetch patient data
const response = await fetch(
  'https://api.cloudhealthoffice.com/fhir/r4/Patient/PAT001',
  { headers: { 'Authorization': `Bearer ${accessToken}` } }
);
const patient = await response.json();
console.log(patient.name[0].given); // ["John"]
Python
import requests

response = requests.get(
    'https://api.cloudhealthoffice.com/fhir/r4/Patient/PAT001',
    headers={'Authorization': f'Bearer {access_token}'}
)
patient = response.json()
print(patient['name'][0]['given'])
C# / .NET
using Hl7.Fhir.Rest;
using Hl7.Fhir.Model;

var client = new FhirClient(
    "https://api.cloudhealthoffice.com/fhir/r4");
client.OnBeforeRequest += (sender, e) => {
    e.RawRequest.Headers.Add("Authorization", 
        $"Bearer {accessToken}");
};

var patient = client.Read("Patient/PAT001");
Console.WriteLine(patient.Name[0].Given.First());

Resources & Support

📖 Documentation 🧪 Try Sandbox 🐛 Report Issues 📧 Contact Support

🚀 Ready to Get CMS-0057-F Compliant?

Deploy production-ready FHIR APIs in days, not months

Start 15-Minute Quickstart View Pricing