FA-64466 / Clinical triage scoring / Open access
Embolism pretest probability and rule-out pathway: immobilisation or surgery counted once · case 01
A bed-bound post-operative patient scores 3 points for the single immobilisation item.
ROOT CAUSE
Immobilisation and recent surgery are scored as two separate items instead of one either/or item.
VERIFIED REPAIR
Award 1.5 points once when either immobilisation >= 3 days or surgery within 4 weeks applies.
Unsuccessful approach: Testing the surgery field by truthiness ignores the 4-week window and misses surgery on day 0.
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 else 0
h += 3 if 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': 6.0} | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | Failed |
| 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 / 7648d11c413543d0a4be4a394db858ad81c36c05ac0409d444c4d56b3126e97f
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'] 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': 'UNLIKELY', 'next': 'D_DIMER', 'score': 3.0} | {'category': 'LIKELY', 'next': 'IMAGING', 'score': 4.5} | Failed |
| 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': 1.5} | {'category': 'UNLIKELY', 'next': 'RULED_OUT', 'score': 0.0} | Failed |
| 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 / 186bef726e714e8bb5096d68d490c03b88549c3b657ea829cf6c90f9427b736b
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.712931+00:00.
Case digest / 6ca1664837fa9070c18f9d6bc1861dacc006ac60417026f79999b2b89beae8e4