FAILURE MAP
← Case archive

FA-64606 / Clinical triage scoring / Open access

Upper gastrointestinal bleed risk score and disposition: heart rate item · case 01

A heart rate of exactly 100 is not scored.

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

ROOT CAUSE

The heart rate item uses > 100.

VERIFIED REPAIR

Score 1 point for hr >= 100.

Unsuccessful approach: Suppressing the item when systolic pressure is low removes a point from sicker patients.

Case contract

Input {urea (mmol/L), hb (g/dL), sex, sbp, hr, melena, syncope, hepatic, cardiac}. Toy points: urea < 6.5:0, 6.5-7.9:2, 8.0-9.9:3, 10.0-24.9:4, >=25:6. Hb male >=13:0, 12-12.9:1, 10-11.9:3, <10:6; female >=12:0, 10-11.9:1, <10:6. SBP >=110:0, 100-109:1, 90-99:2, <90:3. hr >= 100:1, melena 1, syncope 2, hepatic disease 2, cardiac failure 2. Disposition: 0 DISCHARGE, 1-6 ADMIT, >= 7 URGENT. Return {score, disposition}.

Why this case matters

Bleeding risk scores combine sex-specific laboratory tables with haemodynamic bands; each table edge is a separable defect.

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):
    u = Fraction(str(x['urea'])) * 10
    hb = Fraction(str(x['hb'])) * 10
    p_u = 0 if u < 65 else 2 if u < 80 else 3 if u < 100 else 4 if u < 250 else 6
    if x['sex'] == 'M':
        p_hb = 0 if hb >= 130 else 1 if hb >= 120 else 3 if hb >= 100 else 6
    else:
        p_hb = 0 if hb >= 120 else 1 if hb >= 100 else 6
    bp = x['sbp']
    p_bp = 0 if bp >= 110 else 1 if bp >= 100 else 2 if bp >= 90 else 3
    s = p_u + p_hb + p_bp
    s += 1 if x['hr'] > 100 else 0
    s += 1 if x['melena'] else 0
    s += 2 if x['syncope'] else 0
    s += 2 if x['hepatic'] else 0
    s += 2 if x['cardiac'] else 0
    disp = 'DISCHARGE' if s == 0 else 'ADMIT' if s < 7 else 'URGENT'
    return {'score': s, 'disposition': disp}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 121,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 111,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.1',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.1',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.3',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 91,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 84,
    'hr': 101,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.1',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.1',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.1',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})],
 [('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 122,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.6',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 112,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.2',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.2',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.4',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 92,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 83,
    'hr': 102,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.2',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.2',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.2',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})],
 [('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 123,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.7',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 113,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.3',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.3',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.5',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 93,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 82,
    'hr': 103,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.3',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.3',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.3',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})],
 [('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 124,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.8',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 114,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.4',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.4',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.6',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 94,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 81,
    'hr': 104,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.4',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.4',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.4',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})],
 [('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.9',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 115,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.5',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.5',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.7',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 95,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 80,
    'hr': 105,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.5',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.5',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})]]
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
all normal discharge{'disposition': 'DISCHARGE', 'score': 0}{'disposition': 'DISCHARGE', 'score': 0}Passed
urea 6.5 to 6.9{'disposition': 'ADMIT', 'score': 2}{'disposition': 'ADMIT', 'score': 2}Passed
urea exactly 6.5{'disposition': 'ADMIT', 'score': 2}{'disposition': 'ADMIT', 'score': 2}Passed
female haemoglobin 11{'disposition': 'ADMIT', 'score': 1}{'disposition': 'ADMIT', 'score': 1}Passed
female haemoglobin below 10{'disposition': 'ADMIT', 'score': 6}{'disposition': 'ADMIT', 'score': 6}Passed
male haemoglobin 12.5{'disposition': 'ADMIT', 'score': 1}{'disposition': 'ADMIT', 'score': 1}Passed
systolic exactly 90{'disposition': 'ADMIT', 'score': 4}{'disposition': 'ADMIT', 'score': 4}Passed
systolic below 90 with tachycardia{'disposition': 'URGENT', 'score': 7}{'disposition': 'URGENT', 'score': 7}Passed
tachycardia alone{'disposition': 'DISCHARGE', 'score': 0}{'disposition': 'ADMIT', 'score': 1}Failed
melena with tachycardia{'disposition': 'ADMIT', 'score': 2}{'disposition': 'ADMIT', 'score': 2}Passed
high risk bleed{'disposition': 'URGENT', 'score': 17}{'disposition': 'URGENT', 'score': 17}Passed

SHA-256 / 1b5bbc855960a3252339baf60f19533729bcd43f97ac5cea1454d73f8c428c05

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):
    u = Fraction(str(x['urea'])) * 10
    hb = Fraction(str(x['hb'])) * 10
    p_u = 0 if u < 65 else 2 if u < 80 else 3 if u < 100 else 4 if u < 250 else 6
    if x['sex'] == 'M':
        p_hb = 0 if hb >= 130 else 1 if hb >= 120 else 3 if hb >= 100 else 6
    else:
        p_hb = 0 if hb >= 120 else 1 if hb >= 100 else 6
    bp = x['sbp']
    p_bp = 0 if bp >= 110 else 1 if bp >= 100 else 2 if bp >= 90 else 3
    s = p_u + p_hb + p_bp
    s += 1 if x['hr'] >= 100 and bp >= 90 else 0
    s += 1 if x['melena'] else 0
    s += 2 if x['syncope'] else 0
    s += 2 if x['hepatic'] else 0
    s += 2 if x['cardiac'] else 0
    disp = 'DISCHARGE' if s == 0 else 'ADMIT' if s < 7 else 'URGENT'
    return {'score': s, 'disposition': disp}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 121,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 111,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.1',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.1',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.3',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 91,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 84,
    'hr': 101,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.1',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.1',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.1',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})],
 [('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 122,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.6',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 112,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.2',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.2',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.4',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 92,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 83,
    'hr': 102,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.2',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.2',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.2',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})],
 [('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 123,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.7',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 113,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.3',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.3',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.5',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 93,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 82,
    'hr': 103,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.3',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.3',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.3',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})],
 [('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 124,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.8',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 114,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.4',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.4',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.6',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 94,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 81,
    'hr': 104,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.4',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.4',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.4',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})],
 [('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.9',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 115,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.5',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.5',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.7',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 95,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 80,
    'hr': 105,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.5',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.5',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})]]
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
all normal discharge{'disposition': 'DISCHARGE', 'score': 0}{'disposition': 'DISCHARGE', 'score': 0}Passed
urea 6.5 to 6.9{'disposition': 'ADMIT', 'score': 2}{'disposition': 'ADMIT', 'score': 2}Passed
urea exactly 6.5{'disposition': 'ADMIT', 'score': 2}{'disposition': 'ADMIT', 'score': 2}Passed
female haemoglobin 11{'disposition': 'ADMIT', 'score': 1}{'disposition': 'ADMIT', 'score': 1}Passed
female haemoglobin below 10{'disposition': 'ADMIT', 'score': 6}{'disposition': 'ADMIT', 'score': 6}Passed
male haemoglobin 12.5{'disposition': 'ADMIT', 'score': 1}{'disposition': 'ADMIT', 'score': 1}Passed
systolic exactly 90{'disposition': 'ADMIT', 'score': 4}{'disposition': 'ADMIT', 'score': 4}Passed
systolic below 90 with tachycardia{'disposition': 'ADMIT', 'score': 6}{'disposition': 'URGENT', 'score': 7}Failed
tachycardia alone{'disposition': 'ADMIT', 'score': 1}{'disposition': 'ADMIT', 'score': 1}Passed
melena with tachycardia{'disposition': 'ADMIT', 'score': 2}{'disposition': 'ADMIT', 'score': 2}Passed
high risk bleed{'disposition': 'URGENT', 'score': 17}{'disposition': 'URGENT', 'score': 17}Passed

SHA-256 / 8e751e44ccfd100a40566ed8350db3380f2320eea09eb8bd387093aadf61cb46

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):
    u = Fraction(str(x['urea'])) * 10
    hb = Fraction(str(x['hb'])) * 10
    p_u = 0 if u < 65 else 2 if u < 80 else 3 if u < 100 else 4 if u < 250 else 6
    if x['sex'] == 'M':
        p_hb = 0 if hb >= 130 else 1 if hb >= 120 else 3 if hb >= 100 else 6
    else:
        p_hb = 0 if hb >= 120 else 1 if hb >= 100 else 6
    bp = x['sbp']
    p_bp = 0 if bp >= 110 else 1 if bp >= 100 else 2 if bp >= 90 else 3
    s = p_u + p_hb + p_bp
    s += 1 if x['hr'] >= 100 else 0
    s += 1 if x['melena'] else 0
    s += 2 if x['syncope'] else 0
    s += 2 if x['hepatic'] else 0
    s += 2 if x['cardiac'] else 0
    disp = 'DISCHARGE' if s == 0 else 'ADMIT' if s < 7 else 'URGENT'
    return {'score': s, 'disposition': disp}
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 121,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 111,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.1',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.1',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.3',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 91,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 84,
    'hr': 101,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.1',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.1',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.1',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})],
 [('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 122,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.6',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 112,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.2',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.2',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.4',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 92,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 83,
    'hr': 102,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.2',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.2',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.2',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})],
 [('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 123,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.7',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 113,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.3',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.3',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.5',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 93,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 82,
    'hr': 103,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.3',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.3',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.3',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})],
 [('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 124,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.8',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 114,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.4',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.4',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.6',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 94,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 81,
    'hr': 104,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.4',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.4',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.4',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})],
 [('all normal discharge',
   {'urea': '5.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 0, 'disposition': 'DISCHARGE'}),
  ('urea 6.5 to 6.9',
   {'urea': '6.9',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('urea exactly 6.5',
   {'urea': '6.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 115,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('female haemoglobin 11',
   {'urea': '5.0',
    'hb': '11.5',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('female haemoglobin below 10',
   {'urea': '5.0',
    'hb': '9.5',
    'sex': 'F',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 6, 'disposition': 'ADMIT'}),
  ('male haemoglobin 12.5',
   {'urea': '5.0',
    'hb': '12.7',
    'sex': 'M',
    'sbp': 125,
    'hr': 80,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('systolic exactly 90',
   {'urea': '7.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 90,
    'hr': 95,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 4, 'disposition': 'ADMIT'}),
  ('systolic below 90 with tachycardia',
   {'urea': '9.0',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 80,
    'hr': 105,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 7, 'disposition': 'URGENT'}),
  ('tachycardia alone',
   {'urea': '5.0',
    'hb': '13.5',
    'sex': 'M',
    'sbp': 125,
    'hr': 100,
    'melena': False,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 1, 'disposition': 'ADMIT'}),
  ('melena with tachycardia',
   {'urea': '5.5',
    'hb': '14.0',
    'sex': 'M',
    'sbp': 125,
    'hr': 105,
    'melena': True,
    'syncope': False,
    'hepatic': False,
    'cardiac': False},
   {'score': 2, 'disposition': 'ADMIT'}),
  ('high risk bleed',
   {'urea': '26',
    'hb': '8.5',
    'sex': 'M',
    'sbp': 85,
    'hr': 80,
    'melena': False,
    'syncope': True,
    'hepatic': False,
    'cardiac': False},
   {'score': 17, 'disposition': 'URGENT'})]]
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
all normal discharge{'disposition': 'DISCHARGE', 'score': 0}{'disposition': 'DISCHARGE', 'score': 0}Passed
urea 6.5 to 6.9{'disposition': 'ADMIT', 'score': 2}{'disposition': 'ADMIT', 'score': 2}Passed
urea exactly 6.5{'disposition': 'ADMIT', 'score': 2}{'disposition': 'ADMIT', 'score': 2}Passed
female haemoglobin 11{'disposition': 'ADMIT', 'score': 1}{'disposition': 'ADMIT', 'score': 1}Passed
female haemoglobin below 10{'disposition': 'ADMIT', 'score': 6}{'disposition': 'ADMIT', 'score': 6}Passed
male haemoglobin 12.5{'disposition': 'ADMIT', 'score': 1}{'disposition': 'ADMIT', 'score': 1}Passed
systolic exactly 90{'disposition': 'ADMIT', 'score': 4}{'disposition': 'ADMIT', 'score': 4}Passed
systolic below 90 with tachycardia{'disposition': 'URGENT', 'score': 7}{'disposition': 'URGENT', 'score': 7}Passed
tachycardia alone{'disposition': 'ADMIT', 'score': 1}{'disposition': 'ADMIT', 'score': 1}Passed
melena with tachycardia{'disposition': 'ADMIT', 'score': 2}{'disposition': 'ADMIT', 'score': 2}Passed
high risk bleed{'disposition': 'URGENT', 'score': 17}{'disposition': 'URGENT', 'score': 17}Passed

SHA-256 / d1d57b35fa567adfdbfa553245fad3695327c44cc91706e21591c4e60eda9a65

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:26.072116+00:00.

Case digest / 6fb1dfcee08446508e12b47a1c1b4a5cb8d89faf300bc5a08935db2aa662963c