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.

Book a Demo Get Pricing
Specialty EHR for Physiotherapy Evaluations and Care Plans 

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

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

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

Measuring Outcome

Directly embeds WOMAC, ODI, NDI, DASH, and LEFS to auto-calculate and plot over time. 

Care Management

Care Management

Automatically generate 10-visit blocks with re-evaluation reminders and insurance requirements compliance. 

Home Exercise Program Builder

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

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

Physiotherapy

Efficiency That Creates Time for More Care

one

Ailment-Specific Templates 

Disorder/Treatment specific templates to ensure accuracy without restarting. Prefilled templates for Orthopedic, neurological, sports rehab, pediatric, and pelvic floor therapy. 

two

ROM & Growth Visualization 

Auto-generate improvement charts to compare ROM, strength, and pain scores for inspiring patients and for payer validation. 

Three

Patient Portal & Engagement Tools 

Easy accountability with secure patient portal that allows progress tracking, exercise monitoring and secured messaging. 

Four

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)

CodeServiceMin per UnitOmniMD Tracking
97110Therapeutic exercises15 minTimer per activity; auto-calculates units
97112Neuromuscular reeducation15 minTimer per activity; auto-calculates units
97116Gait training15 minTimer per activity; auto-calculates units
97140Manual therapy (joint mobilization, soft tissue)15 minTimer per activity; auto-calculates units
97530Therapeutic activities (dynamic, functional)15 minTimer per activity; auto-calculates units
97124Massage15 minTimer per activity; auto-calculates units
97150Therapeutic procedure, group (2+ patients)15 minGroup session timer; flagged if billed with individual timed codes same session
97032Electrical stimulation (attended)15 minTimer per activity; distinguished from unattended 97014

Service-Based CPT Codes (Flat Charge, Not Time-Based)

CodeServiceBilling TypeNote
97161PT evaluation, low complexity (20-29 min)Flat per encounterRequires documented history, examination, clinical presentation
97162PT evaluation, moderate complexity (30-44 min)Flat per encounterRequires documented clinical decision making involvement
97163PT evaluation, high complexity (45+ min)Flat per encounterMultiple body systems; high-risk comorbidities
97164PT re-evaluationFlat per encounterDocuments change in status; not billable on same day as eval
97010Hot or cold pack applicationFlat per encounterNot covered by Medicare as standalone; many commercial payers cover
97012Mechanical tractionFlat per encounterDoes not count toward total timed minutes for 8-minute rule
97014Electrical stimulation (unattended)Flat per encounterCannot bill 97014 and 97032 on same day (duplicative)
97035Ultrasound15 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 MinutesBillable UnitsRule Applied
8 to 22 minutes1 unitMinimum threshold: at least 8 minutes required for any unit
23 to 37 minutes2 unitsRemainder rule: remaining minutes count toward next unit if 8+ minutes
38 to 52 minutes3 unitsEach additional 15 minutes (with 8+ remainder) = one additional unit
53 to 67 minutes4 unitsFour is the typical maximum for a standard 60-minute treatment session
68 to 82 minutes5 unitsExtended 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

