• Patients running out of authorized visits mid-plan of care because nobody caught that the limit was approaching and the authorization renewal wasn't started in time?

  • Claims being rejected by Medicare because functional limitation G-code reporting wasn't attached correctly to the claim, and the billing team is manually rebuilding rejections one by one?

Physical Therapy Billing Software Development

Physical therapy billing carries prior authorization visit limits, payer-specific CPT modifier rules for timed and untimed codes, and Medicare functional limitation reporting requirements that generic medical billing tools were never designed to handle.

A general billing system applies CPT codes and submits claims. It doesn't track remaining authorized visits against a payer-specific limit, enforce modifier 59 and KX rules per insurer, or attach G-code functional limitation data to a Medicare claim -- the tasks that cause most PT billing failures.

  • Prior authorization visit tracking with renewal alerts per patient and payer

  • CPT code automation with timed code calculation and payer-specific modifier rules

  • ERA file processing with automatic payment and adjustment posting

  • Medicare functional limitation G-code reporting attached to claims

Physical therapy billing software handles the revenue cycle requirements specific to PT practices -- prior authorization visit tracking against approved limits, CPT code selection with payer-specific modifier rules for timed and untimed codes, Medicare functional limitation G-code attachment, electronic claim submission with rejection handling, ERA payment posting with automatic adjustment reconciliation, and patient responsibility collection. RaftLabs builds custom PT billing software for single-site practices, multi-clinic PT groups, and outpatient rehab operators who need billing logic built around their payer mix and their workflows, not around a generic medical billing template. Fixed cost, 12-14 week delivery cycles.

Vodafone
Aldi
Nike
Microsoft
Heineken
Cisco
Calorgas
Energia Rewards
GE
Bank of America
T-Mobile
Valero
Techstars
East Ventures
HIPAAAware architecture
Prior authVisit tracking
FixedCost delivery
12-14Week delivery cycles

Why PT billing breaks general medical billing systems

Physical therapy billing has a different structure from general medical billing. A PT episode of care spans multiple sessions over weeks, each one billed separately against a prior authorization with an approved visit count. As the patient progresses through the episode, the remaining authorized visits decline. When the authorization approaches exhaustion, a renewal request must go to the payer before the limit is hit -- not after. General billing systems track charges and claims. They don't track remaining authorized visits per patient per payer and alert the billing team before the limit is crossed.

CPT code selection in PT is also more complex than most specialties. Timed codes -- therapeutic exercise, manual therapy, neuromuscular re-education -- are billed based on total treatment minutes using the eight-minute rule. Untimed codes -- electrical stimulation, hot pack, ultrasound -- are billed one unit per session regardless of time. Modifiers vary by payer: Medicare has specific rules for the KX modifier when documenting medical necessity for claims above the therapy threshold; modifier 59 applies when multiple procedures are performed and must be distinguished. Getting this wrong produces rejections, and the rejections don't always explain why. Custom PT billing software encodes these rules per payer so they are applied at claim generation, not caught after submission.

What we build

Prior authorization management

Each patient's authorization number and approved visit count are stored against the payer and care episode. Remaining authorized visits are visible on the scheduler when booking future appointments so the front desk and therapist can see the balance before the session. An alert fires when the patient is within three visits of the authorization limit, prompting the billing team to start the renewal request before the patient arrives for a visit that isn't covered. The renewal workflow tracks the request date, payer reference number, and the outcome so the authorization record stays current. Appeal tracking for denied authorization requests, with the original request, payer response, and submitted appeal stored against the patient record.

CPT code and modifier automation

Timed code units are calculated from the treatment log minutes using the eight-minute rule -- the total timed minutes for the session are divided into units, and the CPT codes are grouped and sequenced according to the payer's billing rules. Untimed codes are applied one unit per session based on the modality recorded in the treatment log. Modifier 59 is applied automatically when multiple procedures in the same CPT category are performed and must be distinguished on the claim. The KX modifier is applied to Medicare claims when the patient's charges approach the therapy threshold and the required functional limitation documentation is present in the note. Modifier rules are configured per payer so the claim generation logic reflects each insurer's requirements, not a generic template.

Claim generation and submission

