FA-64571 / Clinical triage scoring / Open access
Burn surface area estimate and first-window fluid rate: paediatric proportion age cutoff · case 01
A ten-year-old is charted with child proportions.
ROOT CAUSE
The paediatric chart applies through age 10 inclusive.
VERIFIED REPAIR
Use the child chart only for ages below 10.
Unsuccessful approach: Restricting the child chart to infants mischarts toddlers and school-age children.
Case contract
Input {age_years (int), weight_kg, regions {name: fraction burned}, hours_since_burn}. Toy rule of nines: arms 9, trunk front 18, trunk back 18, perineum 1; age >= 10 head 9 and each leg 18; age < 10 head 18-age and each leg (27+age)/2. TBSA = sum(region % x fraction). Major burn when TBSA >= 20 (age >= 10) or >= 10 (age < 10); minor burns return total_ml 0 and no rate. Major: total = 4 mL x kg x TBSA; half is given over the remainder of the first 8 hours measured from the burn; rate is null once 8 hours have passed. Return {tbsa (1 dp), major, total_ml, first_rate_ml_h (1 dp)}.
Why this case matters
Burn triage depends on age-adjusted body proportions and on timing fluids from the injury rather than arrival.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(x):
a = x['age_years']
if a <= 10:
head, leg = Fraction(18 - a), Fraction(27 + a, 2)
else:
head, leg = Fraction(9), Fraction(18)
pct = {'head': head, 'arm_l': 9, 'arm_r': 9, 'leg_l': leg, 'leg_r': leg, 'trunk_front': 18, 'trunk_back': 18, 'perineum': 1}
tbsa = sum(pct[k] * Fraction(str(v)) for k, v in x['regions'].items())
major = tbsa >= (10 if a < 10 else 20)
if not major:
return {'tbsa': round(float(tbsa), 1), 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}
total = 4 * Fraction(str(x['weight_kg'])) * tbsa
h = Fraction(str(x['hours_since_burn']))
rate = round(float(total / 2 / (8 - h)), 1) if h < 8 else None
return {'tbsa': round(float(tbsa), 1), 'major': True, 'total_ml': round(float(total)), 'first_rate_ml_h': rate}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 65, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 3, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 22.5, 'major': True, 'total_ml': 1350, 'first_rate_ml_h': 112.5}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '1'},
'hours_since_burn': '2'},
{'tbsa': 27.0, 'major': True, 'total_ml': 3780, 'first_rate_ml_h': 315.0}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 72,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 5760, 'first_rate_ml_h': 480.0}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.3'}, 'hours_since_burn': '2'},
{'tbsa': 11.7, 'major': True, 'total_ml': 842, 'first_rate_ml_h': 70.2}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.5'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 7560.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '9'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.1'},
'hours_since_burn': '2'},
{'tbsa': 10.8, 'major': True, 'total_ml': 346, 'first_rate_ml_h': 28.8})],
[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 4, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 23.2, 'major': True, 'total_ml': 1395, 'first_rate_ml_h': 116.2}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '0'},
'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 74,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 5920, 'first_rate_ml_h': 493.3}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.4'}, 'hours_since_burn': '2'},
{'tbsa': 12.6, 'major': True, 'total_ml': 907, 'first_rate_ml_h': 75.6}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.25'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 5040.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '10'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 12.6, 'major': True, 'total_ml': 403, 'first_rate_ml_h': 33.6})],
[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 75, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 5, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 24.0, 'major': True, 'total_ml': 1440, 'first_rate_ml_h': 120.0}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '1'},
'hours_since_burn': '2'},
{'tbsa': 27.0, 'major': True, 'total_ml': 3780, 'first_rate_ml_h': 315.0}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 76,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 6080, 'first_rate_ml_h': 506.7}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 13.5, 'major': True, 'total_ml': 972, 'first_rate_ml_h': 81.0}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.75'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 15120.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '11'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.3'},
'hours_since_burn': '2'},
{'tbsa': 14.4, 'major': True, 'total_ml': 461, 'first_rate_ml_h': 38.4})],
[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 80, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 6, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 24.8, 'major': True, 'total_ml': 1485, 'first_rate_ml_h': 123.8}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '0'},
'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 78,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 6240, 'first_rate_ml_h': 520.0}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.6'}, 'hours_since_burn': '2'},
{'tbsa': 14.4, 'major': True, 'total_ml': 1037, 'first_rate_ml_h': 86.4}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.2'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 4725.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '12'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.4'},
'hours_since_burn': '2'},
{'tbsa': 16.2, 'major': True, 'total_ml': 518, 'first_rate_ml_h': 43.2})],
[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 85, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 7, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 25.5, 'major': True, 'total_ml': 1530, 'first_rate_ml_h': 127.5}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '1'},
'hours_since_burn': '2'},
{'tbsa': 27.0, 'major': True, 'total_ml': 3780, 'first_rate_ml_h': 315.0}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 80,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 6400, 'first_rate_ml_h': 533.3}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.7'}, 'hours_since_burn': '2'},
{'tbsa': 15.3, 'major': True, 'total_ml': 1102, 'first_rate_ml_h': 91.8}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.6'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 9450.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '13'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.5'},
'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': True, 'total_ml': 576, 'first_rate_ml_h': 48.0})]]
for label, args, expected in fixtures[N-1]:
check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| adult anterior trunk | {'first_rate_ml_h': None, 'major': False, 'tbsa': 18.0, 'total_ml': 0} | {'first_rate_ml_h': None, 'major': False, 'tbsa': 18.0, 'total_ml': 0} | Passed |
| child legs use adjusted proportion | {'first_rate_ml_h': 112.5, 'major': True, 'tbsa': 22.5, 'total_ml': 1350} | {'first_rate_ml_h': 112.5, 'major': True, 'tbsa': 22.5, 'total_ml': 1350} | Passed |
| ten-year-old uses adult proportions | {'first_rate_ml_h': 306.2, 'major': True, 'tbsa': 26.2, 'total_ml': 3675} | {'first_rate_ml_h': 315.0, 'major': True, 'tbsa': 27.0, 'total_ml': 3780} | Failed |
| adult exactly 20 percent | {'first_rate_ml_h': 480.0, 'major': True, 'tbsa': 20.0, 'total_ml': 5760} | {'first_rate_ml_h': 480.0, 'major': True, 'tbsa': 20.0, 'total_ml': 5760} | Passed |
| child 12 percent is major | {'first_rate_ml_h': 70.2, 'major': True, 'tbsa': 11.7, 'total_ml': 842} | {'first_rate_ml_h': 70.2, 'major': True, 'tbsa': 11.7, 'total_ml': 842} | Passed |
| late arrival shortens first window | {'first_rate_ml_h': 7560.0, 'major': True, 'tbsa': 27.0, 'total_ml': 7560} | {'first_rate_ml_h': 7560.0, 'major': True, 'tbsa': 27.0, 'total_ml': 7560} | Passed |
| beyond eight hours | {'first_rate_ml_h': None, 'major': True, 'tbsa': 27.0, 'total_ml': 7560} | {'first_rate_ml_h': None, 'major': True, 'tbsa': 27.0, 'total_ml': 7560} | Passed |
| infant head burn | {'first_rate_ml_h': 28.8, 'major': True, 'tbsa': 10.8, 'total_ml': 346} | {'first_rate_ml_h': 28.8, 'major': True, 'tbsa': 10.8, 'total_ml': 346} | Passed |
SHA-256 / 6510f78c1da8c5ca56cebddf3581ccc8253a15078bff05ed7f8ad35573fcc21f
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(x):
a = x['age_years']
if a < 1:
head, leg = Fraction(18 - a), Fraction(27 + a, 2)
else:
head, leg = Fraction(9), Fraction(18)
pct = {'head': head, 'arm_l': 9, 'arm_r': 9, 'leg_l': leg, 'leg_r': leg, 'trunk_front': 18, 'trunk_back': 18, 'perineum': 1}
tbsa = sum(pct[k] * Fraction(str(v)) for k, v in x['regions'].items())
major = tbsa >= (10 if a < 10 else 20)
if not major:
return {'tbsa': round(float(tbsa), 1), 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}
total = 4 * Fraction(str(x['weight_kg'])) * tbsa
h = Fraction(str(x['hours_since_burn']))
rate = round(float(total / 2 / (8 - h)), 1) if h < 8 else None
return {'tbsa': round(float(tbsa), 1), 'major': True, 'total_ml': round(float(total)), 'first_rate_ml_h': rate}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 65, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 3, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 22.5, 'major': True, 'total_ml': 1350, 'first_rate_ml_h': 112.5}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '1'},
'hours_since_burn': '2'},
{'tbsa': 27.0, 'major': True, 'total_ml': 3780, 'first_rate_ml_h': 315.0}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 72,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 5760, 'first_rate_ml_h': 480.0}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.3'}, 'hours_since_burn': '2'},
{'tbsa': 11.7, 'major': True, 'total_ml': 842, 'first_rate_ml_h': 70.2}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.5'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 7560.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '9'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.1'},
'hours_since_burn': '2'},
{'tbsa': 10.8, 'major': True, 'total_ml': 346, 'first_rate_ml_h': 28.8})],
[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 4, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 23.2, 'major': True, 'total_ml': 1395, 'first_rate_ml_h': 116.2}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '0'},
'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 74,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 5920, 'first_rate_ml_h': 493.3}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.4'}, 'hours_since_burn': '2'},
{'tbsa': 12.6, 'major': True, 'total_ml': 907, 'first_rate_ml_h': 75.6}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.25'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 5040.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '10'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 12.6, 'major': True, 'total_ml': 403, 'first_rate_ml_h': 33.6})],
[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 75, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 5, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 24.0, 'major': True, 'total_ml': 1440, 'first_rate_ml_h': 120.0}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '1'},
'hours_since_burn': '2'},
{'tbsa': 27.0, 'major': True, 'total_ml': 3780, 'first_rate_ml_h': 315.0}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 76,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 6080, 'first_rate_ml_h': 506.7}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 13.5, 'major': True, 'total_ml': 972, 'first_rate_ml_h': 81.0}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.75'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 15120.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '11'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.3'},
'hours_since_burn': '2'},
{'tbsa': 14.4, 'major': True, 'total_ml': 461, 'first_rate_ml_h': 38.4})],
[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 80, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 6, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 24.8, 'major': True, 'total_ml': 1485, 'first_rate_ml_h': 123.8}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '0'},
'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 78,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 6240, 'first_rate_ml_h': 520.0}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.6'}, 'hours_since_burn': '2'},
{'tbsa': 14.4, 'major': True, 'total_ml': 1037, 'first_rate_ml_h': 86.4}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.2'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 4725.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '12'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.4'},
'hours_since_burn': '2'},
{'tbsa': 16.2, 'major': True, 'total_ml': 518, 'first_rate_ml_h': 43.2})],
[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 85, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 7, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 25.5, 'major': True, 'total_ml': 1530, 'first_rate_ml_h': 127.5}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '1'},
'hours_since_burn': '2'},
{'tbsa': 27.0, 'major': True, 'total_ml': 3780, 'first_rate_ml_h': 315.0}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 80,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 6400, 'first_rate_ml_h': 533.3}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.7'}, 'hours_since_burn': '2'},
{'tbsa': 15.3, 'major': True, 'total_ml': 1102, 'first_rate_ml_h': 91.8}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.6'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 9450.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '13'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.5'},
'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': True, 'total_ml': 576, 'first_rate_ml_h': 48.0})]]
for label, args, expected in fixtures[N-1]:
check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| adult anterior trunk | {'first_rate_ml_h': None, 'major': False, 'tbsa': 18.0, 'total_ml': 0} | {'first_rate_ml_h': None, 'major': False, 'tbsa': 18.0, 'total_ml': 0} | Passed |
| child legs use adjusted proportion | {'first_rate_ml_h': 135.0, 'major': True, 'tbsa': 27.0, 'total_ml': 1620} | {'first_rate_ml_h': 112.5, 'major': True, 'tbsa': 22.5, 'total_ml': 1350} | Failed |
| ten-year-old uses adult proportions | {'first_rate_ml_h': 315.0, 'major': True, 'tbsa': 27.0, 'total_ml': 3780} | {'first_rate_ml_h': 315.0, 'major': True, 'tbsa': 27.0, 'total_ml': 3780} | Passed |
| adult exactly 20 percent | {'first_rate_ml_h': 480.0, 'major': True, 'tbsa': 20.0, 'total_ml': 5760} | {'first_rate_ml_h': 480.0, 'major': True, 'tbsa': 20.0, 'total_ml': 5760} | Passed |
| child 12 percent is major | {'first_rate_ml_h': 70.2, 'major': True, 'tbsa': 11.7, 'total_ml': 842} | {'first_rate_ml_h': 70.2, 'major': True, 'tbsa': 11.7, 'total_ml': 842} | Passed |
| late arrival shortens first window | {'first_rate_ml_h': 7560.0, 'major': True, 'tbsa': 27.0, 'total_ml': 7560} | {'first_rate_ml_h': 7560.0, 'major': True, 'tbsa': 27.0, 'total_ml': 7560} | Passed |
| beyond eight hours | {'first_rate_ml_h': None, 'major': True, 'tbsa': 27.0, 'total_ml': 7560} | {'first_rate_ml_h': None, 'major': True, 'tbsa': 27.0, 'total_ml': 7560} | Passed |
| infant head burn | {'first_rate_ml_h': 28.8, 'major': True, 'tbsa': 10.8, 'total_ml': 346} | {'first_rate_ml_h': 28.8, 'major': True, 'tbsa': 10.8, 'total_ml': 346} | Passed |
SHA-256 / ab055b833d3c75c4aa1d93bd739b0f735a90f6f5f26e0564e06bbba1fadb1075
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import math
from fractions import Fraction
N = 1
observations = []
def solve(x):
a = x['age_years']
if a < 10:
head, leg = Fraction(18 - a), Fraction(27 + a, 2)
else:
head, leg = Fraction(9), Fraction(18)
pct = {'head': head, 'arm_l': 9, 'arm_r': 9, 'leg_l': leg, 'leg_r': leg, 'trunk_front': 18, 'trunk_back': 18, 'perineum': 1}
tbsa = sum(pct[k] * Fraction(str(v)) for k, v in x['regions'].items())
major = tbsa >= (10 if a < 10 else 20)
if not major:
return {'tbsa': round(float(tbsa), 1), 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}
total = 4 * Fraction(str(x['weight_kg'])) * tbsa
h = Fraction(str(x['hours_since_burn']))
rate = round(float(total / 2 / (8 - h)), 1) if h < 8 else None
return {'tbsa': round(float(tbsa), 1), 'major': True, 'total_ml': round(float(total)), 'first_rate_ml_h': rate}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 65, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 3, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 22.5, 'major': True, 'total_ml': 1350, 'first_rate_ml_h': 112.5}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '1'},
'hours_since_burn': '2'},
{'tbsa': 27.0, 'major': True, 'total_ml': 3780, 'first_rate_ml_h': 315.0}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 72,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 5760, 'first_rate_ml_h': 480.0}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.3'}, 'hours_since_burn': '2'},
{'tbsa': 11.7, 'major': True, 'total_ml': 842, 'first_rate_ml_h': 70.2}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.5'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 7560.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '9'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.1'},
'hours_since_burn': '2'},
{'tbsa': 10.8, 'major': True, 'total_ml': 346, 'first_rate_ml_h': 28.8})],
[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 4, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 23.2, 'major': True, 'total_ml': 1395, 'first_rate_ml_h': 116.2}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '0'},
'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 74,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 5920, 'first_rate_ml_h': 493.3}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.4'}, 'hours_since_burn': '2'},
{'tbsa': 12.6, 'major': True, 'total_ml': 907, 'first_rate_ml_h': 75.6}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.25'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 5040.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '10'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 12.6, 'major': True, 'total_ml': 403, 'first_rate_ml_h': 33.6})],
[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 75, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 5, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 24.0, 'major': True, 'total_ml': 1440, 'first_rate_ml_h': 120.0}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '1'},
'hours_since_burn': '2'},
{'tbsa': 27.0, 'major': True, 'total_ml': 3780, 'first_rate_ml_h': 315.0}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 76,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 6080, 'first_rate_ml_h': 506.7}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 13.5, 'major': True, 'total_ml': 972, 'first_rate_ml_h': 81.0}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.75'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 15120.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '11'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.3'},
'hours_since_burn': '2'},
{'tbsa': 14.4, 'major': True, 'total_ml': 461, 'first_rate_ml_h': 38.4})],
[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 80, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 6, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 24.8, 'major': True, 'total_ml': 1485, 'first_rate_ml_h': 123.8}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '0'},
'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 78,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 6240, 'first_rate_ml_h': 520.0}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.6'}, 'hours_since_burn': '2'},
{'tbsa': 14.4, 'major': True, 'total_ml': 1037, 'first_rate_ml_h': 86.4}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.2'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 4725.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '12'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.4'},
'hours_since_burn': '2'},
{'tbsa': 16.2, 'major': True, 'total_ml': 518, 'first_rate_ml_h': 43.2})],
[('adult anterior trunk',
{'age_years': 30, 'weight_kg': 85, 'regions': {'trunk_front': '1'}, 'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': False, 'total_ml': 0, 'first_rate_ml_h': None}),
('child legs use adjusted proportion',
{'age_years': 7, 'weight_kg': 15, 'regions': {'leg_l': '1', 'leg_r': '0.5'}, 'hours_since_burn': '2'},
{'tbsa': 25.5, 'major': True, 'total_ml': 1530, 'first_rate_ml_h': 127.5}),
('ten-year-old uses adult proportions',
{'age_years': 10,
'weight_kg': 35,
'regions': {'head': '1', 'leg_l': '0.5', 'arm_l': '1'},
'hours_since_burn': '2'},
{'tbsa': 27.0, 'major': True, 'total_ml': 3780, 'first_rate_ml_h': 315.0}),
('adult exactly 20 percent',
{'age_years': 30,
'weight_kg': 80,
'regions': {'trunk_front': '0.5', 'head': '1', 'arm_l': '0.2', 'perineum': '0.2'},
'hours_since_burn': '2'},
{'tbsa': 20.0, 'major': True, 'total_ml': 6400, 'first_rate_ml_h': 533.3}),
('child 12 percent is major',
{'age_years': 4, 'weight_kg': 18, 'regions': {'arm_l': '1', 'arm_r': '0.7'}, 'hours_since_burn': '2'},
{'tbsa': 15.3, 'major': True, 'total_ml': 1102, 'first_rate_ml_h': 91.8}),
('late arrival shortens first window',
{'age_years': 30,
'weight_kg': 70,
'regions': {'trunk_front': '1', 'leg_l': '0.5'},
'hours_since_burn': '7.6'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': 9450.0}),
('beyond eight hours',
{'age_years': 30, 'weight_kg': 70, 'regions': {'trunk_back': '1', 'arm_l': '1'}, 'hours_since_burn': '13'},
{'tbsa': 27.0, 'major': True, 'total_ml': 7560, 'first_rate_ml_h': None}),
('infant head burn',
{'age_years': 0,
'weight_kg': 8,
'regions': {'head': '0.5', 'trunk_front': '0.5'},
'hours_since_burn': '2'},
{'tbsa': 18.0, 'major': True, 'total_ml': 576, 'first_rate_ml_h': 48.0})]]
for label, args, expected in fixtures[N-1]:
check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| adult anterior trunk | {'first_rate_ml_h': None, 'major': False, 'tbsa': 18.0, 'total_ml': 0} | {'first_rate_ml_h': None, 'major': False, 'tbsa': 18.0, 'total_ml': 0} | Passed |
| child legs use adjusted proportion | {'first_rate_ml_h': 112.5, 'major': True, 'tbsa': 22.5, 'total_ml': 1350} | {'first_rate_ml_h': 112.5, 'major': True, 'tbsa': 22.5, 'total_ml': 1350} | Passed |
| ten-year-old uses adult proportions | {'first_rate_ml_h': 315.0, 'major': True, 'tbsa': 27.0, 'total_ml': 3780} | {'first_rate_ml_h': 315.0, 'major': True, 'tbsa': 27.0, 'total_ml': 3780} | Passed |
| adult exactly 20 percent | {'first_rate_ml_h': 480.0, 'major': True, 'tbsa': 20.0, 'total_ml': 5760} | {'first_rate_ml_h': 480.0, 'major': True, 'tbsa': 20.0, 'total_ml': 5760} | Passed |
| child 12 percent is major | {'first_rate_ml_h': 70.2, 'major': True, 'tbsa': 11.7, 'total_ml': 842} | {'first_rate_ml_h': 70.2, 'major': True, 'tbsa': 11.7, 'total_ml': 842} | Passed |
| late arrival shortens first window | {'first_rate_ml_h': 7560.0, 'major': True, 'tbsa': 27.0, 'total_ml': 7560} | {'first_rate_ml_h': 7560.0, 'major': True, 'tbsa': 27.0, 'total_ml': 7560} | Passed |
| beyond eight hours | {'first_rate_ml_h': None, 'major': True, 'tbsa': 27.0, 'total_ml': 7560} | {'first_rate_ml_h': None, 'major': True, 'tbsa': 27.0, 'total_ml': 7560} | Passed |
| infant head burn | {'first_rate_ml_h': 28.8, 'major': True, 'tbsa': 10.8, 'total_ml': 346} | {'first_rate_ml_h': 28.8, 'major': True, 'tbsa': 10.8, 'total_ml': 346} | Passed |
SHA-256 / 0a070f9d9a4d50bc4da6973378b8c64a1829e9c82523b605a1ada8872271ae77
Verification & scope
A deterministic toy software model with explicitly stipulated thresholds and formulas; it is not clinical guidance, not a validated medical calculator, and makes no claim of conformance to any published protocol. Numbered variants vary patient and order inputs. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.
Observations recorded using Python 3.12.14 at 2026-09-29T14:47:25.887427+00:00.
Case digest / c02aaa4d4ef6b856dd3d1579b6dbdcc80b81d038e17e5c6ec211e0fec2753296