ModifierPurposeWhen RequiredOmniMD Support
KXMedical necessity certification above therapy thresholdEvery Medicare PT claim after threshold is crossed for the calendar yearAuto-applied when accumulated charges cross threshold; billing team alerted 5 visits before
GPServices under a physical therapy plan of careAll Medicare PT claims; required to identify PT vs. OT vs. SLP servicesAuto-applied to all PT claims based on discipline setting
GOServices under an occupational therapy plan of careAll Medicare OT claimsAuto-applied to all OT claims based on discipline setting
CQServices provided in whole or in part by a PTAWhen a Physical Therapist Assistant treats the patient; 15% Medicare payment reduction appliesApplied when treating provider is set as PTA; payment reduction noted on ERA reconciliation
COServices provided in whole or in part by an OTAWhen an Occupational Therapist Assistant treats the patient; 15% Medicare payment reduction appliesApplied when treating provider is set as OTA; payment reduction noted on ERA reconciliation
59Distinct procedural serviceWhen two codes that are typically bundled are legitimately performed separatelyFlagged 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 CodeDiagnosisPT Context
M54.50Low back pain, unspecifiedMost common PT referral; use M54.4 (lumbago with sciatica) or M51.16/M51.17 (disc derangement) when imaging supports specificity
M54.2Cervicalgia (neck pain)Cervical spine PT; pair with M50.11-M50.12 (cervical disc derangement with radiculopathy) when nerve involvement is documented
M25.511Pain in right shoulderRotator cuff impingement PT; use M75.1 (rotator cuff syndrome) when diagnosis is confirmed
M17.11 / M17.12Primary osteoarthritis, right/left kneePre-operative and post-operative total knee replacement PT; switch to Z96.641/Z96.651 (presence of knee prosthesis) post-surgery
M16.11 / M16.12Primary osteoarthritis, right/left hipPost-total hip replacement PT; switch to Z96.641 (presence of hip prosthesis) after surgery
S72.001AFracture of femoral head, right, initial encounterAcute post-surgical hip fracture PT; suffix changes (A=initial, D=subsequent, S=sequela) based on phase of treatment
M62.81Muscle weakness (generalized)Post-hospitalization deconditioning PT; commonly paired with primary diagnosis (e.g., sepsis, pneumonia)
G35Multiple sclerosisNeurological PT for gait, balance, spasticity, and fatigue management
G81.10Flaccid hemiplegia, unspecified sidePost-stroke rehabilitation PT; document affected side (G81.11=right dominant, G81.12=left dominant)
G20Parkinson’s diseaseBalance 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.

