FA-64486 / Clinical triage scoring / Open access
Embolism pretest probability and rule-out pathway: rule-out exclusion list · case 01
A patient using estrogen is ruled out without testing.
ROOT CAUSE
Estrogen use is missing from the rule-out exclusions.
VERIFIED REPAIR
Exclude haemoptysis, estrogen, prior VTE and recent surgery from rule-out.
Unsuccessful approach: Adding estrogen back while dropping prior VTE rules out patients with previous clots.
Case contract
Input {dvt_signs, pe_most_likely, hr, immobile_days, surgery_weeks_ago (or null), prior_vte, hemoptysis, malignancy, age, spo2, estrogen}. Toy points: DVT signs 3, alternative less likely 3, hr > 100 1.5, immobilisation >= 3 days OR surgery within 4 weeks 1.5 (counted once), prior VTE 1.5, haemoptysis 1, malignancy 1. Score > 4 is LIKELY (next IMAGING). UNLIKELY patients are RULED_OUT when age < 50, hr < 100, spo2 >= 95 and none of haemoptysis, estrogen, prior VTE or surgery within 4 weeks; otherwise next D_DIMER. Return {score, category, next}.
Why this case matters
Pretest scoring feeds a rule-out gate; half-point arithmetic, the either/or item and exclusion lists are separate defect sites.
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):
h = 0
h += 6 if x['dvt_signs'] else 0
h += 6 if x['pe_most_likely'] else 0
h += 3 if x['hr'] > 100 else 0
h += 3 if x['immobile_days'] >= 3 or (x['surgery_weeks_ago'] is not None and x['surgery_weeks_ago'] <= 4) else 0
h += 3 if x['prior_vte'] else 0
h += 2 if x['hemoptysis'] else 0
h += 2 if x['malignancy'] else 0
likely = h > 8
recent_surg = x['surgery_weeks_ago'] is not None and x['surgery_weeks_ago'] <= 4
if likely:
nxt = 'IMAGING'
elif x['age'] < 50 and x['hr'] < 100 and x['spo2'] >= 95 and not (x['hemoptysis'] or x['prior_vte'] or recent_surg):
nxt = 'RULED_OUT'
else:
nxt = 'D_DIMER'
return {'score': h / 2, 'category': 'LIKELY' if likely else 'UNLIKELY', 'next': nxt}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 26,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 4,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 31,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 61,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 102,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 31,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 6,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 29,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 41,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})],
[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 27,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 5,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': True,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 5.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 32,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 62,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 103,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 32,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 7,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 30,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 42,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})],
[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 28,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 6,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 33,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 63,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 104,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 33,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 8,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 31,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 43,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})],
[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 29,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 7,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': True,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 5.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 34,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 64,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 105,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 34,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 9,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 32,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 44,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})],
[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 30,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 8,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 65,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 106,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 10,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 33,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 45,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})]]
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 |
|---|---|---|---|
| low risk young patient | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 0.0} | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 0.0} | Passed |
| immobilised after surgery counted once | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | Passed |
| surgery on the day counts | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | Passed |
| score 4.5 is likely | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | Passed |
| score 4.0 unlikely | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 4.0} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 4.0} | Passed |
| half point score reported | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | Passed |
| surgery exactly 4 weeks ago excludes rule-out | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | Passed |
| remote surgery allows rule-out | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 0.0} | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 0.0} | Passed |
| estrogen use blocks rule-out | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 0.0} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 0.0} | Failed |
| prior VTE blocks rule-out | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | Passed |
SHA-256 / f8310e2b8e3a9729fe1bd4e68847b5ea716892bc91d010e9364c07681847b159
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):
h = 0
h += 6 if x['dvt_signs'] else 0
h += 6 if x['pe_most_likely'] else 0
h += 3 if x['hr'] > 100 else 0
h += 3 if x['immobile_days'] >= 3 or (x['surgery_weeks_ago'] is not None and x['surgery_weeks_ago'] <= 4) else 0
h += 3 if x['prior_vte'] else 0
h += 2 if x['hemoptysis'] else 0
h += 2 if x['malignancy'] else 0
likely = h > 8
recent_surg = x['surgery_weeks_ago'] is not None and x['surgery_weeks_ago'] <= 4
if likely:
nxt = 'IMAGING'
elif x['age'] < 50 and x['hr'] < 100 and x['spo2'] >= 95 and not (x['hemoptysis'] or x['estrogen'] or recent_surg):
nxt = 'RULED_OUT'
else:
nxt = 'D_DIMER'
return {'score': h / 2, 'category': 'LIKELY' if likely else 'UNLIKELY', 'next': nxt}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 26,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 4,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 31,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 61,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 102,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 31,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 6,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 29,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 41,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})],
[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 27,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 5,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': True,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 5.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 32,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 62,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 103,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 32,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 7,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 30,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 42,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})],
[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 28,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 6,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 33,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 63,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 104,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 33,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 8,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 31,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 43,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})],
[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 29,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 7,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': True,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 5.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 34,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 64,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 105,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 34,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 9,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 32,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 44,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})],
[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 30,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 8,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 65,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 106,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 10,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 33,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 45,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})]]
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 |
|---|---|---|---|
| low risk young patient | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 0.0} | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 0.0} | Passed |
| immobilised after surgery counted once | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | Passed |
| surgery on the day counts | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | Passed |
| score 4.5 is likely | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | Passed |
| score 4.0 unlikely | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 4.0} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 4.0} | Passed |
| half point score reported | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | Passed |
| surgery exactly 4 weeks ago excludes rule-out | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | Passed |
| remote surgery allows rule-out | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 0.0} | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 0.0} | Passed |
| estrogen use blocks rule-out | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 0.0} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 0.0} | Passed |
| prior VTE blocks rule-out | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 1.5} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | Failed |
SHA-256 / f7e2d1d4751dffbe59ed9fcf30b6f7723ce5cd20d85e757a8406504bf013bccc
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):
h = 0
h += 6 if x['dvt_signs'] else 0
h += 6 if x['pe_most_likely'] else 0
h += 3 if x['hr'] > 100 else 0
h += 3 if x['immobile_days'] >= 3 or (x['surgery_weeks_ago'] is not None and x['surgery_weeks_ago'] <= 4) else 0
h += 3 if x['prior_vte'] else 0
h += 2 if x['hemoptysis'] else 0
h += 2 if x['malignancy'] else 0
likely = h > 8
recent_surg = x['surgery_weeks_ago'] is not None and x['surgery_weeks_ago'] <= 4
if likely:
nxt = 'IMAGING'
elif x['age'] < 50 and x['hr'] < 100 and x['spo2'] >= 95 and not (x['hemoptysis'] or x['estrogen'] or x['prior_vte'] or recent_surg):
nxt = 'RULED_OUT'
else:
nxt = 'D_DIMER'
return {'score': h / 2, 'category': 'LIKELY' if likely else 'UNLIKELY', 'next': nxt}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 26,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 4,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 31,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 61,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 102,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 31,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 6,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 29,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 41,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})],
[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 27,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 5,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': True,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 5.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 32,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 62,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 103,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 32,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 7,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 30,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 42,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})],
[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 28,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 6,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 33,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 63,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 104,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 33,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 8,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 31,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 43,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})],
[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 29,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 7,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': True,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 5.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 34,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 64,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 105,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 34,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 9,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 32,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 44,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})],
[('low risk young patient',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 30,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('immobilised after surgery counted once',
{'dvt_signs': True,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 8,
'surgery_weeks_ago': 2,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('surgery on the day counts',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 0,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 40,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.5 is likely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 4.5, 'category': 'LIKELY', 'next': 'IMAGING'}),
('score 4.0 unlikely',
{'dvt_signs': False,
'pe_most_likely': True,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': True,
'age': 65,
'spo2': 98,
'estrogen': False},
{'score': 4.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('half point score reported',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 106,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 55,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('surgery exactly 4 weeks ago excludes rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 4,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('remote surgery allows rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': 10,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 35,
'spo2': 98,
'estrogen': False},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'RULED_OUT'}),
('estrogen use blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': False,
'hemoptysis': False,
'malignancy': False,
'age': 33,
'spo2': 98,
'estrogen': True},
{'score': 0.0, 'category': 'UNLIKELY', 'next': 'D_DIMER'}),
('prior VTE blocks rule-out',
{'dvt_signs': False,
'pe_most_likely': False,
'hr': 80,
'immobile_days': 0,
'surgery_weeks_ago': None,
'prior_vte': True,
'hemoptysis': False,
'malignancy': False,
'age': 45,
'spo2': 98,
'estrogen': False},
{'score': 1.5, 'category': 'UNLIKELY', 'next': 'D_DIMER'})]]
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 |
|---|---|---|---|
| low risk young patient | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 0.0} | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 0.0} | Passed |
| immobilised after surgery counted once | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | Passed |
| surgery on the day counts | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | Passed |
| score 4.5 is likely | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | Passed |
| score 4.0 unlikely | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 4.0} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 4.0} | Passed |
| half point score reported | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | Passed |
| surgery exactly 4 weeks ago excludes rule-out | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | Passed |
| remote surgery allows rule-out | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 0.0} | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 0.0} | Passed |
| estrogen use blocks rule-out | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 0.0} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 0.0} | Passed |
| prior VTE blocks rule-out | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | {'category': 'UNLIKELY', 'next': 'D_DIMER', 'score': 1.5} | Passed |
SHA-256 / 78c970b53bb27ecc987497bd852ca81a7dcc07e9e3cc936e91a56ecd715191e6
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:24.840054+00:00.
Case digest / febf1156c485926251fd64aae726bf46021f1b51156fd88d0ea69298a9e53f55