CMS-1500 and 837P electronic claims are generated from completed visit notes -- CPT codes drawn from the treatment log, ICD-10 diagnosis codes linked from the evaluation, and modifiers applied per payer configuration. Claims route to the correct clearinghouse for each payer and are submitted electronically with real-time status tracking. Rejection alerts surface in a denial management queue with the rejection reason coded and the specific field at issue identified. Resubmission is initiated from the same queue -- the corrected claim is rebuilt with the error resolved, and the submission history is stored against the claim for audit purposes.

ERA and payment posting

ERA files from payers are processed automatically -- payment amounts, contractual adjustments, and denial codes are parsed and posted against the corresponding claim without manual entry. Contractual adjustment reconciliation flags any ERA where the posted adjustment doesn't match the expected contracted rate for that payer and CPT code, so underpayments are caught before the balance is written off. Secondary claim generation triggers automatically from the primary ERA when the patient has secondary insurance, with the primary payment detail attached to the secondary submission. Patient balance after primary and secondary payment is calculated and moved to the patient responsibility ledger for collection.

Patient billing and collections

Copay and coinsurance amounts are collected at checkout based on the patient's verified benefit information and the visit's expected charge. Patient statements are generated for outstanding balances after insurance payment has been applied, with itemised charge, insurance payment, adjustment, and remaining balance shown clearly. The online payment portal accepts card payments against the patient's outstanding balance, with the payment applied automatically to the account ledger. Payment plan management allows the billing team to set a scheduled payment series against a balance, with automatic card charge on each due date and a record of each transaction. Balance reminder messages are sent to patients with outstanding balances at configurable intervals, with a direct link to the payment portal.

AR reporting and denial analysis

Aged receivables are reported by payer and by therapist so the billing team can see where the money is and how long it has been outstanding. The 0-30, 31-60, 61-90, and 90-plus day buckets are broken down to identify the payers and therapists with the highest AR risk. Denial reason analysis groups rejected claims by denial code and surfaces the denial categories that are generating the most rework volume. Collection rate by CPT code category shows whether specific procedure types are underperforming with specific payers -- the data needed to identify systematic billing problems before they become write-offs. Authorization utilization reporting shows approved visit count versus visits used per patient and per payer, so under-utilized authorizations can be identified and discharge timing can be optimized.

Frequently asked questions

PT billing has several features that general medical billing systems don't handle well. Prior authorization is visit-based rather than procedure-based -- each episode of care has an approved visit count, and the billing system needs to track remaining visits and alert before the limit is crossed. CPT code selection requires the eight-minute rule calculation for timed codes and payer-specific modifier rules that vary by insurer and by Medicare policy year. Medicare functional limitation reporting requires G-codes attached to claims at specific intervals -- initial, progress, and discharge -- with severity modifiers. General billing systems apply CPT codes and submit claims; they don't carry PT-specific logic for any of these requirements.

Medicare requires G-code pairs -- one for the functional limitation category and one for the impairment -- at the initial evaluation, every 10th visit or at progress reporting, and at discharge. Each G-code pair requires a severity modifier indicating the patient's functional level (CH through CN). The billing system attaches the correct G-codes and modifiers to the claim based on the functional limitation documentation recorded in the visit note at the required intervals. When a claim is approaching a required reporting interval, an alert fires so the therapist completes the functional limitation documentation before the claim is generated. Claims missing required G-code data are held rather than submitted with missing fields.

Yes. The billing module can be built as a standalone system that pulls visit and documentation data from your existing scheduling or EMR platform via API, or it can be built as part of a broader PT practice management system that includes scheduling and documentation. The integration approach depends on what your current system exposes -- most major PT platforms offer billing export or API access. In cases where the existing system doesn't have a direct integration path, we build an export-import workflow that pulls structured visit data into the billing module on a schedule. The right integration architecture is scoped at the start of the project based on your current stack.

We integrate with major clearinghouses -- Availity, Change Healthcare, and Waystar -- which provide connectivity to most commercial payers and Medicare. Payer-specific EDI configurations are set up for the insurers in your payer mix. ERA retrieval is automated per payer so payment posting doesn't require manual file download. The payer configuration layer handles payer-specific CPT modifier rules, authorization requirements, and claim format variations so each payer's rules are enforced at claim generation rather than discovered at rejection. The specific clearinghouse and payer configurations for your practice are scoped and confirmed before development starts.

Related physical therapy software

Talk to us about your PT billing project.

Tell us your payer mix, prior auth volume, and current billing gaps. We will scope a system built around your revenue cycle.