Difference between revisions of "Phonegap Healthcare Adapter"

From CDOT Wiki
Jump to: navigation, search
 
(75 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[category: NexJ Current Projects]]
+
{{Admon/obsolete}}
[[category: NexJ Express SQLite]]
 
  
<big><big> PhoneGap Healthcare Adapter for NexJ </big></big>
 
  
 +
''''' NexJ Medical Peripheral Mobile Adapter '''''
 +
will be designed to enable NexJ's Mobile Healthcare solutions to interact with Bluetooth peripherals.
  
== Project Goal ==
+
: ''{{See Also|Phonegap Healthcare Adapter Questions|Phonegap Healthcare Adapter Backlog}}''
Develop an adapter to enable NexJ's Mobile Healthcare solutions to interact with Bluetooth peripherals.
+
: ''{{Category See Also|NexJ Express Research}}''
  
 +
{{TOC limit}}
  
 
== Contributors ==
 
== Contributors ==
 +
 
* [[User:Cwdesautels|Carl Desautels]]
 
* [[User:Cwdesautels|Carl Desautels]]
* [[User:Wei.song | Wei Song]]
+
* [[User:Wei.song|Wei Song]]
 +
 
 +
== Problem ==
 +
 
 +
[[File:NexjMobile.png|thumb|right]]
 +
 
 +
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 Scope ==
  
 +
* Not responsible for communication with the server.
 +
* Responsible for communication with Bluetooth peripherals.
  
 
== Supported Versions ==
 
== Supported Versions ==
 +
 
