PhoneGap Healthcare Adapter for NexJ
Project Goal
Develop an adapter to enable NexJ's Mobile Healthcare solutions to interact with Bluetooth peripherals.
Contributors
Supported Versions
- PhoneGap 2.0.0, released July 20, 2012
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
- Current Sprint : Investigation
Project Backlog
Investigation
iOS
- Bluetooth can work on simulators
- Deploying to devices, requires enrollment in the 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.
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.
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
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
- Dowloads:
- Documentation:
- Bluetooth Developer Portal:
- iOS Developer Resource
- Android Developer Resource: