Skip to content

Insurance Claims

HIPAAtherapy can send insurance claims on your behalf and track whether the payer accepted them for processing. The feature is in beta - the scope is deliberately narrow while we build it out slice by slice. This page covers what’s live today, how the workflow runs, and what still needs to happen outside the app.

What’s in scope today

HIPAAtherapy currently supports:

  • Eligibility checks - confirm a client’s coverage and benefits before the session
  • Claim submission - send 837P professional claims to the payer through Stedi
  • Acknowledgment tracking - receive 277CAs from the payer and surface accepted/rejected status on the claim
  • Rejection correction - correct a rejected claim and refile it as a fresh submission

What HIPAAtherapy does not do yet is covered under Current limitations.

How a claim moves through the system

  1. You check eligibility for the client’s insurance
  2. You fill in diagnosis codes, place of service, and service lines on the session, then submit
  3. HIPAAtherapy sends an 837P through Stedi
  4. Stedi forwards the claim to the payer
  5. The payer sends back an acknowledgment, and the claim moves to Accepted or Rejected in HIPAAtherapy

HIPAAtherapy checks for new acknowledgments every 15 minutes.

Before you submit a claim

A few pieces of data have to be in place before you can submit a claim.

Practice settings (Settings > Practice):

  • NPI
  • EIN
  • Office phone
  • Taxonomy code
  • Office address, including zip code

Staff profile (My Profile):

  • Taxonomy code (rendering provider)
  • NPI, if the rendering provider uses a different NPI from the practice

Client record:

  • Date of birth and a current address
  • At least one insurance on file, with member ID and - when the plan uses them - group and policy numbers

If any of the practice settings are missing, the session page shows a notice and hides the Submit Claim button until you complete them.

Insurance Claim section on a session with billing settings incomplete

Checking eligibility

  1. Open the client’s profile
  2. Go to the Insurance section and select the plan you want to check
  3. Click Check
  4. Benefits, co-pay, deductible, and plan status appear within a few seconds

Eligibility check result on a client's insurance record

Submitting a claim

From a session page, scroll to the Insurance Claim section.

  1. Click Submit Claim
  2. Pick the insurance, diagnosis codes (up to 12, in priority order), place of service, and one or more service lines (procedure code, charge, units, date of service, modifiers, diagnosis pointers)
  3. Click Submit Claim at the bottom of the form

Claim form with diagnosis codes, place of service, and service lines

The claim moves through these states:

StateWhat it means
PendingThe 837P has been queued but hasn’t been transmitted yet
SubmittedStedi accepted the 837P; the payer hasn’t responded yet
AcceptedThe payer sent a 277CA confirming the claim entered processing
RejectedThe payer sent a 277CA rejecting the claim before processing
FailedTransmission failed - a network, auth, or validation error from Stedi

“Accepted for payer processing” doesn’t mean the claim has been paid. It means the payer received a syntactically valid claim and queued it for adjudication. Payment, denial, and adjustment details arrive on the 835 ERA, which isn’t supported yet.

Payers not available for claim submission yet

The vast majority of payers accept claims as soon as your practice’s billing details are in place. A small portion don’t - some require a one-time enrollment between your practice and the payer first, and a few don’t yet support electronic claim submission through Stedi at all. For that subset, the claim form shows a warning when you pick the insurance:

Claim submission isn’t available for this payer yet. Eligibility checks still work.

Claim form showing the unavailable-payer warning with the submit button disabled

Eligibility checks keep working for these payers in the meantime. We’re actively building in-app support for payer enrollment, which will cover the enrollment-required case - see Current limitations.

Reading the claim status

Every claim lives on its session. Open the session and look at the Insurance Claim section to see:

  • The current status and when the acknowledgment arrived
  • The rejection message from the payer (on rejections)
  • The claim details that were transmitted (diagnosis codes, service lines, payer)

Accepted claims

An accepted claim is locked for editing while the payer processes it. Payment and denial details aren’t available in HIPAAtherapy yet, so accepted claims stay in this state - reconcile the actual payment from your payer portal or EOB for now. In-app payment posting is on the way.

Accepted claim with the payer-processing notice

Rejected claims

A 277CA rejection means the payer refused the claim before adjudication. Typical reasons: missing or invalid NPI, a member ID that doesn’t match the payer’s records, or a diagnosis-to-service-line pointer mismatch. The payer’s rejection message is shown on the claim.

To correct a rejected claim, use the actions on the claim section:

  • Correct and Refile - opens a fresh claim form for the same session. Make your corrections and submit.
  • Delete - removes the rejected claim if you don’t want to refile.

Rejected claim with payer message and Correct and Refile + Delete buttons

Because the claim never entered payer processing, a fresh 837P is a clean retry - not a replacement. You don’t need any special correction indicator.

Current limitations

The insurance feature is rolling out in phases. Here’s what’s not supported yet, so you can plan around it.

Payment posting (835 ERA)

Final payment, client responsibility, adjustments, and denials all arrive on the 835 ERA. HIPAAtherapy doesn’t ingest 835s yet. Once a claim is accepted, reconcile payment from your payer portal or EOB.

Claim replacement and void

Once a claim has been accepted by the payer, you can’t correct or void it from the app. Adjudicated-denial corrections and replacement workflows depend on the payer’s claim control number, which arrives on the 277CA or the 835 - both paths are actively being built.

Self-service payer enrollment

Some payers require a one-time enrollment before they’ll accept claims from your practice. HIPAAtherapy currently shows a warning on the claim form for these payers but doesn’t yet provide a way to complete the enrollment in-app. Until the in-app enrollment flow is available, those payers are blocked for claim submission inside HIPAAtherapy.

Frequently asked questions

Does “Accepted” mean I’ve been paid? No. Accepted means the payer queued the claim for adjudication. HIPAAtherapy doesn’t post payment information yet, so reconcile payments from your payer portal or EOB for now. In-app payment posting is on the way.

Can I resubmit a rejected claim? Yes. Use Correct and Refile on the rejected claim to open a fresh claim form for the same session. The session is only locked against duplicate claims while a claim is pending, submitted, or accepted - a rejected claim frees the session back up.

How long does a 277CA take to arrive? Payer response times vary. HIPAAtherapy polls every 15 minutes, so the status in the app can lag behind the payer’s actual response by up to that long.

What if I pick the wrong insurance at submission? If the claim is rejected or failed, delete it and file a new one. If it’s pending or submitted, there isn’t an in-app cancel or edit path yet. If it’s already accepted, handle the correction outside the app - replacement and void workflows aren’t supported yet.

Can I still bill clients directly while this is in beta? Yes. Claim submission is optional per session. Cash, card, and invoice flows work independently of the insurance workflow. See Payments for details.

Why is the feature in beta? Because some parts of the end-to-end billing workflow - payment posting, replacement, adjudicated-denial correction, self-service enrollment - are still being built. The submission and acknowledgment slice is stable and useful on its own, but you should plan on doing payment reconciliation and corrections outside the app for now.