The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
A reference for the clinical and statistical terms used throughout
pft. Every definition is keyed to the canonical source
where the term is formally defined.
FEV1 — Forced Expiratory Volume in 1 second. The volume of air expired during the first second of a forced expiratory maneuver, in litres.
FVC — Forced Vital Capacity. The total volume of air expired during a forced exhalation from full inspiration, in litres.
FEV1/FVC — Ratio of FEV1 to FVC. Dimensionless; typical adult values are 0.70 – 0.85.
FEF25-75 — Forced Expiratory Flow between 25% and 75% of FVC. Litres per second.
FEF75 — Forced Expiratory Flow at 75% of expired FVC.
FRC — Functional Residual Capacity. The volume in the lungs at the end of normal tidal expiration.
TLC — Total Lung Capacity. The maximum volume of air in the lungs after full inspiration.
RV — Residual Volume. The volume remaining in the lungs after maximum exhalation.
RV/TLC — The ratio of residual volume to total lung capacity.
ERV — Expiratory Reserve Volume.
IC — Inspiratory Capacity.
VC — Vital Capacity (slow VC, distinct from FVC).
TLCO / DLCO — Transfer factor / diffusing capacity for carbon monoxide. “TLCO” is the SI-units name; “DLCO” is the traditional-units name; they describe the same physiological measure.
KCO — Carbon-monoxide transfer coefficient, equal to TLCO/VA (or DLCO/VA). Expressed in SI or traditional units accordingly.
VA — Alveolar volume, used in the single-breath DLCO maneuver.
M (median / predicted value) — The age-, sex-, and demographic- adjusted central value for a measure. In the GLI LMS framework, the expected value for a healthy individual matching the inputs.
S (coefficient of variation) — A scale parameter from the LMS framework that captures the spread of healthy values at each age/sex combination.
L (skewness / Box-Cox transform) — A shape parameter from the LMS framework that adjusts for non-normality of the underlying distribution.
LMS method — A statistical framework (Cole TJ. Stat Med. 1988;7(3):305-12) that models reference distributions via three age-varying parameters L, M, S. Used by the GLI equations for FEV1, FVC, FEV1/FVC, TLCO, lung volumes, and others.
LLN (lower limit of normal) — The 5th percentile of the reference distribution: the value below which a healthy individual falls only 5% of the time. Equivalent to a z-score of −1.645.
ULN (upper limit of normal) — The 95th percentile, equivalent to z-score +1.645.
z-score — A measure of how far an observed value is
from the predicted median, expressed in standard deviation units. In the
LMS framework: \[z = \frac{(measured / M)^L -
1}{L \cdot S}.\] Implemented by the
<measure>_zscore outputs of
pft_spirometry(), pft_volumes(), and
pft_diffusion().
Percent predicted —
(measured / M) × 100. A traditional expression of departure
from predicted; superseded by z-scores in the Stanojevic 2022 standard
but still widely used in clinical practice.
Normal — All measured values at or above their LLN.
Obstructed — FEV1/FVC below LLN with TLC at or above LLN (or unknown).
Restricted — TLC below LLN with FEV1/FVC at or above LLN.
Mixed — Both FEV1/FVC and TLC below their LLNs.
Non-specific pattern — Low FVC with normal FEV1/FVC and normal TLC. By definition not restrictive (TLC is normal) and not obstructive (FEV1/FVC is normal). The label is descriptive only; Stanojevic 2022 Table 5 enumerates clinical contexts.
PRISm — Preserved Ratio Impaired Spirometry. Low FEV1 with FEV1/FVC at or above LLN. A spirometry-only screening label (no TLC required).
Dysanapsis — A normal-variant pattern with normal
FEV1, high FVC, and low FEV1/FVC. Listed in Stanojevic 2022 Table 5 but
not emitted as a separate label by pft_classify() (folded
into “Obstructed” when FEV1/FVC is below LLN).
BDR (bronchodilator response) — Per Stanojevic 2022:
a change of more than 10% of the predicted value in
FEV1 or FVC between pre- and post-bronchodilator measurements.
Implemented by pft_bdr(). Replaces the 2005 standard (≥12%
AND ≥200 mL from baseline).
Severity grading — Per Stanojevic 2022, a uniform three-level system applied to any z-score:
| Grade | z-score |
|---|---|
| Normal | z ≥ −1.645 |
| Mild | −2.5 ≤ z < −1.645 |
| Moderate | −4 ≤ z < −2.5 |
| Severe | z < −4 |
Implemented by pft_severity().
GOLD COPD severity — Per the Global Initiative for Chronic Obstructive Lung Disease, in patients with confirmed airflow obstruction:
| Grade | FEV1 % predicted |
|---|---|
| GOLD 1 | ≥ 80% |
| GOLD 2 | 50 – < 80% |
| GOLD 3 | 30 – < 50% |
| GOLD 4 | < 30% |
Implemented by pft_gold().
CCS (conditional change score) — A z-score-style
index of whether the change between two measurements computed as
(z2 − r * z1) / sqrt(1 − r^2) exceeds the within-subject
variability expected by regression-to-the-mean alone.
|CCS| > 1.96 is the Stanojevic 2022 two-sided 95%
normal-limits threshold (Box 2). Implemented by
pft_change().
Spirometry quality grade (A–F) — Per Graham et al. ATS/ERS 2019, a grade based on the number of acceptable maneuvers from a session and the difference between the two best values:
| Grade | Acceptable | Best-two diff (adult) | Best-two diff (child ≤ 6) |
|---|---|---|---|
| A | ≥ 3 | ≤ 0.150 L | ≤ 0.100 L |
| B | 2 | ≤ 0.150 L | ≤ 0.100 L |
| C | ≥ 2 | ≤ 0.200 L | ≤ 0.150 L |
| D | ≥ 2 | ≤ 0.250 L | ≤ 0.200 L |
| E | ≥ 2 | > 0.250 L, or 1 maneuver | > 0.200 L, or 1 maneuver |
| F | 0 | n/a | n/a |
The child thresholds (column “Best-two diff (child ≤ 6)”) are additionally floored at 10% of the highest measured value per Graham 2019 Table 10’s footnote.
Implemented by pft_quality().
pft_classify() emits an
ats_pattern_combination column with a four-character
string. Each character is A (below LLN) or
N (at or above LLN), in the fixed order:
So "NNAN" means normal FEV1, normal FVC, abnormally
low FEV1/FVC, normal TLC. This is by definition pure airway
obstruction.
GLI 2012 distinguishes five ancestral groups for spirometry:
GLI Global 2022 is race-neutral; the race column is
ignored when calling pft_spirometry(year = 2022).
If your cohort is unexpectedly all-NA or you see a warning about unrecognised inputs, check the following before anything else:
Sex must be canonical "M" /
"F". Common dataset values like
"male", "Male", "MALE",
"m", "f", "Female",
"woman", "boy", "girl" are
auto-normalised with a warning. Anything else
(e.g. "Unknown", "X", "NB") is
set to NA. Prior to this behaviour any value other than
"M" was silently treated as female; make sure your data
isn’t relying on that.
Race must be one of the five GLI 2012 categories.
Common variants like "caucasian" (lowercase),
" Caucasian" (whitespace), "white",
"black", "African American",
"european" are auto-normalised with a warning. Anything
else ("Asian" ambiguous between NEAsia/SEAsia is mapped to
NEAsia; other strings like "Hispanic",
"Latino", "Native American" are not in the GLI
2012 framework) is set to NA.
year = 2012 without a race column
errors rather than silently producing all-NA output. Either
supply a race column or call
pft_spirometry(data, year = 2022) for the race-neutral
equations.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.