* [http://phonegap.com/download PhoneGap] 2.0.0, released July 20, 2012
 
* [http://phonegap.com/download PhoneGap] 2.0.0, released July 20, 2012
 +
 
=== [http://docs.phonegap.com/en/2.0.0/guide_getting-started_ios_index.md.html#Getting%20Started%20with%20iOS OSX] ===
 
=== [http://docs.phonegap.com/en/2.0.0/guide_getting-started_ios_index.md.html#Getting%20Started%20with%20iOS OSX] ===
 +
 
* Xcode 4.3 +
 
* Xcode 4.3 +
 
* OSX 10.7 +
 
* OSX 10.7 +
Line 23: Line 42:
  
 
=== [http://docs.phonegap.com/en/2.0.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android Android] ===
 
=== [http://docs.phonegap.com/en/2.0.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android Android] ===
 +
 
* Eclipse 3.6.2 +
 
* Eclipse 3.6.2 +
 
* ADT Latest
 
* ADT Latest
Line 30: Line 50:
 
* Bluetooth SPP capable
 
* Bluetooth SPP capable
  
 +
== [[Phonegap_Healthcare_Adapter_Backlog|Project Status]] ==
  
== Project Status==
+
* '''Current Sprint''' : [[Phonegap_Healthcare_Adapter_Backlog#Investigation|Investigation]]
* '''Current Sprint''' : [[Phonegap_Healthcare_Adapter#Investigation | Investigation]]
 
  
 +
== [[:Category:NexJ_Express_Research|Research]] ==
  
== Project Backlog ==
+
* Bluetooth communication outline: [[Phonegap_Healthcare_Adapter_Bluetooth_Spec|Spec]]
=== Investigation ===
+
* Bluetooth native implementation: [[Phonegap_Healthcare_Adapter_Bluetooth_Implementation|Details]]
==== iOS ====
+
* Project Design: [[Phonegap_Healthcare_Adapter_Design|Design Page]]
* Bluetooth can work on simulators
+
* Phonegap cross platform plugin solution: [[Phonegap_Healthcare_Adapter_Plugin_Implementation|Tutorial]]
* Deploying to devices, requires enrollment in the [https://developer.apple.com/programs/ios/ developer program]
 
* Understand Objective C
 
* Understand iOS best practice development
 
* Understand iOS PhoneGap plugin best practices
 
==== Android ====
 
* Bluetooth does not work on emulator
 
* Understand ADK best practice development
 
* Understand ADK PhoneGap plugin best practices
 
=== The Problem ===
 
NexJ's mobile health movement 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 medial peripherals.
+
== Project Repository ==
  
The unified Javascript API to be developed will utilize Phonegap's Javascript API to make native code calls. These native calls will be mainly be focused on a medical Bluetooth device adapter which also must be implemented. This Bluetooth adapter will have be extended per each supported measuring device and implemented on each supported mobile operating system.
+
* https://bitbucket.org/cwdesautels/nexj-mobile-bluetooth-adapter
  
 +
=== Mercurical HowTo ===
  
[[File:nexjMobile.png]]
+
* [https://developer.mozilla.org/en-US/docs/Mercurial Mozilla Mercurial Docs]
 
 
 
 
=== PhoneGap API ===
 
* Design a unified API in javascript that will allow the NexJ application to interact with bluetooth devices
 
* Define a project architecture that facilitates multiple device compatibility
 
=== Blood Pressure Device ===
 
==== iOS ====
 
* Create native bluetooth adapter for this device
 
==== Android ====
 
* Create native bluetooth adapter for this device
 
=== Glucose Device ===
 
==== iOS ====
 
* Extend native bluetooth adapter for this device
 
==== Android ====
 
* Extend native bluetooth adapter for this device
 
=== Weight Scale Device ===
 
==== iOS ====
 
* Extend native bluetooth adapter for this device
 
==== Android ====
 
* Extend native bluetooth adapter for this device
 
  
 +
=== Branching Rules ===
  
== Project Repository ==
+
* Nobody commits to ''default''.
* https://bitbucket.org/cwdesautels/nexj-mobile-bluetooth-adapter
+
** ''default'' is the master branch we will use to generate submissions back to NexJ
=== Mercurical HowTo ===
+
* Nobody commits to ''dev''.
* [https://developer.mozilla.org/en-US/docs/Mercurial Mozilla Mercurial Docs]
+
** ''dev'' is the branch were the latest completed features and bug fixes come together for testing
=== Branching Rules ===
+
* Keep branches relevant.
* Nobody commits to default
 
** default is the master branch we will use to generate submissions back to NexJ
 
* Nobody commits to dev
 
** dev is the branch were the latest completed features and bug fixes come together for testing
 
* Keep branches relevant
 
 
** If the ''focus'' of what your coding changes, make a new branch
 
** If the ''focus'' of what your coding changes, make a new branch
* Best practice is to branch off of dev
+
* Best practice is to branch off of ''dev''.
 
** Exceptional scenarios call for branching off of default or other branches, you will not encounter them
 
** Exceptional scenarios call for branching off of default or other branches, you will not encounter them
* Branch names in lowercase
+
* Branch names in lowercase.
* Hyphenate branch names if required
+
* Hyphenate branch names if required.
 
** ''bluetooth-plugin''
 
** ''bluetooth-plugin''
 
* Branch names must either be:
 
* Branch names must either be:
 
** A bitbucket issue, example: ''issue-14 OR bug-14''
 
** A bitbucket issue, example: ''issue-14 OR bug-14''
 
** A feature name, example: ''cryptography-bug''
 
** A feature name, example: ''cryptography-bug''
 
  
 
== Resources ==
 
== Resources ==
 +
* Research
 +
** [[:Category:NexJ_Express_Research|Notes]]
 
* Dowloads:
 
* Dowloads:
** [http://docs.phonegap.com/en/2.0.0/guide_getting-started_ios_index.md.html#Getting%20Started%20with%20iOS Phonegap: Getting Started with iOs]
+
** [http://docs.phonegap.com/en/2.0.0/guide_getting-started_ios_index.md.html#Getting%20Started%20with%20iOS PhoneGap: Getting Started with iOs]
** [http://docs.phonegap.com/en/2.0.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android Phonegap: Getting Started with Android]
+
** [http://docs.phonegap.com/en/2.0.0/guide_getting-started_android_index.md.html#Getting%20Started%20with%20Android PhoneGap: Getting Started with Android]
 
* Documentation:
 
* Documentation:
** Bluetooth Developer Portal:  
+
** Bluetooth Developer Portal:
 
*** [http://developer.bluetooth.org/KnowledgeCenter/Pages/White-Papers.aspx Bluetooth White papers]
 
*** [http://developer.bluetooth.org/KnowledgeCenter/Pages/White-Papers.aspx Bluetooth White papers]
 
*** [http://developer.bluetooth.org/DevelopmentResources/Pages/Introduction-to-Bluetooth-Application-Development.aspx Development Resources]
 
*** [http://developer.bluetooth.org/DevelopmentResources/Pages/Introduction-to-Bluetooth-Application-Development.aspx Development Resources]
** iOS Developer Resource
+
** iOS Developer Resource
 
*** [http://developer.apple.com/library/ios/#technotes/tn2295/_index.html Bluetooth on Simulators]
 
*** [http://developer.apple.com/library/ios/#technotes/tn2295/_index.html Bluetooth on Simulators]
 
*** [http://hiediutley.com/2011/03/30/phonegap-tutorial-series-4-using-a-third-party-plugin/ PhoneGap Tutorial]
 
*** [http://hiediutley.com/2011/03/30/phonegap-tutorial-series-4-using-a-third-party-plugin/ PhoneGap Tutorial]

Latest revision as of 20:51, 26 January 2014

Important.png
This page may be obsolete.
It contains historical information.


NexJ Medical Peripheral Mobile Adapter will be designed to enable NexJ's Mobile Healthcare solutions to interact with Bluetooth peripherals.

Contributors

Problem

NexjMobile.png

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 Scope

  • Not responsible for communication with the server.
  • Responsible for communication with Bluetooth peripherals.

Supported Versions

OSX

  • Xcode 4.3 +
  • OSX 10.7 +
  • iOS 4.3 +
  • Bluetooth SPP capable

Android

  • Eclipse 3.6.2 +
  • ADT Latest
  • Java 1.6 +
  • Minimum OS: 2.2
  • Recommended OS: latest
  • Bluetooth SPP capable

Project Status

Research

  • Bluetooth communication outline: Spec
  • Bluetooth native implementation: Details
  • Project Design: Design Page
  • Phonegap cross platform plugin solution: Tutorial

Project Repository

Mercurical HowTo

Branching Rules

  • Nobody commits to default.
    • default is the master branch we will use to generate submissions back to NexJ
  • Nobody commits to dev.
    • dev is the branch were the latest completed features and bug fixes come together for testing
  • Keep branches relevant.
    • If the focus of what your coding changes, make a new branch
  • Best practice is to branch off of dev.
    • Exceptional scenarios call for branching off of default or other branches, you will not encounter them
  • Branch names in lowercase.
  • Hyphenate branch names if required.
    • bluetooth-plugin
  • Branch names must either be:
    • A bitbucket issue, example: issue-14 OR bug-14
    • A feature name, example: cryptography-bug

Resources