File size: 539 Bytes
714c84b
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

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
    }