Skip to content

The active insulin (IOB) is not correctly reported #2319

Description

@sarusso

Describe the bug
The active insulin (IOB) reported by the UI is not the actual amount, but includes the planned one over the next 30 minutes (of basal insulin). This can be misleading, because:

  1. in temp basal only mode, the reported active insulin can be much higher than the actual value; and
  2. in both temp basal and automatic bolus modes, when the basal is reduced to prevent going below target, the reported active insulin is less than the actual value.

To Reproduce
Steps to reproduce the behavior:

  1. Cause Loop to reduce the basal insulin when there is already some active insulin, for example by bolusign some units without any carb intake (in a simulator)
  2. Wait for Loop to reduce the basal insulin and check the reported active insulin

Expected behavior
Loop should report as active insulin the insulin which is actually active "right now".

Loop Version

  • 3.6.0

Activity

  1. marionbarker commented on Jun 30, 2025

    @marionbarker
    Contributor

    I believe this is as designed. The reported Active Insulin assumes no further action from Loop (in case communication is lost). Once a pump is commanded with a temporary basal rate, unless the temporary basal is interrupted, that amount will be delivered (or withheld). (Edited to change the phrase "insulin delivered" to "Active Insulin".)

    I defer to @ps2 on this one. If he agrees, then I will close the two PR associated with this issue.

  2. sarusso commented on Jun 30, 2025

    @sarusso
    Author

    I appreciate the explanation, but I have to respectfully disagree. IOB stands for “Insulin On Board”, not “Insulin Planned for Delivery.” If it stays like this, it’s just misleading.

    As a possible solution, could we consider splitting IOB into two values? One for insulin actually delivered, and another for planned insulin, e.g.: 1.1U → 2.2U (which is what I did for myself). That would keep things safe and transparent, while improving clarity.

    Also, on the design choice — can we open this up to broader discussion? Loop is an open-source, community-driven project, and it would be great to have a more inclusive dialogue on decisions like this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions