node package manager
Stop wasting time. Easily manage code sharing in your team. Create a free org »



Library for ingestion of data from various vendor-specific sources into the platform for diabetes data.

Looking at the code

Primary entry-point is lib/index.js.

Parsing and fetching code is broken down by vendor-specific objects on the thing returned from lib/index.js.

That is currently just carelink right now.

Easiest way to see how to use the parser is to look at test/carelink/testParser.js

Libraries to be aware of

The code leverages the Rx library pretty extensively for stream processing. There is a lot to this library. You can read about its philosophy at or its documentation at

We implement a few extensions to it in the lib/rx directory. These extensions are added to the rx.Observable.prototype, so the usage can appear the same as if we are using a native rx method. If you are trying to figure out what a method does and you are unfamiliar with it/you cannot find the docs for it on the main RxJS page, make sure to check the various extensions under lib/rx.

Command Line



You can fetch raw data from carelink with

./bin/carelink/mmcsv fetch -u <username> -p <password> -d <num_days> stdout


You can parse raw data fetched from carelink with

node bin/carelink/parse.js <csv_file_to_parse>



You can fetch data from diasend with

node bin/diasend/fetch.js -u <username> -p <password> -d <num_days> stdout


You can parse data fetched from diasend with

node bin/diasend/parse.js <xls_file_to_parse>



You can fetch data from t:connect with

node bin/tconnect/fetch.js -u <username> -p <password> -d <num_days> stdout


You can parse data fetched from t:connect with

node bin/tconnect/parse.js <xml_file_to_parse>