Difference between revisions of "Phonegap Healthcare Adapter Design"

From CDOT Wiki
Jump to: navigation, search
(Mobile Device Libraries)
(Android)
Line 45: Line 45:
 
==== [http://developer.android.com/reference/android/net/wifi/p2p/package-summary.html Wifi] ====
 
==== [http://developer.android.com/reference/android/net/wifi/p2p/package-summary.html Wifi] ====
 
==== [http://developer.android.com/reference/android/bluetooth/package-summary.html Bluetooth] ====
 
==== [http://developer.android.com/reference/android/bluetooth/package-summary.html Bluetooth] ====
 +
* [http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html BluetoothAdapter] is the starting point for all Bluetooth communication
 +
** This gives the us the ability to control Bluetooth profiles
 +
** Discover devices
 +
** Query addresses
 +
** Get remote [http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html BluetoothDevice] objects
 +
** Create listening sockets to addresses
 +
* Classes Implementing [http://developer.android.com/reference/android/bluetooth/BluetoothProfile.html BluetoothProfile] can be queried for [http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html BluetoothDevice] Objects, implementing classes:
 +
** [http://developer.android.com/reference/android/bluetooth/BluetoothA2dp.html BluetoothA2dp]
 +
** [http://developer.android.com/reference/android/bluetooth/BluetoothHeadset.html BluetoothHeadset]
 +
** [http://developer.android.com/reference/android/bluetooth/BluetoothHealth.html BluetoothHealth]
 +
* [http://developer.android.com/reference/android/bluetooth/BluetoothDevice.html BluetoothDevice] objects allow the creation secure and insecure [http://developer.android.com/reference/android/bluetooth/BluetoothSocket.html Bluetooth socket]'s
 +
** These all data transfer between physical devices
 +
** Bluetooth protocols are transparent

Revision as of 15:03, 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

NexjBluetooth.png

Classes

phonegapMedicalDeviceInterface

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

medicalDevice

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

nativeMedicalDeviceInterface

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

bluetoothAdapter

  • 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

bloodPressureBluetoothAdapter

  • 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

Flaws

  • 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

iOS

Wifi

Bluetooth

Android

Wifi

Bluetooth