FA-64826 / Clinical triage scoring / Open access
Acute asthma severity from peak flow and signs: life-threatening criteria · case 01
A peak flow of exactly 33% is graded life-threatening.
ROOT CAUSE
The peak-flow threshold includes 33%.
VERIFIED REPAIR
Grade life-threatening when pct < 33 or spo2 < 92.
Unsuccessful approach: Joining the criteria with and misses hypoxic patients with fair peak flow.
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': 'LIFE_THREATENING'} | {'pct': 33.0, 'severity': 'ACUTE_SEVERE'} | Failed |
| 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 / e5ce6b0aa686c787c81329fa40eb6f98587717207245e82de97cd7703c62babf
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 and 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': 'MODERATE'} | {'pct': 66.2, 'severity': 'LIFE_THREATENING'} | Failed |
| 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': 'ACUTE_SEVERE'} | {'pct': 24.4, 'severity': 'LIFE_THREATENING'} | Failed |
SHA-256 / c49c0f27d80d9fc75f91f691aa734c367684046948c6698b2046f0c3f8708575
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.170485+00:00.
Case digest / 9b2801bf5e4d11ff50cd549c32d13932499e96adac55d1967c48e621c850b084