Framework Design Philosophy

Table of Contents


Before officially starting The Berkeley Telemonitoring Project, we have collaborated with the Northwestern Medical Faculty Foundation to conduct a study in which, 15 patients with chronic heart failure were remotely monitored for their activity levels, symptoms progression and vital signs . The goal of the study, among others, was to study the feasibility and usability of smartphone-based telemonitoring; and the privacy preferences of its potential users. For the purposes of that study, we developed our own Android application that, for the most part, ran in the background and estimated the activity levels of the subject carrying the phone.

The study proved very helpful in learning many lessons regarding the challenges arising from designing and implementing telemonitoring systems, as well as the challenges of studying or testing them. Below are the key lessons we learned from this study.

Key lessons learned

Data trustworthiness

Telemonitoring systems can be used in important decision-making processes and medical interventions. Therefore, the trustworthiness of the data needs to be studied and assured.

Fault tolerance

Mobile systems are relatively faulty systems (compared to PCs, for example). Mobile health telemonitoring systems therefore suffer from higher fault rates than traditional systems. As such, these systems need to be tolerant towards such faults and recover in a graceful manner.

Ease of use

Here’s the tough truth. Oftentimes, health professionals and software/hardware engineers speak two different languages, creating a potential gap in what engineers build as opposed to what health professionals envision in the telemonitoring system and the data that it collects. In order to mitigate this gap, the difficulty of building telemonitoring systems needs to be reduced to a level where health professionals can be an active part of the design process of the telemonitoring system. Ideally, the components of telemonitoring systems will become “plug and play” so that health professionals can design and implement their own telemonitoring systems with minimal help from software engineers.


Health data are sensitive data, therefore the privacy of the subjects being monitored needs to be assured. This can be achieved, for example, by providing mechanisms for privacy-aware data structures, data transmission and data analysis. In addition to delegation of computation to the cloud when population data are needed (rather than sending snippets or statistics of the population data to the telemonitoring node).

The inception of The Berkeley Telemonitoring Project

Based on the the aforementioned pilot study, we decided to address these lessons and challenges in a systematic manner. We therefore started designing a general-purpose framework that enables developers to easily design and implement full stack telemonitoring systems while including the major details of treating the lessons above under the hood of the framework, thus lifting a lot of the burden of the software engineering from the telemonitoring system designer to us. Some technical details of this design are described in .