Physical Therapy EMR Software
Built for physical therapists, created by listening to their needs to support evaluations, daily SOAP notes, progress tracking, and plan-of-care documentation while staying payer-compliant.

Physical Therapy EHR for Evaluations, SOAP Notes, and Plan of Care
Physical therapy teams need documentation that reflects how therapy is actually delivered, not a generic medical template. OmniMD Physical Therapy EHR helps providers document evaluations, progress notes, treatment goals, functional limitations, range of motion, gait, balance, pain levels, and plan-of-care updates in one organized workflow.
Built for outpatient therapy practices, the system supports neuro, pediatric, orthopedic, sports, pelvic floor, and post-operative rehabilitation documentation. From initial assessment to re-evaluation and discharge summary, clinicians can capture the details needed for clinical accuracy, payer compliance, and continuity of care.
With integrated HEP tracking, progress monitoring, reminders, and billing-ready documentation, your team can reduce duplicate work, stay compliant, and spend more time focused on patient recovery.
Physical Therapy EHR Features That Cut Documentation Time
Evaluation Templates
Captures goniometer inputs-range of motion, MMT grading to define muscle strength, posture analysis, gait assessments, balance, and fall-risk tests.
Automating SOAP Notes
Pre-filled daily notes with previous visit findings, for therapists to only update changes in pain scale, ROM, or function.
Measuring Outcome
Directly embeds WOMAC, ODI, NDI, DASH, and LEFS to auto-calculate and plot over time.
Care Management
Automatically generate 10-visit blocks with re-evaluation reminders and insurance requirements compliance.
Home Exercise Program Builder
Easy prescription of exercises with dosage, frequency, and attachment of instructional videos. Mobile app support for the patient’s log.
Integrated Scheduling & Billing
Series template to schedule Recurring visits, a billing calculator with an 8-minute rule, and timed CPT-code tracking
Physical Therapy EHR Software Interface

