Page actions
instrument / verified-clean
Heart Rate Zone Calculator
The current ledger marks this instrument verified clean within the source-bound verification corpus.
Inspectable records
Ledger state
The current ledger marks this instrument verified clean within the source-bound verification corpus.
- Area
- Everyday & Life
- Tranche
- tranche-4
- Evidence ID
- t4-223
- Ledger rows
- 1
No ledger note is attached.
Review findings
The arithmetic formulas are standard conditional on the stated assumptions, but the specification is not implementation-complete. The exact unresolved ambiguities are the zone endpoint convention, bpm rounding policy, accepted age and heart-rate ranges, and whether intensity inputs are decimal fractions or whole percentages. Retain the honest label that 220 − age is a population-average estimate and not medical advice.
Formula and scope findings
- HRmax = 220 − age is a population estimate, not an individually measured maximum and is not the only accepted HRmax equation; the implementation must preserve the educational-estimate label.
- Karvonen requires a valid resting HR when that method is selected, but resting HR is described as optional without stating this conditional requirement.
- Zone boundary conventions are unspecified: inclusive endpoints can make adjacent zones overlap, while exclusive endpoints change displayed ranges.
- Rounding policy for fractional bpm endpoints is unspecified; rounding, flooring, or retaining decimals produces different tables.
- The phrase ACSM-style, widely published does not identify one exact zone-boundary and rounding convention.
Unit assumptions
- age is an integer or real number measured in completed years, not months or another unit.
- heart rates and HRmax are measured in beats per minute (bpm).
- %intensity is represented as a decimal fraction from 0.50 through 1.00, not as 50 through 100.
- For the test vectors, zones use lower-inclusive and upper-exclusive intervals, except Zone 5, which includes its upper endpoint; fractional bpm values are retained without rounding.
- For Karvonen, HRmax and HRrest are both in bpm, and HRmax must exceed HRrest.
Boundary hardening
BREAK_CLAIMED · SELF_FLAGGED
An extreme but syntactically numeric age such as 1e308 can produce a finite negative HRmax and entirely negative zone values instead of being rejected. Age zero is also accepted arithmetically despite being an invalid real-world demographic input.
Errata and corrections
No applied erratum is attached to this unique-name record.
Inspectable example
4 review vectors are recorded. One source-bound sample is shown below.
{
"inputs": {
"age_years": 30,
"method": "percent_HRmax",
"resting_HR_bpm": null
},
"expected_outputs": {
"HRmax_bpm": 190,
"zones_bpm": [
{
"zone": "50-60%",
"range": "95 to <114"
},
{
"zone": "60-70%",
"range": "114 to <133"
},
{
"zone": "70-80%",
"range": "133 to <152"
},
{
"zone": "80-90%",
"range": "152 to <171"
},
{
"zone": "90-100%",
"range": "171 to 190 inclusive"
}
]
},
"working": "HRmax = 220 − 30 = 190 bpm. Zone boundaries: 190×0.50 = 95; 190×0.60 = 114; 190×0.70 = 133; 190×0.80 = 152; 190×0.90 = 171; 190×1.00 = 190. Therefore the five intervals are [95,114), [114,133), [133,152), [152,171), and [171,190]."
}Related workflows
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.json · VERIFIED_CLEANevidence-tranche4/tranche4-results.jsonBOUNDARY_HAZARD_CATALOG.json