Glasgow Index
Flow Limitation Scoring
The Glasgow Index is a 9-component scoring system that evaluates every breath for flow limitation characteristics. Originally developed by DaveSkvn as an open-source PAP flow analyzer (GPL-3.0), it provides a single composite score that summarises the severity of flow limitation across your entire therapy session. Typical scores range from 0 to about 3 — scores above 3 are rare and indicate very significant problems.
How the scoring works
- 01Breath segmentation — The raw flow signal (sampled at 25 Hz) is processed to identify individual inspirations using zero-crossing detection with minimum window filtering to reject noise.
- 02Shape analysis — Nine shape descriptors are computed for each breath, each capturing a different aspect of how flow limitation manifests in the inspiratory waveform.
- 03Per-breath scoring — Each breath is scored against fixed thresholds for each component. If the breath exhibits that characteristic, it scores 1 for that component; otherwise 0. The session component score is the proportion of breaths flagged (0–1).
- 04Composite index — The overall Glasgow Index sums 8 component scores (Top Heavy is computed but excluded from the overall). The theoretical maximum is 8.0, but in practice scores above 3 are extremely uncommon. The original author describes 0–0.2 as “good, clean breathing” and 3 as “significant problems.”
The 9 components
Skew
Measures the asymmetry of the inspiratory flow curve. A normal breath rises and falls symmetrically. Flow-limited breaths often peak early and trail off — high skew indicates the airway is narrowing during inspiration.
Spike
Detects sharp transient peaks at the beginning of inspiration. A brief spike followed by reduced flow suggests the airway briefly opens then narrows, a hallmark of partial obstruction.
Flat Top
Identifies inspiratory flow plateaus where flow reaches a ceiling and cannot increase despite continued inspiratory effort. This is the classic "flow limitation" pattern seen in clinical polysomnography.
Top Heavy
Quantifies how much of the breath's tidal volume is delivered in the first half of inspiration versus the second half. Top-heavy breaths indicate early flow limitation onset. (Computed but excluded from overall score.)
Multi-Peak
Detects oscillatory flow patterns with multiple peaks during a single inspiration. Multi-peak patterns suggest upper airway instability and flutter, often seen with moderate flow limitation.
No Pause
Assesses whether there is an adequate pause between expiration and the next inspiration. Absent pauses can indicate increased respiratory drive, often a compensatory response to flow limitation.
Inspiratory Rate
Evaluates the peak inspiratory flow rate relative to the breath population. Abnormally high rates suggest increased respiratory effort to overcome airway resistance.
Multi-Breath
Detects sequences of breaths with progressively worsening flow limitation characteristics, suggesting a crescendo pattern that may precede an arousal or obstructive event.
Variable Amplitude
Measures breath-to-breath variability in tidal volume. High variability indicates unstable ventilation, which can accompany cycling between obstruction and recovery.
Interpreting your score
Minimal flow limitation detected. Your current pressure settings appear to be managing your airway well.
Moderate flow limitation. Worth discussing with your clinician. Pressure or settings adjustments may improve therapy quality.
Significant flow limitation. Your airway may be partially obstructed despite therapy. The original Glasgow Index author describes a score of 3 as “significant problems.” Consider consulting your sleep physician about pressure adjustment.
These thresholds are AirwayLab’s interpretation. The original Glasgow Index does not define clinical thresholds beyond noting that 0–0.2 represents “good, clean breathing” and a score of 3 indicates “significant problems.” Your clinician should interpret scores in the context of your symptoms and therapy settings.
Origin & license
The Glasgow Index algorithm was originally developed by DaveSkvn as an open-source JavaScript analyzer for PAP flow limitation. The algorithm has been ported to TypeScript and integrated into AirwayLab under the same GPL-3.0 license. The core algorithm — breath segmentation, 9 shape descriptors, and overall scoring formula — is preserved exactly. AirwayLab adds traffic-light thresholds and multi-night trending, which are not part of the original tool. The original processes one BRP.edf session at a time; AirwayLab uses duration-weighted averaging to combine multiple sessions per night.