Today a bunch of my online peeps were in California visiting Medtronic. I wish I’d been invited to go to, but that was not the case. Had I been there, I would have squealed like a little schoolgirl at the pre-announcement that they’re rolling out support for uploading and using CareLink on a Mac next week.
Not only is that great for me when working with my own data, it will make developing my app easier. People may still need to take the extra step of downloading a CSV file containing their data, but at least they’ll be able to do it on their platform. Not perfect, but better.
In an ideal world — the one that I would have advocated for at pump/CGM HQ — third-party app developers (like me) would be able to ask the online CareLink database for a person’s diabetes data via an application programming interface (API). Mobile app developers could then hold on to that data for offline or mobile use without ever needing to talk directly to the medical devices themselves. Frankly, writing code to connect directly to a life-preserving medical device is quite risky and something I would like to avoid; it’s also the kind of thing that requires rigorous, time-consuming, expensive FDA approval. Not very appealing when all I want to be is a data consumer.
I’m hoping that Medtronic provides a mechanism to open up this data soon, because I’m getting close to being able to benefit from it. And when I say “this data,” I mean “our data” because it really is ours. We’re the ones who generated the data through our self-managment decisions, and we’re the ones who will benefit the most from using that data to make decisions. All I’m really asking for is a way to log in to CareLink without using a web browser and to retrieve data securely.
I’ve been working on my pump+CGM data visualizer a lot recently — most evenings in fact. On my Mac, I can extract events from a comma-separated value (CSV) file generated on the CareLink website, and I can pick out “interesting” events that are relevant for self-management. Now I’m working on being able to store those interesting events in a form that I can send to my iPod. (Then there are the tasks related to visualizing the data, but I’m starting small.)
It’s taking me longer than I expected to build this application. Objective-C isn’t hard, but learning the ins and outs of any new framework library is always a bit involved. (Turns out I’ve been using a lot more C++ than I had expected . . . not that there’s anything wrong with that.) And I realized that I actually need to build two applications: one part that sits on a “traditional computer” that can talk to CareLink and the other that visualizes the data on an iPhone, iPod, iPad.
Here’s a little example of the raw data that I will eventually use to generate graphs and an annotatable logbook:
3/30/11|16:20:00|GlucoseSensorData|AMOUNT=106, ISIG=10.2 3/30/11|16:25:00|GlucoseSensorData|AMOUNT=98, ISIG=9.71 3/30/11|16:30:00|GlucoseSensorData|AMOUNT=98, ISIG=10.59 3/30/11|16:35:00|GlucoseSensorData|AMOUNT=100, ISIG=10.66 3/30/11|16:40:00|GlucoseSensorData|AMOUNT=102, ISIG=10.94 3/30/11|16:45:00|GlucoseSensorData|AMOUNT=102, ISIG=10.6 3/30/11|16:50:00|GlucoseSensorData|AMOUNT=102, ISIG=10.56 . . . 3/30/11|18:14:01|BolusWizardBolusEstimate|BG_INPUT=195, BG_UNITS=mg dl, CARB_INPUT=0, CARB_UNITS=grams, CARB_RATIO=8, INSULIN_SENSITIVITY=50, BG_TARGET_LOW=110, BG_TARGET_HIGH=110, BOLUS_ESTIMATE=1.7, CORRECTION_ESTIMATE=1.7, FOOD_ESTIMATE=0, UNABSORBED_INSULIN_TOTAL=0, UNABSORBED_INSULIN_COUNT=2, ACTION_REQUESTOR=pump 3/30/11|18:14:01|BolusNormal|AMOUNT=1.7, CONCENTRATION=null, PROGRAMMED_AMOUNT=1.7