All submissions of the EM system will be redirected to Online Manuscript Submission System. Authors are requested to submit articles directly to Online Manuscript Submission System of respective journal.
Hamid Gholam Hosseini*1, Mirza Mansoor Baig1 and Maria Lindén2
1 School of Engineering, Computer and Mathematical Sciences, Auckland University of Technology, Private Bag 92006, Auckland 1142, New Zealand
2 School of Innovation Design and Engineering, Mälardalen University, Sweden
*Correspondence: Hosseini HG, PhD, School of Engineering, Computer and Mathematical Sciences, Auckland University of Technology, New Zealand, Email: [email protected]

Received Date: Aug 30, 2019 / Accepted Date: Feb 11, 2020 / Published Date: Feb 18, 2020

Citation: Hosseini HG. A Smartphone-based Obesity Risk Assessment Application Using Wearable Technology with Personalized Activity, Calorie Expenditure and Health Profile. EJBI 2020; 16(2): 22-28. DOI: 10.24105/ejbfi.2020.16.2.22

This open-access article is distributed under the terms of the Creative Commons Attribution Non-Commercial License (CC BY-NC) (, which permits reuse, distribution and reproduction of the article, provided that the original work is properly cited and the reuse is restricted to noncommercial purposes. For commercial reuse, contact [email protected]


Objectives: There is a worldwide increase in the rate of obesity and its related long-term conditions, emphasizing an immediate need to address this modern-age global epidemic of healthy living. Moreover, healthcare spending on long-term or chronic care conditions such as obesity is increasing to the point that requires effective interventions and advancements to reduce the burden of healthcare.

Methods: This research focuses on developing a mobile application for obesity risk assessment using wearable technology and proposing an individualized activity/dietary plan. From calculating the Body Mass Index, we established an individualized health profile and used the average data collected by a smart vest to offer the level of activity and health goals.

Results: We developed an algorithm to assess the risk of obesity using the individual’s current activity and calorie expenditure. The algorithm was deployed on a smartphone application to collect data from the wearable vest and user-reported data. Based on the collected data, the proposed application assessed the risk of obesity/ overweight, measured the current activity level and recommended an optimized calorie plan.

Conclusion: The proposed model can integrate data from multiple sources including sensors, wearable garment, medical devices and also the manually entered (user reported) data. The model (and its rule-based engine) will continuously self-learn and tune the model for better accuracy and reliability over-time.


Obesity risk assessment; Mobile health; Wearable technology; mHealth; Activity detection; Smartphone applicationmethods; Diabetes; Self-management


This paper is an extension of work originally presented in personalized health (pHealth) 2019 on obesity risk assessment model using personalized activity, calorie expenditure and health profile [1]. Assessment, treatment, and management of obesity have become a major concern for governing bodies and healthcare organizations [2,3]. Many initiatives are focusing on prevention and early detection of health conditions, including chronic illnesses and long-term conditions (LTCs). The LTCs can be related to several health conditions such as diabetes, obesity and heart disease [4,5]. Currently, there is a need for a reliable and accurate application to determine the individual’s health profile from various data points such as activity data, vital signs, calories intake and self-reported data.

Obesity is a medical condition where individuals have excessive body fat that ultimately has adverse effects on their health. It is caused by two significant factors: excessive caloric intake and minimal physical activity [6]. Obesity contributes to various health conditions such as heart disease, Type 2 diabetes and many other chronic diseases, all of which reduce healthy living and life expectancy [6-8].

Short-term interventions, which are typically three to six months in duration, have examined the effect of exercise alone and in combination with reductions in energy intake on changes in body weight. When compared, these studies have demonstrated that reductions in energy intake (e.g., diet) have a greater impact on body weight than changes in energy expenditure via exercise, with the combination of diet plus exercise having the greatest impact on weight loss [9-11].

This research focuses on the early detection and individualized risk assessment for obesity using a proposed health profile concept. We developed an algorithm that identifies the individual’s level of the activity using activity data, vital signs and calorie intake (self-reported). The development of the algorithm involved using MATLAB and Microsoft Visual Studio environment. The wearable device used in this research was Hexoskin’s smart vest [12], that has the capability of measuring ECG, heart rate, heart rate variability, breathing rate, breathing volume, activity, steps and cadence in real-time and store the data in the cloud for further data analysis [12-15].

Data Collection and Preprocessing

Measured Variables

The following six key variables were measured for identifying the level of individual health [16-18].

• Daily Caloric Expenditure (DCE): Measured in Calories and is related to the activity level of an individual.

• Caloric Intake: A key measure of calories consumed for weight management. This is based on the standard calory intake per day for male and female.

• Breathing Rate: Measured in bpm and identifies the breathing rate. For people with LTCs such as obesity, breathing rate tends to be on a higher side (when compared to the healthy population).

• Real-time Electrocardiogram (ECG): This data is an effective measure for determining cardiovascular and heart-related issues.

• Minute Ventilation: Measures the volume of air that is inhaled or exhaled. It is measured in ml/min.

• Cadence: It is a measure of how many steps someone takes per minute (spm). Integrating this measurement will give the total steps someone takes over the recorded period.

Data Collection

Data collection began by wearing the Hexoskin’s smart vest for a week, which measured many useful health parameters such as heart rate, breathing rate, cadence, minute ventilation and activity level. Initially, three male students between 21 to 23 years old involved in the project were recruited as a group of volunteers. However, over the research and developing period, the model and its rule-based engine will use the new data to continuously selflearn and tune the model for better accuracy and reliability. Using Hexoskin’s smart vest, we collected real-time activity (cadence), ECG, heart rate, breathing rate and minute ventilation. Figure 1 shows the setup of data collection using the Hexoskin smart vest and its related application programming interfaces (APIs) as well as a cloud platform. The collected data stored on the Hexoskin’s cloud platform with full access to the data via its open APIs. The wearable smart vest data can be collected from the cloud platform, and each measured variable can be extracted in its processed and raw formats. We extracted the raw data related to the selected variables in real-time using the Hexoskin APIs and saved them to a .csv file.


Figure 1: Data collection setup using Hexoskin smart vest/shirt.

In addition to the data collected by Hexoskin vest, the Body Mass Index (BMI) is measured to classify the users in different categories. BMI is one of the key indicators of body fat and is defined as the body mass divided by the square of the body height by the American Heart Foundation. BMI intends to classify an individual into different categories, from underweight to obese [19-21]. BMI can only be considered as a rough estimate for obesity condition of a person. BMI is not a sophisticated measure to determine or differentiate the finer details regarding age, body fat, muscle mass, fat mass and bone mass. Hence, BMI by itself cannot be a reliable metric to quantify the health of a person in this scenario. So, taking the inaccuracy of BMI into account, the average Hexoskin smart vest data, as described in Sections 2.2 and 2.3, were considered in the algorithm to analyze the user-health condition.

Preprocessing of Data

Pre-processing of wearable sensor data was identified as a challenging task due to the motion artifacts and time/ frequencyrelated noises associated with each sensor/variable. Thus, it was critical to reduce the noise in the signals received and normalize the incoming data for uniqueness. A moving average filter was applied to the whole dataset for denoising data by taking a certain number of samples (window) across a given period and taking the average of the sample values as an output. This window moved across the data and produced a series of average, which then made up the output of the moving average filter. An example of smoothing the data is presented in Figure 2 with original noisy signal plotted in ‘blue’ and the filtered data plotted in ‘red’.


Figure 2: A snapshot of the result of applying the proposed moving average filter to the original noisy signal plotted ‘blue’ and the filtered signal plotted in ‘red’.

The reason for taking the raw data was to implement an improved smoothing low pass filter to remove outliers caused by the sensor picking up noise, as shown in Figure 3.


Figure 3: Cadence data (spm) of a healthy person plotted against time (Raw data) as shown in the prototype Android app.

The filter that employed to remove the noise introduces a delay in the signal. The order of the selected low pass filter was six. Therefore, each output sample was calculated as a weighted sum of the last six input samples. The filtering algorithm was implemented using Visual Studios.


Data flow is a key aspect that allows the successful execution of the app. So initially, data is collected from the Hexoskin smart vest and passed to the phone via Bluetooth. This connectivity is only accessed using the original Hexoskin API. The user then sinks the data on the phone with the online Hexoskin API server. This data is stored in a CSV file on the server. Within our app, the latest CSV file can be retrieved from the Hexoskin API. A MATLAB executable file is then run by the app to process the data and receive the average values for each parameter monitored by the Hexoskin vest. These average values on MATLAB are also used to calculate the overall scale value. These calculated values are passed back to the app for display and for assigning which plans will be shown to the user. In addition to the data collected by Hexoskin vest, the BMI is calculated to establish the individual health profile.

We used BMI to categorize the user in one of the four standard categories from underweight to obese (Table 1) and then considered the average Hexoskin smart vest data to select a dietary/activity plan for the user.

Obesity Class BMI Range
Underweight <18.5
Healthy 18.5-24.9
Overweight 25-29.9
Obese ≥ 30

Table 1: Obesity classification according to the World Health Organization guidelines.

Daily Caloric Expenditure and the Harris-Benedict Equation

The DCE is an estimation of how many calories expended by an individual per day which is related to the amount of energy required to maintain the body‘s normal metabolic activity at rest with no additional activity or Basal metabolic rate (BMR). This factor is related to the Harris-Benedict equation that expresses the DCE by multiplying the BMR and an activity multiplier (Global RPh) (22).

Male (metric): DCE = ALF x ((13.75 x WKG) + (5 x HC) - (6.76 x age) + 66) (1)

Female (metric): DCE = ALF x ((9.56 x WKG) + (1.85 x HC) - 4.68 x age) + 655) ) (2)

