Skip to content

Insurance Claims

HIPAAtherapy can send insurance claims on your behalf, track whether the payer accepted them for processing, and show what the payer ended up paying.

HIPAAtherapy currently supports:

  • Eligibility checks - confirm a client’s coverage and benefits before the session
  • Claim submission - send professional insurance claims (837P files) to the payer through Stedi (our insurance clearinghouse partner)
  • Payer enrollment - register your practice with Stedi (our clearinghouse partner) and enroll with each payer for the transactions they require, then track where each enrollment stands
  • Acknowledgment tracking - receive claim status responses through Stedi and surface accepted or rejected status on the claim
  • Payment and denial tracking - read the payer’s payment report (835 ERA) on the claim: amount paid, denials with reason codes, reversals, and the client’s share
  • Automatic payment posting - record what the payer paid to your payment ledger automatically
  • Rejected claim correction and refile - fix a rejected claim and refile it as a fresh submission
  • Replace and void - once the payer confirms a claim with a control number, send a corrected version or void the claim entirely

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

  1. You check eligibility for the client’s insurance
  2. You fill in diagnosis codes, place of service, and the services being billed (service lines) on the session, then submit
  3. HIPAAtherapy sends the claim 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
  6. When the payer finishes processing, it returns a payment report (835 ERA), and HIPAAtherapy shows the outcome - paid, denied, or the client’s share - on the claim (provided you’re enrolled with the payer for ERA delivery)

HIPAAtherapy checks for new acknowledgments and payment reports automatically, so claims update on their own. Payment reports need a live ERA delivery enrollment with the payer.

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

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

  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 usually appear within a few seconds

Eligibility check result on a client's insurance record

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. Each service line lists the procedure code, charge, units, date of service, any modifiers, and which diagnosis the service is tied to
  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 claim has been queued but hasn’t been transmitted yet
SubmittedStedi accepted the claim; the payer hasn’t responded yet
AcceptedThe payer sent a claim acknowledgment (277CA) indicating the claim was accepted for processing
RejectedStedi or the payer rejected the claim
FailedThe submission didn’t complete - transmission timed out or HIPAAtherapy hit an error before sending

Once the payer finishes processing and sends its payment report, the claim moves past Accepted to one of these:

StatusWhat it means
PaidThe payer finished processing and paid the claim
DeniedThe payer processed the claim but won’t pay it
ReversedThe payer took back a payment it had issued earlier
ProcessedThe payer finished processing, but the charge went to the client or no payment was issued

“Accepted for payer processing” doesn’t mean the claim has been paid. It means the payer accepted the claim into its processing workflow. Final payment, denial, and adjustment details arrive later on a separate payment report (the 835 ERA); when it does, the claim’s status changes to reflect the outcome. See Payments and denials.

Most supported payers accept claims as soon as your practice’s billing details are in place. Two cases are different, and the claim form tells you which one when you pick the insurance.

The payer requires enrollment. Some payers won’t accept claims until your practice has enrolled with them. The claim form shows a warning and keeps Submit Claim disabled until the enrollment goes live. As an admin you’re pointed to the Insurance settings page to complete it; other staff are asked to have a practice admin do it.

Claim submission enrollment is required for this payer. Complete it on the Insurance settings page before submitting claims.

Claim form with the enrollment-required warning and Submit Claim disabled

See Enrolling with payers for how to complete it. Once the enrollment is live, the warning clears and you can submit as usual.

The payer isn’t supported. A few payers don’t support electronic claim submission through Stedi at all. The form shows this warning and Submit Claim stays disabled:

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

Eligibility checks keep working in both cases.

Some payers won’t accept electronic claims - or send electronic remittances - until your practice has enrolled with them. Enrollment lives in Practice Settings > Insurance and is admin-only: other staff won’t see the tab. There are two steps - register your practice with Stedi once, then enroll with each payer.

Insurance settings page with the Stedi provider registration and payer enrollment sections

This is a one-time step, and every payer enrollment builds on it. Registration sends your practice name, NPI, and EIN to Stedi to create a provider record.

You’ll need these in your practice settings first:

  • Organization name, at least 5 characters
  • Practice NPI
  • EIN

If any are missing, the page lists them in place of the button. Once they’re set, click Register with Stedi. Registration runs in the background - the page shows it’s in progress and then, once it completes, your Stedi provider ID and the date you registered.

If you later change your practice NPI or EIN, enrollment pauses until the provider record is reconciled - the page shows a notice when that happens, so keep those two fields stable once you’ve registered.

The enrollment list shows the payers your practice actually bills. It’s built from the insurances on your clients’ records, so a payer appears once at least one client has that plan on file - if the list is empty, add insurance to a client first. Each payer can show up to two enrollments:

  • ERA delivery - lets the payer send its electronic remittance (the 835 payment report) through Stedi. Most payers support it; when one doesn’t, the row says so instead of offering enrollment.
  • Professional claims - shown only for payers that require enrollment before they’ll accept your claims. Payers that accept claims without it don’t show this row.

Enrollment also draws on your practice billing settings - on top of provider registration, it needs your office address (with zip code) and a 10-digit US office phone. Click Enroll next to the transaction you want; if either is missing, the page brings you back with a note naming what to add. A few payers ask for a Provider Transaction Access Number (PTAN) - the form shows a field for it when it’s required. Submit, and the enrollment goes to Stedi and on to the payer.

Heads up: if you already receive ERAs for a payer through another clearinghouse, enrolling for ERA delivery with Stedi moves that delivery to Stedi and stops it at the other one.

Enrollment isn’t instant. How long a payer takes to approve is up to the payer - it can be minutes or weeks. HIPAAtherapy checks for updates automatically, and you can click Refresh status on any in-progress enrollment to check right then.

StatusWhat it means
Queued for submissionThe enrollment is waiting to be sent to Stedi
Stedi is processingStedi has the enrollment and is working it with the payer
Action requiredThe payer needs something from you before it can finish - see Enrollment tasks
ERAs are flowing / Claim submission enabledThe enrollment is live
RejectedThe payer declined the enrollment; the reason shows on the row
CanceledThe enrollment was canceled

If a submission hits an error before it reaches Stedi, the row shows the message and a Retry button.

Once a Professional claims enrollment is live, the enrollment-required warning clears on the claim form for that payer and Submit Claim works normally. A live ERA delivery enrollment turns on the payment report, so paid, denied, and adjustment outcomes show on the claim - see Payments and denials.

Some payers want extra steps before they’ll finish an enrollment - a form to fill in, a document to upload, or a value only you have. When they do, the enrollment shows Action required with the task listed underneath. Handle it right on the page: fill in the fields or attach the requested PDF (tasks that ask for a file expect a PDF) and click Complete task. Some tasks include instructions or a link to the payer’s own form.

A few task types can’t be handled in the app yet. For those, the page points you to Stedi’s provider portal to finish the step.

An accepted claim has entered the payer’s review process. While the payer works it, the claim shows Accepted for payer processing. Once the payer also returns a claim number, the claim becomes eligible for in-app corrections - see Correcting an accepted claim below.

When the payer finishes and sends its payment report, the claim moves to a payment status - Paid, Denied, Reversed, or Processed - and that notice is replaced by what the payer decided. See Payments and denials.

Accepted claim with View Details, Replace, and Void buttons

A rejection can come from two places: Stedi (the claim failed Stedi’s claim validation checks - called claim edits - so the payer never saw it) or the payer (the payer received the claim but won’t put it through review). Typical payer rejections: an invalid NPI, a member ID that doesn’t match the payer’s records, or a mismatch between a service and the diagnosis it’s tied to. Either way, the rejection message is shown on the claim.

To resolve 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

Once the payer finishes processing an accepted claim, it sends back a payment report - the 835 ERA (electronic remittance advice). HIPAAtherapy reads it and updates the claim’s status to Paid, Denied, Reversed, or Processed, with the details right on the claim’s Insurance Claim section - so you can see what the payer decided without opening the payer portal.

These reports only arrive once your ERA delivery enrollment with the payer is live.

Depending on what the payer reported, the claim shows one of:

OutcomeWhat it means
Paid $X by [payer]The payer adjudicated the claim and issued payment
Denied by [payer]The payer processed the claim but won’t pay it; the denial reason codes appear underneath
Payment reversed by [payer]The payer is taking back a payment it issued earlier, usually correcting an overpayment
Processed; $X is the client’s responsibilityThe payer applied the charge to the client’s deductible, co-pay, or coinsurance instead of paying it
Processed; no payment issuedThe payer finished processing but neither paid nor left a balance to the client

Payment reports arrive automatically, the same way acknowledgments do, so you don’t have to do anything to pull them in. How long the payer takes to send one is up to the payer - usually a few weeks after acceptance.

Paid claim with a green Paid badge, a "Paid $120.00 by Aetna" message, and "$30.00 is the client's responsibility" below it, with View Details, Replace, and Void buttons

Denials show the payer’s claim-level adjustment codes below the message - the group and reason code, plus a plain-English reason when the payer includes one (for example, CO 50 - These are non-covered services because this is not deemed a medical necessity by the payer). Those codes tell you why the claim wasn’t paid. Line-level adjustments and remark codes aren’t shown in the app, so check your payer portal or EOB when you need the full breakdown before you refile or appeal.

Denied claim with a red Denied badge, the payer message, and the CO 50 adjustment reason code

