Insulin timings (2022)

Different insulins have effect (and get used up) at different speeds, and modelling this is important for accurate calculation of subsequent insulin doses.

Some automated insulin delivery (AID) systems try to determine this themselves (e.g. CamAPS has nowhere for us to tell it which insulin we’re using) and some (e.g. Medtronic and Control-IQ) seem to avoid the issue by aiming at very short-term forecasts.

Control-IQ’s decisions are made on 30-minute forecasts and it has a locked in 5-hour linear IOB decay. Medtronic’s “AHCL” in the 780G pump seems to work best (with various insulins?) with a declared “insulin action time” of around 2 hours.
Of course, those timeframes mean something in their algorithms, but they do not match the declared “duration” used in the oref1-based AID systems or in Loop.

I have used oref1-based AID systems for 5+ years now, and while I initially just took the generic advice of “duration will probably be longer than you’ve used when manually pumping” and “everyone will probably have their own duration”, I’ve learnt a lot in the subsequent years.

This article

I have written about this research multiple times in the past, but this article is a recap including recent discoveries. This article shows the settings I use for eight different insulins.

This is all specific to the exponential decay model used in OpenAPS / AndroidAPS and other oref1-based AID systems. The model defines an insulin with two parameters: minutes to peak activity, and total duration (in hours).

These are used in a complex formula to predict how much insulin will be acting at a given point (the sum of all the previous doses at various times) and how much IOB (Insulin On Board) will be left.

I’ve found that a declared duration of 9 hours works well with all of them. People are often surprised by this, assuming that this means that lots of the insulin would be left at 6 hours. But as you can see on the graphs below, the exponential decay means the drop-off is much sooner, with a very long thin “tail” out to the end (see “The Dragon’s Tail“).

Some people assume that the duration will vary across insulins, but my experience disagrees. That’s presumably related to the subcutaneous delivery that we have to use with all insulins. The change in declared peak activity has a significant impact though, so at first glance it can sometimes “feel” as though the insulin is done and gone.

Using these models I’ve also calculated how much of each insulin would have been used within 2 hours. I have found this to be an effective guide in working out how to scale my insulin sensitivity (and thus insulin:carb ratio) when switching insulin type. Generally my basal insulin needs are hardly affected though.

Why did I do this?

First of all, I want to take best advantage of the insulin I’m using. The insulin activity model is the foundation that the rest of our AID maths is built upon.

We often hear that if your basal rates aren’t right then your ISF and IC ratios are probably not right either.
Having the activity model right seems equally fundamental.

That gave me incentive to fine-tune the first few insulins. And then some of the others I’ve done mainly through curiosity. A result though has meant that along the way I’ve seen patterns that have led me back to re-tune the earlier insulins.

Specifying the parameters

In AndroidAPS the peak activity time is set through the Insulin Plugin you select in Config Builder.
The Rapid-Acting Insulin plugin uses 75 minutes.
If you select Ultra-rapid you get Fiasp’s 55 minutes.
The Lyumjev plugin gets 45 minutes.
For the other times we need to use the Free-Peak Oref plugin and set the time in the preferences.

The 9-hour duration is specified in your personal profile. With an older version of AndroidAPS we had to lie to the software that we were pregnant to be able to access anything longer than 7 hours, but the limit was updated for everyone with v3.0.

My settings

I’ve summarised here the peak activity times I use for each of these insulins, along with the predictions of how much insulin has been used after 2 hours, and how much is left after 5 hours.

Insulin Peak mins Used in 2 hours Left after 5 hours
insulin aspart
75 50.2% 5.9%
insulin lispro
75 50.2% 5.9%
insulin glulisine
72 52.2% 5.2%
Fiasp/Humalog 1:1
65 57.2% 3.7%
Fiasp/NovoRapid 1:1 63 58.8% 3.3%
“faster aspart”
55 65.6% 1.9%
Lyumjev/Humalog 1:1 48 72.4% 1.0%
45 75.5% 0.7%

Here they all are together in graphical form:

