Physical therapy EHR backends look deceptively simple from the outside, but the workload is dominated by repeated structured assessments, Goal and CarePlan updates per visit, and Observation streams from connected motion-tracking devices. Picking a FHIR server here is mostly about how well the storage layer handles dense, longitudinal Observation writes without dragging on cohort queries used for outcomes reporting.
A wider view of the relevant servers and trade-offs lives in additional FHIR API notes and the parent preventive care FHIR servers buyer's guide.
The 6 Servers Worth Evaluating
Six options dominate physical therapy procurement in 2026:
- HAPI FHIR with Smile Digital Health ships with mature Goal and CarePlan support, plus the index tuning needed for high-frequency Observation writes.
- Aidbox wins where the EHR vendor wants SQL-on-FHIR queries for outcomes analytics out of the box. The storage layer holds up under dense write loads without bespoke partitioning work.
- Firely Server is the NET-native pick, common where the PT software is built on a Microsoft stack and the team wants minimal porting effort.
- Microsoft Azure Health Data Services is the managed-cloud default for groups already running on Azure. Subscription handling for visit-frequency reminders is reliable.
- Medplum is the lightweight option for PT SaaS startups. Developer ergonomics are strong and the TypeScript-friendly storage layer scales well for early customers.
- Google Cloud Healthcare API is the right call when the PT group is using BigQuery for utilization and outcomes dashboards. Bulk export to BigQuery is the killer feature.
What Matters Most for PT Workloads
Three resource patterns drive most server-selection arguments in this segment. CarePlan and Goal need to support frequent revisions, since visit-by-visit progress changes the plan in small ways. Observation needs to handle range-of-motion measurements, pain scores, and patient-reported outcome surveys without indexing churn. Procedure resources need flexible code binding because PT codes from CPT 97000-series get mixed with internal practice codes for documentation specificity.
A few operational notes worth flagging:
- Observation write throughput should sustain at least 50 writes per second per clinic during peak documentation windows.
- `$export` performance against ten thousand patients with two years of Observation history should finish within an hour, not a workday.
- Subscription delivery should survive at least a 99.5 percent success rate over a rolling thirty-day window.
A FHIR server that misses any of those targets will quietly push the analytics layer onto a separate data warehouse, which adds cost and lag.
How the Decision Usually Goes
Single-clinic PT deployments tend to land on Medplum for cost efficiency. Mid-market PT chains pick HAPI plus Smile or Aidbox depending on whether the team prefers operational simplicity or SQL-native analytics. Enterprise PT groups inside larger health systems usually inherit whatever the parent organization has standardized on, which is most often Microsoft or Google managed services. Firely shows up in pockets where the legacy stack was NET and the migration cost would not justify a stack rewrite.
For a parallel workload pattern, the 6 FHIR Servers That Handle Wellness Coaching Data Cleanly writeup covers a similar write-heavy Observation profile and is the natural follow-up read.
Sources
- Real World Performance of 21st Century Cures Act Population Level API - HTML, JAMIA / NCBI PMC, 2023
- FHIR for Interoperability in Health Research systematic review - HTML, JMIR / NCBI PMC, 2022
- USCDI overview on Interoperability Standards Platform - HTML, ONC, evergreen
