hacking diabetes: raising fidelity of care
JavaScript Ruby Python Other
Pull request Compare This branch is 740 commits ahead, 4 commits behind bewest:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.themes/classic
advocacy
archive.rstevew.vic-abell.legacy
bayer
lifescan
log
plugins
raphael
sass
source
src
.editorconfig
.gitattributes
.gitignore
.gitmodules
.hgignore
.powrc
.rbenv-version
.rvmrc
.slugignore
.travis.yml
3g-beagle-nextlink.JPG
CHANGELOG.markdown
Gemfile
Gemfile.lock
INSULIN.regimen
README.markdown
Rakefile
Session.vim
_config.yml
config.rb
config.ru
notes
trailing-500.txt

README.markdown

Hacking diabetes

Fidelity of Care

Circa 2011 Despite many novel applications of technology to the medical field, therapies for chronic disease lacks enough transparency and credibility to humanely empower users to manage therapy.

Insulaudit Agent

insulaudit agent

Diabetes Data Bus

There's a rising notion of a diabetes data bus. A system which integrates data collected from a variety of systems, and communicates that data to authorized users. In addition, this infrastructure would support agents from an expert systems presenting analyses and simulations of expected results.

Diabetics own multiple mobile computers that record biometric data on a regular basis. This typically includes a menagerie of glucometers, of which I own at least 5, 2 of which are in active rotation at any given time. I also use an insulin pump, like many diabetics, and it keeps logs of insulin given, as well as performs opaque simulations on expected results. In addition, there are ancillary devices that measure interstitial glucose levels on a real-time basis, as well as pedometers, sleep monitors, and the list goes on ad nauseum.

With so many sources of data critical to managing medical therapy, it is impossible to predict the new sources of data that will arise. It's also impossible to replace all the existing devices with new devices that are designed to cooperate with one another. However, all existing devices have a serial port with which an authorized agent can communicate with the device in order to audit therapeutic details. Therefore, it's much easier to adapt existing devices into a common framework that knows how to present data to expert systems, knows how to store data over time, and knows how to keep the user connected to that data in ways that allow better decision making.

Despite all the data currently logged by devices, how much of it is leveraged to drive ongoing decisions? The proprietary software offered by medical industry offers snapshots of interesting data from the past, and then asks the user to manually fill in any missing data. Each manufacturer offers a perspective that their software knows everything about managing diabetes, and in so doing fails to offer a holistic perspective on therapy.

Instead, a data bus accepts input from a variety of sources, aggregates it with other available sources, and makes it available to the user at any time and any place. The user can choose which applications can subscribe to data, as well as re-route and transform data into those applications. Indivo already provides the container for aggregating a user's data with customizable schema types. Cube offers a great presentation engine for arbitrary data. When the two are tweaked to manage the data from diabetic therapy, we have a diabetic data bus.

Many parts, loosely coupled.

Help wanted

Join one of our mailing lists:

  • medevice For anyone wanting to increase the fidelity of their therapy using their skills and resources. We have many projects, one of them probably your kind of project.

  • medical-device-users Participate in developing advocacy to help share what and why we are doing.

  • insulaudit - for hacking insulaudit: discussion of python and features

Projects

We need people of all stripes, from linux kernel hacking, to graphic design.

Visualizations

Add your visualization here!

If you've created a visualization, add it to the list. Include some sort of self-attribution.

Firmware

For new devices, and to audit old devices.

Hardware

List your hardware designs here. Reference designs for pumps, sensors, meters, connectors, etc...

Backend

Assume you have a bunch of decentralized "agents," implemented in many languages, and all have data to report.

We'll need bits of the following types of software tailored for use by a diabetic data bus:

If you've got software to keep records, allow read/write access to them, add it to the list.

  • asset management/inventory
  • basic auditing/accounting/record keeping

    • opendatabetes - an open standard for recording/sharing diabetes data - very early days
    • sanguine - WIP glucose/insulin/pump tracking app. In prototype, to be rebuilt using web technologies
  • stats/data/mining

  • authorization and authentication
  • transport-independence - orchestrate which sockets, ports to use, etc.

  • manageBGL pump simulator and data visualization with API

Vendor transports

Bus consumers.

Adapters for other web services: glucosurfer, sugarstats, VISTA OSEHRA, INDIVO/SMART (CHIP), [@netspective], others?

Also see ABBI: http://wiki.siframework.org/ABBI+Pull+Workgroup for OAUTH based transport.

  • connect
  • Sanguine is an app already "in the wild", it should be able to either poll one of our compatible servers and fetch/store medical records and annotations.
  • opendatabetes - an open standard for recording/sharing diabetes data - very early days
  • indivo python/django friendly

Math

Stats, predictive algorithms (so we can actually measure what we are always implicitly predicting), the works.

If you've got a project that analyzes glucose, or insulin or similar data, add it to the list:

Device IO

The data on these devices belongs to us. Let's get audit the data:

  • insulaudit - this project consumes many libraries to re-format data in a prefered format
Decoder rings

These projects collect packet captures, provide tests suites, and tools to communicate with medical devices. Application authors can use these tools to analyze and debug devices, exercise their decoding skills, or contribute to language-independent test suites, or even help implement the protocols.

Unit tests, docs, protocol schematics, ports to other languages.

Help with the "decoder rings," some have data available, ready to analyze, some need captures!

Git based medical record?

Would solve transport and versioning issues.

  • git-phr - if only!

Web Development

  • gallery of visualizations, gist-based? proposed:
databetics.com/ -> here (medevice/diabetes)
databetics.com/visual/ -> here (medevice/diabetes/visual)
databetics.com/formats/ -> damon's databetes?
databetics.com/projects/ -> better list of projects we actually commit on
short term projects:
  iPancreas: re-usable, blog-posting tool
  visualizations: need to make it easy for more people to make
    graphs and charts, to iterate on UI, etc... this is essentially UI
    development broken down, feature by feature
  insulaudit: pumping data out so that sanguine, ipancreas and others
              can consume, pushing support for more devices,
              implementing in other languages?
  • gallery of advocacy, or maybe a "planet" style aggregator, with diabetesmine at the helm?
  • docs, and technical writing
  • templating for nice reports such as Jana's, we need to make it easy to produce documents to share like that.

other projects

Mostly personal loggers.

Documentation

split

What is Octopress?

Octopress is Jekyll blogging at its finest.

  1. Octopress sports a clean responsive theme written in semantic HTML5, focused on readability and friendliness toward mobile devices.
  2. Code blogging is easy and beautiful. Embed code (with Solarized styling) in your posts from gists, jsFiddle or from your filesystem.
  3. Third party integration is simple with built-in support for Pinboard, Delicious, GitHub Repositories, Disqus Comments and Google Analytics.
  4. It's easy to use. A collection of rake tasks simplifies development and makes deploying a cinch.
  5. Ships with great plug-ins some original and others from the Jekyll community — tested and improved.

Documentation

Check out Octopress.org for guides and documentation.

Contributing

Build Status

We love to see people contributing to Octopress, whether it's a bug report, feature suggestion or a pull request. At the moment, we try to keep the core slick and lean, focusing on basic blogging needs, so some of your suggestions might not find their way into Octopress. For those ideas, we started a list of 3rd party plug-ins, where you can link your own Octopress plug-in repositories. For the future, we're thinking about ways to easier add them them into our main releases.

License

(The MIT License)

Copyright © 2009-2013 Brandon Mathis

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ‘Software’), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED ‘AS IS’, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

If you want to be awesome.

  • Proudly display the 'Powered by Octopress' credit in the footer.
  • Add your site to the Wiki so we can watch the community grow.