Note again that all these models are using a 9 hour duration. Even though that point is past the right edge of this graph, that duration is important as it affects the shape of the curves even back around the 2-hour mark.

Some people might be tempted to say “So there’s only 1.9% of Fiasp left after 5 hours: we may as well call it a 5-hour insulin.” However if you changed the declared duration to 5 hours the model would suddenly say that 71.2% had been used by 2 hours, instead of 65.6%. Plus we would be ignoring all the little bits of activity after 5 hours (which hours after large doses can still add up to significant levels). The impact on the AID system (and thus on us) can be massive. I’ve found a declaration of 9 hours works well for all of these insulins.

For completeness, here’s the calculated “activity” graph for the same settings. Essentially the higher the activity line, the steeper the drop on the above IOB graph.

If trying to measure the duration of the insulin via simple single doses and watching the resulting impact on BG, it would be very hard to notice anything after 5 hours for most of these insulins. Not only is there not much insulin left, but neither is it getting used very fast. But with the AID software carefully tracking the lifespan of every microdose of insulin going in, the cumulative effects can be visible. There’s definitely something still there after 5 hours, however slight each individual dose is.

Mixing insulins – very off-label

Three of those insulins are actually mixes of “slow” and fast insulin. This is obviously completely off-label, but it is something I have been comfortable doing when needed.

I mix in the pump reservoir (or the syringe that’s then used to fill the pump). I draw up one insulin, get rid of bubbles, then draw the remainder up from the other insulin. It is somewhat reminiscent of the in-syringe mixing we would do with our “fast” and slow insulins 4 decades ago. There is “dead space” in the end of the reservoir/syringe and I do some compensation for that. The final mix ratio is not precise, but fairly close to even.

As I’m mixing insulins of the same density (e.g. U100) I’m always going to end up with that density, so my dosing should not be affected by that.

The first two mixes here are NovoRapid with Fiasp, and Humalog with Lyumjev. When explaining the mixing is easiest to start with these.

  • Fiasp is essentially NovoRapid with an added accelerant (niacinamide): the insulin aspart molecules are the same.
  • Similarly Lyumjev is essentially Humalog with an added accelerant (trepostinil). The insulin lispro molecules are the same.

So by mixing I reduce the overall concentration of the accelerant. I found it reduced uncomfortable reactions to the accelerant, and in each case when I eventually (after several months) went to straight Fiasp (and Lyumjev) no longer noticed irritation. It’s possible my body may have acclimatised to it.

The end result of the mixing seems to be a peak activity somewhere between that of each component. But as you can see above, not by the same linear scaling for each mix.

Humalog and Fiasp are different insulins, but the Fiasp accelerant does seem to also speed up the lispro molecules somewhat. The NovoRapid/Fiasp mix is conceptually a lot “cleaner”, but I had been using Humalog for years when I started using this “Fiaspro” mix in 2019. At that point I’d never actually had any NovoRapid on hand to try mixing. I revisited Fiaspro recently to see if I was now able to model it better than I did back then.

Fiaspro in 2019 vs now

In 2019 I relied on the collective knowledge of the community, and essentially chose settings that I hoped were right. At the time I was using durations of 6-7 hours, and had been using the default 75-minute peak for Humalog.

Feedback from others who had been using mixed insulins suggested that while the accelerant concentration was reduced, there was probably still enough to give the same accelerated response. Including suggestions that Novo had possibly included more accelerant in Fiasp than was actually needed (“just to be sure”).

So for Fiasp/Humalog mix I declared 55 minutes. I used this for 3 months. My BG control wasn’t perfect, and in hindsight I sometimes had to intervene with either boluses or food to keep me on track. But I didn’t know if that was just me and my profile/etc settings. Eventually I switched back to plain Humalog, and everything seemed a lot “smoother”. Hmmm, maybe Fiasp wasn’t for me after all.

But then I decided to give it “one last go”, but this time with straight Fiasp. I had after all been using a lower concentration of the accelerant for months and wasn’t having any reaction, so I had nothing to lose. And Fiasp worked great! I then stayed with Fiasp for years (essentially until I was able to access Lyumjev from overseas).

