Returns the expected blood pressure (mean/50th percentile) based on CYP sex, age, and height z-score.
Currently, only NHBPEP Fourth Report regression models are available for use for children and adolescents (0-17 years).
For ref = "NICE/BHF" or people >17 years old, expected BP is not defined and NA is returned.
Arguments
- ...
Arguments passed on to
.bp_validate_demo_inputbp_typeCharacter;
"systolic"or"diastolic".sexVector of sex codes in your data. Will be mapped to
"male"or"female"usingmale_codeandfemale_code. Values not matching these codes becomeNA.male_code,female_codeScalar values that identify the male and female codes in
sex(e.g.,1and2, or"M"and"F").height_zNumeric vector of height z-scores. Must already be z-transformed (e.g., US CDC, UK-WHO).
height_limitPositive numeric; z-scores with
|z| > height_limitare treated as invalid and set toNA. Default5.age_yearsNumeric vector of ages in years.
refReference:
"Fourth Report"(children/adolescents, 0-17) or"NICE/BHF"(adults, >17).bp_valueOptional numeric vector of observed BP (mmHg); only used here to check that its length matches the other inputs.
- .quiet
Logical; suppress validation messages (default
FALSE).
Value
A numeric vector of expected BP values in mmHg (\(\mu\)). Returns NA for:
NICE/BHF reference (adults)
Ages outside reference range
Missing or invalid sex
Extreme height z-scores
Height Reference Standards for the Fourth Report
Fourth Report Regression Model:
The Fourth Report uses regression models with age (centred at 10 years) and height z-score polynomial terms (up to 4th degree) to calculate expected BP:
$$\mu = \alpha + \sum_{j=1}^{4} \beta_j (Age-10)^j + \sum_{k=1}^{4} \gamma_k (Z_{ht})^k$$
BMI References:
The Fourth Report was developed and validated using US CDC 2000 growth references for height percentiles. Your height z-scores should ideally be based on US CDC reference. However, UK clinical practice and NPDA audit analysis use UK-WHO growth charts as standard (historically the NPDA used the British 1990), so using the UK-WHO is also considered acceptable in UK contexts (based on the assumption that the two populations are similar enough).
To our knowledge, the Fourth Report BP percentiles have not been validated using UK-WHO height references. The clinical impact of applying Fourth Report regression coefficients with UK-WHO (rather than US CDC) height z-scores has not been formally evaluated. Users should be aware of this methodological discrepancy when interpreting results or comparing to US-based implementations.
Calculating Height Z-Scores:
This package requires height z-scores as input and does not calculate them internally. Two approaches I recommended for obtaining height z-scores are:
childsds R package (https://mvogel78.r-universe.dev/childsds), which provides SDS/z-score calculations based on multiple growth standards (including UK–WHO, US CDC references).
RCPCHGrowth Python library (https://growth.rcpch.ac.uk/products/python-library/), which is the official RCPCH implementation of UK-WHO growth charts, with API accessible from R.
References
NHBPEP Fourth Report: Paediatric BP categories
NICE Guidelines: Adult BP categories
British Heart Foundation: Adult BP categories
NDA Methodology: Adult BP Range
NPDA Methodology: Paediatric BP Range
RCPCH Growth API: Python library for Paediatric SDS calculation
childsds package: R package for Paediatric SDS calculation
See also
Other BP functions:
.bp_message(),
.bp_resolve_limit(),
.bp_validate_demo_input(),
bp_assess(),
bp_category(),
bp_family,
bp_relative()
Examples
# Expected systolic BP for a 10-year-old boy at median height, and other some other children:
bp_expected(
bp_type = "systolic",
sex = c(1, 2, 1),
male_code = 1, female_code = 2,
height_z = c(0, 0, 1.5),
age_years = c(10, 12, 8),
ref = "Fourth Report"
)
#> [1] 102.1977 105.8496 102.5655
# Adults: returns NA with an informative message
bp_expected(
bp_type = "diastolic",
sex = "M", male_code = "M", female_code = "F",
height_z = 0, age_years = 25, ref = "NICE/BHF"
)
#> NICE/BHF only provides category guidelines, expected BP not calculated.
#> [1] NA