Friday, November 11, 2011

Using Android to develop healthcare applications and devices

Believe or not, most makers of DIY Gadgets are very greenpeace-compatible because many DIY projects recycle garbage to create something useful. Healthcare is certainly one of the many topics we shouldn't ignore, not only because of the ethical nature that gears to what a DIYer would love, but also because it involves many external hardware devices, great gadgets for curing illness and saving lives.

Since Android Ice Cream Sandwich (Android 4.0, API 14), we can develop Android applications for Bluetooth Health devices.

The official Android Developer site indicates that the BluetoothHealth API allows communication with devices that implement the Bluetooth Health Profile (HDP).

What is that? What can we do?

Let's see what a Bluetooth profile is: it is a wireless interface specification for Bluetooth-based communication between devices. In order to use Bluetooth technology, a device must be compatible with the subset of Bluetooth profiles necessary to use the desired services. A Bluetooth profile resides on top of the Bluetooth Core Specification and (optionally) additional protocols. While the profile may use certain features of the core specification, specific versions of profiles are rarely tied to specific versions of the core specification.

Bluetooth headset users are very familiar with the Advanced Audio Distribution Profile (A2DP). This profile defines how high quality audio (stereo or mono) can be streamed from one device to another over a Bluetooth connection. For example, music can be streamed from a mobile phone, to a wireless headset, hearing aid & cochlear implant streamer, or car audio or from a laptop/desktop to a wireless headset.

Health Device Profile (HDP) is also a traditional Bluetooth profile. It is designed to facilitate transmission and reception of Medical Device data. The APIs of this layer interact with the lower level Multi-Channel Adaptation Protocol (MCAP layer), but also perform SDP behavior to connect to remote HDP devices. It also makes use of the Device ID Profile (DIP).

Here are some documents:

Ok, too much new information for non bluetooth-experts. Let's see some examples. These videos are really old where you can find some ancient phones. but you can imagine with today's beyond-smart-phones, everything can be greatly refined.

Video links:

How to use BluetoothHealth API in Android?

It is fairly easy, just create a BluetoothHealth object. BluetoothHealth is a proxy object for controlling the Bluetooth Service via IPC. If you don't know what IPC is, check it out here.

How to connect to an external health device which is acting in the source role:

  • Use getProfileProxy(Context, BluetoothProfile.ServiceListener, int) to get the BluetoothHealth proxy object. 
  • Create an BluetoothHealth callback and call registerSinkAppConfiguration(String, int, BluetoothHealthCallback) to register an application configuration 
  • Pair with the remote device. This currently needs to be done manually from Bluetooth Settings 
  • Connect to a health device using connectChannelToSource(BluetoothDevice, BluetoothHealthAppConfiguration). Some devices will connect the channel automatically. The BluetoothHealth callback will inform the application of channel state change. 
  • Use the file descriptor provided with a connected channel to read and write data to the health channel. 
  • The received data needs to be interpreted using a health manager which implements the IEEE 11073-xxxxx specifications. 
  • When done, close the health channel by calling disconnectChannel(BluetoothDevice, BluetoothHealthAppConfiguration, int) and unregister the application configuration calling unregisterAppConfiguration(BluetoothHealthAppConfiguration) 

PS: There multiple BLE Health related profiles, the profile that Android uses is a very traditional one, which is not to be confused with similar Bluetooth Low Energy (BLE) profiles such as Health Thermometer and Hear Rate Monitor.

Now that Android is starting to provide official APIs, and that wireless integration with Healthcare has always been a great topic, it is worth getting started.

Imagine when you combine the Android BluetoothHealth API with Google Health APIs, that can create something really neat.

The Java Health Client APIs are documented at:

You can use "gdata" APIs on Android:

For authentication, there's a section in the Health API docs on choosing the appropriate mechanism:

One more thing: if you are not very interested in Bluetooth, start with something easy but really usesful, with your imagination.

Last weekend I made this application, pure software, aiming at helping people to better sleep without signal radiation and data consumption. It is called "Auto Signal Off When I Sleep", available in Android Market here.