Today I’m a lot more confident in my settings, and I went back for another go. I’ve found that 65 minutes (and 9 hours) is a much better definition for Fiaspro. In hindsight that explains what I had been seeing with a 55-minute declaration!

Earlier this year I did also experiment with a Lyumjev/Fiasp mixture, but did not have success trying to model its behaviour. It certainly did not seem faster than plain Lyumjev (or even Lyumjev/Humalog) and I’m not sure it’s worth pursuing.

How do I know these parameters are right?

I don’t know. But I am confident. That they’re right for me at least.
Also I’ve heard from many other people that numbers like these have been working for them too, which is pleasing correlation.

The AID software implicitly trusts the parameters it’s been given. One place where errors can show up is where the remaining IOB is underestimated hours after a period of high IOB (e.g. when dealing with food). In those situations it’s easy for unexpected low BGs to appear, continuing down while the apparent “IOB” is negative (i.e. below the usual basal default).

So in general my experimentation has usually involved starting from shorter settings, and if I notice low patterns like that I compare what the model would predict with slightly longer parameters until I see something that looks like a reasonable effect at the relevant timeframe. Visual analysis of graphs is very useful!
Then I start using those new numbers. Rinse and repeat…

In some cases possibly a peak time 1 minute different might be better (for example the Fiasp/NovoRapid and Fiasp/Humalog mixes might be the same). Also, the closer out to 75 minutes we get the harder it is to pin down the specifics: the impact on the IOB and Activity graphs becomes subtler. It could be that Apidra, Humalog and NovoRapid are even closer to each other than I’ve found here.
But what I’ve ended up with works well enough for me to feel confident using it.

For duration (as I’ve mentioned repeatedly) after a while I found that around 9 hours seems consistent for all these insulins. I have tried 10 hours but haven’t noticed a significant difference. I did notice some issues with 8.5, so 9 seems to be about right.

So I don’t know that these parameters precisely describe the physical behaviour of each insulin. But I do know that the model used in my AID system behaves logically when given these parameters and seems to match what’s going on in my body, which is the most important thing at this point.

Is Apidra faster than Humalog/NovoRapid?

Various people have claimed that it is. And indeed it might be.
There are theories that the hexamers in insulin glulisine can break down into dimers and thus monomers faster than the other insulins. This would contribute to faster efficacy, but also to limitations of storage life (which would seem consistent).

My testing here has been somewhat empirical. I haven’t been able to test the insulin molecules in a lab: I’ve just been observing the final result and adjusting iteratively.

For me the Apidra has turned out to be slightly faster than either Humalog or NovoRapid. Maybe even less than I’ve measured (given my observations that the later the peak activity time, the more subtle the differences in the overall graphs). For example it’s possible that 74 is a good number for Humalog (but it’s too hard to be sure).

I do think it’s worth bearing in mind there are multiple factors that can delay the action of an insulin. Sometimes these are what cause someone to choose a particular insulin.

Why do people use Apidra?

With various insulins in the past I have occasionally found that everything seems delayed. It’s as though the insulin was taking half an hour to get in, and then the 9-hour duration starts. This has seemed related to local site issues: I do have some areas I can no longer effectively use for insulin infusion.

Either because I over-used those locations for Lantus/etc injections decades ago, or they’re in areas I didn’t rotate my pump sites enough on 7 years ago (and kept them in for much longer than 3 days). I think there’s long-term damage to those areas (e.g. fatty deposits) which is taking a long time to heal, and I try to stay well away from them now. Luckily I still have relatively large areas to move sites across. Occasionally I do stray too close, and the site just doesn’t perform properly.

In those cases replacing with a new site elsewhere sends everything back to normal. I’m confident that these rare events did not affect the results outlined here (which were gathered across multiple site changes, reservoir fills, etc). But it does make me wonder if some people are having local issues with NovoRapid or Humalog but don’t with Apidra.

This is after all one of the reasons Apidra usually gets prescribed: reactions to the other insulins (or excipients in them). So some reports of increased speed with Apidra may be down to it just “working normally” vs the other insulins being attenuated by local reactions/inflammation in those people. Maybe.