MeasureTargetsScore RangeOmniMD Features
LEFS (Lower Extremity Functional Scale)Hip, knee, ankle, foot conditions0 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 conditions0 to 100 (lower = better function)Auto-scored; trend graph per episode of care
PSFS (Patient-Specific Functional Scale)Any condition , patient selects 3-5 activities0 to 10 per activityPatient activities stored; re-scored at each visit; mean score tracked over time
NDI (Neck Disability Index)Cervical spine conditions0 to 50 (lower = less disability)Auto-scored; flagged when score classifies as severe (>34) for payer documentation
ODI (Oswestry Disability Index)Lumbar spine conditions0 to 100% (lower = less disability)Auto-scored; severity classification (minimal/moderate/severe/crippled) displayed
TUG (Timed Up and Go)Fall risk, balance, mobilitySeconds (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

Yes, when therapists manually input goniometer angles or upload images/videos for tracking, they are stored alongside the notes. 

Documentation with Re-eval reminders, KX threshold alerts, and audit-readiness ensures you’re covered for Medicare and commercial insurers. 

Yes, it allows for the easy prescription of exercises digitally, with patient logging and feedback. 

Our system comes with a built-in timer and unit calculator well aligned with CMS guidelines, which ensures accurate charge capture for healing procedures. 

Yes, you can set up entire therapy blocks in advance with recurring scheduling, that comes with built-in reminders for follow-ups and re-assessments. 

Yes. OmniMD’s physical therapy EHR has built-in support for standardized functional outcome scales including the Lower Extremity Functional Scale (LEFS), Disabilities of the Arm, Shoulder and Hand (DASH), Neck Disability Index (NDI), Oswestry Disability Index (ODI), Western Ontario and McMaster Universities Arthritis Index (WOMAC), and others. These scales are embedded directly into clinical documentation workflows, so therapists can capture scores during the visit and track patient progress visually over time without switching between tools or manual data entry.

OmniMD includes built-in 8-minute rule tracking to help physical therapy practices bill timed CPT codes accurately and remain Medicare-compliant. The system automatically calculates billable units based on documented treatment minutes, reducing claim errors and denials tied to timed service codes. This is part of OmniMD’s integrated scheduling and billing module, which also supports series appointment templates and re-evaluation reminders for multi-visit care plans.

Yes. OmniMD is fully HIPAA-compliant and built to meet the documentation and data security requirements for physical therapy practices. This includes encrypted patient records, role-based access controls, audit trails, and secure patient portal communication. OmniMD also supports payer-specific compliance requirements to help practices reduce audit risk and maintain proper documentation for Medicare, Medicaid, and commercial insurers.

  • The 8-minute rule is the Medicare standard for calculating how many billable units to claim for time-based PT CPT codes (97110, 97112, 97116, 97140, 97530, and others). To bill one unit, the therapist must spend at least 8 minutes on that service. To bill two units, at least 23 minutes total. The rule applies across all time-based services in the visit pool: a therapist who spends 20 minutes on 97110 and 10 minutes on 97140 has 30 total timed minutes, which rounds to 2 units, not 3.
  • The most common 8-minute rule error is treating it as a simple per-service calculation rather than a pooled total. For example: 16 minutes of 97110 = 1 unit (correct), and 7 minutes of 97140 = 0 units alone, but 7 minutes pools with remaining minutes from other services, and if the total across all timed services is 23+ minutes, that 7-minute service contributes to a second unit. This pooling logic is what manual calculation most often gets wrong.
  • OmniMD calculates the correct number of billable units for each time-based service automatically from the documented treatment times in the visit note. The therapist documents the time spent on each service; OmniMD applies the pooled 8-minute rule across all timed services, calculates the total billable units, and distributes those units to the correct CPT codes before claim submission. Practices that previously calculated units manually at the end of the day typically recover 8 to 12% more revenue per visit after switching to automatic time-based unit calculation.
  • Yes. OmniMD tracks each Medicare patient’s accumulated physical therapy charges against the current calendar-year therapy threshold. When a patient’s year-to-date PT and SLP charges approach the threshold, OmniMD alerts the billing team before the threshold is crossed. Once the threshold is exceeded, OmniMD automatically applies the KX modifier to subsequent PT claims for that patient for the remainder of the calendar year.
  • The KX modifier signals to Medicare that the services are medically necessary and that the beneficiary’s clinical condition justifies continued skilled PT care above the threshold. Practices that apply KX manually risk missing it on individual claims, which results in automatic denial. Practices that rely on a billing team to catch the threshold crossing after the fact incur unnecessary rework and delayed reimbursement. OmniMD’s proactive threshold tracking eliminates both failure modes.
  • Beyond the KX modifier, OmniMD also applies the GP modifier (services under a PT plan of care) and the CQ modifier (services provided by a Physical Therapist Assistant) automatically based on the treating provider’s credential settings. Practices with mixed PT/PTA staffing can assign the treating provider at the visit level, and OmniMD applies the correct combination of GP+KX or GP+CQ modifiers without requiring the billing team to track credentials per claim.
  • At minimum, a physical therapy EHR needs to support the full evaluation code set (97161, 97162, 97163 for initial evaluations; 97164 for re-evaluation), the core time-based treatment codes (97110 therapeutic exercise, 97112 neuromuscular reeducation, 97116 gait training, 97140 manual therapy, 97530 therapeutic activities, 97150 group therapy), and the most commonly used service-based codes (97010 hot/cold pack, 97012 traction, 97014 e-stim unattended, 97035 ultrasound).
  • Beyond the CPT codes themselves, a PT-specific EHR needs to correctly categorize each code as time-based or service-based (critical for 8-minute rule calculation), support modifier application by service (GP, KX, CQ, CO, 59), handle the unit calculation per the payer-specific billing rule (Medicare 8-minute vs. commercial 15-minute rules), and flag codes that cannot be billed together on the same day (97014 and 97032 are mutually exclusive for the same body region).
  • A general-purpose EHR that supports these CPT codes as billing line items but does not know which are time-based creates the same manual calculation risk as a paper superbill. OmniMD’s PT billing module treats time-based and service-based codes differently at the documentation level, not just the billing level. Time documentation is built into the SOAP note template, so the unit calculation is based on what was documented in the clinical note, not entered separately by a biller after the fact.
  • OmniMD includes the LEFS (Lower Extremity Functional Scale) for hip, knee, and ankle conditions; QuickDASH for upper extremity conditions; PSFS (Patient-Specific Functional Scale) for any condition where the patient selects their own functional goals; NDI (Neck Disability Index) for cervical spine conditions; ODI (Oswestry Disability Index) for lumbar spine conditions; and TUG (Timed Up and Go) for fall risk and mobility assessment. All instruments are auto-scored inside the visit note.
  • Outcome scores are stored longitudinally across the episode of care, not just at the visit level. OmniMD displays an episode-of-care trend graph at the top of each PT patient’s record, showing all scored measures across every visit. At discharge, OmniMD compares the initial and final scores, calculates the percent change, and flags whether the patient met the Minimal Clinically Important Difference (MCID) for each measure. This is the standard evidence required for re-authorization narratives and appeals.
  • Many PT practices use external outcome measure tools (paper forms, separate survey platforms, or spreadsheets) because their EHR does not include scored instruments. The problem is that externally collected scores are often not filed in the clinical record consistently, which means they are unavailable when a payer requests documentation for an audit or a prior authorization renewal. OmniMD keeps all outcome scores inside the patient record at the time of administration, so they are always available for documentation purposes without chasing paper.
  • Yes. OmniMD applies the CQ modifier (for Physical Therapist Assistant services) and CO modifier (for Occupational Therapist Assistant services) automatically based on who is set as the treating provider for each visit. When a PTA treats the patient, OmniMD applies CQ to the claim. When a PT treats the patient, CQ is not applied. Practices do not need to manually add or remove modifiers based on staffing changes across a treatment day.
  • The CQ modifier carries a 15% Medicare payment reduction for services when the PTA provides more than 10% of the total treatment time. This reduction took full effect January 1, 2022. OmniMD’s ERA reconciliation module tracks the expected versus actual payment per claim and flags the 15% reduction separately from denials, so the billing team knows whether a payment shortfall is a reduction (expected and compliant) or a denial (requiring follow-up).
  • For practices with mixed PT and PTA staffing, OmniMD tracks each provider’s credentials at the visit level. If a treatment session is split between a PT and a PTA, OmniMD applies the correct modifier based on the percentage of time documented for each provider. This matters because the 10% threshold for CQ modifier application is based on the proportion of direct treatment time, not on which provider signed the plan of care.
  • OmniMD tracks prior authorization (PA) by payer and patient, storing the authorization number, authorized visit count, authorized date range, and authorized CPT codes in the patient record. Before each visit, OmniMD checks the authorization status and alerts the front desk and treating therapist if the patient is approaching the authorized visit limit or if the authorization has expired. This prevents billing for services that were delivered without a valid authorization on file.
  • PT prior authorization is one of the most variable and administratively burdensome payer requirements across specialties. Some commercial plans require PA for every PT episode; others require PA only above a visit threshold (commonly 6 or 12 visits); Medicare does not require PA for outpatient PT but requires a plan-of-care signed by the referring physician. OmniMD’s authorization module handles each payer’s rules separately and flags when a plan-of-care signature is pending before a claim can be submitted.
  • When a patient reaches 80% of their authorized visit count, OmniMD sends an alert to the care team so a renewal PA can be submitted before the patient runs out of authorized visits. This early-alert approach prevents the common scenario where a therapist treats a patient on visit 13 of a 12-visit authorization and discovers the error only when the claim is denied. The AI front desk integration allows PT practices to automate the initial authorization check at patient intake, so the clinical team focuses on treatment and the authorization process runs in parallel.

Brands That Trust Us

kimball
putnam hospital center
shiloh family medicine
renewed
northwell
Essential allergy
montt
vascular
nym
walker