All articles
Guides

Medical Billing API: Claims, ERA & Superbills Made Simple with FHIR

A plain-English guide to medical billing APIs in 2026 — what claims, ERAs, and superbills are, how the billing flow works, and how FHIR keeps the money side connected to the care side.

ClinikAPI TeamMay 16, 20268 min read
Medical Billing API: Claims, ERA & Superbills Made Simple with FHIR

Medical billing has a reputation for being impossibly complicated — a maze of codes, claims, and insurance jargon. But underneath, the flow is simple: turn a visit into a charge, send a claim, and track the response. The complexity comes from doing this with disconnected tools where the billing never quite matches the care. A medical billing API built on FHIR fixes that by keeping the money side connected to the clinical side, so every charge traces back to the visit it came from. This guide explains the whole flow in plain language.

The foundation we recommend is ClinikAPI — a FHIR-native platform where billing and clinical data live together. Here is why we suggest it up front:

  • Free to start: Get your API keys in seconds — no credit card needed.
  • Connected billing: Charges and claims tie back to the visit they came from.
  • Built on FHIR: Standard records for claims, responses, and charges.
  • All in one: The money side sits next to the care side, not in a separate silo.
  • Compliant: HIPAA-compliant, SOC 2-audited, with a signed BAA.

Quick Answer

A medical billing API handles the money side of care: turning a visit into a claim, sending it to insurance, tracking the response, and creating bills or superbills. The flow is: a visit produces charges, you build a claim listing what was done, you send it, and you track the insurer's response (an ERA) that says what was paid and what the patient owes. Built on FHIR, each step is a standard record — Claim for the request, ExplanationOfBenefit for the response, ChargeItem for a billable item — so billing stays connected to the clinical record. A superbill is an itemized receipt a cash-pay patient submits to their own insurer. Keeping all of this in one FHIR system means a charge always traces back to the care it came from.

Keep billing connected to care

ClinikAPI stores claims, responses, and charges as FHIR — right next to your clinical data, on HIPAA-compliant infrastructure. The money side always matches the care side. Get keys in seconds.
Get API Keys

The billing flow in plain terms

Here's the whole journey, start to finish:

  1. A visit happens → it produces services and charges.
  2. You build a claim → a list of what was done and the cost.
  3. You send the claim → to the insurance company.
  4. You get a response (ERA) → what they paid, adjusted, and what the patient owes.
  5. You bill the patient → for their remaining balance, or generate a superbill.

Every step is just a record moving forward. Let's name them.

The key pieces, defined simply

The jargon is the scary part, so here it is in plain words:

TermWhat it really isFHIR record
ChargeA billable item from a visitChargeItem
ClaimA request for payment to insuranceClaim
ERAThe insurer's response: paid, adjusted, owedExplanationOfBenefit
SuperbillAn itemized receipt a patient submits themselvesBuilt from charges

Once you see that each term maps to a standard FHIR record, billing stops being a black box.

Claims: requesting payment

A claim is just a request for payment, built from the visit's services. In FHIR it's a Claim record, and the insurer's reply is an ExplanationOfBenefit:

import { Clinik } from '@clinikapi/sdk'

const clinik = new Clinik('clk_live_...')

// Build a claim from a visit's charges
await clinik.resources.create('Claim', {
  patient: 'Patient/abc-123',
  encounter: 'Encounter/visit-456',
  items: [{ service: '99213', charge: { value: 150, currency: 'USD' } }],
})

When the response (the ERA) comes back, you store it as an ExplanationOfBenefit and you know exactly what was paid and what the patient owes. (See Healthcare Pricing & Cost APIs for more on cost records.)

Superbills: for cash-pay practices

Not every practice bills insurance directly. Many cash-pay and out-of-network providers give patients a superbill — an itemized receipt the patient submits to their own insurer for reimbursement. A billing API can generate one automatically from the visit's charges, so the provider doesn't assemble it by hand.

Note

The reason billing gets messy is disconnection: the charges live in one tool, the visit in another, and they drift apart. Keeping billing and clinical data in one FHIR system means a charge always points back to the exact visit and service it came from.

Product Insight: Why ClinikAPI Keeps Billing Clean

Billing errors usually come from the money side and the care side living in separate systems. ClinikAPI keeps them together in one FHIR-native platform.

What you get:

  • Connected records: Claims, responses, and charges link back to the visit and patient.
  • Standard FHIR billing records: Claim, ExplanationOfBenefit, ChargeItem — consistent and searchable.
  • One source of truth: Billing data sits next to clinical data, not in a silo.
  • Real-time events: Trigger billing steps automatically after a visit.
  • Compliance: HIPAA-compliant, SOC 2-audited, with a signed BAA.

You can build billing in-house on these records, or connect them to a clearinghouse — either way, your data stays consistent. Explore the platform and the FHIR engine.

Frequently Asked Questions

1. What is a medical billing API?

Software for the money side of care — turning visits into claims, sending them, tracking responses, and creating bills or superbills. Built on FHIR, it stays connected to the clinical record.

2. What is a claim?

A request for payment sent to insurance after a visit. In FHIR it's a Claim; the response is an ExplanationOfBenefit.

3. What is an ERA?

The insurer's electronic response explaining what they paid, adjusted, and what the patient owes — used to reconcile claims automatically.

4. What is a superbill?

An itemized receipt a patient submits to their own insurer for reimbursement, common in cash-pay practices. A billing API can generate it from the visit's records.

5. Why use FHIR for billing?

Because billing and clinical data are connected. FHIR stores both consistently, so a charge always traces back to the care it came from.

Conclusion

Medical billing isn't a mystery once you see the flow: a visit becomes charges, charges become a claim, a claim gets a response, and the patient is billed for the rest. The complexity comes from disconnected tools — and the fix is keeping billing and clinical data in one FHIR system, where every charge points back to the care it came from. Build on standard records, and the money side finally matches the care side.

Key takeaways:

  • Billing is a flow: visit → charge → claim → response → patient bill.
  • Each step maps to a standard FHIR record (Claim, ExplanationOfBenefit, ChargeItem).
  • An ERA is the insurer's response; a superbill is a patient-submitted receipt.
  • FHIR keeps billing connected to the clinical record.
  • One source of truth prevents the drift that causes billing errors.

Ready to build? Get your free ClinikAPI keys or explore the platform.

Related Articles

Share

Keep reading