That's way simple! You'd say. Well, it is a useful healthcare application, ain't it? Start your own healthcare applications now.


  1. I am also shock to about this service in your appeared technology is very employed to us and impressive

  2. Android developers create so many applications which is good for health sector. Here I read another example of app development for health sector. Android Event Application

  3. Android apps a very unique thing,If any developers have skill and grip on android apps then he can create any kind of program
    70-410 but i have grip on networking field,last year i have got certification about the network. You can buy easily paper relate to the Microsoft networking.

  4. There are many industries which are closing down but healthcare is something which would always be needed by the masses. This field is growing rapidly and thus one can expect the number of jobs to grow with each year.
    Smart Medigap Plans

  5. Another example is providing awareness about flu vaccines and encouraging people to get the vaccination.Stanozolol kaufen

  6. JBL Bluetooth headphones, including earbuds, earphones, in-ear headphones, and on-ear bluetooth plantronics explorer 502 vs m70

  7. A lot of people having an incorrect image about the cash advance loans or sometimes refer it as bad credit payday loans. Website

  8. I have read your blog its very attractive and impressive. I like it your blog.

    hotmail signup process
    kissanime alternatives

  9. I admit, I have not been on this web page in a long time... however it was another joy to see It is such an important topic and ignored by so many, even professionals. I thank you to help making people more aware of possible issues. Healthcare

  10. Android is an open-source software stack created for mobile phones and other devices. It is combines and builds upon parts of several dissimilar open source projects.gerald winata gozali

  11. This is truly a decent and useful, containing all data furthermore greatly affects the new innovation. A debt of gratitude is in order for sharing it  frec 4 course

  12. I frequently benefit from locating a site that gives you great ideas since I like being familiar with new stuff. Pleased when I came across your web blog because I greatly enjoyed this and so I anticipate your future article. An awesome web page and i'll return again for additional fantastic content… Please go to site webstagram

  13. Exception handling is an important part of writing powerful Java applications.Understanding Exception Handling In Java

  14. You have fantastic creating abilities. I'm so delighted to discover the exact same subject I have actually been trying to find. Every person is offering me a great deal of praises today. You're remarkable. As an author, you're so awesome due to the fact that you're such a fantastic author. Why do not you come and also see my article? 바카라사이트

  15. 온라인카지노 Having read this I believed it was extremely enlightening. I appreciate
    you spending some time and effort to put this short article together.
    I once again find myself personally spending a significant amount of
    time both reading and posting comments. But so what, it was still worth it!

  16. 토토사이트 We absolutely love your blog and find almost all of your post’s to be just what I’m looking for.
    Does one offer guest writers to write content for you personally?
    I wouldn’t mind publishing a post or elaborating on a number of the subjects you write with regards to here.

    Again, awesome web log!

  17. 토토 magnificent put up, very informative. I'm wondering why the opposite
    experts of this sector don't notice this. You must
    continue your writing. I am confident, you have a huge readers' base already!

  18. Excellent read, I just passed this onto a friend who was doing a little research on that. And he actually bought me lunch as I found it for him smile Therefore let me rephrase that: Thank you for lunch. 토토사이트

  19. 안전놀이터추천December 2, 2021 at 7:55 PM

    Hello, I am one of the most impressed people in your article. 안전놀이터추천 I'm very curious about how you write such a good article. Are you an expert on this subject? I think so. Thank you again for allowing me to read these posts, and have a nice day today. Thank you.

  20. cyber security perks As the name predicts, AI technology is smart as it allows enhancing the ability of network security with time

  21. We are really grateful for your blog post. You will find a lot of approaches after visiting your post. Great work thank you.
    Business Analytics Course in Chandigarh

  22. I'm very amaze surfing from your article; this is the kind of manual that needs to be given and not the random misinformation that’s at the other blogs. Appreciate your sharing this best posting. unn jupeb admission form this year


Disqus for DIY Phone Gadgets