ARFA
ARFA ABA Note Risk Checker
Part of the ABA Field Documentation Safety Layer
Demo ยท synthetic data
For clinical and billing leadership

How this tool decides what to flag

This page is written for the BCBA and billing staff who own the note. It explains, in plain terms, where the rules and the dollar estimates come from, exactly how a note gets flagged, and what the tool deliberately does not do. There is nothing hidden behind the screen: the same note always produces the same result.

1

Where the information comes from

Read this before the rules. It is the part people ask about most.

The rules
The checks are representative, configurable payer-risk rules authored from public ABA billing and revenue-cycle guidance. They are not a copy or scrape of any one payer's contract or manual. They are sensible defaults that catch the documentation gaps payers most commonly cite when they audit notes against claims. In a pilot we calibrate them to your actual payer manuals and your own audit and denial history, so the rules end up reflecting your clinic, not a generic template.
The dollar estimates
Each finding's dollar figure is the billable value of the claim the defect exposes if the note is audited: when a payer audit finds a note that cannot support the session billed, the paid claim can be recouped, and unlike a first-pass denial a recoupment is not something you fix and resubmit. The math is simple: the session's 15-minute units times your contracted per-unit rate. The demo is anchored to published Georgia rates: Georgia Medicaid 97153 (RBT direct treatment): about $15.58 per unit in-clinic, $18.69 in-home (GA MMIS ASD Fee Schedule, Oct 2025). CareSource pays roughly 80 percent of that after the May 11, 2026 reduction, so about $12 to $15 per unit. A recouped two-to-four-hour RBT session is 8 to 16 units, so roughly $100 to $240. TRICARE 97153: about $38.97 per unit (health.mil), which is why TRICARE estimates run higher.
The headline number on a flagged note is a per-claim estimate, not an additive total. Every finding on one note sits on the same claim, and that claim is only worth about one session. So the tool shows the value of the single largest exposure, never the sum of all findings. This is a deliberate choice so the number is never inflated.
The codes and the dialect
The CPT codes (97153 RBT direct, 97155 BCBA supervision, 97156 parent training) come from the published fee schedule, and the 15-minute unit is the ABA billing standard. The clinical terms the tool looks for (DTT, NET, mand, tact, prompt levels, reinforcement schedules) are standard ABA terminology, used only to detect whether a note names its interventions and methods. The tool reads for their presence; it does not judge whether they were the right choice.
There is no AI in the checker
The engine is deterministic: it is pattern matching, word counting, and arithmetic. There is no language model and nothing that can invent a finding. Given the same note and the same payer, it always returns the same result. That makes it predictable and auditable rather than a black box.
2

How a note gets flagged

Every rule uses one of six simple checks. That is the whole engine.

๐Ÿ”Ž
A required item is missing
The note must contain a specific thing. If that thing is not there, the rule fires.
Catches: a missing modifier line, a missing RBT credential number, no named intervention, no measured client response.
๐Ÿšซ
A risky phrase is present
The note must not contain a phrase that tends to draw scrutiny. If that phrase shows up, the rule fires.
Catches: ADL-only wording under 97153, or 12-hour AM/PM times where 24-hour format is expected.
๐Ÿ“
The narrative is too short
The narrative must reach a minimum length for a session of that duration. Very short notes fire.
Catches: a thin note that will not support the hours billed. The minimum is a tunable default, calibrated to your accepted notes in a pilot.
๐ŸŽฏ
Too few goals documented
The note should show at least a set number of clearly labeled goals. Too few fires.
Catches: a session billed at length that only documents one or two goals worked. The threshold is configurable per payer.
โฑ๏ธ
The time math does not add up
End time minus start time, in minutes, divided by 15, should equal the units billed. A mismatch fires.
Catches: units that do not match the session length. This one is objective and universally true, so it is the most reliable check in the set.
๐ŸŒ™
The note was written very late
If the note was authored after a set hour, it gets a same-day-sync risk flag.
Catches: notes drafted near the billing cutoff, which carry higher sync-miss and memory-accuracy risk. The hour is configurable.

Each finding carries a severity, a plain-English message, a suggested fix, and a per-claim dollar estimate. The tool never says a claim will be denied. It reports risk on a three-level scale:

High submission risk Needs review Low obvious risk
3

What it deliberately does not do

๐Ÿฉบ It does not review clinical quality. It checks documentation completeness and format. It will not catch a clinically wrong note that is formatted correctly. It is a documentation-risk layer, not a clinical reviewer.
โœ๏ธ It does not write or sign the note. A human always writes the clinical content, and the BCBA reviews and signs every note before it is final. This is consistent with BACB Code 5.1 supervision.
โš–๏ธ It does not declare a verdict. It has no payer authority, so it flags submission risk and never says a claim "will be denied." A conservative default can flag a note that is actually fine, which is exactly why a BCBA reviews each flag.
๐Ÿ”’ It does not touch real patient data in the demo. Everything here is synthetic. Nothing real is processed until a Business Associate Agreement is signed. It is built BAA-first, with audit logging on by default.