Case Study · Healthcare Data Pipeline

SPO2.

Python
Pipeline
AI
Eval
RT
Dashboards
O2
Monitoring

Python data pipeline for infant pulse oximetry monitoring. Visualization dashboards, pattern detection, and AI-powered evaluation of oxygen saturation data — built solo with Claude Code.

spo2.ontheclock.live
screenshot · 1200×600
The Problem

Raw data, no insight.

Pulse oximeters generate thousands of SpO2 readings per night for at-risk infants. Parents and clinicians get a number on a screen, but no context. Is a dip to 88% significant or artifact? Is the overnight trend stable or deteriorating? Without processing and visualization, the data is noise.
spo2.ontheclock.live
screenshot · dashboard
What I Built

Three core systems.

01
Data Pipeline
Python pipeline that ingests raw pulse oximetry data, cleans artifacts (motion noise, probe-off events), calculates rolling statistics, and structures the output for visualization. Handles gaps, interpolation, and session boundaries automatically.
PythonData CleaningRolling Stats
pipeline output
screenshot · pipeline
02
Visualization Dashboards
Interactive dashboards showing overnight SpO2 trends, desaturation events, histogram distributions, and session-over-session comparisons. Time-series plots with clinically relevant thresholds (90%, 88%, 85%) highlighted. Zoom, pan, and export.
Time-SeriesHistogramsClinical Thresholds
dashboards
screenshot · dashboard
03
AI-Powered Evaluation
Structured evaluation layer that takes processed SpO2 data and generates clinical-grade assessments. Flags concerning patterns (clusters of desaturations, downward trends, high variability), scores session quality, and produces shareable summaries for pediatrician visits.
AI EvalPattern DetectionClinical Summaries
ai evaluation
screenshot · eval
Technical Decisions

Build vs. configure.

1
Python over Node for the data pipeline
Time-series data processing needs pandas, numpy, and scipy. Python's scientific computing ecosystem is decades ahead of JavaScript for this. The pipeline does statistical analysis, signal processing, and ML inference — all native Python strengths.
2
Clinical thresholds over percentile-based alerts
SpO2 monitoring has established clinical cutoffs (90% mild, 88% moderate, 85% severe). Using population percentiles would be statistically cleaner but clinically meaningless. Parents and pediatricians think in absolute thresholds, so the system does too.
3
AI evaluation as augmentation, not diagnosis
The AI layer summarizes and flags — it never diagnoses. Every output includes the underlying data so clinicians can verify. The goal is to save parents from interpreting raw numbers and give pediatricians a structured starting point, not replace clinical judgment.
Stack
Python
Pandas
NumPy
Plotly
Claude API
Dash
Try it.
Open SpO2 Pipeline → ← Back to all projects