FA-64251 / Medication dosing calculations / Open access
Order screening against mg/kg reference ranges: neonatal range gating · case 01
A 3-month-old is screened against the neonatal range whenever the drug has one.
ROOT CAUSE
The neonatal range is used whenever it exists, regardless of age.
VERIFIED REPAIR
Require both age_days < 28 and a neonatal range.
Unsuccessful approach: Gating on the first year of life still applies neonatal limits to infants.
Case contract
Input {dose_mg, weight_kg (or null), age_days, range [lo, hi] mg/kg, optional neonatal_range, abs_max_mg}. Missing weight returns NO_WEIGHT. A dose above abs_max_mg returns OVER_ABSOLUTE. Neonates (age_days < 28) use neonatal_range when present. Toy 10% tolerance: UNDER when mg/kg < 0.9*lo, OVER when mg/kg > 1.1*hi, else OK. Return {flag, mg_per_kg (2 dp)}.
Why this case matters
Clinical decision support screens orders against weight-based ranges; the population gate and the tolerance edges are separate rules.
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):
if x['weight_kg'] is None:
return {'flag': 'NO_WEIGHT'}
dose = Fraction(str(x['dose_mg']))
if dose > x['abs_max_mg']:
return {'flag': 'OVER_ABSOLUTE'}
lo, hi = x['range']
if x.get('neonatal_range'):
lo, hi = x['neonatal_range']
per_kg = dose / Fraction(str(x['weight_kg']))
if per_kg * 10 < Fraction(str(lo)) * 9:
flag = 'UNDER'
elif per_kg * 10 > Fraction(str(hi)) * 11:
flag = 'OVER'
else:
flag = 'OK'
return {'flag': flag, 'mg_per_kg': round(float(per_kg), 2)}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('within range control',
{'dose_mg': 310, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 15.5}),
('neonate on day 27',
{'dose_mg': 13,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 4.33}),
('infant on day 28 uses standard range',
{'dose_mg': 13,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 4.33}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 91,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 91, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.1}),
('clear underdose',
{'dose_mg': 79, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.9}),
('overdose tolerance edge',
{'dose_mg': 242, 'weight_kg': 11, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 65, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 15.38}),
('absolute maximum',
{'dose_mg': 1060, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 100, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})],
[('within range control',
{'dose_mg': 320, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 16.0}),
('neonate on day 27',
{'dose_mg': 14,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 4.67}),
('infant on day 28 uses standard range',
{'dose_mg': 14,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 4.67}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 92,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 92, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.2}),
('clear underdose',
{'dose_mg': 78, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.8}),
('overdose tolerance edge',
{'dose_mg': 264, 'weight_kg': 12, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 70, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 14.29}),
('absolute maximum',
{'dose_mg': 1070, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 200, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})],
[('within range control',
{'dose_mg': 330, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 16.5}),
('neonate on day 27',
{'dose_mg': 15,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 5.0}),
('infant on day 28 uses standard range',
{'dose_mg': 15,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 5.0}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 93,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 93, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.3}),
('clear underdose',
{'dose_mg': 77, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.7}),
('overdose tolerance edge',
{'dose_mg': 286, 'weight_kg': 13, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 75, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 13.33}),
('absolute maximum',
{'dose_mg': 1080, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 300, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})],
[('within range control',
{'dose_mg': 340, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 17.0}),
('neonate on day 27',
{'dose_mg': 16,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 5.33}),
('infant on day 28 uses standard range',
{'dose_mg': 16,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 5.33}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 94,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 94, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.4}),
('clear underdose',
{'dose_mg': 76, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.6}),
('overdose tolerance edge',
{'dose_mg': 308, 'weight_kg': 14, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 80, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 12.5}),
('absolute maximum',
{'dose_mg': 1090, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 400, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})],
[('within range control',
{'dose_mg': 350, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 17.5}),
('neonate on day 27',
{'dose_mg': 17,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OVER', 'mg_per_kg': 5.67}),
('infant on day 28 uses standard range',
{'dose_mg': 17,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 5.67}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 95,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 95, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.5}),
('clear underdose',
{'dose_mg': 75, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.5}),
('overdose tolerance edge',
{'dose_mg': 330, 'weight_kg': 15, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 85, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 11.76}),
('absolute maximum',
{'dose_mg': 1100, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 500, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})]]
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 |
|---|---|---|---|
| within range control | {'flag': 'OK', 'mg_per_kg': 15.5} | {'flag': 'OK', 'mg_per_kg': 15.5} | Passed |
| neonate on day 27 | {'flag': 'OK', 'mg_per_kg': 4.33} | {'flag': 'OK', 'mg_per_kg': 4.33} | Passed |
| infant on day 28 uses standard range | {'flag': 'OK', 'mg_per_kg': 4.33} | {'flag': 'UNDER', 'mg_per_kg': 4.33} | Failed |
| older infant ignores neonatal range | {'flag': 'OVER', 'mg_per_kg': 10.0} | {'flag': 'OK', 'mg_per_kg': 10.0} | Failed |
| underdose within tolerance | {'flag': 'OK', 'mg_per_kg': 9.1} | {'flag': 'OK', 'mg_per_kg': 9.1} | Passed |
| clear underdose | {'flag': 'UNDER', 'mg_per_kg': 7.9} | {'flag': 'UNDER', 'mg_per_kg': 7.9} | Passed |
| overdose tolerance edge | {'flag': 'OK', 'mg_per_kg': 22.0} | {'flag': 'OK', 'mg_per_kg': 22.0} | Passed |
| dose exactly at absolute maximum | {'flag': 'OK', 'mg_per_kg': 15.38} | {'flag': 'OK', 'mg_per_kg': 15.38} | Passed |
| absolute maximum | {'flag': 'OVER_ABSOLUTE'} | {'flag': 'OVER_ABSOLUTE'} | Passed |
| missing weight | {'flag': 'NO_WEIGHT'} | {'flag': 'NO_WEIGHT'} | Passed |
SHA-256 / 8b1066ddde060310b40d66d8c576470dec6fd735cc27fc2f86bd017b9cf3cab6
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):
if x['weight_kg'] is None:
return {'flag': 'NO_WEIGHT'}
dose = Fraction(str(x['dose_mg']))
if dose > x['abs_max_mg']:
return {'flag': 'OVER_ABSOLUTE'}
lo, hi = x['range']
if x['age_days'] < 365 and x.get('neonatal_range'):
lo, hi = x['neonatal_range']
per_kg = dose / Fraction(str(x['weight_kg']))
if per_kg * 10 < Fraction(str(lo)) * 9:
flag = 'UNDER'
elif per_kg * 10 > Fraction(str(hi)) * 11:
flag = 'OVER'
else:
flag = 'OK'
return {'flag': flag, 'mg_per_kg': round(float(per_kg), 2)}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('within range control',
{'dose_mg': 310, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 15.5}),
('neonate on day 27',
{'dose_mg': 13,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 4.33}),
('infant on day 28 uses standard range',
{'dose_mg': 13,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 4.33}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 91,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 91, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.1}),
('clear underdose',
{'dose_mg': 79, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.9}),
('overdose tolerance edge',
{'dose_mg': 242, 'weight_kg': 11, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 65, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 15.38}),
('absolute maximum',
{'dose_mg': 1060, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 100, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})],
[('within range control',
{'dose_mg': 320, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 16.0}),
('neonate on day 27',
{'dose_mg': 14,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 4.67}),
('infant on day 28 uses standard range',
{'dose_mg': 14,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 4.67}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 92,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 92, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.2}),
('clear underdose',
{'dose_mg': 78, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.8}),
('overdose tolerance edge',
{'dose_mg': 264, 'weight_kg': 12, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 70, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 14.29}),
('absolute maximum',
{'dose_mg': 1070, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 200, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})],
[('within range control',
{'dose_mg': 330, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 16.5}),
('neonate on day 27',
{'dose_mg': 15,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 5.0}),
('infant on day 28 uses standard range',
{'dose_mg': 15,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 5.0}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 93,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 93, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.3}),
('clear underdose',
{'dose_mg': 77, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.7}),
('overdose tolerance edge',
{'dose_mg': 286, 'weight_kg': 13, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 75, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 13.33}),
('absolute maximum',
{'dose_mg': 1080, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 300, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})],
[('within range control',
{'dose_mg': 340, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 17.0}),
('neonate on day 27',
{'dose_mg': 16,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 5.33}),
('infant on day 28 uses standard range',
{'dose_mg': 16,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 5.33}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 94,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 94, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.4}),
('clear underdose',
{'dose_mg': 76, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.6}),
('overdose tolerance edge',
{'dose_mg': 308, 'weight_kg': 14, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 80, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 12.5}),
('absolute maximum',
{'dose_mg': 1090, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 400, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})],
[('within range control',
{'dose_mg': 350, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 17.5}),
('neonate on day 27',
{'dose_mg': 17,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OVER', 'mg_per_kg': 5.67}),
('infant on day 28 uses standard range',
{'dose_mg': 17,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 5.67}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 95,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 95, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.5}),
('clear underdose',
{'dose_mg': 75, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.5}),
('overdose tolerance edge',
{'dose_mg': 330, 'weight_kg': 15, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 85, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 11.76}),
('absolute maximum',
{'dose_mg': 1100, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 500, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})]]
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 |
|---|---|---|---|
| within range control | {'flag': 'OK', 'mg_per_kg': 15.5} | {'flag': 'OK', 'mg_per_kg': 15.5} | Passed |
| neonate on day 27 | {'flag': 'OK', 'mg_per_kg': 4.33} | {'flag': 'OK', 'mg_per_kg': 4.33} | Passed |
| infant on day 28 uses standard range | {'flag': 'OK', 'mg_per_kg': 4.33} | {'flag': 'UNDER', 'mg_per_kg': 4.33} | Failed |
| older infant ignores neonatal range | {'flag': 'OVER', 'mg_per_kg': 10.0} | {'flag': 'OK', 'mg_per_kg': 10.0} | Failed |
| underdose within tolerance | {'flag': 'OK', 'mg_per_kg': 9.1} | {'flag': 'OK', 'mg_per_kg': 9.1} | Passed |
| clear underdose | {'flag': 'UNDER', 'mg_per_kg': 7.9} | {'flag': 'UNDER', 'mg_per_kg': 7.9} | Passed |
| overdose tolerance edge | {'flag': 'OK', 'mg_per_kg': 22.0} | {'flag': 'OK', 'mg_per_kg': 22.0} | Passed |
| dose exactly at absolute maximum | {'flag': 'OK', 'mg_per_kg': 15.38} | {'flag': 'OK', 'mg_per_kg': 15.38} | Passed |
| absolute maximum | {'flag': 'OVER_ABSOLUTE'} | {'flag': 'OVER_ABSOLUTE'} | Passed |
| missing weight | {'flag': 'NO_WEIGHT'} | {'flag': 'NO_WEIGHT'} | Passed |
SHA-256 / a1260bc3d6dd295fa1fd5ea7211b69104cd46ace0715293e74b4122fa30deb87
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):
if x['weight_kg'] is None:
return {'flag': 'NO_WEIGHT'}
dose = Fraction(str(x['dose_mg']))
if dose > x['abs_max_mg']:
return {'flag': 'OVER_ABSOLUTE'}
lo, hi = x['range']
if x['age_days'] < 28 and x.get('neonatal_range'):
lo, hi = x['neonatal_range']
per_kg = dose / Fraction(str(x['weight_kg']))
if per_kg * 10 < Fraction(str(lo)) * 9:
flag = 'UNDER'
elif per_kg * 10 > Fraction(str(hi)) * 11:
flag = 'OVER'
else:
flag = 'OK'
return {'flag': flag, 'mg_per_kg': round(float(per_kg), 2)}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('within range control',
{'dose_mg': 310, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 15.5}),
('neonate on day 27',
{'dose_mg': 13,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 4.33}),
('infant on day 28 uses standard range',
{'dose_mg': 13,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 4.33}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 91,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 91, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.1}),
('clear underdose',
{'dose_mg': 79, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.9}),
('overdose tolerance edge',
{'dose_mg': 242, 'weight_kg': 11, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 65, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 15.38}),
('absolute maximum',
{'dose_mg': 1060, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 100, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})],
[('within range control',
{'dose_mg': 320, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 16.0}),
('neonate on day 27',
{'dose_mg': 14,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 4.67}),
('infant on day 28 uses standard range',
{'dose_mg': 14,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 4.67}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 92,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 92, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.2}),
('clear underdose',
{'dose_mg': 78, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.8}),
('overdose tolerance edge',
{'dose_mg': 264, 'weight_kg': 12, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 70, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 14.29}),
('absolute maximum',
{'dose_mg': 1070, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 200, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})],
[('within range control',
{'dose_mg': 330, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 16.5}),
('neonate on day 27',
{'dose_mg': 15,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 5.0}),
('infant on day 28 uses standard range',
{'dose_mg': 15,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 5.0}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 93,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 93, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.3}),
('clear underdose',
{'dose_mg': 77, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.7}),
('overdose tolerance edge',
{'dose_mg': 286, 'weight_kg': 13, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 75, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 13.33}),
('absolute maximum',
{'dose_mg': 1080, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 300, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})],
[('within range control',
{'dose_mg': 340, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 17.0}),
('neonate on day 27',
{'dose_mg': 16,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 5.33}),
('infant on day 28 uses standard range',
{'dose_mg': 16,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 5.33}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 94,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 94, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.4}),
('clear underdose',
{'dose_mg': 76, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.6}),
('overdose tolerance edge',
{'dose_mg': 308, 'weight_kg': 14, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 80, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 12.5}),
('absolute maximum',
{'dose_mg': 1090, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 400, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})],
[('within range control',
{'dose_mg': 350, 'weight_kg': 20, 'age_days': 2000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 17.5}),
('neonate on day 27',
{'dose_mg': 17,
'weight_kg': 3,
'age_days': 27,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'OVER', 'mg_per_kg': 5.67}),
('infant on day 28 uses standard range',
{'dose_mg': 17,
'weight_kg': 3,
'age_days': 28,
'range': [10, 20],
'neonatal_range': [3, 5],
'abs_max_mg': 100},
{'flag': 'UNDER', 'mg_per_kg': 5.67}),
('older infant ignores neonatal range',
{'dose_mg': 40,
'weight_kg': 4,
'age_days': 95,
'range': [8, 12],
'neonatal_range': [2, 4],
'abs_max_mg': 100},
{'flag': 'OK', 'mg_per_kg': 10.0}),
('underdose within tolerance',
{'dose_mg': 95, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 9.5}),
('clear underdose',
{'dose_mg': 75, 'weight_kg': 10, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'UNDER', 'mg_per_kg': 7.5}),
('overdose tolerance edge',
{'dose_mg': 330, 'weight_kg': 15, 'age_days': 1000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 22.0}),
('dose exactly at absolute maximum',
{'dose_mg': 1000, 'weight_kg': 85, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OK', 'mg_per_kg': 11.76}),
('absolute maximum',
{'dose_mg': 1100, 'weight_kg': 60, 'age_days': 9000, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'OVER_ABSOLUTE'}),
('missing weight',
{'dose_mg': 100, 'weight_kg': None, 'age_days': 500, 'range': [10, 20], 'abs_max_mg': 1000},
{'flag': 'NO_WEIGHT'})]]
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 |
|---|---|---|---|
| within range control | {'flag': 'OK', 'mg_per_kg': 15.5} | {'flag': 'OK', 'mg_per_kg': 15.5} | Passed |
| neonate on day 27 | {'flag': 'OK', 'mg_per_kg': 4.33} | {'flag': 'OK', 'mg_per_kg': 4.33} | Passed |
| infant on day 28 uses standard range | {'flag': 'UNDER', 'mg_per_kg': 4.33} | {'flag': 'UNDER', 'mg_per_kg': 4.33} | Passed |
| older infant ignores neonatal range | {'flag': 'OK', 'mg_per_kg': 10.0} | {'flag': 'OK', 'mg_per_kg': 10.0} | Passed |
| underdose within tolerance | {'flag': 'OK', 'mg_per_kg': 9.1} | {'flag': 'OK', 'mg_per_kg': 9.1} | Passed |
| clear underdose | {'flag': 'UNDER', 'mg_per_kg': 7.9} | {'flag': 'UNDER', 'mg_per_kg': 7.9} | Passed |
| overdose tolerance edge | {'flag': 'OK', 'mg_per_kg': 22.0} | {'flag': 'OK', 'mg_per_kg': 22.0} | Passed |
| dose exactly at absolute maximum | {'flag': 'OK', 'mg_per_kg': 15.38} | {'flag': 'OK', 'mg_per_kg': 15.38} | Passed |
| absolute maximum | {'flag': 'OVER_ABSOLUTE'} | {'flag': 'OVER_ABSOLUTE'} | Passed |
| missing weight | {'flag': 'NO_WEIGHT'} | {'flag': 'NO_WEIGHT'} | Passed |
SHA-256 / 067fe08aa7b2721a44c3b7e3fc4de2e4f73db2b351c10c9e7899fff48cbbae05
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:22.604642+00:00.
Case digest / 185e8215b06423394084eab1e1186a6a1f742e9ff95372129f474f261f53972b