Tidepool and Loop

If you weren’t aware, I am now working with Tidepool to release Loop as a supported, FDA-regulated mobile app available in the App Store. So, now there’s a DIY Loop to talk about and a Tidepool Loop.  There’s a lot of work to be done to accomplish this project, and a LOT of people pulling for us to do well. If you are interested in staying up on the progress, you can fill out this form to get updates.

With that introduction made, now I am going to talk a little bit MY personal involvement with Tidepool from even before Loop days.

As a person with diabetes, you’re probably carrying around a lot of different devices that are holding a lot of different data; a blood glucose meter for your finger sticks, pump for insulin delivery, continuous glucose monitor for real-time glucose measurements, phone app for tracking meals, etc. When you go to your endocrinology office, you probably start the process by dropping many of those devices at the front desk to be individually downloaded and then having to pack all them away 20 minutes later.

Then your clinic staff have the less-than-efficient process of trying to overlay all those different devices into some sort of cohesive strategy for how your diabetes may need some tweaks. Our clinic currently has to look at separate reports from Medtronic pump, Contour Next Link BG meter, Dexcom CGM/Clarity, and our iPhone Health app. Oh, how I don’t envy them.

Enter Tidepool. Tidepool said “Hey, this is your data and all that data is more useful when viewed together.” So, Tidepool is like your diabetes data hub. Upload all those devices into ONE place so that the meal that you ate, the blood glucose response, pump actions, and the finger checks all overlay into a nice single timeline. Makes figuring out how to adjust your diabetes settings a whole lot easier when you can see this all at once.

Actually, let me borrow my own employer’s words:

Our mission is to make diabetes data more accessible, actionable and meaningful for people with diabetes, their care teams and researchers.

We believe that connected data leads to better decision-making. Tidepool’s free software liberates data from diabetes devices, and places it in context of the real world. Tidepool is designed to help you discover insights and bring context to your diabetes management. And, to help make your data more actionable, we allow you to share your data with anyone you choose: caregivers, clinicians, endocrinologists, friends, researchers – anyone.

We started using Tidepool when Anna was on the Omnipod pump and Dexcom. We would plug in her Omnipod PDM and Dexcom receiver into our desktop computer, use the Tidepool Uploader program and <voila!> Anna’s data be in one lovely place for us to see. Were there drawbacks? Yup, had to remember to actually do it myself. Which eventually ended up being about every week before an endo appt.

While I didn’t have the forethought to capture screenshots of our Tidepool data at the time, it looked much like this for comparison…

And then we started Looping, and life was grand as far as our diabetes lifestyle.

However with Looping, we had to stop using Tidepool. There just wasn’t a way to upload from our old Medtronic pump. Tidepool only had (at the time) uploader support for the following Loop-compatible pumps: Paradigm 523 /723 and Veo 554/ 754. We started Loop using a 722.  We were out of luck. As were all of the people using 522, 722, 515, and 715 pumps.

We ran into a couple issues with Looping when it came to viewing our data using other means, too.

  • Medtronic’s pump gets so clogged up by the numerous temp basal records being recorded that the endo clinic can only pull about 7 days of data from the pump.
  • Endo clinic basically lacked an overlay of basal/bolus actions with BGs from our Dexcom, which really limited their ability to recommend any settings changes.
  • Nightscout reports could fill some of the gap as far as overall management, but the problem was with the actual gathering of the reports. It’s a little hard for the endo clinic to bring up your NS reports live time, and I am terrible about remembering to print them out ahead of time. Plus, the data presentation was just not quite the same as the Tidepool look I had grown accustomed to.

    • I don’t bother to make manual notes in my Nightscout’s careportal about things we are doing…so if the endo asks me “What happened here?” chances are good that I won’t remember a darned thing about it and there will be no note. Trying to find an old meal to help with the next time we bolused/ate it? Forget about it.
    • With all my experimenting with Dexcom gear *cough, cough* I sometimes cluttered up my daughter’s clarity account with my BG data unintentionally. Dexcom’s servers did not always like my constant switching of accounts and transmitters, so sometimes our Clarity reports would print out as a black ink jet blob basically. Oops.

