{"abstract":"A 175 mg dose is halved to 87 mg, which is not a 5 mg multiple.","category":"Medication dosing calculations","checks":8,"contract":"Input {age, weight_kg, scr, sex, dose_mg, interval_h}. Toy rule: if age >= 65, serum creatinine is raised to at least 0.8 mg/dL. CrCl = (140-age)*weight/(72*scr), times 0.85 for sex \"F\", then truncated to an integer. Bands: CrCl >= 60 unchanged; 30-59 same dose, interval doubled; 15-29 dose halved and rounded down to a 5 mg multiple, interval doubled; < 15 action AVOID. Return {crcl, action, dose_mg, interval_h} (AVOID omits dose and interval).","evaluation_group":"w2-meddose-renal-adjustment","failed_approach":"Nearest rounding of the half dose can round up (87.5 mg to 90 mg), exceeding half of the original dose.","family":"w2-meddose-renal-adjustment-severe-band-dose-rounding","id":"FA-63941","implementations":{"attempt":{"sha256":"49439a04b84799860a8ad7238e0588e84651675f8caba87858a2a6a57ced5097","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    scr = Fraction(str(x['scr']))\n    if x['age'] >= 65:\n        scr = max(scr, Fraction(4, 5))\n    crcl = Fraction(140 - x['age']) * Fraction(str(x['weight_kg'])) / (72 * scr)\n    if x['sex'] == 'F':\n        crcl = crcl * Fraction(17, 20)\n    c = math.floor(crcl)\n    dose, tau = x['dose_mg'], x['interval_h']\n    if c >= 60:\n        pass\n    elif c >= 30:\n        tau = tau * 2\n    elif c >= 15:\n        dose, tau = round(dose / 2 / 5) * 5, tau * 2\n    else:\n        return {'crcl': c, 'action': 'AVOID'}\n    return {'crcl': c, 'action': 'GIVE', 'dose_mg': dose, 'interval_h': tau}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('young adult normal function',\n   {'age': 31, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 105, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 61, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 79, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 61, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 141, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 71, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 40, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 260, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 260, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 6},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 12}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 175, 'interval_h': 8},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 85, 'interval_h': 16}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})],\n [('young adult normal function',\n   {'age': 32, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 105, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 62, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 80, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 62, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 143, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 72, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 40, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 270, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 270, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 24}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 195, 'interval_h': 6},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 95, 'interval_h': 12}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})],\n [('young adult normal function',\n   {'age': 33, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 104, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 63, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 82, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 63, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 145, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 73, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 39, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 280, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 280, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 18},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 36}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 395, 'interval_h': 24},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 195, 'interval_h': 48}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})],\n [('young adult normal function',\n   {'age': 34, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 103, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 64, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 83, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 64, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 148, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 74, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 38, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 290, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 290, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 24},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 48}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 155, 'interval_h': 8},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 75, 'interval_h': 16}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})],\n [('young adult normal function',\n   {'age': 35, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 102, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 65, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 84, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 65, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 150, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 75, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 38, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 30},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 60}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 135, 'interval_h': 6},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 65, 'interval_h': 12}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})]]\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":"468a33d99876fa1212a794e08d909cd7cebd8c5acf5c1185fde6c2694eea87a0","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    scr = Fraction(str(x['scr']))\n    if x['age'] >= 65:\n        scr = max(scr, Fraction(4, 5))\n    crcl = Fraction(140 - x['age']) * Fraction(str(x['weight_kg'])) / (72 * scr)\n    if x['sex'] == 'F':\n        crcl = crcl * Fraction(17, 20)\n    c = math.floor(crcl)\n    dose, tau = x['dose_mg'], x['interval_h']\n    if c >= 60:\n        pass\n    elif c >= 30:\n        tau = tau * 2\n    elif c >= 15:\n        dose, tau = dose // 2, tau * 2\n    else:\n        return {'crcl': c, 'action': 'AVOID'}\n    return {'crcl': c, 'action': 'GIVE', 'dose_mg': dose, 'interval_h': tau}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('young adult normal function',\n   {'age': 31, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 105, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 61, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 79, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 61, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 141, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 71, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 40, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 260, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 260, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 6},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 12}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 175, 'interval_h': 8},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 85, 'interval_h': 16}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})],\n [('young adult normal function',\n   {'age': 32, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 105, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 62, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 80, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 62, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 143, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 72, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 40, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 270, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 270, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 24}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 195, 'interval_h': 6},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 95, 'interval_h': 12}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})],\n [('young adult normal function',\n   {'age': 33, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 104, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 63, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 82, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 63, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 145, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 73, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 39, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 280, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 280, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 18},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 36}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 395, 'interval_h': 24},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 195, 'interval_h': 48}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})],\n [('young adult normal function',\n   {'age': 34, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 103, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 64, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 83, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 64, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 148, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 74, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 38, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 290, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 290, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 24},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 48}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 155, 'interval_h': 8},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 75, 'interval_h': 16}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})],\n [('young adult normal function',\n   {'age': 35, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 102, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 65, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 84, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 65, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 150, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 75, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 38, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 30},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 60}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 135, 'interval_h': 6},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 65, 'interval_h': 12}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})]]\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":"3327c3f491dee428cc7c3a2e0dfbde28a988fea4f9787319b0f75603f53717df","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    scr = Fraction(str(x['scr']))\n    if x['age'] >= 65:\n        scr = max(scr, Fraction(4, 5))\n    crcl = Fraction(140 - x['age']) * Fraction(str(x['weight_kg'])) / (72 * scr)\n    if x['sex'] == 'F':\n        crcl = crcl * Fraction(17, 20)\n    c = math.floor(crcl)\n    dose, tau = x['dose_mg'], x['interval_h']\n    if c >= 60:\n        pass\n    elif c >= 30:\n        tau = tau * 2\n    elif c >= 15:\n        dose, tau = dose // 2 // 5 * 5, tau * 2\n    else:\n        return {'crcl': c, 'action': 'AVOID'}\n    return {'crcl': c, 'action': 'GIVE', 'dose_mg': dose, 'interval_h': tau}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('young adult normal function',\n   {'age': 31, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 105, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 61, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 79, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 61, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 141, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 71, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 40, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 260, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 260, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 6},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 12}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 175, 'interval_h': 8},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 85, 'interval_h': 16}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})],\n [('young adult normal function',\n   {'age': 32, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 105, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 62, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 80, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 62, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 143, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 72, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 40, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 270, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 270, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 24}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 195, 'interval_h': 6},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 95, 'interval_h': 12}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})],\n [('young adult normal function',\n   {'age': 33, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 104, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 63, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 82, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 63, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 145, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 73, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 39, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 280, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 280, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 18},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 36}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 395, 'interval_h': 24},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 195, 'interval_h': 48}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})],\n [('young adult normal function',\n   {'age': 34, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 103, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 64, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 83, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 64, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 148, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 74, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 38, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 290, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 290, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 24},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 48}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 155, 'interval_h': 8},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 75, 'interval_h': 16}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})],\n [('young adult normal function',\n   {'age': 35, 'weight_kg': 70, 'scr': '1.0', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 102, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('65-year-old low creatinine floored',\n   {'age': 65, 'weight_kg': 65, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 84, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('young adult low creatinine not floored',\n   {'age': 40, 'weight_kg': 65, 'scr': '0.6', 'sex': 'M', 'dose_mg': 500, 'interval_h': 8},\n   {'crcl': 150, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 8}),\n  ('elderly high creatinine kept',\n   {'age': 75, 'weight_kg': 70, 'scr': '1.4', 'sex': 'F', 'dose_mg': 500, 'interval_h': 12},\n   {'crcl': 38, 'action': 'GIVE', 'dose_mg': 500, 'interval_h': 24}),\n  ('clearance 59.7 truncates into moderate band',\n   {'age': 80, 'weight_kg': '71.6', 'scr': '1.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 59, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 24}),\n  ('clearance exactly 30',\n   {'age': 80, 'weight_kg': 72, 'scr': '2.0', 'sex': 'M', 'dose_mg': 300, 'interval_h': 30},\n   {'crcl': 30, 'action': 'GIVE', 'dose_mg': 300, 'interval_h': 60}),\n  ('severe band halves dose',\n   {'age': 80, 'weight_kg': 72, 'scr': '3.0', 'sex': 'M', 'dose_mg': 135, 'interval_h': 6},\n   {'crcl': 20, 'action': 'GIVE', 'dose_mg': 65, 'interval_h': 12}),\n  ('clearance under 15 avoided',\n   {'age': 80, 'weight_kg': 72, 'scr': '6.0', 'sex': 'F', 'dose_mg': 300, 'interval_h': 12},\n   {'crcl': 8, 'action': 'AVOID'})]]\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-meddose-renal-adjustment-severe-band-dose-rounding","generated_at":"2026-09-29T14:47:19.661168+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Renal dose adjustment chains a creatinine clearance estimate with band lookups; each stage has a distinct boundary and ordering rule.","repair":"Halve the dose and round down to the nearest 5 mg.","root_cause":"The halved dose is not rounded down to a 5 mg multiple.","sha256":"4924d699d256b4834adf1620f8e69dc7a6def01b15e4c550a4ddd35e6cbba6fd","title":"Cockcroft-Gault renal dose adjustment: severe band dose rounding · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.648,"exit_code":1,"observations":[{"actual":{"action":"GIVE","crcl":105,"dose_mg":500,"interval_h":8},"check":"young adult normal function","expected":{"action":"GIVE","crcl":105,"dose_mg":500,"interval_h":8},"passed":true},{"actual":{"action":"GIVE","crcl":79,"dose_mg":500,"interval_h":8},"check":"65-year-old low creatinine floored","expected":{"action":"GIVE","crcl":79,"dose_mg":500,"interval_h":8},"passed":true},{"actual":{"action":"GIVE","crcl":141,"dose_mg":500,"interval_h":8},"check":"young adult low creatinine not floored","expected":{"action":"GIVE","crcl":141,"dose_mg":500,"interval_h":8},"passed":true},{"actual":{"action":"GIVE","crcl":40,"dose_mg":500,"interval_h":24},"check":"elderly high creatinine kept","expected":{"action":"GIVE","crcl":40,"dose_mg":500,"interval_h":24},"passed":true},{"actual":{"action":"GIVE","crcl":59,"dose_mg":260,"interval_h":24},"check":"clearance 59.7 truncates into moderate band","expected":{"action":"GIVE","crcl":59,"dose_mg":260,"interval_h":24},"passed":true},{"actual":{"action":"GIVE","crcl":30,"dose_mg":300,"interval_h":12},"check":"clearance exactly 30","expected":{"action":"GIVE","crcl":30,"dose_mg":300,"interval_h":12},"passed":true},{"actual":{"action":"GIVE","crcl":20,"dose_mg":90,"interval_h":16},"check":"severe band halves dose","expected":{"action":"GIVE","crcl":20,"dose_mg":85,"interval_h":16},"passed":false},{"actual":{"action":"AVOID","crcl":8},"check":"clearance under 15 avoided","expected":{"action":"AVOID","crcl":8},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"young adult normal function\", \"actual\": {\"crcl\": 105, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"expected\": {\"crcl\": 105, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"passed\": true}, {\"check\": \"65-year-old low creatinine floored\", \"actual\": {\"crcl\": 79, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"expected\": {\"crcl\": 79, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"passed\": true}, {\"check\": \"young adult low creatinine not floored\", \"actual\": {\"crcl\": 141, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"expected\": {\"crcl\": 141, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"passed\": true}, {\"check\": \"elderly high creatinine kept\", \"actual\": {\"crcl\": 40, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 24}, \"expected\": {\"crcl\": 40, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 24}, \"passed\": true}, {\"check\": \"clearance 59.7 truncates into moderate band\", \"actual\": {\"crcl\": 59, \"action\": \"GIVE\", \"dose_mg\": 260, \"interval_h\": 24}, \"expected\": {\"crcl\": 59, \"action\": \"GIVE\", \"dose_mg\": 260, \"interval_h\": 24}, \"passed\": true}, {\"check\": \"clearance exactly 30\", \"actual\": {\"crcl\": 30, \"action\": \"GIVE\", \"dose_mg\": 300, \"interval_h\": 12}, \"expected\": {\"crcl\": 30, \"action\": \"GIVE\", \"dose_mg\": 300, \"interval_h\": 12}, \"passed\": true}, {\"check\": \"severe band halves dose\", \"actual\": {\"crcl\": 20, \"action\": \"GIVE\", \"dose_mg\": 90, \"interval_h\": 16}, \"expected\": {\"crcl\": 20, \"action\": \"GIVE\", \"dose_mg\": 85, \"interval_h\": 16}, \"passed\": false}, {\"check\": \"clearance under 15 avoided\", \"actual\": {\"crcl\": 8, \"action\": \"AVOID\"}, \"expected\": {\"crcl\": 8, \"action\": \"AVOID\"}, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.87,"exit_code":1,"observations":[{"actual":{"action":"GIVE","crcl":105,"dose_mg":500,"interval_h":8},"check":"young adult normal function","expected":{"action":"GIVE","crcl":105,"dose_mg":500,"interval_h":8},"passed":true},{"actual":{"action":"GIVE","crcl":79,"dose_mg":500,"interval_h":8},"check":"65-year-old low creatinine floored","expected":{"action":"GIVE","crcl":79,"dose_mg":500,"interval_h":8},"passed":true},{"actual":{"action":"GIVE","crcl":141,"dose_mg":500,"interval_h":8},"check":"young adult low creatinine not floored","expected":{"action":"GIVE","crcl":141,"dose_mg":500,"interval_h":8},"passed":true},{"actual":{"action":"GIVE","crcl":40,"dose_mg":500,"interval_h":24},"check":"elderly high creatinine kept","expected":{"action":"GIVE","crcl":40,"dose_mg":500,"interval_h":24},"passed":true},{"actual":{"action":"GIVE","crcl":59,"dose_mg":260,"interval_h":24},"check":"clearance 59.7 truncates into moderate band","expected":{"action":"GIVE","crcl":59,"dose_mg":260,"interval_h":24},"passed":true},{"actual":{"action":"GIVE","crcl":30,"dose_mg":300,"interval_h":12},"check":"clearance exactly 30","expected":{"action":"GIVE","crcl":30,"dose_mg":300,"interval_h":12},"passed":true},{"actual":{"action":"GIVE","crcl":20,"dose_mg":87,"interval_h":16},"check":"severe band halves dose","expected":{"action":"GIVE","crcl":20,"dose_mg":85,"interval_h":16},"passed":false},{"actual":{"action":"AVOID","crcl":8},"check":"clearance under 15 avoided","expected":{"action":"AVOID","crcl":8},"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"young adult normal function\", \"actual\": {\"crcl\": 105, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"expected\": {\"crcl\": 105, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"passed\": true}, {\"check\": \"65-year-old low creatinine floored\", \"actual\": {\"crcl\": 79, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"expected\": {\"crcl\": 79, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"passed\": true}, {\"check\": \"young adult low creatinine not floored\", \"actual\": {\"crcl\": 141, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"expected\": {\"crcl\": 141, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"passed\": true}, {\"check\": \"elderly high creatinine kept\", \"actual\": {\"crcl\": 40, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 24}, \"expected\": {\"crcl\": 40, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 24}, \"passed\": true}, {\"check\": \"clearance 59.7 truncates into moderate band\", \"actual\": {\"crcl\": 59, \"action\": \"GIVE\", \"dose_mg\": 260, \"interval_h\": 24}, \"expected\": {\"crcl\": 59, \"action\": \"GIVE\", \"dose_mg\": 260, \"interval_h\": 24}, \"passed\": true}, {\"check\": \"clearance exactly 30\", \"actual\": {\"crcl\": 30, \"action\": \"GIVE\", \"dose_mg\": 300, \"interval_h\": 12}, \"expected\": {\"crcl\": 30, \"action\": \"GIVE\", \"dose_mg\": 300, \"interval_h\": 12}, \"passed\": true}, {\"check\": \"severe band halves dose\", \"actual\": {\"crcl\": 20, \"action\": \"GIVE\", \"dose_mg\": 87, \"interval_h\": 16}, \"expected\": {\"crcl\": 20, \"action\": \"GIVE\", \"dose_mg\": 85, \"interval_h\": 16}, \"passed\": false}, {\"check\": \"clearance under 15 avoided\", \"actual\": {\"crcl\": 8, \"action\": \"AVOID\"}, \"expected\": {\"crcl\": 8, \"action\": \"AVOID\"}, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.752,"exit_code":0,"observations":[{"actual":{"action":"GIVE","crcl":105,"dose_mg":500,"interval_h":8},"check":"young adult normal function","expected":{"action":"GIVE","crcl":105,"dose_mg":500,"interval_h":8},"passed":true},{"actual":{"action":"GIVE","crcl":79,"dose_mg":500,"interval_h":8},"check":"65-year-old low creatinine floored","expected":{"action":"GIVE","crcl":79,"dose_mg":500,"interval_h":8},"passed":true},{"actual":{"action":"GIVE","crcl":141,"dose_mg":500,"interval_h":8},"check":"young adult low creatinine not floored","expected":{"action":"GIVE","crcl":141,"dose_mg":500,"interval_h":8},"passed":true},{"actual":{"action":"GIVE","crcl":40,"dose_mg":500,"interval_h":24},"check":"elderly high creatinine kept","expected":{"action":"GIVE","crcl":40,"dose_mg":500,"interval_h":24},"passed":true},{"actual":{"action":"GIVE","crcl":59,"dose_mg":260,"interval_h":24},"check":"clearance 59.7 truncates into moderate band","expected":{"action":"GIVE","crcl":59,"dose_mg":260,"interval_h":24},"passed":true},{"actual":{"action":"GIVE","crcl":30,"dose_mg":300,"interval_h":12},"check":"clearance exactly 30","expected":{"action":"GIVE","crcl":30,"dose_mg":300,"interval_h":12},"passed":true},{"actual":{"action":"GIVE","crcl":20,"dose_mg":85,"interval_h":16},"check":"severe band halves dose","expected":{"action":"GIVE","crcl":20,"dose_mg":85,"interval_h":16},"passed":true},{"actual":{"action":"AVOID","crcl":8},"check":"clearance under 15 avoided","expected":{"action":"AVOID","crcl":8},"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"young adult normal function\", \"actual\": {\"crcl\": 105, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"expected\": {\"crcl\": 105, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"passed\": true}, {\"check\": \"65-year-old low creatinine floored\", \"actual\": {\"crcl\": 79, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"expected\": {\"crcl\": 79, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"passed\": true}, {\"check\": \"young adult low creatinine not floored\", \"actual\": {\"crcl\": 141, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"expected\": {\"crcl\": 141, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 8}, \"passed\": true}, {\"check\": \"elderly high creatinine kept\", \"actual\": {\"crcl\": 40, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 24}, \"expected\": {\"crcl\": 40, \"action\": \"GIVE\", \"dose_mg\": 500, \"interval_h\": 24}, \"passed\": true}, {\"check\": \"clearance 59.7 truncates into moderate band\", \"actual\": {\"crcl\": 59, \"action\": \"GIVE\", \"dose_mg\": 260, \"interval_h\": 24}, \"expected\": {\"crcl\": 59, \"action\": \"GIVE\", \"dose_mg\": 260, \"interval_h\": 24}, \"passed\": true}, {\"check\": \"clearance exactly 30\", \"actual\": {\"crcl\": 30, \"action\": \"GIVE\", \"dose_mg\": 300, \"interval_h\": 12}, \"expected\": {\"crcl\": 30, \"action\": \"GIVE\", \"dose_mg\": 300, \"interval_h\": 12}, \"passed\": true}, {\"check\": \"severe band halves dose\", \"actual\": {\"crcl\": 20, \"action\": \"GIVE\", \"dose_mg\": 85, \"interval_h\": 16}, \"expected\": {\"crcl\": 20, \"action\": \"GIVE\", \"dose_mg\": 85, \"interval_h\": 16}, \"passed\": true}, {\"check\": \"clearance under 15 avoided\", \"actual\": {\"crcl\": 8, \"action\": \"AVOID\"}, \"expected\": {\"crcl\": 8, \"action\": \"AVOID\"}, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}