Demo app for android

A project log for HydrObserve - stopping dehydration deaths

An automated system that helps the elderly to stay hydrated and therefore prevents hospitalizations and deaths. Saving millions $.

jflaschbergerjflaschberger 08/31/2017 at 16:100 Comments

So far, we only dealt with the Hydrowarn device itself. The real power and one key requirement is automation. And where is the automation, if you have to read out the BLE charateristics maually? Jup, we need an app to do this for us.

BLE characteristics documentation

I'll not explain how BLE in general works, one can find nice sources for this online.

In the download section of this Project, you find a pdf with all characteristics, UUIDs, value ranges etc. so that you can build your own app or retrieve the data using a BLE dongle.

Demo app

The app (unfortunately in German) was programmed by a friend to demonstrate how HydroWarn can be used. the APK file kann be found in the download section. If you work with android studio, you can access all source through github.

I'll explain the fuctionality along the workflow, that a caretaker using the app would follow:

1. Start App and login: When starting the app, you have to log in with "Admin", both for user and password.

2. Register new patient

If a new HydroWarn device is registered to a patient, it is done as follows: the caretaker taps on the plus symbol in the main screen and the following window openes.

Name, birthday and gender are entered and with a tap on "Registrieren", the app is searching for a HydroWarn to be registered to the user. The button of the device is pressed, app and device connect - that's it. A success message confirms.
For each patient, a unique ID is generated from name and date of birth, so one patient can have multiple HydroWarn devices registered to her/him.

3. Bring phone/tablet in BLE reach and read out HydroWarn modules

Once a day, the caretaker would go into a room with one or multiple HydroWarn units, then pressing their buttons or slightly moving them to wake them up. The devices will automatically connect to the app and send the volumes of liquid that has been stored since the last readout and match it to the right person in the database.

4. Check if all HydroWarns have been read

On the main screen, the section "ausstehend" show all users, for whom no volume data has been collected within the last 20 hours. If there are persons indicated, the caretaker would then make sure that this person's HydroWarn is also read out.

5. Check potentially dehydrated patients

In the section "Auffällig" in the main screen, all those patients are displayed, who have drunken less than 1.5 liters at the last data read out. 

With a tap on the patient, the individual profile is shown. One can see (with the warning symbol), that only 337 ml were registered at the last readout. Now the caretaker would see the person and check if liquid was spilled, HydroWarn wasn't properly used and in case provide hydration.

In the section "Alle" in the main screen, all person's profile can be seen. The following example of Anton Berger shows a last readout of 2880ml, so enough hydration.
For each profile, the radio button next to the name defines, if the person is "active", so warnings pop up if no sufficient hydration is detected or not. This way, persons can be deactivated if on holiday or in hospital.
A tap on "Alle Trinkereignisse" shows a list of all data readouts for the person.

6. Sync with database

Of course, the app is connected. Here it is only a dummy, but the code already is pre-written. With this action, documentation is a piece of cake!

7. Logout

Because the aquired data is somehow personal, the caretaker would tab on the off-symbol in the top right of the main screen to log out and end the app.