← BP percentile calculator

BP Calculator Validation Report

Version 3.1 • AAP 2017 / Rosner model • Implementation and automated test suite reviewed August 3, 2026; not independent clinical certification

Automated acceptance suite: passing
1,904published table cells
98.9%within 1 mmHg
≤2 mmHgmaximum difference

The clinical risk being tested is a plausible-looking wrong answer. The suite therefore checks numerical agreement, category boundaries, explanatory text, and user-interface behavior in a real browser.

Reference-table validation

The regression engine is compared with every printed numeric BP value in AAP 2017 Tables 4 and 5:

DimensionCoverageCount contribution
SexMale and female reference models2
AgeEvery whole year from 1 through 1717
Height5th, 10th, 25th, 50th, 75th, 90th, and 95th percentiles using the printed centimeter heights7
BP componentSystolic and diastolic2
Printed row50th, 90th, 95th, and 95th + 12 mmHg4
Total comparisons2 × 17 × 7 × 2 × 4 = 1,904

The frozen comparison result is 1,016 exact matches and 1,883 of 1,904 cells (98.9%) within 1 mmHg; all cells are within 2 mmHg. The automated acceptance criterion is no cell beyond 2 mmHg and no change to that distribution without clinical review.

The calculator retains the continuous Rosner model for smooth month-by-month age and measured-height output, matching Baylor’s implementation. The AAP tables are an independent integer-valued reference at rounded printed heights, so a small number of model-versus-table cells differ by 2 mmHg. Category logic uses the model’s rounded 90th and 95th thresholds exactly as shown to the user; it does not apply this validation tolerance to an individual reading.

Boundary and behavior coverage

AreaWhat is asserted
Category edgesNormal, elevated, stage 1, and stage 2 boundaries; percentile versus absolute “whichever is lower” rules; independent SBP/DBP drivers.
Age 13 transitionFixed adolescent thresholds begin at 13 years and the visual scales agree with the reported category.
Height referenceOfficial monthly CDC LMS values, length under age 2, stature from age 2, and height-percentile display checks.
Age, units, and datesAge-years/months versus DOB equivalence; centimeter versus feet/inches equivalence; drift-free unit toggling; completed-month age calculation; month-end dates; required measurement date; and timezone-safe date-only parsing.
Repeat readingsTwo- and three-reading arithmetic means, individual-value display, decimal means, classification of the mean, and copy-result fidelity.
Invalid inputsAll invalid fields reported together, inline error association, aria-invalid, first-invalid focus, missing dates, unsupported ages, implausible heights, BP input ranges, and DBP greater than or equal to SBP.
PresentationNo stale results after edits, percentile and normal-equivalent z-score output, explicit distance to thresholds, reading-not-diagnosis language, driver text, category-specific next steps, copy, print, and interactive chart rendering.
Accessibility/layoutLabels, keyboard controls, live status regions, focus indicators, semantic controls, pattern-distinguished/directly labeled chart lines, dark-mode rendering, no horizontal overflow at 375 px, and no external runtime dependencies.

Independent comparisons

Known limits

  • This validates faithful implementation of the cited references; it does not validate the underlying guideline as a clinical trial.
  • The tool does not diagnose hypertension, assess symptoms, select cuff size, interpret ABPM, provide hypotension limits, or cover children under 1 year.
  • The age curves project the entered child’s current length/height-for-age percentile across ages. They are explanatory reference curves, not a forecast of an individual child’s future BP.
  • BP z-scores are normal-equivalent transforms interpolated from the 1st–99th Rosner quantile curves. Values outside that range are bounded rather than extrapolated.
  • Institutional policies and newer guidance should take precedence if they differ.

Reproducibility

The browser tests, reference fixture provenance, and calculator source are versioned with the website. The main acceptance command is npm run test:bp; the full site regression command is npm test.

View the test suite on GitHubAAP guidelineCDC growth data