Efficiency That Creates Time for More Care
Ailment-Specific Templates
Disorder/Treatment specific templates to ensure accuracy without restarting. Prefilled templates for Orthopedic, neurological, sports rehab, pediatric, and pelvic floor therapy.
ROM & Growth Visualization
Auto-generate improvement charts to compare ROM, strength, and pain scores for inspiring patients and for payer validation.
Patient Portal & Engagement Tools
Easy accountability with secure patient portal that allows progress tracking, exercise monitoring and secured messaging.
RCM Orientation
Timed-code documentation, modifier prompts, and automated KX flagging ensure payer compliance and fewer billing errors.
Real Stories From Medical Practices Thriving With OmniMD
Physical Therapy CPT Codes and EHR Billing Support
Physical therapy billing uses two distinct CPT code categories: time-based codes that bill in 15-minute units and service-based codes that bill as a flat charge regardless of time spent. Selecting the wrong category, or misapplying units to time-based codes, is the most common audit trigger in outpatient PT. OmniMD’s AI-powered RCM tracks treatment time per service within the visit note and calculates billable units automatically, reducing manual calculation errors on every claim. Verified on 2026-06-18 by Dr. Giri.
Time-Based CPT Codes (15-Minute Units)
| Code | Service | Min per Unit | OmniMD Tracking |
|---|---|---|---|
| 97110 | Therapeutic exercises | 15 min | Timer per activity; auto-calculates units |
| 97112 | Neuromuscular reeducation | 15 min | Timer per activity; auto-calculates units |
| 97116 | Gait training | 15 min | Timer per activity; auto-calculates units |
| 97140 | Manual therapy (joint mobilization, soft tissue) | 15 min | Timer per activity; auto-calculates units |
| 97530 | Therapeutic activities (dynamic, functional) | 15 min | Timer per activity; auto-calculates units |
| 97124 | Massage | 15 min | Timer per activity; auto-calculates units |
| 97150 | Therapeutic procedure, group (2+ patients) | 15 min | Group session timer; flagged if billed with individual timed codes same session |
| 97032 | Electrical stimulation (attended) | 15 min | Timer per activity; distinguished from unattended 97014 |
Service-Based CPT Codes (Flat Charge, Not Time-Based)
| Code | Service | Billing Type | Note |
|---|---|---|---|
| 97161 | PT evaluation, low complexity (20-29 min) | Flat per encounter | Requires documented history, examination, clinical presentation |
| 97162 | PT evaluation, moderate complexity (30-44 min) | Flat per encounter | Requires documented clinical decision making involvement |
| 97163 | PT evaluation, high complexity (45+ min) | Flat per encounter | Multiple body systems; high-risk comorbidities |
| 97164 | PT re-evaluation | Flat per encounter | Documents change in status; not billable on same day as eval |
| 97010 | Hot or cold pack application | Flat per encounter | Not covered by Medicare as standalone; many commercial payers cover |
| 97012 | Mechanical traction | Flat per encounter | Does not count toward total timed minutes for 8-minute rule |
| 97014 | Electrical stimulation (unattended) | Flat per encounter | Cannot bill 97014 and 97032 on same day (duplicative) |
| 97035 | Ultrasound | 15 min (time-based) | Counts toward total timed minutes; included in 8-minute rule pool |
OmniMD separates time-based and service-based codes in the visit note automatically. Therapists document each service with a timer; OmniMD sums total timed minutes at visit close and calculates billable units per the 8-minute rule. See the medical billing software page for how OmniMD handles claims submission and denial management for PT practices.
The 8-Minute Rule and Time-Based Billing in Physical Therapy
The 8-minute rule is the Medicare billing standard that determines how many units of a time-based CPT code to bill based on the number of minutes of direct skilled PT care. It applies to all time-based PT CPT codes (97110, 97112, 97116, 97124, 97140, 97530, 97032, 97035, and others) and is a common source of billing errors, underpayment, and audit findings when calculated manually. OmniMD calculates the correct number of billable units for each time-based service automatically from documented treatment times, so therapists do not perform the calculation at visit close.
8-Minute Rule Unit Thresholds
| Total Timed Minutes | Billable Units | Rule Applied |
|---|---|---|
| 8 to 22 minutes | 1 unit | Minimum threshold: at least 8 minutes required for any unit |
| 23 to 37 minutes | 2 units | Remainder rule: remaining minutes count toward next unit if 8+ minutes |
| 38 to 52 minutes | 3 units | Each additional 15 minutes (with 8+ remainder) = one additional unit |
| 53 to 67 minutes | 4 units | Four is the typical maximum for a standard 60-minute treatment session |
| 68 to 82 minutes | 5 units | Extended session; document medical necessity for longer treatment time |
Important: Service-based codes (97010, 97012, 97014, 97018) do not count toward total timed minutes. The 8-minute rule pool includes only time-based code minutes. When a visit includes both service-based and time-based codes, OmniMD excludes service-based minutes from the unit calculation automatically.
The 8-minute rule is a Medicare standard. Commercial payers vary: some follow the Medicare rule, others use a straight 15-minute rule (no remainder calculation). OmniMD’s payer rules engine applies the correct unit calculation method per payer, so the same treatment session does not generate a billing error when claims go to different payers on the same day. Source: CMS Medicare Benefit Policy Manual, Chapter 15, Physical Therapy.
KX Modifier, Therapy Threshold, and PT Assistant Billing
Medicare manages physical therapy spending through an annual therapy threshold: once a patient’s accumulated PT and speech-language pathology charges exceed the threshold for the calendar year, the KX modifier must be attached to every subsequent claim to certify continued medical necessity. Missing the KX modifier on claims above threshold results in automatic denial. OmniMD tracks each Medicare patient’s accumulated therapy charges against the current year threshold and alerts the billing team before the threshold is crossed, not after the denial arrives.
Key PT Billing Modifiers
| Modifier | Purpose | When Required | OmniMD Support |
|---|---|---|---|
| KX | Medical necessity certification above therapy threshold | Every Medicare PT claim after threshold is crossed for the calendar year | Auto-applied when accumulated charges cross threshold; billing team alerted 5 visits before |
| GP | Services under a physical therapy plan of care | All Medicare PT claims; required to identify PT vs. OT vs. SLP services | Auto-applied to all PT claims based on discipline setting |
| GO | Services under an occupational therapy plan of care | All Medicare OT claims | Auto-applied to all OT claims based on discipline setting |
| CQ | Services provided in whole or in part by a PTA | When a Physical Therapist Assistant treats the patient; 15% Medicare payment reduction applies | Applied when treating provider is set as PTA; payment reduction noted on ERA reconciliation |
| CO | Services provided in whole or in part by an OTA | When an Occupational Therapist Assistant treats the patient; 15% Medicare payment reduction applies | Applied when treating provider is set as OTA; payment reduction noted on ERA reconciliation |
| 59 | Distinct procedural service | When two codes that are typically bundled are legitimately performed separately | Flagged by billing rules engine when bundling edit applies |
The CQ and CO payment reduction (15%) took full effect January 1, 2022. Practices with mixed PT/PTA staffing models need an EHR that correctly routes claims to the appropriate modifier based on who delivered the treatment, not just who signed the plan of care. OmniMD’s provider credentialing settings distinguish PT from PTA at the treating-provider level so modifier application is accurate per visit. Integrates with AI RCM for end-to-end modifier management and ERA reconciliation.
ICD-10 Codes for Common Physical Therapy Diagnoses
Physical therapists treat across a wide range of musculoskeletal, neurological, and post-surgical diagnoses. Accurate ICD-10 coding directly supports medical necessity for PT authorization and appeals: a payer that denies PT for “low back pain, unspecified” may approve the same treatment for “lumbar radiculopathy.” OmniMD’s diagnosis look-up includes specificity prompts at the point of documentation so the therapist captures the most defensible code available in the clinical record.
| ICD-10 Code | Diagnosis | PT Context |
|---|---|---|
| M54.50 | Low back pain, unspecified | Most common PT referral; use M54.4 (lumbago with sciatica) or M51.16/M51.17 (disc derangement) when imaging supports specificity |
| M54.2 | Cervicalgia (neck pain) | Cervical spine PT; pair with M50.11-M50.12 (cervical disc derangement with radiculopathy) when nerve involvement is documented |
| M25.511 | Pain in right shoulder | Rotator cuff impingement PT; use M75.1 (rotator cuff syndrome) when diagnosis is confirmed |
| M17.11 / M17.12 | Primary osteoarthritis, right/left knee | Pre-operative and post-operative total knee replacement PT; switch to Z96.641/Z96.651 (presence of knee prosthesis) post-surgery |
| M16.11 / M16.12 | Primary osteoarthritis, right/left hip | Post-total hip replacement PT; switch to Z96.641 (presence of hip prosthesis) after surgery |
| S72.001A | Fracture of femoral head, right, initial encounter | Acute post-surgical hip fracture PT; suffix changes (A=initial, D=subsequent, S=sequela) based on phase of treatment |
| M62.81 | Muscle weakness (generalized) | Post-hospitalization deconditioning PT; commonly paired with primary diagnosis (e.g., sepsis, pneumonia) |
| G35 | Multiple sclerosis | Neurological PT for gait, balance, spasticity, and fatigue management |
| G81.10 | Flaccid hemiplegia, unspecified side | Post-stroke rehabilitation PT; document affected side (G81.11=right dominant, G81.12=left dominant) |
| G20 | Parkinson’s disease | Balance training, gait, and fall prevention PT; frequently paired with fall risk screening (Z91.81) |
Outcome Measures Built Into the Physical Therapy EHR
Functional outcome measures are required by most commercial payers for PT authorization renewals and serve as the primary evidence of treatment progress in Medicare documentation audits. Clinicians who track outcomes inside the EHR rather than on paper or external tools have those scores available longitudinally for appeals, re-authorization, and discharge summaries. OmniMD includes the six most-used PT outcome measures as auto-scored instruments inside the visit note, with trend graphs across the episode of care.
| Measure | Targets | Score Range | OmniMD Features |
|---|---|---|---|
| LEFS (Lower Extremity Functional Scale) | Hip, knee, ankle, foot conditions | 0 to 80 (higher = better function) | Auto-scored; discharge vs. initial score comparison; MCID alert at 9 points |
| QuickDASH (Disabilities of Arm, Shoulder, Hand) | Upper extremity conditions | 0 to 100 (lower = better function) | Auto-scored; trend graph per episode of care |
| PSFS (Patient-Specific Functional Scale) | Any condition , patient selects 3-5 activities | 0 to 10 per activity | Patient activities stored; re-scored at each visit; mean score tracked over time |
| NDI (Neck Disability Index) | Cervical spine conditions | 0 to 50 (lower = less disability) | Auto-scored; flagged when score classifies as severe (>34) for payer documentation |
| ODI (Oswestry Disability Index) | Lumbar spine conditions | 0 to 100% (lower = less disability) | Auto-scored; severity classification (minimal/moderate/severe/crippled) displayed |
| TUG (Timed Up and Go) | Fall risk, balance, mobility | Seconds (under 12 sec = low fall risk) | Timed inside visit note; fall risk flag triggered when above 12 seconds |
OmniMD displays an episode-of-care outcome graph at the top of each patient’s PT record, showing all scored measures across the treatment course. At discharge, OmniMD generates a discharge summary that includes the initial and final scores, the percent change, and whether the patient met the Minimal Clinically Important Difference (MCID) for each measure. This documentation supports re-authorization requests and reduces the time spent writing discharge narratives. Integrates with remote patient monitoring for practices managing post-surgical or chronic condition PT across home and clinic settings.
Who Should Use OmniMD Physical Therapy EHR?
OmniMD’s physical therapy EHR is configured for outpatient and multi-setting PT practices that need documentation, billing, scheduling, and outcome tracking in one platform. The following practice types get the most value from OmniMD’s PT configuration.
- Outpatient private PT clinics (1 to 15 therapists): OmniMD handles SOAP notes, plan-of-care documentation, outcome measures, billing, and prior authorization tracking inside a single login. The AI medical scribe reduces documentation time per visit, which matters when therapists see 12 to 18 patients per day.
- Multi-specialty rehab centers (PT + OT + SLP): OmniMD tracks GP, GO, and GN discipline modifiers separately, applies the correct payer rules per discipline, and reports revenue by discipline within the same practice tax ID. Practices billing OT alongside PT need CQ/CO modifier management that a general EHR does not provide out of the box.
- Sports medicine and orthopedic PT clinics: High volume of post-surgical cases (TKR, THR, rotator cuff repair, ACL reconstruction) requires plan-of-care templates aligned to surgical protocol phases. OmniMD’s PT templates include protocol-based phase documentation for common orthopedic post-operative pathways.
- Hospital-based outpatient PT departments: OmniMD integrates with hospital EHR systems via FHIR APIs, pulling the patient record and surgical notes into the PT evaluation. The scheduling module handles high-volume outpatient slot management with insurance eligibility verification at booking.
- Pediatric PT practices: Pediatric PT documentation differs from adult PT in developmental milestone tracking, parent education documentation, and school-based PT coordination. OmniMD’s pediatric PT templates support these workflows and track developmental measure scores longitudinally across the child’s episode of care.
- Neurological rehabilitation PT: Stroke, Parkinson’s disease, MS, and TBI rehabilitation require longitudinal outcome tracking (TUG, FIM, Berg Balance Scale) across long episodes of care. OmniMD stores outcome scores across visits and generates progress reports for physician co-management and payer re-authorization without manual data export. The EHR hub covers how OmniMD handles multi-specialty co-management for neurological PT patients.
Frequently Asked Questions
Brands That Trust Us