Where ALF is Activity Level Factor, WKG is weight in kilograms and HC is height in centimeters.

Quantifying Health of Individuals

The essential part of the risk assessment model is to design and develop an accurate individualized scale by which the health of an individual can be deduced. We used the weight parameter mechanism using three data types - Activity data, vital signs and calorie intake. The weighted parameters are shown in Table 2, which are based on the DCE distribution [19,22-24].

Name Class Weight
BMI A 50%
Heart Rate B 12.50%
Breathing Rate C 12.50%
Minute Ventilation D 12.50%
Caloric Expenditure E 12.50%

Table 2: Weighted scales of the individual health parameter.

Most risk models use BMI as the only measure to profile atrisk individuals. However, the proposed model assigns a higher weight to BMI due to its impact on the overall risk profile, but the model also considers other data sources such as data received from the wearable monitoring (Hexoskin [12]) to establish an accurate health risk profile as the “Overall scale”.

Algorithm Development

Initially, each variable (ECG, heart rate, cadence, calories, breathing rate and minute ventilation) was normalized with its standard limits using the best-practice and national guidelines. Moreover, an individual scale was established for each variable and then the overall scale was developed. The standard heart rate ranges were used to establish the individual’s range, maximum and minimum values. Table 2 shows the class and weight of each variable, derived from the DCE distribution. For each variable, an individual scale (ranging from 0 to 100) is created based on its corresponding range. Then, the overall scale was established using the weights from the individual scale and its respective categories (equation 3). Table 1 provides the final parameters of each category [23,25-27].

