Skip to content

apwestgarth/cgm-remote-monitor

 
 

Repository files navigation

cgm-remote-monitor (a.k.a. NightScout)

Build Status Dependency Status Gitter chat

Deploy to Azure Deploy to Heroku

This acts as a web-based CGM (Continuous Glucose Montinor) to allow multiple caregivers to remotely view a patients glucose data in realtime. The server reads a MongoDB which is intended to be data from a physical CGM, where it sends new SGV (sensor glucose values) as the data becomes available. The data is then displayed graphically and blood glucose values are predicted 0.5 hours ahead using a autoregressive second order model. Alarms are generated for high and low values, which can be cleared by any watcher of the data.

Community maintained fork of the original cgm-remote-monitor.

Install

Requirements:

Clone this repo then install dependencies into the root of the project:

$ npm install

Vagrant install

Optionally, use Vagrant with the included Vagrantfile and setup.sh to install OS and node packages to a virtual machine.

host$ vagrant up
host$ vagrant ssh
vm$ setup.sh

The setup script will install OS packages then run npm install.

The Vagrant VM serves to your host machine only on 192.168.33.10, you can access the web interface on http://192.168.33.10:1337

Usage

The data being uploaded from the server to the client is from a MongoDB server such as mongolab. In order to access the database, the appropriate credentials need to be filled into the JSON file in the root directory. SGV data from the database is assumed to have the following fields: date, sgv. Once all that is ready, just host your web app on your service of choice.

Environment

You can use the default null database_configuration.json config if you set the following environment variables instead. (Hosting providers often make this easy, and this allows you to avoid editing anything.)

  • CUSTOMCONNSTR_mongo - the mongo connection string, corresponds to DB.url.
  • CUSTOMCONNSTR_mongo_collection - the mongo collection to use, corresponds to DB.collection.

Easy to emulate on the commandline:

echo 'CUSTOMCONNSTR_mongo="mongodb://sally:sallypass@mymongohost.com/db"' >> my.env
echo 'CUSTOMCONNSTR_mongo_collection="sallyCGMCollection"' >> my.env

From now on you can run using

$ env $(cat my.env) PORT=1337 node server.js

Your hosting provider probably has a way to set these through their GUI.

More questions?

Feel free to post an issue, but read the wiki first.

License

cgm-remote-monitor - web app to broadcast cgm readings
Copyright (C) 2014 Nightscout contributors.  See the COPYRIGHT file
at the root directory of this distribution and at
https://github.com/nightscout/cgm-remote-monitor/blob/master/COPYRIGHT

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

About

community maintained fork of the original

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 83.1%
  • CSS 12.9%
  • Shell 4.0%