Well, I’m here with wonderful news!

Tidepool is bringing in Loop data!  

How does it work?

The Tidepool Mobile iOS app is getting an update (soon to be in beta release) to sync a Looper’s diabetes-related Health data into their Tidepool account. The app will continuously upload that data so long as the Tidepool Mobile app is open, even if it is only open in the background. That data will then be viewable in two places: on the Tidepool Mobile app itself or on your Tidepool account using desktop Chrome browser (although they are not identical viewing platforms, see discussion below). This means a Loop user will not have to plug any of their devices into a USB cable in order to upload their information to Tidepool.

Is this a replacement for Nightscout?

Nope. This was not designed nor intended to be a replacement for your Nightscout site. I think they complement each other, rather than compete. This new upload of Loop data will allow me and my clinic to have a powerful tool to analyze Anna’s Loop data through an easy-to-use, shared hub.

What data will you see in desktop Chrome view?

You will see your temp basals, Dexcom CGM readings, boluses, notes, and various metrics about your data distribution. If you separately load your BG meter or any other supported device to Tidepool, those will also overlay. See discussion below about what’s missing (hint…carbs aren’t showing yet).

How can I share this data?

Sharing the data is simple. You can click on your account’s Share option and enter in the email addresses for those that you want to share with. Those people will need a Tidepool account. If they don’t have one currently, they will follow easy prompts for an account setup after they’ve received your share invitation. Clinics using Tidepool will have a Tidepool account email that you can add to your account, enabling the clinic to easily view your data. You can also remove access for anyone with a simple click.

Are there any known issues?

Sure, of course…you may have missed the word BETA in all the excitement. There are some bugs currently being worked out. For example, the carbs associated with the Loop uploads are being uploaded by Tidepool Mobile, but they aren’t currently rendered in your desktop view or the Tidepool Mobile view. If you look at the Daily view screenshot a little above…notice that the little yellow carb circles are missing? We will be getting that bug addressed. Soon, hopefully, your chart will include little carb circles like below (rendered with my crude skills for demonstration only).

There are some calculated data areas that need updating, too. If you see a NaN (“not a number”), it is a placeholder for where a number will eventually go. We know and we don’t like seeing those either. We are keeping a list of the things that need addressing.

What will I see in the Tidepool Mobile app?

The Tidepool Mobile app is not a live-viewing app of looping data. For people coming from Nightscout, this may be a bit confusing but realize the intended purpose of the Tidepool Mobile app isn’t live-viewing. It is the place that you can (1) upload/sync Health data, (2) easily add/edit/delete notes to the data set, and (3) search for notes and view Loop data surrounding that note.

In fact, you will basically see NO data in the Tidepool Mobile app unless you have Tidepool data uploaded and notes are added. Once you add a note, you are basically placing a bookmark on the data set. You will be able to click on the note and see 7 hours of old data before the note, and then the note will continue to collect 7 hours of data to display after the note. So, technically, you’ll be able to refresh the app’s view to see current data for approximately 7 hours after a note is placed.

For example, here’s Anna’s data tonight as I was typing this blog post. Over the last couple hours, Anna noticed that she was staying above target (unusual for us on Loop and with the meal she had) for quite a while. She had given a couple small corrections without result. Which then she started her secondary troubleshooting…if it’s not the food, maybe it’s my site? Ah yes, she realized it has been 4.5 days since changing her site. So, she just logged a note using the app. That note showed on my phone, shows up on her Tidepool data for her endo to see too, and we can refresh the view to see how the BGs go for the next 8 hours after the site change if we want.


What cool thing does Katie use this Tidepool Mobile app for?

