
Grade severity of lung function impairment from a z-score
Source:R/interpretation.R
pft_severity.RdAssigns one of four severity categories
("normal", "mild", "moderate", "severe") to a z-score per
the Stanojevic et al. ERS/ATS 2022 interpretation standard. The
same grading applies uniformly to spirometry, lung-volume, and
diffusion measures.
Boundary conventions (matching the function's implementation):
| Grade | z-score |
| normal | z >= -1.645 |
| mild | -2.5 <= z < -1.645 |
| moderate | -4 <= z < -2.5 |
| severe | z < -4 |
Value
Character vector the same length as zscore with values
"normal", "mild", "moderate", "severe", or NA.
References
Stanojevic S, Kaminsky DA, Miller MR, et al. ERS/ATS technical standard on interpretive strategies for routine lung function tests. Eur Respir J. 2022;60(1):2101499. doi:10.1183/13993003.01499-2021 . The cut points are taken from the "Severity of lung function impairment" section.
See also
pft_classify() for the pattern label that severity sits
alongside; pft_gold() for COPD-specific severity from FEV1
percent predicted; pft_interpret() applies this grading to every
z-score column in one call.
Examples
pft_severity(c(0, -1.7, -3, -5))
#> [1] "normal" "mild" "moderate" "severe"
# -> "normal" "mild" "moderate" "severe"