FA-64836 / Clinical triage scoring / Open access
Acute asthma severity from peak flow and signs: tachycardia criterion · case 01
A heart rate of exactly 110 is not treated as a severe sign.
ROOT CAUSE
The tachycardia threshold excludes 110.
VERIFIED REPAIR
Treat hr >= 110 as an acute severe sign.
Unsuccessful approach: Exempting children under 12 adds an age rule the contract does not have.
Case contract
Input {pef, best (best or predicted PEF), spo2, sentences (can complete sentences), rr, hr, age}. pct = pef*100/best. Toy classification: LIFE_THREATENING when pct < 33 or spo2 < 92; ACUTE_SEVERE when pct <= 50, rr >= 25, hr >= 110 or sentences cannot be completed; MODERATE when pct <= 75; else MILD. Return {pct (1 dp), severity}.
Why this case matters
Severity grading from a percentage of best peak flow mixes ratio arithmetic with or-combined bedside signs.
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):
pct = Fraction(x['pef'] * 100, x['best'])
if pct < 33 or x['spo2'] < 92:
sev = 'LIFE_THREATENING'
elif pct <= 50 or x['rr'] >= 25 or x['hr'] > 110 or not x['sentences']:
sev = 'ACUTE_SEVERE'
elif pct <= 75:
sev = 'MODERATE'
else:
sev = 'MILD'
return {'pct': round(float(pct), 1), 'severity': sev}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('mild control',
{'pef': 430, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 86.0, 'severity': 'MILD'}),
('moderate',
{'pef': 310, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 62.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 91, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 19, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 331, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.2, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 26, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 11},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 116, 'age': 6},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 401, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 80.2, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 110, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 24.4, 'severity': 'LIFE_THREATENING'})],
[('mild control',
{'pef': 440, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 88.0, 'severity': 'MILD'}),
('moderate',
{'pef': 320, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 64.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 92, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 20, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 332, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.4, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 27, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 12},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 117, 'age': 7},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 402, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 80.4, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 120, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 26.7, 'severity': 'LIFE_THREATENING'})],
[('mild control',
{'pef': 450, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 90.0, 'severity': 'MILD'}),
('moderate',
{'pef': 330, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 93, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 21, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 333, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.6, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 28, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 13},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 118, 'age': 8},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 403, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 80.6, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 130, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 28.9, 'severity': 'LIFE_THREATENING'})],
[('mild control',
{'pef': 460, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 92.0, 'severity': 'MILD'}),
('moderate',
{'pef': 340, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 68.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 94, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 22, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 334, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.8, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 29, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 14},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 119, 'age': 9},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 404, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 80.8, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 140, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 31.1, 'severity': 'LIFE_THREATENING'})],
[('mild control',
{'pef': 470, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 94.0, 'severity': 'MILD'}),
('moderate',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 95, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 23, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 335, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 67.0, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 30, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 15},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 120, 'age': 10},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 405, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 81.0, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 150, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 33.3, 'severity': 'ACUTE_SEVERE'})]]
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 |
|---|---|---|---|
| mild control | {'pct': 86.0, 'severity': 'MILD'} | {'pct': 86.0, 'severity': 'MILD'} | Passed |
| moderate | {'pct': 62.0, 'severity': 'MODERATE'} | {'pct': 62.0, 'severity': 'MODERATE'} | Passed |
| exactly 50 percent | {'pct': 50.0, 'severity': 'ACUTE_SEVERE'} | {'pct': 50.0, 'severity': 'ACUTE_SEVERE'} | Passed |
| exactly 33 percent | {'pct': 33.0, 'severity': 'ACUTE_SEVERE'} | {'pct': 33.0, 'severity': 'ACUTE_SEVERE'} | Passed |
| hypoxic with fair peak flow | {'pct': 66.2, 'severity': 'LIFE_THREATENING'} | {'pct': 66.2, 'severity': 'LIFE_THREATENING'} | Passed |
| severe by rate alone | {'pct': 70.0, 'severity': 'ACUTE_SEVERE'} | {'pct': 70.0, 'severity': 'ACUTE_SEVERE'} | Passed |
| heart rate exactly 110 | {'pct': 72.0, 'severity': 'MODERATE'} | {'pct': 72.0, 'severity': 'ACUTE_SEVERE'} | Failed |
| tachycardic child | {'pct': 80.0, 'severity': 'ACUTE_SEVERE'} | {'pct': 80.0, 'severity': 'ACUTE_SEVERE'} | Passed |
| cannot finish sentences | {'pct': 80.2, 'severity': 'ACUTE_SEVERE'} | {'pct': 80.2, 'severity': 'ACUTE_SEVERE'} | Passed |
| below one third | {'pct': 24.4, 'severity': 'LIFE_THREATENING'} | {'pct': 24.4, 'severity': 'LIFE_THREATENING'} | Passed |
SHA-256 / 8e57e302409adb12e3b35219ff07ac847771d2b6febd50448f9b8055de72ea2a
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):
pct = Fraction(x['pef'] * 100, x['best'])
if pct < 33 or x['spo2'] < 92:
sev = 'LIFE_THREATENING'
elif pct <= 50 or x['rr'] >= 25 or (x['hr'] >= 110 and x['age'] >= 12) or not x['sentences']:
sev = 'ACUTE_SEVERE'
elif pct <= 75:
sev = 'MODERATE'
else:
sev = 'MILD'
return {'pct': round(float(pct), 1), 'severity': sev}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('mild control',
{'pef': 430, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 86.0, 'severity': 'MILD'}),
('moderate',
{'pef': 310, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 62.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 91, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 19, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 331, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.2, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 26, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 11},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 116, 'age': 6},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 401, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 80.2, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 110, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 24.4, 'severity': 'LIFE_THREATENING'})],
[('mild control',
{'pef': 440, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 88.0, 'severity': 'MILD'}),
('moderate',
{'pef': 320, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 64.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 92, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 20, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 332, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.4, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 27, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 12},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 117, 'age': 7},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 402, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 80.4, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 120, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 26.7, 'severity': 'LIFE_THREATENING'})],
[('mild control',
{'pef': 450, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 90.0, 'severity': 'MILD'}),
('moderate',
{'pef': 330, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 93, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 21, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 333, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.6, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 28, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 13},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 118, 'age': 8},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 403, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 80.6, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 130, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 28.9, 'severity': 'LIFE_THREATENING'})],
[('mild control',
{'pef': 460, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 92.0, 'severity': 'MILD'}),
('moderate',
{'pef': 340, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 68.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 94, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 22, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 334, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.8, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 29, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 14},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 119, 'age': 9},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 404, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 80.8, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 140, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 31.1, 'severity': 'LIFE_THREATENING'})],
[('mild control',
{'pef': 470, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 94.0, 'severity': 'MILD'}),
('moderate',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 95, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 23, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 335, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 67.0, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 30, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 15},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 120, 'age': 10},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 405, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 81.0, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 150, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 33.3, 'severity': 'ACUTE_SEVERE'})]]
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 |
|---|---|---|---|
| mild control | {'pct': 86.0, 'severity': 'MILD'} | {'pct': 86.0, 'severity': 'MILD'} | Passed |
| moderate | {'pct': 62.0, 'severity': 'MODERATE'} | {'pct': 62.0, 'severity': 'MODERATE'} | Passed |
| exactly 50 percent | {'pct': 50.0, 'severity': 'ACUTE_SEVERE'} | {'pct': 50.0, 'severity': 'ACUTE_SEVERE'} | Passed |
| exactly 33 percent | {'pct': 33.0, 'severity': 'ACUTE_SEVERE'} | {'pct': 33.0, 'severity': 'ACUTE_SEVERE'} | Passed |
| hypoxic with fair peak flow | {'pct': 66.2, 'severity': 'LIFE_THREATENING'} | {'pct': 66.2, 'severity': 'LIFE_THREATENING'} | Passed |
| severe by rate alone | {'pct': 70.0, 'severity': 'ACUTE_SEVERE'} | {'pct': 70.0, 'severity': 'ACUTE_SEVERE'} | Passed |
| heart rate exactly 110 | {'pct': 72.0, 'severity': 'MODERATE'} | {'pct': 72.0, 'severity': 'ACUTE_SEVERE'} | Failed |
| tachycardic child | {'pct': 80.0, 'severity': 'MILD'} | {'pct': 80.0, 'severity': 'ACUTE_SEVERE'} | Failed |
| cannot finish sentences | {'pct': 80.2, 'severity': 'ACUTE_SEVERE'} | {'pct': 80.2, 'severity': 'ACUTE_SEVERE'} | Passed |
| below one third | {'pct': 24.4, 'severity': 'LIFE_THREATENING'} | {'pct': 24.4, 'severity': 'LIFE_THREATENING'} | Passed |
SHA-256 / 92cb57afbded0845f1b4a7a0570ecc25051e66f46803ca1f7008c08f9526f4fe
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):
pct = Fraction(x['pef'] * 100, x['best'])
if pct < 33 or x['spo2'] < 92:
sev = 'LIFE_THREATENING'
elif pct <= 50 or x['rr'] >= 25 or x['hr'] >= 110 or not x['sentences']:
sev = 'ACUTE_SEVERE'
elif pct <= 75:
sev = 'MODERATE'
else:
sev = 'MILD'
return {'pct': round(float(pct), 1), 'severity': sev}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('mild control',
{'pef': 430, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 86.0, 'severity': 'MILD'}),
('moderate',
{'pef': 310, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 62.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 91, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 19, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 331, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.2, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 26, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 11},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 116, 'age': 6},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 401, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 80.2, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 110, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 24.4, 'severity': 'LIFE_THREATENING'})],
[('mild control',
{'pef': 440, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 88.0, 'severity': 'MILD'}),
('moderate',
{'pef': 320, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 64.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 92, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 20, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 332, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.4, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 27, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 12},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 117, 'age': 7},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 402, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 80.4, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 120, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 26.7, 'severity': 'LIFE_THREATENING'})],
[('mild control',
{'pef': 450, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 90.0, 'severity': 'MILD'}),
('moderate',
{'pef': 330, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 93, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 21, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 333, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.6, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 28, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 13},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 118, 'age': 8},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 403, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 80.6, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 130, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 28.9, 'severity': 'LIFE_THREATENING'})],
[('mild control',
{'pef': 460, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 92.0, 'severity': 'MILD'}),
('moderate',
{'pef': 340, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 68.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 94, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 22, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 334, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 66.8, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 29, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 14},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 119, 'age': 9},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 404, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 80.8, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 140, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 31.1, 'severity': 'LIFE_THREATENING'})],
[('mild control',
{'pef': 470, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 94.0, 'severity': 'MILD'}),
('moderate',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'MODERATE'}),
('exactly 50 percent',
{'pef': 250, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 95, 'age': 30},
{'pct': 50.0, 'severity': 'ACUTE_SEVERE'}),
('exactly 33 percent',
{'pef': 165, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 23, 'hr': 90, 'age': 30},
{'pct': 33.0, 'severity': 'ACUTE_SEVERE'}),
('hypoxic with fair peak flow',
{'pef': 335, 'best': 500, 'spo2': 90, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 67.0, 'severity': 'LIFE_THREATENING'}),
('severe by rate alone',
{'pef': 350, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 30, 'hr': 90, 'age': 30},
{'pct': 70.0, 'severity': 'ACUTE_SEVERE'}),
('heart rate exactly 110',
{'pef': 360, 'best': 500, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 110, 'age': 15},
{'pct': 72.0, 'severity': 'ACUTE_SEVERE'}),
('tachycardic child',
{'pef': 200, 'best': 250, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 120, 'age': 10},
{'pct': 80.0, 'severity': 'ACUTE_SEVERE'}),
('cannot finish sentences',
{'pef': 405, 'best': 500, 'spo2': 97, 'sentences': False, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 81.0, 'severity': 'ACUTE_SEVERE'}),
('below one third',
{'pef': 150, 'best': 450, 'spo2': 97, 'sentences': True, 'rr': 18, 'hr': 90, 'age': 30},
{'pct': 33.3, 'severity': 'ACUTE_SEVERE'})]]
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 |
|---|---|---|---|
| mild control | {'pct': 86.0, 'severity': 'MILD'} | {'pct': 86.0, 'severity': 'MILD'} | Passed |
| moderate | {'pct': 62.0, 'severity': 'MODERATE'} | {'pct': 62.0, 'severity': 'MODERATE'} | Passed |
| exactly 50 percent | {'pct': 50.0, 'severity': 'ACUTE_SEVERE'} | {'pct': 50.0, 'severity': 'ACUTE_SEVERE'} | Passed |
| exactly 33 percent | {'pct': 33.0, 'severity': 'ACUTE_SEVERE'} | {'pct': 33.0, 'severity': 'ACUTE_SEVERE'} | Passed |
| hypoxic with fair peak flow | {'pct': 66.2, 'severity': 'LIFE_THREATENING'} | {'pct': 66.2, 'severity': 'LIFE_THREATENING'} | Passed |
| severe by rate alone | {'pct': 70.0, 'severity': 'ACUTE_SEVERE'} | {'pct': 70.0, 'severity': 'ACUTE_SEVERE'} | Passed |
| heart rate exactly 110 | {'pct': 72.0, 'severity': 'ACUTE_SEVERE'} | {'pct': 72.0, 'severity': 'ACUTE_SEVERE'} | Passed |
| tachycardic child | {'pct': 80.0, 'severity': 'ACUTE_SEVERE'} | {'pct': 80.0, 'severity': 'ACUTE_SEVERE'} | Passed |
| cannot finish sentences | {'pct': 80.2, 'severity': 'ACUTE_SEVERE'} | {'pct': 80.2, 'severity': 'ACUTE_SEVERE'} | Passed |
| below one third | {'pct': 24.4, 'severity': 'LIFE_THREATENING'} | {'pct': 24.4, 'severity': 'LIFE_THREATENING'} | Passed |
SHA-256 / a94b1e0febf6d57b597c0d7c2881432e37cb6027687f38d3e85a4f352d9142a1
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:28.240813+00:00.
Case digest / 4d2b780a0b5c31c4c7d52106d3fa357cd453c2d8601245831e53eb2093f0302f