FAILURE MAP
← Case archive

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.

Verified by executionVariant 1 · 10 checks per implementationDownload source bundle ↓JSON ↗

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 fixtureActualExpectedOutcome
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 fixtureActualExpectedOutcome
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 fixtureActualExpectedOutcome
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