Determining your carbohydrate absorption rate (#DIYPS lessons learned)

Calculating your absorbed carbs after a large meal matters; here’s how to do it (lessons learned from #DIYPS): @danamlewis @scottleibrand

We recently reported a number of lessons from #DIYPS that have allowed us to greatly improve management of mealtime blood glucose in type 1 diabetes (n=1). One key component was measuring the rate at which carbs were absorbed into the bloodstream (in the absence of any prebolus or IOB), and tracking the carbohydrate decay over time. In order to effectively adapt these lessons from #DIYPS, it would be useful for others to do the same test. This post attempts to describe how to do so.


This test is applicable to people with type 1 diabetes (with little or no natural insulin production) and requires the use of a continuous glucose monitor, such as the Dexcom G4. In order to eliminate as many variables as possible, it is important that no insulin is onboard (IOB) other than normal basal insulin. It is also important that nothing has been eaten recently, and that blood glucose levels are stable and in range. Since this test involves consuming carbohydrates without immediately bolusing for them, it is also useful if blood glucose levels are at the low end of normal range, ideally around 80 mg/dl. You can expect the test to take up to two hours, depending on the quantity of carbs consumed and the absorption rate.

Preparation and background

Once all these conditions are met, the actual test consists of consuming a premeasured quantity of carbohydrates (sugars or starches, without significant protein or fat), like a small juice box. In addition to measuring the rate at which carbs are absorbed, this test will also allow you to measure your carbohydrate to blood glucose ratio. In order to avoid raising blood sugars to unsafe levels, it is best to use 15 to 30 g of carbs, depending on your initial BG level and your carb to BG ratio.

If you do not know your carb to BG ratio, it can be calculated using your carb to insulin ratio (meal bolus ratio) divided by your correction ratio. For example, if your meal bolus ratio is 10 g carbs per 1U insulin, and your correction ratio is 40 mg/dl per 1U insulin, then your carb to BG ratio is 10g carbs to 40 mg/dl of BG; or more simply 1 g carbs to 4 mg/dl of BG. In that case, if your initial BG level is 80 mg/dl, and you consume 20 g of carbs, you should expect your BG to rise 80 mg/dl, to 160 mg/dl, by the end of the test. By observing how high your BG actually rises, you can determine whether or not your ratios are accurate, and if necessary re-estimate your carb to BG ratio.

Running the test

When you are ready to do the carbohydrate absorption rate self-test, simply note the time at which you consume the carbohydrates, and the CGM blood glucose level at that time. (Being aware of the accuracy of CGMs, you may decide to also test your BG with fingerstick/meter to correlate. Obviously, you’d want to do this self-test with a CGM sensor that you feel is “good” and in range with your BGs rather than one that doesn’t seem to be tracking very well.) Then, as each additional BG reading comes in every five minutes, note the time and BG level. You should expect to see BG stayed relatively constant for an initial delay period of roughly fifteen minutes, then rise steadily until all the carbohydrates are absorbed, and your BG has risen to approximately the level predicted by your carb to BG ratio. At that point, BG should flatten out, and you should administer a correction bolus. (If your ratios are correct, and no confounding factors are in play, the correction bolus should be approximately the same amount as the original meal bolus would have been for the carbs consumed at the beginning of the test. Again, if you have 20g of carbs and your correction ratio is 1u:40mg/dl, you would correct 2 units to bring yourself from 180 to 100; this would match the 2 units you would have taken for 20g of carbs given the 1u:10g carb ratio.)


Example of the steady, consistent rise of BGs following carb consumption

Calculating results

Once the test is complete (or earlier, if you’re bored or impatient), you can note your initial carb absorption delay (the time required for glucose to get from your mouth to your CGM receiver), which is simply the time between when you ate the carbohydrates and the first significant uptick (generally more than 5 mg/dl in a 5 minute measurement interval). Then, once you start to see a sustained rise, you can calculate the rise rate. For example, if after 30 minutes from the start of the rise (~45 minutes from when you ate the carbs) you’ve risen 60 mg/dl, that would be a rise rate of 2 mg/dl/minute. If your carb to BG ratio is 1 g carbs to 4 mg/dl of BG, that would equate to 0.5 g carbs / minute, or 30 g carbs / hour.


You may see that your carb absorption rate has an initial ramp-up period, and that it takes a few data points before BG begins rising steadily at ~10 mg/dl per data point (each data point is 5 minutes). Similarly, you may see that the BG rise flattens off gradually at the end. However, if your experience is like ours, you’ll see that for most of the time the carbs are being absorbed, the rise rate is fairly steady. For this reason, we find it useful to approximate the carb absorption curve by assuming an initial delay, where BG remains flat, followed by a linear rise at a constant rate (2mg/dl/min in Dana’s case), until all the carbs are absorbed and BG flattens out.

Calculating unabsorbed carbs after a meal

Modeling carbohydrate absorption in that way allows you to fairly easily calculate how many carbs remain unabsorbed after a meal: simply subtract the initial carb absorption delay (~15m for Dana) and divide by the carb absorption rate (~2mg/dl/min) to see how many carbs are absorbed, and subtract that from the estimated meal carbs to get an idea of how much still remains to be absorbed. This, in turn, enables you to do a meal bolus calculation (as if you were just now eating the unabsorbed carbs) to determine whether your IOB is too high (while you still have time to do a zero temp basal) or too low (allowing you to safely administer an additional correction bolus even before your BG is done rising from the meal). #DIYPS uses this algorithm to repeatedly re-evaluate the remaining/active carbohydrates in the body and compare it to the IOB. Given that things can change quickly (especially with exercise/activity after a meal), the possibility of miscalculated carbohydrates ingested, or simply the body’s variable response to insulin, recalculating this repeatedly helps provide an additional safety net after meals.

Going from n=1 to n>1

The simple self-test and calculations above should provide people with type 1 diabetes a method to approximate their own carb absorption rate and calculate carbs on board at any time after a meal.

If you do perform this or a similar test and determine your carb absorption rate, it would be interesting and useful (especially in developing #DIYPS to be suitable for more widespread use) to compare results and see how carb absorption varies from person to person. If you are willing to share your results, please reach out to us to share (privately) whatever information you are comfortable sharing, such as carb absorption rate, carb to BG ratio, carb to insulin meal bolus ratio, and/or insulin to BG correction ratio. We will not share your individual data, but if we get enough responses, we will share aggregated statistics (average, median, standard deviation, etc.) so that people who have not done their own carb absorption test can still get a better idea of how fast their mealtime carbohydrates should be absorbed.

#DIYPS findings can help people with type 1 diabetes, regardless of tech, better manage post-meal blood glucose

Over the past few months, while developing #DIYPS, we have discovered a few things about mealtime blood glucose (BG) levels that we thought would be worth sharing more broadly. Using the insights, tips, and techniques below, it should be possible for many people with type 1 diabetes to more effectively keep their post-meal (post-prandial) BG levels in range. Here’s what we’ve learned…

After an initial carb absorption delay…

When carbohydrates are consumed, as part of a meal or snack, or to correct a low-blood-glucose (BG) situation, it causes BG to rise, but that rise is both delayed and gradual. In developing #DIYPS’s model, we discovered that for n=1, there is a delay of approximately 15 minutes between carb consumption and when BG starts to rise (as measured by a Dexcom G4 CGM, which actually measures subcutaneous interstitial-fluid glucose levels).

Subsequent carb absorption rate is constant…

In addition, we discovered that the rate at which BG rises after carb consumption is fairly constant, both across food types and over time. For n=1, we observed that carbohydrates are digested and absorbed at a rate of approximately 30g/hour (0.5g/minute), and that this rate is relatively constant beginning after the initial 15-minute lag, and lasting until the last of the carbs are absorbed (up to 4 hours later, in the case of a large 120-carb meal).

Regardless of glycemic index…

We also observed that, for real-world meals, glycemic index (GI) doesn’t matter much for carb absorption rate. Our initial testing was performed on high-GI foods used to correct low BG (juice and Mountain Dew) and a milkshake consumed without corrective insulin while participating in an unrelated clinical trial (to try to detect any endogenous insulin production, which was not present). However, in subsequent real-world use of #DIYPS, we’ve observed the same for almost all meal types. It seems that for meals containing at least some sugar, starch, or other highly accessible form of carbohydrates, the body seems to begin digesting and absorbing the most accessible carbs immediately, and is able to break down low-glycemic-index carbohydrates by the time the higher-GI foods are absorbed.

Additionally, insulin activity at mealtime matters a lot…

While developing and testing #DIYPS (and working to bring A1c down a full percentage point), we also observed that the level of insulin activity at the start of a meal matters a great deal in determining whether BG rises significantly as the meal carbs are absorbed by the body.

Pre-boluses can help…

One fairly common technique for dealing with this, among people with type 1 diabetes, is the pre-bolus. This generally means estimating insulin requirements for an upcoming meal, and bolusing or injecting fast-acting insulin approximately 15 minutes before the meal. Such pre-boluses do help somewhat in preventing large spikes in BG immediately after meals, but in our experience an 80-point BG rise (from 80mg/dl to 160mg/dl, for example) is still common for meals consumed “on an empty stomach” with little or no extra insulin on board (IOB) prior to the pre-bolus.

But pre-bolusing can sometimes be dangerous…

Also, pre-bolusing can contribute to dangerously low BG (hypoglycemia) if a meal is delayed or if you end up eating fewer carbs than expected.

And what really matters is not IOB, but insulin activity…

Based on observing the differences in post-meal (post-prandial) BG between empty-stomach meals and those where insulin was already on board and at full activity from small snacks or correction boluses 1-2h prior to the meal[1], it appears that what actually makes the most difference for post-meal BG is not how much insulin is on board (IOB) at the start of meal time, but rather how much insulin has already been absorbed into the bloodstream and is at full activity.

Because the liver needs insulin when the carbs first hit…

When carbohydrates are initially absorbed by the small intestine, they are directed into the portal vein and pass through the liver before reaching the rest of the body’s circulatory system. The liver is designed to absorb any excess glucose out of the blood at that point, storing it for later release. The mechanism by which the liver does so is dependent on two factors: the presence of higher glucose levels in the portal vein than in general circulation (indicative of ongoing carb absorption), and the presence of sufficient active insulin. If enough insulin is fully active, the liver can absorb ingested carbs just as fast as they can be absorbed from the intestine. If not, then the glucose passes through the liver into general circulation, and cannot be subsequently absorbed by this mechanism, but must be absorbed later by peripheral tissues once insulin levels get high enough.

And a 15m pre-bolus doesn’t get insulin active fast enough…

Even fast-acting insulin does not reach peak activity for 60-90 minutes after injection, since it must be absorbed through subcutaneous tissue into the bloodstream. This means that, if no insulin is on board from previous boluses, the pre-bolus insulin doesn’t really kick in for 30 minutes or more after the start of the meal. In the time it takes pre-bolus insulin to kick in, the body might absorb 15-20g of carbohydrates, resulting in a 60-80 mg/dl rise in BG.

So, some insulin is needed sooner…

So we need to get enough insulin active at mealtime to allow the liver to do its job, but not so much as to cause low BG before or after the meal. The best way we’ve found to do this is to do a small early pre-bolus about an hour prior to a meal. We calculate the size of the early pre-bolus based on the current BG, by determining how much insulin we can safely add and still stay above 80 mg/dl for 1-2 hours. In our case, that means assuming that up to 75% of the insulin activity will occur before the meal carbs kick in. So for a BG of 110 mg/dl an hour prior to the meal, and a correction ratio of 40 mg/dl per unit of insulin, it would be safe to bolus 1 unit of insulin. That 1 U then ramps up to peak activity right at mealtime, and largely prevents any substantial rise in BG immediately after the meal.

Finally, we can time mealtime insulin based on carb absorption…

Once we’re almost ready to eat and it’s time for a normal pre-bolus, it’s important not to over-bolus for all our carbs all at once. Doing so (particularly after a successful early pre-bolus for a large meal) risks causing post-meal low BG, as insulin activity can peak before all the meal carbs can be absorbed. For example, a large meal with 90g of carbohydrates would take 3 hours to absorb, but insulin activity often peaks after 60-90 minutes. So what we have developed and incorporated into #DIYPS is a relatively simple meal-bolus algorithm that dramatically reduces high- and low-BG situations after meals. The most important feature of this algorithm can be implemented manually without #DIYPS, either via multiple boluses or via a combo/dual/“square wave” bolus. The key idea is to bolus only for those carbs that will be absorbed by the time the insulin hits peak activity. So if you have a large meal, you might decide to bolus at mealtime for only the first 30g of carbs initially (minus any prebolus), since those will be absorbed over the first 60 minutes. If the meal totals 60g of carbs, you will then want to bolus for the next 30g of carbs over the next hour, possibly via a continual delayed (“square wave”) bolus, or by doing one or more manual bolus(es) after the meal is over. (The latter strategy is similar to what #DIYPS does, in 0.5U increments, as it allows you to react if you eat more or fewer carbs than expected, or if BG rises or falls unexpectedly in the interim.)

Resulting in almost flat BG, even after large meals…

By combining all these strategies, and providing real-time feedback and alerts when boluses, temp basals, or carbs are necessary, #DIYPS has allowed us to largely eliminate post-meal hyperglycemia, while minimizing risk of hypoglycemia. As detailed previously, this has helped reduce A1c by a full percentage point, reduce BG standard deviation, and increase time in range. While such impressive results are hard to achieve without assistance, it definitely should be possible for many people with diabetes to improve their own ability to manage post-meal BG levels by adopting some of the same techniques into their own self-care.

Note: there have been some updated posts since this original post about how to easily do the “eating soon” mode approach. Take a look at these illustrations for more details on it!


[1] A few weeks ago, we were enjoying a weekend down in Portland. Normally, Dana eats a fairly low-carb breakfast, small snacks throughout the day as needed, and ends up with a fair bit of insulin activity at lunch and dinner time. That weekend, however, we had two very large spikes in postprandial blood glucose, after a late brunch, and then again after dinner, following a hike at Multnomah Falls. The next day, we saw a much smaller post-meal rise after brunch, as she had corrected a morning low with juice, and then bolused to prevent a rebound, so that insulin was near full activity at brunch time. Subsequently, we have incorporated these insights into #DIYPS’s “eating soon” mode, and have been able to much more consistently prevent large BG spikes immediately after meals.