Overall Measure = A*0.5+B*0.125+C*0.125+D*0.125+E*0.125 (3)

Where, A = (average BMI value)/40*100, B = (average heart rate value)/220*100,

C = (average breathing rate value)/50*100, D = (average minute ventilation value)/60*100, and

E = 100 – (calculated calorie value)/10,000*100

Mobile App (Prototype) Development

The proposed scaling scheme applied to the data collected from the Hexoskin’s smart vest. The scale value is a number ranging from 0 to 100 where the value around 50 is termed as a healthy region. The range value of less than 50 is categorized as underweight and anorexic, and the range value above 50 is categorized as overweight and obese. Finally, the scale’s index value was stored on a cloud server, which was then received by the app and displayed to the user. Based on the scale value, the app displays different workout regiments and dietary plans to ensure that the user reaches the desired healthy region. A sample screen with cadence data from the prototype Android app is shown in Figure 3.

A list of features (menu) that users can interact with the prototype app is overview, analysis, plan, user profile and help. The ‘Overview’ is the main menu that users can see once logged into the app. The menu contains most of the user info where the scale value was retrieved from the cloud database. The scale value determines the user’s health. The ‘Overview’ also shows the daily averages of the user’s data which includes heart rate, breathing rate, cadence, and minute ventilation. It will also show the user’s current workout routine and the current meal that the user is recommended to take.

In the ‘Analysis’ tab, the user‘s health parameters are displayed. It shows a bar graph with the averages within the week. Below the graphs, are the averages for that parameter with a healthy range so the user can compare the results with a healthy range. The ‘User Profile’ shows the user details submitted at the time of sign up. It includes name, email address, age, height and weight. In the ‘Help’ tab, we described some key terms used within the app, for example ‘cadence’. It also shows how the healthy range is defined so it is easy to know and understand the whole scale and its interpretation for anorexic or obese range. The equation used to define the algorithm can also be found in the help section of the application.

Figure 4 shows a screenshot of the developed app where the layout consists of primarily text boxes which present useful information related to the health profile, activities and dietary plan.


Figure 4: A screenshot of the developed app with related parameters.

Data Protection and Privacy

Firebase was employed as a cloud storage application to store an individual’s data virtually. It is a well-established platform where different mobile applications have used it for data protection and security purposes. The other features of Firebase include real-time, authentication, cloud storage, crash reporting and many more. In this work, the authentication function was used to allow users to have the ability to login into the app using their secure login and password. Having a login identification allows individuals to have access to their private data and serves as a common functionality like the pre-existing Hexoskin app.

Results and Validation