I think the best thing about this Tidepool Mobile app (other than importing all Anna’s valuable Loop data automatically) is that I can keep a really easy searchable log of meal boluses. If you are still learning new meals in Loop…how much to bolus, how long of a carb absorption…these notes are searchable and super easy to add. Learning how to bolus for that Tofu Breakfast Burrito? (Don’t ask, that’s really a thing Anna is eating now.) Simply record a note of how you bolused for it. If you want to, come back afterwards and leave yourself some suggestions for the next time to try. This searchable information can also help for those teens that are learning and exercising independent skills. If they aren’t sure of how to bolus for a meal, this could give them an easy way to get tips from past success without necessarily having to stop and ask a parent. As much as a parent might scoff at the idea of a kid looking up a meal, if the alternative is asking a parent…that might be all the motivation it takes. Anna learned this little trick pretty quickly. Or how about co-parenting? Want to leave a note that another parent or caregiver can look up? How were the last Chicken McNuggets bolused for or when was the last site change can easily be tracked and retrieved with notes.

Search for the word burrito (doesn’t have to be a hashtag) and any notes with the word “burrito” will be available for review, as well as any added comments.


Another useful thing to track…hormones. What day-of-the-month and how did I change the basals? Looking to find patterns in those female hormones? This could be a really slick tracking tool to easily log periods of insulin resistance and what part of the cycle they are occurring at.

Is this app only for Loop users?

The updated Tidepool Mobile app will upload diabetes-related Health app data regardless of the source. Loop users store their data in Health app, so this is a nice fit. Other diabetes devices (e.g., OneDrop BG meter) and apps (e.g., Spike and Dexcom) also store their data in Health app. Some people even manually enter their diabetes data into Health app. For all those uses, the Tidepool Mobile app will upload the Health data. OpenAPS does not store its data in Health app, so this will not upload OpenAPS-related data.

How can I get this?

Frankly, probably a lot of Loop users may not be familiar with Tidepool at all…so this post was part introduction and part announcement. Tidepool’s goal is to get a limited number of beta testers to help us identify bugs or problems.  We’d like to cover a variety of  Health-app users such as Loop, Dexcom, InPen, OneDrop, SpikeApp, SugarSense, OneTouch Reveal, and Accu-Check Connect. We’d like people who are willing to report bugs and won’t curse my name if you find one.

In summary, if you are interested in being a Tidepool Mobile iOS Beta participant, click here to fill out the recruitment form.  Thanks!

WWLD: What would Loop Do?

Probably one of the hardest things about closed looping is when you find yourself not understanding the direction that your loop is taking.  “WHY is Loop not giving more insulin right now?” or “Why is Loop doing nothing?”

To answer these questions, you have to Think Like A Loop.  In other words, we need to know about Loop’s algorithm and understand what its decision points are.  Tonight in Looped group, I posted this figure of a simulated BG curve and asked:

It’s 8pm and your predicted BG curve looks like the following. What do you expect Loop to recommend/enact at 8pm?

A. Zero (suspend) temp basal
B. Scheduled basal from your settings
C. High temp basal
D. Lower temp basal (between zero and scheduled)

Let me just say…LOVED the engagement and thought people put into it.  The responses also help me focus on the next project I’m working on…super excited to release it in a week or two.  But, back to question at hand.

What would your answer be?  Before you give your final answer…consider this next twist.  Would you give the same answer to this graph as you gave the graph above?  If not, what would the answer be for this graph and why? (ignore the timestamp mismatch)

This second case has a dramatic drop happening.  Suspend threshold is still at 60 mg/dL, correction range is still 90-110, the lowest value on the predicted BG chart is 75 mg/dL, and the eventual BG is 171 mg/dL for this example.  So, pretty similar to the first example except this precipitous drop going on right now.

