FAILURE MAP
← Case archive

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.

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

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