Using the HeLiS ontology
The HeLiS ontology aims to fill an important gap in the digital health domain:
the integration of food and activity domains with the possibility of integrating the ontology into a
personalized monitoring scenario.
HeLiS is the core knowledge artifact of the PerKApp project that
aims to promote healthier lifestyles for preventing chronic diseases.
The HeLiS ontology is available under the CreativeCommons 4.0 NonCommercial-ShareAlike license and it can be downloaded and integrated into your non commercial applications, or it can be used through the services described below.
The ontology, as well as the connected services, is continuously updated based on the project activities.
Downloads
HeLiS ontology v1.10
[TBox-only]
[Full]
Food/Diseases Realtionships v1.0.1 [Full]
Barriers module v1.0.0 [Full]
Arguments module v1.0.0 [Full]
Breast Cancer Unit Network module v0.3.0 [Full]
Example of monitoring rules concerning the Mediterranean Diet [Full]
Documentation
[doc]
Online Services
Below, it possible to find the list of available APIs for using the HeLiS ontology on our server.
Each service method produces a JSON containing the related information.
The base url for calling our service is: http://shellvm1.fbk.eu:8080/helis-service
/GetFoodList
returns the list of foods and recipes contained in the ontology with the associated labels in
English and Italian. No parameters are expected.
/GetFoodCategoryList
returns the list of foods categories contained in the ontology with the associated labels in English
and Italian. No parameters are expected.
/GetActivityList
returns the list of activities contained in the ontology with the associated labels in English and Italian.
No parameters are expected.
/GetNutrientList
returns the list of nutrients contained in the ontology with the associated labels in English and Italian.
No parameters are expected.
/FoodDetail
returns the details of a specific food concerning the belonging categories (included the full path from
the Food concept), the amount of energy and water, and the amount of each nutrient.
Parameters
foodId: the id of the food for which you want to get data. The value of the foodId parameter
has to be part of the food list available through the /GetFoodList method.
quantity: the quantity of the food for which we want to collect data. The default value is
100. By specifying a different value, all nutrients, energy, and water quantities will be
automatically recomputed.
Response
The response is a JSON structured as follows:
{"id":"FOOD-35",
"labels":{"en":"Bread Crumbs","it":"Pangrattato"},
"nutrients":{"nutrient-name":nutient-quantity,},
"parentCategories":["WhiteBread","Bread","CerealsAndGrainProducts","BasicFood","Food"],
"activeCategory":["Bread","CerealsAndGrainProducts"],
"ediblePart":100.0,
"amountEnergy":1481.0,
"amountWater":10.0,
"amountCalories":354.0
}
/ActivityDetail
returns the details of a specific activity concerning the caloric consumption and the metabolic equivalent
(MET).
Parameters
activityId: the id of the activity for which you want to get data. The value of the activityId
parameter has to be part of the activity list available through the /GetActivityList method.
minutes: the performed duration of the activity for which we want to collect data. The default value
is 60. By specifying a different value the calories consumption and METs will be automatically
recomputed.
uGender: the genetic user gender. Please provide 'M' is your gonosomes are XY or provide 'F' is your gonosomes are XX.
The default value is M. By specifying the gender parameter the calories consumption and METs will be automatically
recomputed.
uWeight: the user weight expressed in kilograms. Both calories consumption and METs values depend on the weight of the
user performing the activity. The default value is 75. By specifying a different value the calories
consumption and METs will be automatically recomputed.
uHeight: the user height expressed in centimeters. Both calories consumption and METs values depend on the height of
the user performing the activity. The default value is 175. By specifying a different value the calories
consumption and METs will be automatically recomputed.
uAge: the user age expressed in years. Both calories consumption and METs values depend on the age of
the user performing the activity. The default value is 25. By specifying a different value the calories
consumption and METs will be automatically recomputed.
/MealManager
returns the details of a meal as aggregation of a set of foods.
Parameters
The method accepts a POST request structured in the following way:
{"meals":[{"mealType":"Dinner","mealId":"58ca67c2925f7196aead8e84","timeStamp":1489659850730,
"foods":[
{"timeStamp":1489659850730,"foodId":"FOOD-70","foodQuantity":15.0},
{"timeStamp":1489659850730,"foodId":"FOOD-82","foodQuantity":50.0},
{"timeStamp":1489659850730,"foodId":"FOOD-322","foodQuantity":300.0}]}
],"userId":"fb220550","mode":"check"}
Response
The response has the same format of the /FoodDetail method where foods' values are aggregated into a single entity.