Let me tell you some of the common pitfalls we all can easily slip into when trying to answer these “Why is Loop giving me this basal?” questions.

  • Wondering about IOB, COB, or DIA in order to answer…those aren’t a factor to answering the question as they have already been used to make the predicted BG curve.  In other words, they are accounted for already in the information presented.  All you need to answer this question is provided by the predicted BG curve, your suspend threshold, and your correction range.
  • Thinking about this as a human…humans tend to say “well, I’m on a rise/fall right now so…[insert Loop action based on that]”  Loop isn’t looking at the past BG movement, instead it’s looking at the prediction curve ahead and applying its rules based on that.  Any drop or rise going on will have been added to the predicted curve through the BG momentum and retrospective correction components of the algorithm…so again they’re already incorporated into the predicted curve.

Restating for emphasis:  All you need to answer this question is provided by the predicted BG curve, your suspend threshold, and your correction range.

The answer is B:  Loop will give your scheduled basal in both situations shown above.  When your predicted BG curve (A) drops for a time below correction range but (B) all of the curve still above suspend threshold, and Eventual BG is (C) above range or (D) within range…Loop will give your scheduled basal.

The logic is a bit of a wait and see.  Scheduled basal will maintain the delivery of insulin.  Your settings haven’t told it this is an “oh my gosh…stop the insulin!” moment (you’re predicted to still stay above suspend threshold), but we also don’t want to give high temps yet (to correct the eventual BG) because we’d like to safely make it through the part that is below correction range coming up.

  • If BGs were to drop (enough) or keep dropping (enough), your predicted BG curve would likely slip to your suspend threshold and then Loop would suspend. (One important take away is to not to set your suspend threshold so low that it no longer acts as a safety in these situations.)
  • If BGs were to rise enough such that the whole predicted curve comes back into or above the correction range completely, you’d then get high temp basals to correct for that eventual BG that is above correction range.

Want to practice a little more?  Here’s a sequence of actual screenshots from a running Loop.  Think for each of these…

A. Zero (suspend) temp basal
B. Scheduled basal from your settings
C. High temp basal
D. Lower temp basal (between zero and scheduled)

Time A

Time B

Time C

Ok, got your answers?  You can see what Loop has done by looking at the middle basal rate change in the head’s up display.

Time A

Loop has provided no adjustments to the scheduled basal rate.  The predicted BG curve has a temporary excursion below correction range, doesn’t dip as low as the suspend threshold and eventual BG is above correction range.

Time B

A few more BG readings have come in and affected the predicted BG curve.  Now the predicted curve is entirely within or above the correction range…and since the eventual BG is above correction range…let the high temps begin.  Loop is safe to correct for that eventual BG. (see Loop has increased temp basal by 1.5 u/hour)

Time C

And a few more BGs later, that BG has dropped some and the predicted BG curve has now gone below the correction range again.  Hasn’t dipped low enough yet to hit the suspend threshold at the lowest predicted point…so Loop is going to continue to just provide scheduled basals.

Hopefully that little walk through helps illustrate what you can be looking at to understand why your Loop is recommending/enacting basals at a particular time.  It’s all about the predicted BG curve, your suspend threshold, and your correction range.

Pre-soak, hotswap, and 65 minute “warm up” for G6

Since we use Loop (ok…and because we just like having as much continous BG coverage as we can possibly get with the supplies we have)…we had gotten into the habit of “pre-soak and hotswap” with the G5 system.  If you haven’t heard of those terms before, let me explain them quickly.

Pre-soak:  Inserting a sensor hours in advance of before you intend on putting it into service.  Why pre-soak?  When you insert a sensor, there are micro-traumas under the skin that take some immune response.  Chemical changes and tiny micro-responses to the “insertion trauma”.   Plus there’s a coating on sensor wires that needs to come into equilibrium with the surrounding tissues where you have inserted.  That time to equilibriate with the new tissue surrounding is why there is a 2 hour warm-up.  It’s a balancing time for the system to settle down from the trauma of insertion.  You’ve probably already seen this yourselves if you’ve noticed that even the first 6-10 hours after warm-up can still be jumpy.  So, pre-soaking a sensor is a way to let the new sensor settle into its surroundings before putting it into use.  This helps the sensor start off right away with less jumpiness and more closely holding calibrations quickly.