In order to ensure that the proposed algorithm can accurately identify the health category of a person, a testing dataset was needed. Instead of finding data on an actual population with the specific variables needed for input into the algorithm, a simple procedure was used to simulate an actual population sample. A set of 100 random numbers were generated for each variable including Age, Height and Weight. For each variable, the generated numbers were limited to be within a specific range. For example, the age was limited within a range of 18 to 100. For example, an individual cannot have a BMI of less than 12 and thus, certain limits were introduced to ensure that all data in the sample was valid. Form the sample generated BMI, DCE for females, DCE for males and values for the overall scale were calculated [28].

The BMI distribution of the simulated compared with the “Public Health of England” [29,30]. Since DCE only approximates a recommended daily caloric intake for maintaining user’s current weight, it cannot be used as the actual recommended intake for people who are below or above the healthy range. Thus, the result of the overall health scale was used to determine a factor by which the calculated DCE is multiplied. The multiplying factors are derived from the male and female DCE distribution on a large population data from the national health survey [29-33]. Table 3 shows the derived multiplying factors for calculating DCT for different categories of obesity.

Obesity Class Multiplying Factor
Underweight 1.5
Healthy 1
Overweight 0.75
Obese 0.5

Table 3: Multiplying factors derived from the population data.

Using the DCE distribution results, 10 DCE sub-ranges were established. Within each category, there are three sets of daily plans and each plan is limited in calories based on the range. Each plan aims to support the individual to achieve a healthy target and stay on a path to attain their individual health goals. An example of one of the plans includes Breakfast, Morning Snack, Lunch and Dinner consisted of 30%, 15%, 30% and 25% of the daily calories limit respectively [25-27,31-33].

To extend the proposed algorithm for dietary and exercise recommendation, we adopted multiple platforms such as Visual studios, MATLAB, Firebase and Android Studios for the development and the deployment of the prototype application. Through this research, the current state of health of the user can be determined, thus allowing for remote health monitoring. Data collection and analysis was successfully implemented using a mobile app which displays the user’s health profile through an algorithm formulated from the parameters measured by Hexoskin’s smart vest [12]. The data was then passed through the mobile app developed on Android Studio which recommends the user with dietary and workout plans formulated to cater to each division of the scale.

To validate the proposed model, we employed a group of volunteers to wear the Hexoskin smart vest and record the required data. The outliers were removed using an automated outlier detection module, and the generated data was robust enough to cover all possible scenarios and categories. The data was securely stored on the cloud platform in real-time for data analysis and data mining. We used the Hexoskin’s open APIs to load the real-time data into our local environment for pre-processing and risk analysis. By running the MATLABTM executable file on the app and process the data, the average values for each of the variables monitored by the Hexoskin suit were calculated [12]. The average values were used to calculate the overall scale using the local MATLABTM environment. These calculated values are passed back to the online application for the display of information and also for assigning the individual’s calorie plans. The user will see the individualised calorie plan, health profile (activity status and vital signs) and the overall risk of obesity.

Conclusion and Future Work

The collected data is mapped against the pre-built overweight and obesity model and approved clinical guidelines. The proposed model can integrate data from multiple sources including sensors, wearable garment, medical devices and also the manually entered (user reported) data. The model (and its rule-based engine) will continuously self-learn and tune the model for better accuracy and reliability over some time. An intelligent model to analyze the obesity levels in adults is represented by a prototype Android app. It allows users to login with their data which is first collected from Hexoskin’s smart vest and then uploaded to the app after processing the data. An added benefit is the ability to provide the user with a dietary plan and workout program catered to each category and defined on the scale going from anorexic to obese. Each plan is prepared with the calories of each meal, and the workout states the number of calories the users can lose if working out with that specific activity and duration of the exercise.

Future work will involve the addition of more sensors to measure other parameters such as body temperature and oxygen saturation; enhancing the real-time capability as the app currently updates the user’s data every twenty-four hours. The design of the user interface could also be enhanced by improving the overall aesthetics of the design as well as adding more functionalities to each screen. This would allow the user to have more freedom in understanding their data as well as learning more about their health and activities through informative analysis. To further provide the user with information, a website could be developed to share more information with the user, for example, a more detailed graph which may display a peak on how active the user was on that day and showing what time, they did that activity. Another future development for the app would be taking the design to the next level using a cross-platform approach such as React Native for IOS users as currently, the app is only available for Android users. One other option for the application of this health monitoring app could be to act as a standalone fitness app. Currently, it is running in conjunction with Hexoskin’s app and database but it could later be programmed to use with other heart monitoring or breathing monitoring sensors such as a Fitbit.


We would like to thank Hexoskin for supporting this research by providing the advanced wearable vests (smart vest), access to the mobile app and cloud platform with APIs, which are used for the real-time data collection in this research project.

Conflict of Interest

Authors declare no conflict of interest.