About AirwayLab
PAP machines collect detailed breath-by-breath data every night — but most of it stays locked on an SD card, invisible to patients and ignored by clinicians who only check AHI. Millions of people are “treated” with AHI under 5 but still wake up exhausted because flow limitation, RERAs, and breathing pattern instability go undetected.
We believe your breathing data belongs to you. AirwayLab makes that data visible, understandable, and actionable — with open-source code you can audit, analysis that runs entirely in your browser, and a free tier that will always include the complete toolkit.
Four research-grade analysis engines process your ResMed SD card data client-side via Web Workers. No uploads, no accounts, no tracking — just the insights your machine already collected but never showed you.
Our Approach
Free Tier — Complete Analysis
AirwayLab's core analysis — Glasgow Index, WAT, NED, oximetry, insights, exports — is free and always will be. We believe everyone on PAP therapy deserves access to research-grade analysis, regardless of their budget or technical skill.
Open Source — Verifiable Trust
Every line of code is open source (GPL-3.0). In a space where you're asked to upload medical data to unknown servers, we think you should be able to verify exactly what happens with your data. Nothing leaves your browser. Ever.
Premium — Sustaining Development
Building and maintaining a tool like this takes time. Premium features like AI-powered therapy insights help fund continued development. They're genuinely useful additions — not features we removed from the free tier to charge for.
Our Vision
Your data, visible
NowPAP machines collect rich breath-by-breath flow data every night, but most of it stays invisible — locked on an SD card, inaccessible to the people it belongs to. AirwayLab makes that data visible and understandable. Four research-grade engines analyse flow limitation, RERAs, and breathing patterns that standard AHI metrics miss. Everything runs in your browser, so your data stays yours.
Shared insights, collective intelligence
NextIndividual analysis is powerful, but the real potential is collective. With your explicit consent, anonymised breathing data could be contributed to an open research dataset — the largest of its kind. Patterns hidden in thousands of real-world therapy nights that no single sleep lab has the scale to find. Think of it as open-source science for airway therapy.
Smarter therapy for everyone
FutureAggregated insights from thousands of real-world nights could help researchers, clinicians, and device manufacturers understand what truly effective therapy looks like — beyond AHI. Better data means better algorithms. Better algorithms mean better therapy. Better therapy means better sleep for millions of people.
Methodology
AirwayLab uses four independent analysis engines, each targeting a different aspect of sleep-disordered breathing. All algorithms are deterministic and reproducible — the same input always produces the same output.
New to flow limitation? Start here
Glasgow Index
Flow Limitation Scoring
A 9-component scoring system that evaluates each breath for flow limitation characteristics. Originally developed by DaveSkvn as an open-source analyzer (GPL-3.0), ported and validated for AirwayLab.
How it works
- 01Each inspiration is segmented from the raw flow signal using zero-crossing detection with minimum window filtering.
- 02Nine shape descriptors are computed per breath: Skew, Spike, Flat Top, Top Heavy, Multi-Peak, No Pause, Inspiratory Rate, Multi-Breath, and Variable Amplitude.
- 03Each component is scored 0–1 based on statistical thresholds derived from the breath population.
- 04The overall Glasgow Index is the sum of 8 components (Top Heavy is computed but excluded from the total), yielding a 0–8 scale where lower is better.
Based on Glasgow Sleep Centre flow limitation analysis methodology.
Deep diveWAT (Wobble Analysis Tool)
Ventilation Pattern Analysis
Three complementary metrics that assess flow limitation severity, breathing regularity, and periodic breathing patterns from the flow signal.
How it works
- 01FL Score: Computes the ratio of top-half tidal volume variance to total variance across breath windows. Higher scores indicate more flow-limited breathing.
- 02Regularity Score: Uses Sample Entropy (SampEn) on minute ventilation to quantify breathing pattern regularity. Higher values indicate more stable, regular breathing.
- 03Periodicity Index: Applies FFT spectral analysis to minute ventilation, looking for power concentration in the 0.01–0.03 Hz band characteristic of periodic breathing (30–100 second cycles).
Sample Entropy method per Richman & Moorman (2000). FFT periodicity per established sleep medicine practice.
NED Analysis
Negative Effort Dependence
Breath-by-breath analysis of flow limitation using the ratio of peak inspiratory flow to mid-inspiratory flow, with automated RERA event detection.
How it works
- 01NED = (Qpeak − Qmid) / Qpeak, where Qpeak is peak inspiratory flow and Qmid is flow at 50% of inspiratory time. Higher NED indicates more flow limitation.
- 02Flatness Index (FI) measures how flat the inspiratory flow plateau is. FI ≥ 0.85 indicates significant flow limitation.
- 03M-shape detection identifies breaths with a characteristic mid-inspiratory dip suggesting upper airway oscillation.
- 04RERA detection: sequences of ≥3 breaths with progressively rising NED slope, terminated by a recovery breath with sudden NED drop. Reported as events per hour.
NED concept from Tamisier et al. RERA detection adapted from clinical scoring criteria.
Oximetry Pipeline
17-Metric SpO₂ & Heart Rate Framework
Comprehensive pulse oximetry analysis for Viatom/Checkme O2 Max data, computing desaturation indices, heart rate surge patterns, and coupled cardio-respiratory events.
How it works
- 01ODI-3% and ODI-4%: Oxygen Desaturation Index at 3% and 4% thresholds, computed as events per hour of recording.
- 02Time below threshold: Percentage of recording time with SpO₂ < 90% and < 94%.
- 03HR surge detection: Clinical surges (>8, >10, >12, and >15 bpm above 30-second baseline) and rolling mean surges (>10 and >15 bpm above 5-minute rolling mean).
- 04Coupled events: Simultaneous SpO₂ desaturation + HR surge within a time window, suggesting respiratory arousal.
- 05First-half vs second-half night comparison to detect positional or REM-related patterns.
ODI methodology per AASM scoring manual. Double-tracking artifact correction applied.
Deep diveFrequently Asked Questions
AirwayLab currently supports ResMed AirSense 10 and AirCurve 10 series machines (CPAP, AutoSet, VPAP, ASV). These machines store detailed flow waveform data in EDF format on the SD card.
AirSense 11 / AirCurve 11: ResMed’s newer generation machines use an updated EDF format with different signal names. AirwayLab may partially work with AirSense 11 data, but full support is in development and results are not yet validated. If you have an AirSense 11, you’re welcome to try — please report any issues to help us improve compatibility.
Philips Respironics and other manufacturers use different data formats and are not currently supported.
This is one of the most common questions, and it makes sense once you understand that each metric detects flow limitation using a different method:
- Glasgow Index scores 9 breath-shape characteristics (skew, spikes, flat tops, multi-peaks, etc.). It catches a wide range of waveform abnormalities, not just classic flow limitation.
- FL Score (WAT engine) measures how much of the tidal volume variance is concentrated at the flow peaks across all breaths. It’s a population-level flatness measure — it looks at the overall distribution, not individual breath shapes.
- NED Mean measures the per-breath ratio of peak flow to mid-inspiratory flow. It specifically targets the pattern where the airway narrows during inhalation, causing mid-flow to drop below peak flow.
A high FL Score with low Glasgow can happen when breaths are moderately flat-topped (the WAT flatness detector picks this up) but don’t show the specific shape distortions Glasgow targets (abnormal skew, spikes, multi-peaks). The breathing is restricted but uniformly so.
A low NED with high Glasgow can occur when breath shapes are abnormal in ways that don’t affect the peak-to-mid flow ratio — for example, variable amplitude or unusual timing patterns. These are real abnormalities, just not the specific “negative effort” pattern NED looks for.
The Estimated Arousal Index (EAI) estimates how many times per hour your brain briefly wakes up during sleep, based on breathing pattern changes. True arousals can only be measured with EEG (brain wave monitoring), but respiratory pattern changes correlate well with cortical arousals.
AirwayLab detects arousals by looking for sudden spikes in respiratory rate (>20% above a 120-second rolling baseline) or tidal volume (>30% above baseline). Each spike suggests a micro-awakening — your brain briefly wakes up, takes a few deeper or faster breaths, then returns to sleep. A 15-second refractory period prevents double-counting closely spaced events.
An EAI below 10/hr is generally considered normal. Above 15/hr suggests significant sleep fragmentation that may be worth discussing with your clinician, even if your AHI looks fine.
The FL Score is computed by the WAT (Wobble Analysis Tool) engine. For each window of breaths, it calculates the ratio of tidal volume variance in the top half of the signal versus the total variance.
In normal breathing, airflow ramps up smoothly and rounds off naturally — the variance is distributed across the full waveform. In flow-limited breathing, the airflow hits a ceiling (the airway is partially narrowed), creating a flat-topped pattern where most of the variance is concentrated at the peaks.
A higher FL Score means more of your breaths show this flat-topped pattern. It’s reported as a percentage: an FL Score of 60% means 60% of your breath windows showed significant flow limitation characteristics.
Contributing
AirwayLab is open source under the GPL-3.0 license. Contributions are welcome — whether that's code, bug reports, feature requests, or documentation improvements.
Privacy
Privacy by default
- All core analysis runs in your browser via Web Workers — your sleep data never leaves your device by default.
- No cookies, no fingerprinting. Optional privacy-first analytics (Plausible) collect zero personal data. AirwayLab does not know who you are.
- Optional server features (AI insights, cloud storage, data contribution) require your explicit consent. Raw waveform data is never transmitted — only aggregate metrics.
- Source code is open for inspection — verify the privacy claims yourself.
Medical Disclaimer
AirwayLab is not a medical device and is not FDA-cleared or CE-marked. It is provided for educational and informational purposes only. The analysis results should not be used as a substitute for professional medical advice, diagnosis, or treatment. Always consult qualified healthcare providers regarding your sleep therapy and any changes to PAP settings.