In order to pre-soak, you need to NOT wait for your existing sensor to fail.  In other words, when you start to suspect that your sensor is going to fail soon, or you notice that it isn’t holding calibrations well, then you would want to go ahead and insert a new sensor ahead of time.  YES, this means that the person is wearing two sensors at once…(1) the existing one that is soon to fail and still has transmitter in it and (2) a new one, just inserted, that doesn’t have a transmitter in it yet.  For safety, you want to go ahead and put a band-aid, wrap, or dead transmitter to hold down the little flap in the middle of the new sensor that attaches to the wire in the skin.  You don’t want that flap accidentally being pulled up while the sensor is presoaking.

Hotswap:  Hotswap is when you take the transmitter directly from one sensor over to another without stopping the sensor session.  The idea being that you are trying to avoid the two-hour warmup.  While some people get lucky and have minimal downtime during a hotswap…I have ALWAYS had 65 minutes without CGM data right after a hotswap.  It’s not surprising to have some ??? from the hotswap as the transmitter is noticing that the environmental conditions from one reading (in old sensor) and next reading (in new sensor) are very different.  The ??? is giving the sensor time to “find its legs” again and get used to the new surroundings.  From what I’ve experienced, that’s a 65 minute wait for the ??? to clear and BG data to start coming in.  So, while the hotswap doesn’t totally avoid the whole 2-hour warm up, it can shorten it to about 65 minutes of time without BG data.

Here’s the important part though…you really should only do hotswaps with a presoaked sensor.  That 2-hour warm up gives a chance for the sensor to settle in…so hotswaps should only be done onto a sensor that has had at least 2 hours soaking, if not more.

For the G5, the hotswap wouldn’t stop your existing session…it would just keep going.

But, for the G6 as outlined below, it does involve stopping and starting a new sensor session.  So…technically not the same kind of “hotswap” that you did (or will do) with a G5…but same idea.  Avoiding the full 2-hour warmup by using a pre-soak with it.

Can the G6 do a pre-soak and hotswap?

Tonight I experimented with trying a pre-soak/hotswap with the G6 for the first time.  Our sensor was starting to show signs of wear.  Normally we test once each morning to make sure the sensor is still accurate.  This morning the sensor was off by about 15 mg/dl.  Sure, not a huge amount…but for the G6 this is usual for us.  And then we noticed a few steep BG changes that clearly were just out of place and unusual for the G6 trends we normally see.  If you look at the screenshot below, the red dots are what her finger check was on the meter.  You can tell that the first check of the morning was quite a bit higher than the sensor value, and then the second check of the morning (done to test the sensor since it was off in the first check) showed that it was off quite a bit but this time low.

Noticing that the sensor was on its end of days (this was day 11.5 for us…about average), we did the following steps to have just 65 minutes of lost BG data vs the usual 2-hours.  Extra bonus?  When a pre-soaked sensor comes online, it doesn’t have the jumpiness that a new sensor usually has.

Pre-soak, Hotswap Procedure
    1. Got out a new sensor.  Took note of the new sensor’s code.
  1. Got out the receiver and WHILE between BG readings (they happen every 5 minutes), did a “stop sensor”, “new sensor”, entered sensor code from above, and then “start sensor”.  Immediately after starting the new sensor, I put the receiver in a faraday bag (you can put it in microwave, etc) to let the two hour warm up go by without connecting to transmitter again.
  2. Inserted the new sensor from step 1 onto Anna’s other arm.  Wrapped the new sensor in vet wrap to keep the sensor protected while no transmitter was in it.
  3. Waited 4 hours.  Ideally, I like to pre-soak for about 6 hours with the G5 system, but 4 hours is the way our life worked out tonight.  It was my first try doing this with the G6, so I wasn’t sure what to expect.  (Spoiler alert: four hours seems to have worked nicely)
  4. After 4 hours, we took the old sensor off and removed the vet wrap from the new sensor.  Immediately moved the transmitter over to the new sensor and then took the receiver out of the faraday bag.  Pretty soon after (less than 5 minutes), the transmitter connected and we got the following on the screens (both I expected).  The transmitter noticed the dramatic difference between the old sensor’s surroundings and the new sensor’s surroundings…and thus begins the ??? time period. 
  5. The next thing that happened was we got one errantly high BG before the session when to ??? sensor error for 65 minutes.
  6. After 65 minutes, the G6 came back online with a value of 149, and finger check was 163.
  7. We calibrated and VOILA…our new pre-soaked sensor was online, super accurate and not jumpy at all with only 65 minutes of lost BG data.  Here’s to the next 10 days of awesome G6 use.

