Difference between revisions of "Phonegap Healthcare Adapter Design"

From CDOT Wiki
Jump to: navigation, search
Line 6: Line 6:
: ''{{Main|Phonegap Healthcare Adapter}}''
: ''{{Main|Phonegap Healthcare Adapter}}''
: ''{{See Also|Phonegap_Healthcare_Adapter_Bluetooth_Implementation|Phonegap_Healthcare_Adapter_Bluetooth_Spec}}''
: ''{{See Also|Phonegap Healthcare Adapter Bluetooth Implementation|Phonegap Healthcare Adapter Bluetooth Spec}}''
== Class Diagram ==
== Class Diagram ==

Revision as of 15:25, 17 August 2012

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

Class Diagram




  • Interface to a medical device for use by the NexJ mobile health solution
  • Implemented in Javascript


  • Representation of a medical device
  • Delegates to a native medical device interface
  • Implemented in Javascript


  • Private interface to physical medical devices
  • Implemented in native code (Objective C on iOS, java on Android)


  • Adapter to allow medical device objects to interact with communication libraries on the device
  • In the future a Wifi adapter will also be needed to fulfill the same role of communication over another protocol
  • Implemented in native code


  • Adapter to allow medical device objects to interact with specific medical peripherals
  • These will be needed for each type of medical peripheral
  • Implemented in native code

Native Bluetooth API

  • Libraries on the mobile devices SDK that allows programmable interaction with Bluetooth devices

Blood Pressure Device

  • Physical medical device peripheral


  • Should we be concerned about managing the instances of medicalDevice or will the rest of the solution
    • Rest of the application: It becomes more of a Medical device factory
    • This Project: Another layer should be added to represent a device manager
  • bloodPressureBluetoothAdapter should know about specific device communication without relying on any specific communication protocol, otherwise it will need be reimplemented per communication adapter(eg. BluetoothAdapter, WifiAdapter)

Mobile Device Libraries



  • Unknown at this time


  • CBCentralManager entry point to Bluetooth communication
    • Allows querying of devices
    • Can list connected devices
    • Can connect to devices, creating CBPreripheral Objects
  • CBPeripheral's allows reading and writing of CBCharacteristic Objects
    • Can listen for changes to characteristics
    • Writing and reading is event driven programing via callback parameters
  • CBCharacteristic's represent a piece of data from a device along with semantic data



  • WifiP2pManager is the starting point for all peer to peer communication
    • Upon initialization devices connections can be established
    • Peers can be queried




  • Querying of devices
    • Supported by both platforms on both communication mediums
  • The ability to fetch data from devices
    • Supported by both platforms on both communication mediums
    • Assuming connections have been created with medical devices, this requires a known address to be cross referenced with current devices from the query functionality above
  • Optional The ability to push data to devices
    • See above


  • NexJ's spec dictates that devices can be assumed paired
  • Any semantic information required will be provided upon initialization