Open main menu

CDOT Wiki β

Difference between revisions of "Mobile Medical Device Integration"

(Project Status)
m (Reverted edits by Chris Tyler (talk) to last revision by Zmhassan)
 
(10 intermediate revisions by 4 users not shown)
Line 13: Line 13:
  
 
'''Not yet completed tasks:'''
 
'''Not yet completed tasks:'''
* Wei: Merge Phonega and Native versions of our library
+
* MyOscar: Push data to myoscar and pull updates at the end of the day
* Zak: MyOscar: Push data to myoscar and pull updates at the end of the day
+
* Dylan: Write guide for downloading, building and using the app
* Dylan: Write up explanation for using Withings
+
* Dylan: Make sure projects are easily buildable
* Dylan: Write up explanation and UI for Fitbit
+
* Dylan: evaluate Nexj Connected Wellness API
* Dylan: Complete demo app functionality for A&D weight scale
+
* Using  [https://github.com/commonsguy/cwac-wakeful CWAC-Wakeful Service] Schedule a batch process for uploading
* Dylan: Complete demo app functionality for A&D blood pressure monitor
+
workout data to MyOscar.
* Dylan: Complete demo app functionality for polytel dongle
+
* Design a robust syncronized integration with MyOscar to update every 24 hours.
* Dylan: Add MyOscar section
+
* Design a db table for storing metadata of success or failure of syncing.
* Dylan: Make sure projects are easily buildable.
+
* After successful syncing to MyOscar you should remove metadata from the phone to save space.
* Alek: Design each screen of the Simple Data Uploader App so that they can retrieve data from their respective devices then push it to MyOSCAR '''(UI design portion finished)'''
 
** A&D Blood pressure monitor
 
** A&D Weight scale
 
** BluGlu
 
** Polytel
 
* Alek: measure how long it takes to retrieve data from A&D, Polytel, and BluGlu.
 
* Unassigned: evaluate Nexj Connected Wellness API
 
  
 
'''Wishlist:'''
 
'''Wishlist:'''
* Zak: Withings scale support in HealthFirst
+
* Withings scale support in HealthFirst
<s>* Zak: Fitbit support in HealthFirst</s>
+
<s>* Fitbit support in HealthFirst</s>
*Zak: make graph code loose coupled major problem in graph by setting a limit to the graphviewdata. Use linkedlist.
+
* make graph code loose coupled major problem in graph by setting a limit to the graphviewdata. Use linkedlist.
 +
*  Created Notification for Errors when synchronizing with MyOscar.
 
* Dylan: Retrieve blood pressure, pulse and glucose measurements from a Fitbit account.
 
* Dylan: Retrieve blood pressure, pulse and glucose measurements from a Fitbit account.
* Alek: Add functionality to the buttons of the Demo MMDI Java app (not a priority at the moment).
 
  
 
'''Completed tasks:'''
 
'''Completed tasks:'''
 +
* Wei: Merge Phonega and Native versions of our library
 
* Wei: Phonegap implementation of library to retreive data from bluetooth A&D weight scale.
 
* Wei: Phonegap implementation of library to retreive data from bluetooth A&D weight scale.
 
* Wei: Phonegap implementation of library to retreive data from bluetooth A&D blood pressure monitor.
 
* Wei: Phonegap implementation of library to retreive data from bluetooth A&D blood pressure monitor.
Line 51: Line 45:
 
* Dylan: Package the native library as a .jar file.
 
* Dylan: Package the native library as a .jar file.
 
* Dylan: Create a common interface between Withings and Fitbit.
 
* Dylan: Create a common interface between Withings and Fitbit.
 +
* Dylan: Write up explanation for using Withings
 +
* Dylan: Write up explanation and UI for Fitbit
 +
* Dylan: Complete demo app functionality for A&D weight scale
 +
* Dylan: Complete demo app functionality for A&D blood pressure monitor
 +
* Dylan: Complete demo app functionality for polytel dongle
 +
* Dylan: Add MyOscar section
 +
* Dylan: Double-check there aren't any credentials hardcoded in distributable code
 
* Alek: human-usable version of Phonegap application to work with A&D weight scale, blood pressure monitor, and BluGlu.
 
* Alek: human-usable version of Phonegap application to work with A&D weight scale, blood pressure monitor, and BluGlu.
 
* Alek: Rewrite the first screen of the Demo MMDI app in Java (UI and retrieval of paired devices complete). Assumes Bluetooth is already enabled.
 
* Alek: Rewrite the first screen of the Demo MMDI app in Java (UI and retrieval of paired devices complete). Assumes Bluetooth is already enabled.
 +
* Alek: Make a new list of bluetooth-capable medical devices
 
* Zak: Proof of concept of integrating heart beat monitor with Android.
 
* Zak: Proof of concept of integrating heart beat monitor with Android.
 
* Zak: Design of initial user interface
 
* Zak: Design of initial user interface
Line 61: Line 63:
 
* Zak: Put the workout app into mercurial.
 
* Zak: Put the workout app into mercurial.
 
* Zak: End workout will do the clean up stuff.
 
* Zak: End workout will do the clean up stuff.
 +
* Zak: Designed java class for aggregating medical reading information into one JSON string to be stored in sqlite and generate object to work with.
 +
* Zak: Display of graph data of a work out that was saved.
 +
* Zak: Listing of workouts saved on phone.
 +
* Zak: Notification code is working on the phone. When error message is clicked it goes to an error page.
 +
* Zak: Designed LinkedList data structure to generate JSON data in SQLite. Using the same principles of [http://martinfowler.com/nosql.html NoSQL]. For every reading we will store the following JSON
 +
{ 'Reading' : '[0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]' ,
 +
'theshold' : '[{'reading' : '0', 'over' : '20.0' },{'reading' : '1', 'over' : '20.0' },{'reading' : '2', 'over' : '20.0' },{'reading' : '3', 'over' : '20.0' },{'reading' : '4', 'over' : '20.0' },{'reading' : '5', 'over' : '20.0' },{'reading' : '6', 'over' : '20.0' },{'reading' : '7', 'over' : '20.0' },{'reading' : '8', 'over' : '20.0' },{'reading' : '9', 'over' : '20.0' }]' }
  
 
== Current Contributors ==
 
== Current Contributors ==

Latest revision as of 19:31, 23 April 2018

NexJ/MyOSCAR Medical Peripheral Mobile Adapter Will be designed to enable NexJ's Mobile Healthcare solutions to interact with Bluetooth/WiFi peripherals.

First Application: Blood Pressure/Weight Scale to Android using Bluetooth protocol

Project Status

Goal for March 2014:

Not yet completed tasks:

  • MyOscar: Push data to myoscar and pull updates at the end of the day
  • Dylan: Write guide for downloading, building and using the app
  • Dylan: Make sure projects are easily buildable
  • Dylan: evaluate Nexj Connected Wellness API
  • Using CWAC-Wakeful Service Schedule a batch process for uploading

workout data to MyOscar.

  • Design a robust syncronized integration with MyOscar to update every 24 hours.
  • Design a db table for storing metadata of success or failure of syncing.
  • After successful syncing to MyOscar you should remove metadata from the phone to save space.

Wishlist:

  • Withings scale support in HealthFirst

* Fitbit support in HealthFirst

  • make graph code loose coupled major problem in graph by setting a limit to the graphviewdata. Use linkedlist.
  • Created Notification for Errors when synchronizing with MyOscar.
  • Dylan: Retrieve blood pressure, pulse and glucose measurements from a Fitbit account.

Completed tasks:

  • Wei: Merge Phonega and Native versions of our library
  • Wei: Phonegap implementation of library to retreive data from bluetooth A&D weight scale.
  • Wei: Phonegap implementation of library to retreive data from bluetooth A&D blood pressure monitor.
  • Wei: Phonegap implementation of library to retreive data from OneTouch glucometer via BluGlu bluetooth dongle.
  • Wei: Phonegap implementation of library to retreive data from OneTouch glucometer via Polytel bluetooth dongle.
  • Dylan: POC native Android code to connect to FitBit servers and retrieve data uploaded by a FitBit device using their API.
  • Dylan: POC native Android code to connect to Withings servers and retrieve data uploaded by a Withings weight scale.
  • Dylan: POC native Android code to connect to MyOSCAR and retrieve/upload data.
  • Dylan: Port Phonegap library implementation to retrieve data from bluetooth A&D devices to native Android.
  • Dylan: Retrieve weight and blood pressure measurements from a Withings account.
  • Dylan: Retrieve weight measurements from a Fitbit account.
  • Dylan: Retrieve Polytel bluetooth glucometer readings in native Android code.
  • Dylan: Package the native library as a .jar file.
  • Dylan: Create a common interface between Withings and Fitbit.
  • Dylan: Write up explanation for using Withings
  • Dylan: Write up explanation and UI for Fitbit
  • Dylan: Complete demo app functionality for A&D weight scale
  • Dylan: Complete demo app functionality for A&D blood pressure monitor
  • Dylan: Complete demo app functionality for polytel dongle
  • Dylan: Add MyOscar section
  • Dylan: Double-check there aren't any credentials hardcoded in distributable code
  • Alek: human-usable version of Phonegap application to work with A&D weight scale, blood pressure monitor, and BluGlu.
  • Alek: Rewrite the first screen of the Demo MMDI app in Java (UI and retrieval of paired devices complete). Assumes Bluetooth is already enabled.
  • Alek: Make a new list of bluetooth-capable medical devices
  • Zak: Proof of concept of integrating heart beat monitor with Android.
  • Zak: Design of initial user interface
  • Zak: Developing persistence implementation with SQLite
  • Zak: Start workout button to connect to device to make sure it recieves data
  • Zak: Make sure data is pulled per second to get up to date readings
  • Zak: Plot data on graph (5 min range)
  • Zak: Put the workout app into mercurial.
  • Zak: End workout will do the clean up stuff.
  • Zak: Designed java class for aggregating medical reading information into one JSON string to be stored in sqlite and generate object to work with.
  • Zak: Display of graph data of a work out that was saved.
  • Zak: Listing of workouts saved on phone.
  • Zak: Notification code is working on the phone. When error message is clicked it goes to an error page.
  • Zak: Designed LinkedList data structure to generate JSON data in SQLite. Using the same principles of NoSQL. For every reading we will store the following JSON
{ 'Reading' : '[0.0, 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]' ,
'theshold' : '[{'reading' : '0', 'over' : '20.0' },{'reading' : '1', 'over' : '20.0' },{'reading' : '2', 'over' : '20.0' },{'reading' : '3', 'over' : '20.0' },{'reading' : '4', 'over' : '20.0' },{'reading' : '5', 'over' : '20.0' },{'reading' : '6', 'over' : '20.0' },{'reading' : '7', 'over' : '20.0' },{'reading' : '8', 'over' : '20.0' },{'reading' : '9', 'over' : '20.0' }]' }

Current Contributors

Past Contributors

Problem

NexJ's mobile health solution requires its smartphone health coach application to have the ability to read medical measurement data from Bluetooth-capable devices, The devices included in the initial project proposal are as follows: blood pressure device, glucose level measuring device and a weight measuring device.

The health coach application will be designed to use PhoneGap, a rising technology that blurs the line between mobile operating systems. Implementing native Bluetooth adapters becomes only part of the solution. The health coach application will interact with a unified API in JavaScript to retrieve data from Bluetooth-capable medical peripherals.

The unified JavaScript API will be developed to utilize PhoneGap's JavaScript API to make native code calls. These native calls will focus on a medical Bluetooth device adapter which also must be implemented. This Bluetooth adapter will be extended for each supported measuring device and implemented on each supported mobile operating system.

Project Repository

Introduction

Most of us probably have some relative that may be in and out of hospital or some may have a critically ill relative. Wouldn't it be nice to have some way of monitoring how they are doing? Wouldn't it be great to see all this information on your smart phone? Wouldn't it be great to have not only the information freely available to patients but also that the software is free and open source? I will explain the cutting edge technology/research we are conducting.

What is MyOscar?

MyOscar is a personal health record system which was created to give patients the freedom to see their medical records. Not only are patients able to see this information but also share this information with family and loved ones. The software is open source. To read more about it visit:

http://myoscar.org/myoscar/about-myoscar

Should Patients Have Access To Their Personal Medical Data And Why?

You may have an elderly parent or grandparent that you may want to monitor if their condition becomes critical while at work or traveling. Or you may have a critically ill loved one that you may be taking care of. We think by having this technology, it would make it possible to help improve peoples lives and relieve worries.

Critical Care Patient Monitoring And Can Technology Help?

We believe that yes, it could be possible to help a patients for example a critical care patient which would need around the clock monitoring. Perhaps with technology like this patients could leave the hospital and allow their caregivers to monitor them through an application (smart phone).

Our Efforts At Seneca Center of Development Of Open Source Technology

We are researchers, students and professors that believe that it may be possible to improve the healthcare industry through cutting edge technology. We believe that this technology we create should be open source. We have created mobile applications that read wireless via Bluetooth to retrieve accurate medical data. Currently we are working on syncing this data with MyOscar EMR to further improve accessibility of patient data.