from config import DEFAULT_ICR, DEFAULT_ISF, TARGET_BG def calculate_insulin_dose(carb_grams, current_bg, icr=DEFAULT_ICR, isf=DEFAULT_ISF): carb_insulin = carb_grams / icr bg_difference = current_bg - TARGET_BG correction_insulin = max(0, bg_difference / isf) total_insulin = carb_insulin + correction_insulin return { 'carb_insulin': round(carb_insulin, 1), 'correction_insulin': round(correction_insulin, 1), 'total_insulin': round(total_insulin, 1), 'expected_bg': TARGET_BG }