292
S. Titi et al.
PC, PP, PF, DPC. These variables are considered as inputs variables combined with the fuzzy variables Age, BMI and physical activity to deduce if
the diet is healthy or not which is expressed by the fuzzy variable Diet status.
– Fuzzy physical activity: expresses the level of physical activity practiced by
the diabetic patient. The level of physical activity is used to calculate the
total calories needed by the diabetic patient to maintain or lose weight. In
fact, according to the level of activity, a factor is multiplied by the BMR as
following: little = BMR * 1.2, light = BMR * 1.375, moderate = BMR * 1.55,
strenuous = BMR * 1.725, extra strenuous = BMR * 1.9.
5 Health Condition and Diet Status Calculation Process
This section details the process calculation of health condition and diet status
values for the diabetic patient using the following components: fuzzy-ontology,
fuzzification, fuzzy rule-base, fuzzy inference, and defuzzification. The crisp
inputs related to patient’s profile and sensors data are collected and then fuzzified using the fuzzy sets of each variable. Health condition is calculated using
blood glucose, blood pressure, BMI, heart rate, body temperature fuzzy inputs.
Diet Status is calculated based on PC, PP, PF, DCP, activity, Age, BMI. The
fuzzification step is proceeded by the fuzzy inference step. This later uses the
fuzzy-ontology and a fuzzy-rule base that includes a set of fuzzy-rules. The proposed fuzzy rules are categorized in: (1) Rules to determine the health condition
of the patient (2) Fuzzy rules to determine the status of diet consumed by the
patient. (3) Rules to determine the BMR and planned calories needed by the
patient according to his physical activity level, height, weight, and age. (4) Rules
to recommend drugs, foods and physical activity according to health and diet
conditions calculated. Following, are example of two SWRL rules. Rule 1 deduces
the health status of the patient based on his physiological signs and generates
Health services. Rule 2 deduces the diet status based on the composition of
meals eaten by the patient, his activity and the difference between the planned
and consumed calories, and generates appropriate recommendations. The rules
determining the status of diet are implemented according to these two conditions: (1) the diet is more healthy if PC, PF, PP, activity are more balanced and
(2) the planned caloric intake is closer to the one consumed. The Fuzzy inference
is based on Mamdani’s method to determine the fuzzy output variable and send
it to the defuzzyfier. The defuzzyfier adopts ‘Center of gravity’ [16] method to
deduce the crip value of the output variable.
Rule 1: Patient(?p), HasBloodGlucose(?p, HighBG), HasBloodPressure(?p,
HighBP), HasHeartBeat(?p, HighHB), HasBMI(?p, OverweightBMI), HasBody
Temperature(?p, NormalBT), greaterThan(?HighBG, 180), SystolicBPValue
(?HighBP, ?s), DiastolicBPValue(?HighBP,?d), greaterThan(?d, 86), lessThan
(?d, 90), greaterThan(?s, 131), lessThan(?s, 139), greaterThan(?NormalBT, 37),
lessThan(?NormalBT, 38), greaterThan(?HighHB, 100), greaterThan(?Over
weightBMI, 38), lessThan(?OverweightBMI, 40), Alarm(?a), EmergencyButton(?e), UseActuatingDevice(?p, ?e) -> HasHealthCondition(?p, Serious),
S. Titi et al.
PC, PP, PF, DPC. These variables are considered as inputs variables combined with the fuzzy variables Age, BMI and physical activity to deduce if
the diet is healthy or not which is expressed by the fuzzy variable Diet status.
– Fuzzy physical activity: expresses the level of physical activity practiced by
the diabetic patient. The level of physical activity is used to calculate the
total calories needed by the diabetic patient to maintain or lose weight. In
fact, according to the level of activity, a factor is multiplied by the BMR as
following: little = BMR * 1.2, light = BMR * 1.375, moderate = BMR * 1.55,
strenuous = BMR * 1.725, extra strenuous = BMR * 1.9.
5 Health Condition and Diet Status Calculation Process
This section details the process calculation of health condition and diet status
values for the diabetic patient using the following components: fuzzy-ontology,
fuzzification, fuzzy rule-base, fuzzy inference, and defuzzification. The crisp
inputs related to patient’s profile and sensors data are collected and then fuzzified using the fuzzy sets of each variable. Health condition is calculated using
blood glucose, blood pressure, BMI, heart rate, body temperature fuzzy inputs.
Diet Status is calculated based on PC, PP, PF, DCP, activity, Age, BMI. The
fuzzification step is proceeded by the fuzzy inference step. This later uses the
fuzzy-ontology and a fuzzy-rule base that includes a set of fuzzy-rules. The proposed fuzzy rules are categorized in: (1) Rules to determine the health condition
of the patient (2) Fuzzy rules to determine the status of diet consumed by the
patient. (3) Rules to determine the BMR and planned calories needed by the
patient according to his physical activity level, height, weight, and age. (4) Rules
to recommend drugs, foods and physical activity according to health and diet
conditions calculated. Following, are example of two SWRL rules. Rule 1 deduces
the health status of the patient based on his physiological signs and generates
Health services. Rule 2 deduces the diet status based on the composition of
meals eaten by the patient, his activity and the difference between the planned
and consumed calories, and generates appropriate recommendations. The rules
determining the status of diet are implemented according to these two conditions: (1) the diet is more healthy if PC, PF, PP, activity are more balanced and
(2) the planned caloric intake is closer to the one consumed. The Fuzzy inference
is based on Mamdani’s method to determine the fuzzy output variable and send
it to the defuzzyfier. The defuzzyfier adopts ‘Center of gravity’ [16] method to
deduce the crip value of the output variable.
Rule 1: Patient(?p), HasBloodGlucose(?p, HighBG), HasBloodPressure(?p,
HighBP), HasHeartBeat(?p, HighHB), HasBMI(?p, OverweightBMI), HasBody
Temperature(?p, NormalBT), greaterThan(?HighBG, 180), SystolicBPValue
(?HighBP, ?s), DiastolicBPValue(?HighBP,?d), greaterThan(?d, 86), lessThan
(?d, 90), greaterThan(?s, 131), lessThan(?s, 139), greaterThan(?NormalBT, 37),
lessThan(?NormalBT, 38), greaterThan(?HighHB, 100), greaterThan(?Over
weightBMI, 38), lessThan(?OverweightBMI, 40), Alarm(?a), EmergencyButton(?e), UseActuatingDevice(?p, ?e) -> HasHealthCondition(?p, Serious),
