{"abstract":"Almost every troponin, even a normal one, scores 2 points.","category":"Clinical triage scoring","checks":10,"contract":"Input {history 0-2, ecg 0-2, age, risk_factors (count), known_athero, troponin (ng/L), uln (ng/L)}. Toy points: age < 45:0, 45-64:1, >=65:2; risk factors 0:0, 1-2:1, >=3 or known atherosclerosis:2; troponin as a multiple of the upper limit (troponin/uln) <= 1:0, <= 3:1, > 3:2. Risk: 0-3 LOW, 4-6 MODERATE, 7-10 HIGH. Return {score, risk}.","evaluation_group":"w2-triage-chest-pain-score","failed_approach":"Using the excess over the limit shifts every band by one multiple, scoring 3.5 x ULN as 1 point.","family":"w2-triage-chest-pain-score-troponin-normalisation","id":"FA-64706","implementations":{"attempt":{"sha256":"2f92f404778cee5afd76ccfc3fe1d1dfd1bb3be75097cd1c745f7013638bd2aa","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    a = x['age']\n    p_age = 2 if a >= 65 else 1 if a >= 45 else 0\n    rf = x['risk_factors']\n    p_rf = 2 if rf >= 3 or x['known_athero'] else 1 if rf >= 1 else 0\n    t = Fraction(x['troponin'] - x['uln'], x['uln'])\n    p_t = 0 if t <= 1 else 1 if t <= 3 else 2\n    s = x['history'] + x['ecg'] + p_age + p_rf + p_t\n    risk = 'HIGH' if s >= 7 else 'MODERATE' if s >= 4 else 'LOW'\n    return {'score': s, 'risk': risk}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 31, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 31, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 1, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 3, 'risk': 'LOW'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 41, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 51, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 5, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 2, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 44, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 16, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 1, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})],\n [('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 32, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 32, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 2, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 42, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 52, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 2, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 1, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 5, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 45, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 17, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 2, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})],\n [('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 33, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 33, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 0, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 43, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 53, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 0, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 2, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 46, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 18, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 3, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})],\n [('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 34, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 34, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 1, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 3, 'risk': 'LOW'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 54, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 5, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 1, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 5, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 47, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 19, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 4, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})],\n [('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 35, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 35, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 2, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 41, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 55, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 2, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 2, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 48, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 20, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 5, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"79fae39c094da4a1c7d543c7395d46589314684e8ec18db93049be80d648273e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    a = x['age']\n    p_age = 2 if a >= 65 else 1 if a >= 45 else 0\n    rf = x['risk_factors']\n    p_rf = 2 if rf >= 3 or x['known_athero'] else 1 if rf >= 1 else 0\n    t = Fraction(x['troponin'])\n    p_t = 0 if t <= 1 else 1 if t <= 3 else 2\n    s = x['history'] + x['ecg'] + p_age + p_rf + p_t\n    risk = 'HIGH' if s >= 7 else 'MODERATE' if s >= 4 else 'LOW'\n    return {'score': s, 'risk': risk}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 31, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 31, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 1, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 3, 'risk': 'LOW'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 41, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 51, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 5, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 2, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 44, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 16, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 1, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})],\n [('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 32, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 32, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 2, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 42, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 52, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 2, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 1, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 5, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 45, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 17, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 2, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})],\n [('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 33, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 33, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 0, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 43, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 53, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 0, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 2, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 46, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 18, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 3, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})],\n [('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 34, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 34, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 1, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 3, 'risk': 'LOW'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 54, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 5, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 1, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 5, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 47, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 19, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 4, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})],\n [('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 35, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 35, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 2, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 41, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 55, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 2, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 2, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 48, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 20, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 5, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"9b012933d10304f035711fc423da6e020edefb31424e631c19a6e5650c75f75f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    a = x['age']\n    p_age = 2 if a >= 65 else 1 if a >= 45 else 0\n    rf = x['risk_factors']\n    p_rf = 2 if rf >= 3 or x['known_athero'] else 1 if rf >= 1 else 0\n    t = Fraction(x['troponin'], x['uln'])\n    p_t = 0 if t <= 1 else 1 if t <= 3 else 2\n    s = x['history'] + x['ecg'] + p_age + p_rf + p_t\n    risk = 'HIGH' if s >= 7 else 'MODERATE' if s >= 4 else 'LOW'\n    return {'score': s, 'risk': risk}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 31, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 31, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 1, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 3, 'risk': 'LOW'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 41, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 51, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 5, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 2, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 44, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 16, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 1, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})],\n [('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 32, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 32, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 2, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 42, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 52, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 2, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 1, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 5, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 45, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 17, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 2, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})],\n [('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 33, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 33, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 0, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 43, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 53, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 0, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 2, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 46, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 18, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 3, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})],\n [('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 34, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 34, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 1, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 3, 'risk': 'LOW'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 54, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 5, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 1, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 5, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 47, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 19, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 4, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})],\n [('low risk control',\n   {'history': 1, 'ecg': 0, 'age': 35, 'risk_factors': 0, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 1, 'risk': 'LOW'}),\n  ('troponin just over limit with other assay limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 1, 'known_athero': False, 'troponin': 35, 'uln': 26},\n   {'score': 2, 'risk': 'LOW'}),\n  ('age exactly 45',\n   {'history': 2, 'ecg': 0, 'age': 45, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('age 42',\n   {'history': 2, 'ecg': 1, 'age': 41, 'risk_factors': 1, 'known_athero': False, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('known atherosclerosis without risk factors',\n   {'history': 1, 'ecg': 0, 'age': 55, 'risk_factors': 0, 'known_athero': True, 'troponin': 7, 'uln': 14},\n   {'score': 4, 'risk': 'MODERATE'}),\n  ('troponin exactly at limit',\n   {'history': 2, 'ecg': 2, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 14, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin exactly three times limit',\n   {'history': 1, 'ecg': 2, 'age': 60, 'risk_factors': 1, 'known_athero': False, 'troponin': 42, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('troponin above three times limit',\n   {'history': 0, 'ecg': 0, 'age': 40, 'risk_factors': 0, 'known_athero': False, 'troponin': 48, 'uln': 14},\n   {'score': 2, 'risk': 'LOW'}),\n  ('score exactly 6',\n   {'history': 2, 'ecg': 1, 'age': 50, 'risk_factors': 1, 'known_athero': False, 'troponin': 20, 'uln': 14},\n   {'score': 6, 'risk': 'MODERATE'}),\n  ('score exactly 7',\n   {'history': 2, 'ecg': 2, 'age': 70, 'risk_factors': 1, 'known_athero': False, 'troponin': 5, 'uln': 14},\n   {'score': 7, 'risk': 'HIGH'})]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-triage-chest-pain-score-troponin-normalisation","generated_at":"2026-09-29T14:47:27.184366+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Composite chest pain scores sum banded components; age, override and troponin edges each fail on their own.","repair":"Divide the troponin by the assay upper limit before banding.","root_cause":"The raw ng/L value is compared with thresholds expressed as multiples of the upper reference limit.","sha256":"fe4f2e887728b17be8969e82b48470df6f7e03e070a3f96e693f07a928e79a61","title":"Chest pain composite risk score: troponin normalisation · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.206,"exit_code":1,"observations":[{"actual":{"risk":"LOW","score":1},"check":"low risk control","expected":{"risk":"LOW","score":1},"passed":true},{"actual":{"risk":"LOW","score":1},"check":"troponin just over limit with other assay limit","expected":{"risk":"LOW","score":2},"passed":false},{"actual":{"risk":"LOW","score":3},"check":"age exactly 45","expected":{"risk":"LOW","score":3},"passed":true},{"actual":{"risk":"MODERATE","score":4},"check":"age 42","expected":{"risk":"MODERATE","score":4},"passed":true},{"actual":{"risk":"MODERATE","score":4},"check":"known atherosclerosis without risk factors","expected":{"risk":"MODERATE","score":4},"passed":true},{"actual":{"risk":"MODERATE","score":5},"check":"troponin exactly at limit","expected":{"risk":"MODERATE","score":5},"passed":true},{"actual":{"risk":"MODERATE","score":6},"check":"troponin exactly three times limit","expected":{"risk":"MODERATE","score":6},"passed":true},{"actual":{"risk":"LOW","score":1},"check":"troponin above three times limit","expected":{"risk":"LOW","score":2},"passed":false},{"actual":{"risk":"MODERATE","score":5},"check":"score exactly 6","expected":{"risk":"MODERATE","score":6},"passed":false},{"actual":{"risk":"HIGH","score":7},"check":"score exactly 7","expected":{"risk":"HIGH","score":7},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"low risk control\", \"actual\": {\"score\": 1, \"risk\": \"LOW\"}, \"expected\": {\"score\": 1, \"risk\": \"LOW\"}, \"passed\": true}, {\"check\": \"troponin just over limit with other assay limit\", \"actual\": {\"score\": 1, \"risk\": \"LOW\"}, \"expected\": {\"score\": 2, \"risk\": \"LOW\"}, \"passed\": false}, {\"check\": \"age exactly 45\", \"actual\": {\"score\": 3, \"risk\": \"LOW\"}, \"expected\": {\"score\": 3, \"risk\": \"LOW\"}, \"passed\": true}, {\"check\": \"age 42\", \"actual\": {\"score\": 4, \"risk\": \"MODERATE\"}, \"expected\": {\"score\": 4, \"risk\": \"MODERATE\"}, \"passed\": true}, {\"check\": \"known atherosclerosis without risk factors\", \"actual\": {\"score\": 4, \"risk\": \"MODERATE\"}, \"expected\": {\"score\": 4, \"risk\": \"MODERATE\"}, \"passed\": true}, {\"check\": \"troponin exactly at limit\", \"actual\": {\"score\": 5, \"risk\": \"MODERATE\"}, \"expected\": {\"score\": 5, \"risk\": \"MODERATE\"}, \"passed\": true}, {\"check\": \"troponin exactly three times limit\", \"actual\": {\"score\": 6, \"risk\": \"MODERATE\"}, \"expected\": {\"score\": 6, \"risk\": \"MODERATE\"}, \"passed\": true}, {\"check\": \"troponin above three times limit\", \"actual\": {\"score\": 1, \"risk\": \"LOW\"}, \"expected\": {\"score\": 2, \"risk\": \"LOW\"}, \"passed\": false}, {\"check\": \"score exactly 6\", \"actual\": {\"score\": 5, \"risk\": \"MODERATE\"}, \"expected\": {\"score\": 6, \"risk\": \"MODERATE\"}, \"passed\": false}, {\"check\": \"score exactly 7\", \"actual\": {\"score\": 7, \"risk\": \"HIGH\"}, \"expected\": {\"score\": 7, \"risk\": \"HIGH\"}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":48.224,"exit_code":1,"observations":[{"actual":{"risk":"LOW","score":3},"check":"low risk control","expected":{"risk":"LOW","score":1},"passed":false},{"actual":{"risk":"LOW","score":3},"check":"troponin just over limit with other assay limit","expected":{"risk":"LOW","score":2},"passed":false},{"actual":{"risk":"MODERATE","score":5},"check":"age exactly 45","expected":{"risk":"LOW","score":3},"passed":false},{"actual":{"risk":"MODERATE","score":6},"check":"age 42","expected":{"risk":"MODERATE","score":4},"passed":false},{"actual":{"risk":"MODERATE","score":6},"check":"known atherosclerosis without risk factors","expected":{"risk":"MODERATE","score":4},"passed":false},{"actual":{"risk":"HIGH","score":7},"check":"troponin exactly at limit","expected":{"risk":"MODERATE","score":5},"passed":false},{"actual":{"risk":"HIGH","score":7},"check":"troponin exactly three times limit","expected":{"risk":"MODERATE","score":6},"passed":false},{"actual":{"risk":"LOW","score":2},"check":"troponin above three times limit","expected":{"risk":"LOW","score":2},"passed":true},{"actual":{"risk":"HIGH","score":7},"check":"score exactly 6","expected":{"risk":"MODERATE","score":6},"passed":false},{"actual":{"risk":"HIGH","score":7},"check":"score exactly 7","expected":{"risk":"HIGH","score":7},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"low risk control\", \"actual\": {\"score\": 3, \"risk\": \"LOW\"}, \"expected\": {\"score\": 1, \"risk\": \"LOW\"}, \"passed\": false}, {\"check\": \"troponin just over limit with other assay limit\", \"actual\": {\"score\": 3, \"risk\": \"LOW\"}, \"expected\": {\"score\": 2, \"risk\": \"LOW\"}, \"passed\": false}, {\"check\": \"age exactly 45\", \"actual\": {\"score\": 5, \"risk\": \"MODERATE\"}, \"expected\": {\"score\": 3, \"risk\": \"LOW\"}, \"passed\": false}, {\"check\": \"age 42\", \"actual\": {\"score\": 6, \"risk\": \"MODERATE\"}, \"expected\": {\"score\": 4, \"risk\": \"MODERATE\"}, \"passed\": false}, {\"check\": \"known atherosclerosis without risk factors\", \"actual\": {\"score\": 6, \"risk\": \"MODERATE\"}, \"expected\": {\"score\": 4, \"risk\": \"MODERATE\"}, \"passed\": false}, {\"check\": \"troponin exactly at limit\", \"actual\": {\"score\": 7, \"risk\": \"HIGH\"}, \"expected\": {\"score\": 5, \"risk\": \"MODERATE\"}, \"passed\": false}, {\"check\": \"troponin exactly three times limit\", \"actual\": {\"score\": 7, \"risk\": \"HIGH\"}, \"expected\": {\"score\": 6, \"risk\": \"MODERATE\"}, \"passed\": false}, {\"check\": \"troponin above three times limit\", \"actual\": {\"score\": 2, \"risk\": \"LOW\"}, \"expected\": {\"score\": 2, \"risk\": \"LOW\"}, \"passed\": true}, {\"check\": \"score exactly 6\", \"actual\": {\"score\": 7, \"risk\": \"HIGH\"}, \"expected\": {\"score\": 6, \"risk\": \"MODERATE\"}, \"passed\": false}, {\"check\": \"score exactly 7\", \"actual\": {\"score\": 7, \"risk\": \"HIGH\"}, \"expected\": {\"score\": 7, \"risk\": \"HIGH\"}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.826,"exit_code":0,"observations":[{"actual":{"risk":"LOW","score":1},"check":"low risk control","expected":{"risk":"LOW","score":1},"passed":true},{"actual":{"risk":"LOW","score":2},"check":"troponin just over limit with other assay limit","expected":{"risk":"LOW","score":2},"passed":true},{"actual":{"risk":"LOW","score":3},"check":"age exactly 45","expected":{"risk":"LOW","score":3},"passed":true},{"actual":{"risk":"MODERATE","score":4},"check":"age 42","expected":{"risk":"MODERATE","score":4},"passed":true},{"actual":{"risk":"MODERATE","score":4},"check":"known atherosclerosis without risk factors","expected":{"risk":"MODERATE","score":4},"passed":true},{"actual":{"risk":"MODERATE","score":5},"check":"troponin exactly at limit","expected":{"risk":"MODERATE","score":5},"passed":true},{"actual":{"risk":"MODERATE","score":6},"check":"troponin exactly three times limit","expected":{"risk":"MODERATE","score":6},"passed":true},{"actual":{"risk":"LOW","score":2},"check":"troponin above three times limit","expected":{"risk":"LOW","score":2},"passed":true},{"actual":{"risk":"MODERATE","score":6},"check":"score exactly 6","expected":{"risk":"MODERATE","score":6},"passed":true},{"actual":{"risk":"HIGH","score":7},"check":"score exactly 7","expected":{"risk":"HIGH","score":7},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"low risk control\", \"actual\": {\"score\": 1, \"risk\": \"LOW\"}, \"expected\": {\"score\": 1, \"risk\": \"LOW\"}, \"passed\": true}, {\"check\": \"troponin just over limit with other assay limit\", \"actual\": {\"score\": 2, \"risk\": \"LOW\"}, \"expected\": {\"score\": 2, \"risk\": \"LOW\"}, \"passed\": true}, {\"check\": \"age exactly 45\", \"actual\": {\"score\": 3, \"risk\": \"LOW\"}, \"expected\": {\"score\": 3, \"risk\": \"LOW\"}, \"passed\": true}, {\"check\": \"age 42\", \"actual\": {\"score\": 4, \"risk\": \"MODERATE\"}, \"expected\": {\"score\": 4, \"risk\": \"MODERATE\"}, \"passed\": true}, {\"check\": \"known atherosclerosis without risk factors\", \"actual\": {\"score\": 4, \"risk\": \"MODERATE\"}, \"expected\": {\"score\": 4, \"risk\": \"MODERATE\"}, \"passed\": true}, {\"check\": \"troponin exactly at limit\", \"actual\": {\"score\": 5, \"risk\": \"MODERATE\"}, \"expected\": {\"score\": 5, \"risk\": \"MODERATE\"}, \"passed\": true}, {\"check\": \"troponin exactly three times limit\", \"actual\": {\"score\": 6, \"risk\": \"MODERATE\"}, \"expected\": {\"score\": 6, \"risk\": \"MODERATE\"}, \"passed\": true}, {\"check\": \"troponin above three times limit\", \"actual\": {\"score\": 2, \"risk\": \"LOW\"}, \"expected\": {\"score\": 2, \"risk\": \"LOW\"}, \"passed\": true}, {\"check\": \"score exactly 6\", \"actual\": {\"score\": 6, \"risk\": \"MODERATE\"}, \"expected\": {\"score\": 6, \"risk\": \"MODERATE\"}, \"passed\": true}, {\"check\": \"score exactly 7\", \"actual\": {\"score\": 7, \"risk\": \"HIGH\"}, \"expected\": {\"score\": 7, \"risk\": \"HIGH\"}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}