When the payer pays, HIPAAtherapy records that payment in your ledger for you - it shows up in your Payments list.

Session for Jordan Doe with a $120 insurance payment from Aetna shown read-only above a $30 cash copay that keeps its edit and delete controls, and the paid Aetna claim below

That covers what the payer pays, not what the client owes: when the payer leaves a balance for the client, record what you collect the usual way. One exception to keep an eye on: if a payer takes back a payment (a reversal), HIPAAtherapy doesn’t undo the one it already posted, so that’s one you’d need to adjust yourself - see Current limitations.

Once a claim is accepted, you can correct it in two ways: Replace to send a corrected version, or Void to cancel the claim with the payer.

Both depend on the payer returning a payer claim number (also called a payer control number, or PCCN). This is the payer’s own identifier for the claim - they need it on the corrected or void submission to tie it back to the original. The payer claim number can arrive on the acknowledgment or later on the 835 ERA; until then, Replace and Void stay disabled with a “Waiting for … to confirm processing” note on the claim.

Use Replace when the original claim was accepted but had something wrong - a procedure code mismatch, a missing modifier, the wrong diagnosis tied to a service. The replacement supersedes the original with the payer.

  1. From the session, find the accepted claim and click Replace
  2. The form pre-fills with the original claim’s details. The insurance is locked - replacements have to go to the same payer as the original
  3. Make your edits and click Submit Replacement

Replace Claim form with the insurance locked to the original payer

The replacement goes through the same submit and acknowledgment cycle as an initial claim. If the payer accepts the replacement, it becomes the current version of the claim for that session.

Use Void to retract a claim entirely - typically when you billed the wrong session, the wrong client, or shouldn’t have billed at all. There’s no edit form: HIPAAtherapy sends a void transaction referencing the payer claim number.

Click Void on the accepted claim and confirm. Once the payer acknowledges the void, the claim and any of its replacements are closed and the session shows:

Voided claim with a Submit New Claim button

If you need to bill the session after voiding, use Submit New Claim to start over.

A few cases where these actions won’t show up or stay disabled:

  • No payer claim number yet. Wait for the payer to confirm processing. The claim section shows a “Waiting for …” note while we wait.
  • Payer doesn’t support that action. Original Medicare handles replacements differently and doesn’t support void at all. The claim section says which action isn’t supported.

The claim Details page shows the identifiers for the current claim - HIPAAtherapy’s claim tracking number, the payer claim number (once it arrives), the Stedi claim ID, and the Intent (Replacement or Void) for any non-initial claim.

Claim Details page showing the control number, payer claim number, and accepted status

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

When a payer pays a claim, HIPAAtherapy records that payment in your ledger for you - see Payments and denials. Two kinds of money movement still don’t post on their own:

  • The client’s share. When the payer leaves a balance for the client - a copay, coinsurance, or deductible - collect it and record it through the normal payment flow, the same as any other client payment.
  • Reversals. When a payer takes back a payment it issued earlier, the reversal shows on the claim, but HIPAAtherapy leaves the payment it already posted alone. That’s one you’d need to adjust in your ledger yourself.

When the payer denies a claim, the denial and its reason codes show on the claim. If the payer returned a claim number, you can Replace the claim with a corrected version. A formal appeal - disputing a denial you believe is wrong - isn’t an in-app workflow yet; handle that through your payer portal.

Does “Accepted” mean I’ve been paid? No. Accepted means the payer has queued the claim for review. When the payer finishes, the claim shows the outcome - paid, denied, or the client’s share. See Payments and denials.

How do I know if a claim was paid or denied? The claim shows the result on the session once the payer’s payment report arrives, usually a few weeks after acceptance. You don’t have to fetch anything - HIPAAtherapy pulls the report in automatically, as long as you’re enrolled with the payer for ERA delivery. When the payer pays, that payment posts to your Payments ledger on its own; the client’s share is still yours to collect through the normal payment flow.

Can I resubmit a rejected claim? Yes. Correct and Refile opens a fresh claim form for the same session. If the form refuses to submit because the previous rejected claim is still blocking a new submission, Delete the rejected claim first and then refile.

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 and you’ve billed the wrong insurance entirely, use Void to cancel it with the payer, then submit a new claim against the correct insurance.

What’s the difference between Replace and Void? Replace sends a corrected version of the claim - same session, same payer, with your edits. Void cancels the claim entirely. Both need the payer to have returned a payer claim number first.

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.

Do I have to enroll with a payer before I can bill it? Only for payers that require it. Most payers accept claims as soon as your practice’s billing details are set. When one needs enrollment first, the claim form says so and points admins to Practice Settings > Insurance - see Enrolling with payers. Enrollment is admin-only.