For me, Apidra is just an option. Sure it seems very slightly faster than Humalog (which was my “old faithful” for decades). But it’s surpassed by faster insulins such as Fiasp and Lyumjev so I have no especial need to use it.

Why would I want to use a faster insulin?

Now if I ever have to change which insulin I’m using (e.g. due to availability issues in an emergency) I feel confident I won’t be losing control of my diabetes.

I have managed to use all of these insulins with my “fully closed” AID setup, where I don’t announce food at all. With the slower insulins my BG can go up a bit more if I over-eat, and take longer to come back, but it does come back and my TIR is not dramatically worse. I think an accurate model of the insulin activity is one of the keys to this.

The faster insulins do make it easier to manage high-carb (and high-GI) meals without overly affecting my TIR result.
They also result in significantly lower peak instantaneous IOB numbers.
The IOB drops off faster before exercise too, which can be a huge advantage in exercise management (I feel it certainly makes my cycling simpler).

So for me the faster insulins are noticeably better. But they can all “work” to some level. As long as I use the right settings!

12 thoughts on “Insulin timings (2022)”

  1. Some interesting observations David. I’ve found that a peak of 38 mins works well for me with Lyumjev, with 7 hours DIA working well.

    1. Surprising. That doesn’t seem to match Lilly’s measured serum levels for Lyumjev at all. Turns out my settings are much closer to their numbers than yours. Hmmm.

  2. Hello David!
    I’d appreciate your feedback on my scenario. I’ve tried Humalog and it doesn’t agree with my system (MD says it’s an allergic reaction to the additives). Hence, I use Novolog w/my Loop /Omnipod. I want to experiment with mixing Novolog with Lyumjev. Do you see any reason why this won’t work? Many thanks!! (Also, I’ve on occasion taken injections of Lyumjev separately and had no allergic/adverse reactions.)

    1. I would be very surprised if Lyumjev didn’t excite similar reactions to Humalog. Especially if administered continuously rather than via occasional injection. From the FDA labels:

      Each milliliter of HUMALOG contains insulin lispro 100 units, 16 mg glycerin, 1.88 mg dibasic sodium phosphate, 3.15 mg Metacresol, zinc oxide content adjusted to provide 0.0197 mg zinc ion, trace amounts of phenol, and Water for Injection.

      Each mL of LYUMJEV U-100 contains 100 units of insulin lispro-aabc and the inactive ingredients: glycerol (12.1 mg), magnesium chloride hexahydrate (1.02 mg), metacresol (3.15 mg), sodium citrate dihydrate (4.41 mg), treprostinil sodium (1.06 mcg), zinc oxide (content adjusted to provide 39 mcg zinc ion), and Water for Injection, USP.

      But you never know. They’re not exactly the same.

    1. Feel free to let us know how you go. 🙂
      It’s not currently in my own plans, but I do know someone who is already using an Apidra/Fiasp mix and I’m hoping will report in a while on how they went using info from this article. We might have to wait for the Christmas/NY feasting to subside before they have answers!

  3. Thank you for this incredibly useful and interesting post, David! I may be missing something, but I think the first two graphs may be missing the Humalog line? I count 7 lines in each graph, but I think the 8th line (dark purple) for Humalog is missing. I was especially interested in comparing the difference in peak for Humalog versus Lyumjev (as I consider switching to the latter) to have a sense of how different they are, and whether extended boluses on Lyumjev might be necessary for foods that currently match the Humalog curve when being digested.

  4. What does this mean for ISF adjustments? I assume a decrease? Any measurements as far as typical percentage decrease across insulins? So if someone is 4, they go to 3.5 or whatever they need to adjust to?

    1. Sorry, which “this” are you referring to? What’s your context for making ISF adjustments?
      If you’re adjusting your DIA from something shorter it might be best to just be prepared to adjust ISF until it works reliably. But just try it as-is first. Depending on which loop/AID algorithm you’re using you might find that it doesn’t have to change a lot.

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.