So why doesn’t everyone do this?  Because a lot of us like to squeeze every last day out of our sensors and we end up having them completely fail before we start a pre-soak.  BUT, I have found that I usually can see a G6 sensor failure coming up about 6 hours ahead.  We tend to see either a few missed BG readings start to happen, jumpiness in the data, or calibration drifting.  Given that heads up, this process will be pretty easy to implement for the G6 going forward.  Small amount of pre-planning and we can get immediately smooth CGM data on a new sensor session with just 65 minutes of downtime.  Pre-soak, receiver warming up in faraday bag, hotswap, wait 65 minutes and new session underway.


But I wasn’t restarting….why the error??

Last night, we had a bleeder on a new Sensor #1.  A couple hours into its session, the sensor was losing data and just plain struggling.  Anna also said it was hurting a bit.  With those symptoms all together, we opted to pull Sensor #1 and put in a new one.

I called Dexcom to get it replaced while she put on her new Sensor #2 for the night.  Not long into warmup, about 35 minutes, the dreaded “Replace Sensor Now” message popped up accusing us (incorrectly) of trying to restart an old sensor.  (Turns out a lot of people have been having this happen to them, too.)

Anna thought it was weird, cleared the message without telling me, and tried restarting the warmup again.  Same message after another 35 minutes again.  At this point, she woke me up and told me she was having troubles.  The screen on the app was taunting us to start a new sensor, but that just didn’t sit right with me.  This was a NEW sensor.  It was about 3am now.  The last thing I wanted to do was:

  • Call Dexcom again,
  • Waste a brand new sensor,
  • Have to do a third sensor insertion, or
  • Dig out a transmitter from the brand new sensor.

So, instead I told her to just go to bed, and we left her app screen asking for a new sensor.  I grabbed the receiver out of the closet where we store it normally (we don’t usually use a receiver except for restarts).  I started a new session on the receiver, without even having the receiver connect to her transmitter first like I normally do when we are doing Option 1 restarts.  I just entered the sensor code for Sensor #2 that was still on her body, started a new session, put it in the faraday bag and went to sleep.  (If you don’t have a faraday bag, then you can keep the receiver out-of-range of the transmitter simply with adequate physical distance or by shielding it in a good microwave for the two hours.)  When I woke up about 4 hours later, I took the receiver out of the faraday bag.  It was showing “no data” and “signal loss” (like this old screenshot).  Exactly what I expected and wanted to see.  The receiver had stayed out-of-range of the transmitter for the whole warmup time.


Within 5 minutes, the receiver connected with the transmitter and was showing the last part of the warmup circle.  Also exactly what I expected and wanted to see.

And then 5 minutes after that…voila, receiver was showing its first BG value and my new Sensor #2 was no longer “needing to be replaced”.

So…the question is “Why would a brand new sensor be failing as if it is a reused one?”  I have heard from some people that Dexcom tech support is telling them that the sensor needs to pick up the “signs of trauma” that are expected from a recent insertion.  If the insertion doesn’t produce that kind of scatter and trauma in the data, the algorithm decides that this is a reused sensor.  It would appear the algorithm checks for this sensor scatter at 35 (or 65?) minutes (as that is when the “replace sensor now” messages pop-up).  By keeping the entire warmup period shielded from the transmitter, you bypass those scatter checks and can finish the startup.  I have no idea if all of this “trauma insertion check” is the truth…but that’s what Dexcom is telling people and it actually sounds plausible to me based on the observations.

The real problem is for consumers…we (and Dexcom, too) are having to be inconvienced as part of this “trauma detection” issue.  Pulling perfectly good sensors will cost Dexcom and/or the users money that doesn’t need to be spent.  And, even if the G6 doesn’t hurt for insertion (your experience may vary), nobody wants to have to do another pull of fresh adhesive off their skin unnecessarily.  Ouch.  Plus, Dexcom tech support is spending time answering phone calls about perfectly good sensors that are being rejected…adding wait times for us all unnecessarily.

So, until the “issue” is resolved (which I wouldn’t expect given the required FDA-approvals that went into this product’s design)…I highly recommend just pulling out your receiver and doing the restart like I’ve described above if you experience the same issue on a new sensor.  Save yourself the call to tech support, save yourself the new insertion, save the hassle.

Side Note:  This also confirms another nugget.  You could do this same procedure to restart an old sensor in the event you forgot to start the restart process in time.  Instead, wait for the session to end, then do this procedure that I’ve outlined above.  You’ll be able to restart an old sensor.

Side Note #2:  Based on what we know so far, I expect that a person who does not have a receiver could also just do Option #2 and restart similarly.     I haven’t tested it, but it would seem probable to be successful so long as there is no communication with the transmitter during the warmup.

No-Code vs Code sessions

On the Dexcom G6 system, the sensor is factory-calibrated according to a parameters and associated response in the sensor, and assigned a calibration code.  There is still work being done, but it appears that dexcom is using the following sensor codes:

  • 5915
  • 5917
  • 5931
  • 5937
  • 5951
  • 5955
  • 7171
  • 9117
  • 9159
  • 9311
  • 9371
  • 9515
  • 9551
  • 9577
  • 9713

Since these codes are presumably based on certain parameters and associated sensor responses, it would not be a good idea to just randomly choose a code for a sensor if you were uncertain of the sensor’s assigned code.  In other words, save the paper if you intend on restarting a session using a sensor code.

No-Code vs Code sessions

Sensor Code sessions: A sensor session that was begun using the assigned sensor code will not prompt for initial BG values at the end of the 2-hour warmup nor during the session.  For the 10 days, you should not expect to have any prompts for finger checks.  Having a sensor code entered should help the sensor maintain accuracy without the need for finger sticks and calibrations.

No Sensor Code sessions: A sensor session that was begun by choosing the “No code” option will ask for 2 initial calibration BGs after warmup.  After that, the session will prompt the user for a calibration point 12 hours later. If that calibration is not given, the prompt will reappear until it is given.   Inputting a calibration point resets that timer and you won’t be bothered for another 12-24 hours for a calibration.

Calibrations vs No Calibrations

Even with an active Sensor Code session (aka no-calibration prompts every 12 hours), there may be times when you should calibrate.  Dexcom has a very helpful set of G6 calibration guidelines to help you decide if/when to calibrate.  They are very useful for your 10-day old or less sensor:

  • When meter BG is less than or equal to 70 mg/dl, calibrate if sensor BG is 30 mg/dl or more different from meter value.
  • When meter BG is above 70 mg/dl, calibrate if sensor BG is not within 30% of the meter value.
  • If a calibration does not bring the sensor into acceptable limits, repeat the process 15 minutes after the first calibration.
  • If a series of 3 calibrations, each entered 15 minutes apart, does not bring the sensor back into acceptable limits, call Dexcom to discuss getting sensor replaced.

Using these guidelines, it was pretty easy to identify our recent bent wire sensor when it wouldn’t settle down early in our session.

Personal experience tells me those Dexcom rules are generally pretty good with a couple of additions:

  • Don’t enter a calibration point during times of rapidly changing BGs.  Try to find a smoother time of day where food and insulin bolusing is minimal and BGs are calm.
  • Don’t let the new sensor just flail on a bad starting point.  If the initial BGs starting a Sensor Code session are not within acceptable range of the meter readings, calibrate.
  • Don’t calibrate when very high or very low.
  • Don’t calibrate during compression lows.

If you get beyond 10-days and are having problems with the sensor maintaining accuracy, it’s best to just replace the sensor vs. suffering through jumpy, inaccurate BG data.

Q: Do I need to calibrate every time I am prompted in a No Sensor Code session?

A: Not necessarily.  You should calibrate at times that make sense as opposed to simply calibrating on a schedule.  For example, calibrating at 9:00 am just because a prompt showed up may not be the best idea if you just at a bowl of cereal at 8:30 am.

Q: What happens if I don’t calibrate when prompted?

A: If this is a normal, timed calibration prompt, nothing will happen.  Your sensor session will keep going.  You’ll get reminders until you finally do calibrate.  If you don’t want to be pestered with those alerts, you can go into your phone’s Notification settings for the Dexcom G6 app and turn off banner notifications.  Then you won’t be bothered by the little notification banners that appear.

Q: But what if I really never calibrate during a session?

A: The Dexcom G6 was approved for 10 days of no-calibration mode.  After that, you are in the “what makes you comfortable?” realm.  If you are restarting sensors, you will likely find that your sensor’s accuracy will decrease over time.  Calibrating may help restore accuracy for awhile.  However, you should never keep extending your sensor sessions to the point that the sensor is unable to maintain decent accuracy.  If you are needing to consistently calibrate often to maintain accuracy…it’s time to replace the sensor IMO.  Clinical trials were run with once-per-day calibrations.  There are lots of people who go days without calibrating.  Personally for us, we test (but don’t calibrate) every morning no matter what.  If we find the sensor is starting to lose accuracy on those morning readings, we plan on replacing the sensor.

Q: How has your sensor accuracy been after restart?

A: Pretty darn good.  We enter the sensor code during restarts and the sensor is maintaining its accuracy quite well.   We use CGM data in our closed-loop system, so accuracy is quite important to us.  We have not noticed any sudden or crazy drop-off in accuracy from a restart.

Q: How many restarts can you do on the G6?

We are finding, just like with our G5 experience, that we don’t get much extended time out of a restarted session before the sensor kind of “drifts” off its accuracy.  My daughter usually never gets more than about 13-14 days per sensor before we find the accuracy decreases enough that we want to replace it (remember we loop with this so accuracy is important).  I expect that your ability to maintain accurate sensor data with the G6 will be similar to whatever you got on the G5.   If you went 20 days before on the G5, you’ll probably get similar from the G6.

Restarted Sessions with Reset Transmitters

My original blog post on G6 restarts indicated that all restarted sessions would end up behaving as No Code sessions (i.e., sending calibration prompts twice per day) regardless of whether or not you entered a sensor code during the restart process.  After further testing and feedback from other users, I think I’ve narrowed down the source of the issue.  I was using a reset transmitter for much of my testing.  Subsequent testing has revealed a little more information:

Reset transmitters will cause EVERY session (new and restarted) to be a “No Code” behavior and you will get calibration requests…even if you entered a sensor code.

If you are using a normal transmitter that has not been reset, you should be able to restart sessions using the sensor code, and not have calibration prompts.   If however, you are using a reset transmitter, you’ll get calibration prompts on every session, even brand new sensors.  So if you intend on using your transmitter beyond 112 days or replace the battery, you can say good bye to no-calibration sessions.

How to enter code?

There have been reports of regular (non-reset) transmitters still yielding calibration requests even when the sensor code had been entered  I believe that issue, according to what I’ve been told and read, is an issue with the app’s failure to properly read the sensor code when users use the camera feature to enter the sensor code.  Therefore the current recommendation is to always manually type in your sensor code instead of using the phone’s camera.


I’ll be updating that blog post to reflect the new info shortly.