Backend
- FastAPIREST API
- Python 3.13Runtime
- Pydantic v2Validation
- Auth0 + RLSIdentity
Phoenix Ascend is assembled from small, well-scoped services. Each layer does one thing; together they hold medical-grade data without forcing engineers or clinicians to trust the layer above.
Every reading follows the same route — captured, validated, stored in time-series tables, and rendered for the role requesting it.
Four problems that every medical-device platform has to answer. Here's what we chose — and the trade-offs behind it.
01 Security
Most platforms check permissions once, at the application layer. We built four independent gates — if one is compromised, the others still hold.
Multi-factor login, automatic key rotation via JWKS, and short-lived access tokens.
RLS policies enforce access per session — patient, clinician, engineer, or admin — independently of the application layer.
Database triggers log every mutation with before/after state — even direct SQL changes are captured and signed.
Stored OAuth credentials encrypted with session-scoped keys that are never exposed to the application layer.
02 Performance
Medical devices generate hundreds of readings per day per patient. That data has to be stored, compressed, and queryable in real time.
7-day chunks partition data for range queries that stay snappy into the millions of rows.
Old chunks compress on a schedule — storage without sacrificing read performance.
Pre-compute hourly and daily glucose/insulin stats so dashboards don't reaggregate on every page load.
Bulk loading from device bridges handles spike loads without back-pressuring the API.
03 Testing
When incorrect data could affect clinical decisions, coverage isn't optional. We run a two-lane strategy that balances speed with realism.
Minimal seed data, fast feedback — every PR runs the full suite in under a minute.
Months of deterministic synthetic timeseries for realistic validation against production queries.
SQL linting, migration-order verification, and security scanning block merges on policy violations.
Frontend tests use MSW for API mocking with integration tests across critical clinical workflows.
04 Synthetic data
You can't test a medical platform with random numbers. Our generator produces output indistinguishable from real device logs — grounded in published clinical datasets.
Grounded in 9 published clinical datasets covering thousands of real patients — no synthetic shape we haven't seen in the wild.
Pure Python stdlib — runs anywhere, no supply-chain surface.
Over 90 days therapy adjusts, glucose patterns shift, adherence changes — tests see the same drift a clinician would.
Output matches real device logs exactly — validated against the same parsers used in production.
A pragmatic stack — designed today to scale to cloud infrastructure tomorrow.