From 094e87c0c2db95cdd3b2d33332bf259b62f2352d Mon Sep 17 00:00:00 2001
From: Agustin <agusr1999@gmail.com>
Date: Sun, 19 Sep 2021 21:32:08 -0300
Subject: [PATCH] ER calculations for all ages, not working yet

---
 src/DTOs/IndividualMaternityDTO.ts |   4 +-
 src/DTOs/PopulationMaternityDTO.ts |   2 +-
 src/Services/ERCalculator.ts       | 164 +++++++++++++++++++++++++++--
 src/Services/ParameterService.ts   | 132 +++++++++++------------
 4 files changed, 223 insertions(+), 79 deletions(-)

diff --git a/src/DTOs/IndividualMaternityDTO.ts b/src/DTOs/IndividualMaternityDTO.ts
index 6d35f66..df99fff 100644
--- a/src/DTOs/IndividualMaternityDTO.ts
+++ b/src/DTOs/IndividualMaternityDTO.ts
@@ -1,6 +1,6 @@
 type IndividualMaternity = {
-  pregnants: number;
-  lactating: number;
+  pregnantWomen: number;
+  lactatingWomen: number;
 };
 
 export default IndividualMaternity;
diff --git a/src/DTOs/PopulationMaternityDTO.ts b/src/DTOs/PopulationMaternityDTO.ts
index cf112bf..940f618 100644
--- a/src/DTOs/PopulationMaternityDTO.ts
+++ b/src/DTOs/PopulationMaternityDTO.ts
@@ -1,6 +1,6 @@
 type PopulationMaternity = {
   countryBirthRate: number;
-  countryPpulation: number;
+  countryPopulation: number;
 };
 
 export default PopulationMaternity;
diff --git a/src/Services/ERCalculator.ts b/src/Services/ERCalculator.ts
index 1d5f3cc..0ee877d 100644
--- a/src/Services/ERCalculator.ts
+++ b/src/Services/ERCalculator.ts
@@ -2,12 +2,16 @@ import AgeGroup from '../DTOs/AgeGroupDTO';
 import EnergeticRequirement from '../DTOs/EnergeticRequirementDTO';
 import CalculatorResponse from '../DTOs/CalculatorResponseDTO';
 import GroupEnergeticRequirement from '../DTOs/GroupEnergeticRequirementDTO';
-import extraData from '../DTOs/ExtraDataDTO';
-import MinorPALDTO from '../DTOs/MinorPALDTO';
-import ParserService from './ParserService';
+import ExtraData from '../DTOs/ExtraDataDTO';
+import MinorPAL from '../DTOs/MinorPALDTO';
+import AdultPAL from '../DTOs/AdultPALDTO';
+import IndividualMaternity from '../DTOs/IndividualMaternityDTO';
+import PopulationMaternity from '../DTOs/PopulationMaternityDTO';
+import Sex from '../Enum/Sex';
 import AgeBracket from '../Enum/AgeBracket';
+import ParserService from './ParserService';
 
-const calculateGET = (group: AgeGroup, params: number[], preval: MinorPALDTO): number => {
+const calculateGET = (group: AgeGroup, params: number[], preval: MinorPAL): number => {
   const getModerate: number = params[0]
   + (params[1] * group.medianWeight)
   - params[2] * (group.medianWeight * group.medianWeight);
@@ -22,6 +26,48 @@ const calculateGET = (group: AgeGroup, params: number[], preval: MinorPALDTO): n
   return ret;
 };
 
+const calculateTMB = (group: AgeGroup, params: number[]): number => {
+  const ret: number = params[0] * group.medianWeight + params[1];
+  return ret;
+};
+
+const calculatePAL = (group: AgeGroup, params: number[], popData: AdultPAL): number => {
+  const ruralPAL: number = (popData.activeRuralPAL * params[2]) / 100
+  + (popData.lowRuralPAL * params[3]) / 100;
+  const urbanPAL: number = (popData.activeUrbanPAL * params[4]) / 100
+  + (popData.lowUrbanPAL * params[5]) / 100;
+
+  const ret = (ruralPAL * popData.ruralPercentage) / 100
+  + (urbanPAL * popData.urbanPercentage) / 100;
+  return ret;
+};
+
+// eslint-disable-next-line max-len
+const calculateERWomenIndividual = (group: AgeGroup, params: number[], popData: IndividualMaternity, req: number): number => {
+  const percentPregnantWomen = (popData.pregnantWomen * 100) / group.population;
+  const percentLactatingWomen = (popData.lactatingWomen * 100) / group.population;
+
+  const reqPregnantWomen = (percentPregnantWomen * (req + params[6])) / 100;
+  const reqLactatingWomen = (percentLactatingWomen * (req + params[7])) / 100;
+  const reqRestOfWomen = ((100 - percentPregnantWomen - percentLactatingWomen) * req) / 100;
+
+  return reqPregnantWomen + reqLactatingWomen + reqRestOfWomen;
+};
+
+// eslint-disable-next-line max-len
+const calculateERWomenPopulation = (group: AgeGroup, params: number[], popData: PopulationMaternity, req: number): number => {
+  const annualBirths = popData.countryBirthRate * popData.countryPopulation;
+
+  const percentPregnantWomen = (annualBirths * 75) / group.population;
+  const percentLactatingWomen = (annualBirths * 50) / group.population;
+
+  const reqPregnantWomen = (percentPregnantWomen * (req + params[6])) / 100;
+  const reqLactatingWomen = (percentLactatingWomen * (req + params[7])) / 100;
+  const reqRestOfWomen = ((100 - percentPregnantWomen - percentLactatingWomen) * req) / 100;
+
+  return reqPregnantWomen + reqLactatingWomen + reqRestOfWomen;
+};
+
 const calculateLessThanAYear = (group: AgeGroup, params: number[]): GroupEnergeticRequirement => {
   const requirement = params[0] + (params[1] * group.medianWeight) + params[2];
 
@@ -34,7 +80,7 @@ const calculateLessThanAYear = (group: AgeGroup, params: number[]): GroupEnerget
   return groupRequirement;
 };
 
-const calculateOneToFiveYears = (group: AgeGroup, params: number[]): GroupEnergeticRequirement => {
+const calculate1To5Years = (group: AgeGroup, params: number[]): GroupEnergeticRequirement => {
   const requirement = params[0]
   + (params[1] * group.medianWeight)
   + (params[2] * (group.medianWeight ** 2))
@@ -50,10 +96,10 @@ const calculateOneToFiveYears = (group: AgeGroup, params: number[]): GroupEnerge
 };
 
 // eslint-disable-next-line max-len
-const calculateSixToSeventeenYears = (group: AgeGroup, params: number[], data: extraData): GroupEnergeticRequirement => {
+const calculate6To17Years = (group: AgeGroup, params: number[], data: ExtraData): GroupEnergeticRequirement => {
   let get: number;
   if (typeof (data.minorPAL) === 'undefined') {
-    throw new Error('Data missing');
+    throw new Error('Missing data');
   } else {
     get = calculateGET(group, params, data.minorPAL);
   }
@@ -70,7 +116,93 @@ const calculateSixToSeventeenYears = (group: AgeGroup, params: number[], data: e
 };
 
 // eslint-disable-next-line max-len
-const calculateER = (groupParameters: Map<number[], AgeGroup>, data: extraData): CalculatorResponse => {
+const calculate18To29Years = (group: AgeGroup, params: number[], data: ExtraData): GroupEnergeticRequirement => {
+  let tmb: number;
+  let pal: number;
+  if (typeof (data.adultPAL) === 'undefined') {
+    throw new Error('Missing data');
+  } else {
+    tmb = calculateTMB(group, params);
+    pal = calculatePAL(group, params, data.adultPAL);
+  }
+
+  let requirement: number = tmb * pal;
+
+  if (group.sex === Sex.Female) {
+    if (typeof (data.maternity) === 'undefined') {
+      throw new Error('Missing data');
+    } else if (typeof (data.maternity) === 'IndividualMaternity') {
+      requirement = calculateERWomenIndividual(group, params, data.maternity, requirement);
+    } else if (typeof (data.maternity) === 'PopulationMaternity') {
+      requirement = calculateERWomenPopulation(group, params, data.maternity, requirement);
+    }
+  }
+
+  const groupRequirement: GroupEnergeticRequirement = {
+    group: ParserService.unparseGroup(group),
+    perCapita: requirement,
+    total: requirement * group.population,
+  };
+
+  return groupRequirement;
+};
+
+// eslint-disable-next-line max-len
+const calculate30To59Years = (group: AgeGroup, params: number[], data: ExtraData): GroupEnergeticRequirement => {
+  let tmb: number;
+  let pal: number;
+  if (typeof (data.adultPAL) === 'undefined') {
+    throw new Error('Missing data');
+  } else {
+    tmb = calculateTMB(group, params);
+    pal = calculatePAL(group, params, data.adultPAL);
+  }
+
+  let requirement: number = tmb * pal;
+
+  if (group.sex === Sex.Female) {
+    if (typeof (data.maternity) === 'undefined') {
+      throw new Error('Missing data');
+    } else if (typeof (data.maternity) === 'IndividualMaternity') {
+      requirement = calculateERWomenIndividual(group, params, data.maternity, requirement);
+    } else if (typeof (data.maternity) === 'PopulationMaternity') {
+      requirement = calculateERWomenPopulation(group, params, data.maternity, requirement);
+    }
+  }
+
+  const groupRequirement: GroupEnergeticRequirement = {
+    group: ParserService.unparseGroup(group),
+    perCapita: requirement,
+    total: requirement * group.population,
+  };
+
+  return groupRequirement;
+};
+
+// eslint-disable-next-line max-len
+const calculate60PlusYears = (group: AgeGroup, params: number[], data: ExtraData): GroupEnergeticRequirement => {
+  let tmb: number;
+  let pal: number;
+  if (typeof (data.adultPAL) === 'undefined') {
+    throw new Error('Missing data');
+  } else {
+    tmb = calculateTMB(group, params);
+    pal = calculatePAL(group, params, data.adultPAL);
+  }
+
+  const requirement: number = tmb * pal;
+
+  const groupRequirement: GroupEnergeticRequirement = {
+    group: ParserService.unparseGroup(group),
+    perCapita: requirement,
+    total: requirement * group.population,
+  };
+
+  return groupRequirement;
+};
+
+// eslint-disable-next-line max-len
+const calculateER = (groupParameters: Map<number[], AgeGroup>, data: ExtraData): CalculatorResponse => {
   let totalOfPeople = 0;
   let totalRequirement = 0;
 
@@ -100,7 +232,7 @@ const calculateER = (groupParameters: Map<number[], AgeGroup>, data: extraData):
       case AgeBracket.a3:
       case AgeBracket.a4:
       case AgeBracket.a5: {
-        groupRequirement = calculateOneToFiveYears(group, params);
+        groupRequirement = calculate1To5Years(group, params);
         break;
       }
       case AgeBracket.a6:
@@ -115,7 +247,19 @@ const calculateER = (groupParameters: Map<number[], AgeGroup>, data: extraData):
       case AgeBracket.a15:
       case AgeBracket.a16:
       case AgeBracket.a17: {
-        groupRequirement = calculateSixToSeventeenYears(group, params, data);
+        groupRequirement = calculate6To17Years(group, params, data);
+        break;
+      }
+      case AgeBracket.a18_29: {
+        groupRequirement = calculate18To29Years(group, params, data);
+        break;
+      }
+      case AgeBracket.a30_59: {
+        groupRequirement = calculate30To59Years(group, params, data);
+        break;
+      }
+      case AgeBracket.a60: {
+        groupRequirement = calculate60PlusYears(group, params, data);
         break;
       }
       default: {
diff --git a/src/Services/ParameterService.ts b/src/Services/ParameterService.ts
index fffa949..521b26e 100644
--- a/src/Services/ParameterService.ts
+++ b/src/Services/ParameterService.ts
@@ -7,318 +7,318 @@ const getEquationValues = (ageBracket: AgeBracket, sex: Sex): number[] => {
   let res: number[] = [];
   switch (ageBracket) {
     case (AgeBracket.m0): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // -152 + (92.8*MP) + 211
         res = [-152, 92.8, 211];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // -152 + (92.8*MP) + 178
         res = [-152, 92.8, 178];
       }
       break;
     }
     case (AgeBracket.m1): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // -152 + (92.8*MP) + 183
         res = [-152, 92.8, 183];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // -152 + (92.8*MP) + 161
         res = [-152, 92.8, 161];
       }
       break;
     }
     case (AgeBracket.m2): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // -152 + (92.8*MP) + 139
         res = [-152, 92.8, 139];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // -152 + (92.8*MP) + 134
         res = [-152, 92.8, 134];
       }
       break;
     }
     case (AgeBracket.m3): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // -152 + (92.8*MP) + 53
         res = [-152, 92.8, 53];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // -152 + (92.8*MP) + 68
         res = [-152, 92.8, 68];
       }
       break;
     }
     case (AgeBracket.m4): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // -152 + (92.8*MP) + 46
         res = [-152, 92.8, 46];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // -152 + (92.8*MP) + 57
         res = [-152, 92.8, 57];
       }
       break;
     }
     case (AgeBracket.m5): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // -152 + (92.8*MP) + 36
         res = [-152, 92.8, 36];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // -152 + (92.8*MP) + 47
         res = [-152, 92.8, 47];
       }
       break;
     }
     case (AgeBracket.m6): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // -99.4 + (88.6*MP) + 17
         res = [-99.4, 88.6, 17];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // -99.4 + (88.6*MP) + 20
         res = [-99.4, 88.6, 20];
       }
       break;
     }
     case (AgeBracket.m7): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // -99.4 + (88.6*MP) + 16
         res = [-99.4, 88.6, 16];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // -99.4 + (88.6*MP) + 17
         res = [-99.4, 88.6, 17];
       }
       break;
     }
     case (AgeBracket.m8): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // -99.4 + (88.6*MP) + 14
         res = [-99.4, 88.6, 14];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // -99.4 + (88.6*MP) + 15
         res = [-99.4, 88.6, 15];
       }
       break;
     }
     case (AgeBracket.m9): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // -99.4 + (88.6*MP) + 21
         res = [-99.4, 88.6, 21];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // -99.4 + (88.6*MP) + 18
         res = [-99.4, 88.6, 18];
       }
       break;
     }
     case (AgeBracket.m10): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // -99.4 + (88.6*MP) + 21
         res = [-99.4, 88.6, 21];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // -99.4 + (88.6*MP) + 15
         res = [-99.4, 88.6, 15];
       }
       break;
     }
     case (AgeBracket.m11): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // -99.4 + (88.6*MP) + 22
         res = [-99.4, 88.6, 22];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // -99.4 + (88.6*MP) + 14
         res = [-99.4, 88.6, 14];
       }
       break;
     }
     case (AgeBracket.a1): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 13
         res = [310.2, 63.3, -0.263, 13];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 13
         res = [263.4, 65.3, -0.454, 13];
       }
       break;
     }
     case (AgeBracket.a2): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 12
         res = [310.2, 63.3, -0.263, 12];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 13
         res = [263.4, 65.3, -0.454, 13];
       }
       break;
     }
     case (AgeBracket.a3): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 12
         res = [310.2, 63.3, -0.263, 12];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 11
         res = [263.4, 65.3, -0.454, 11];
       }
       break;
     }
     case (AgeBracket.a4): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 11
         res = [310.2, 63.3, -0.263, 11];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 10
         res = [263.4, 65.3, -0.454, 10];
       }
       break;
     }
     case (AgeBracket.a5): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 11
         res = [310.2, 63.3, -0.263, 11];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 10
         res = [263.4, 65.3, -0.454, 10];
       }
       break;
     }
     case (AgeBracket.a6): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 11, -15%/+15% para GET liviano/intenso
         res = [310.2, 63.3, -0.263, 12, 15, 15];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 10, -15%/+15% para GET liviano/intenso
         res = [263.4, 65.3, -0.454, 13, 15, 15];
       }
       break;
     }
     case (AgeBracket.a7): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 14, -15%/+15% para GET liviano/intenso
         res = [310.2, 63.3, -0.263, 14, 15, 15];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 17, -15%/+15% para GET liviano/intenso
         res = [263.4, 65.3, -0.454, 17, 15, 15];
       }
       break;
     }
     case (AgeBracket.a8): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 16, -15%/+15% para GET liviano/intenso
         res = [310.2, 63.3, -0.263, 16, 15, 15];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 20, -15%/+15% para GET liviano/intenso
         res = [263.4, 65.3, -0.454, 20, 15, 15];
       }
       break;
     }
     case (AgeBracket.a9): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 19, -15%/+15% para GET liviano/intenso
         res = [310.2, 63.3, -0.263, 19, 15, 15];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 23, -15%/+15% para GET liviano/intenso
         res = [263.4, 65.3, -0.454, 23, 15, 15];
       }
       break;
     }
     case (AgeBracket.a10): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 22, -15%/+15% para GET liviano/intenso
         res = [310.2, 63.3, -0.263, 22, 15, 15];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 25, -15%/+15% para GET liviano/intenso
         res = [263.4, 65.3, -0.454, 25, 15, 15];
       }
       break;
     }
     case (AgeBracket.a11): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 25, -15%/+15% para GET liviano/intenso
         res = [310.2, 63.3, -0.263, 25, 15, 15];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 25, -15%/+15% para GET liviano/intenso
         res = [263.4, 65.3, -0.454, 25, 15, 15];
       }
       break;
     }
     case (AgeBracket.a12): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 29, -15%/+15% para GET liviano/intenso
         res = [310.2, 63.3, -0.263, 29, 15, 15];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 26, -15%/+15% para GET liviano/intenso
         res = [263.4, 65.3, -0.454, 26, 15, 15];
       }
       break;
     }
     case (AgeBracket.a13): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 33, -15%/+15% para GET liviano/intenso
         res = [310.2, 63.3, -0.263, 33, 15, 15];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 24, -15%/+15% para GET liviano/intenso
         res = [263.4, 65.3, -0.454, 24, 15, 15];
       }
       break;
     }
     case (AgeBracket.a14): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 33, -15%/+15% para GET liviano/intenso
         res = [310.2, 63.3, -0.263, 33, 15, 15];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 19, -15%/+15% para GET liviano/intenso
         res = [263.4, 65.3, -0.454, 19, 15, 15];
       }
       break;
     }
     case (AgeBracket.a15): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 31, -15%/+15% para GET liviano/intenso
         res = [310.2, 63.3, -0.263, 31, 15, 15];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 13, -15%/+15% para GET liviano/intenso
         res = [263.4, 65.3, -0.454, 13, 15, 15];
       }
       break;
     }
     case (AgeBracket.a16): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 24, -15%/+15% para GET liviano/intenso
         res = [310.2, 63.3, -0.263, 24, 15, 15];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 5, -15%/+15% para GET liviano/intenso
         res = [263.4, 65.3, -0.454, 5, 15, 15];
       }
       break;
     }
     case (AgeBracket.a17): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // 310.2 + (63.3*MP) - 0.263*MP^2 + 14, -15%/+15% para GET liviano/intenso
         res = [310.2, 63.3, -0.263, 14, 15, 15];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // 263.4 + (65.3*MP) - 0.454*MP^2 + 0, -15%/+15% para GET liviano/intenso
         res = [263.4, 65.3, -0.454, 0, 15, 15];
       }
       break;
     }
     case (AgeBracket.a18_29): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // (15.057*MP + 692.2) * NAF
-        res = [15.057, 692.2, 1.95, 1.65, 1.85, 1.55];
-      } else if (sex === Sex.Femenino) {
+        res = [15.057, 692.2, 1.95, 1.65, 1.85, 1.55, 208, 251];
+      } else if (sex === Sex.Female) {
         // TODO: Parámetros para el cálculo de mujeres 18-29
       }
       break;
     }
     case (AgeBracket.a30_59): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // (11.472*MP + 863.1) * NAF
-        res = [11.472, 863.1, 1.95, 1.65, 1.85, 1.55];
-      } else if (sex === Sex.Femenino) {
+        res = [11.472, 863.1, 1.95, 1.65, 1.85, 1.55, 208, 251];
+      } else if (sex === Sex.Female) {
         // TODO: Parámetros para el cálculo de mujeres 30-59
       }
       break;
     }
     case (AgeBracket.a60): {
-      if (sex === Sex.Masculino) {
+      if (sex === Sex.Male) {
         // (11.711*MP + 587.7) * NAF
         res = [11.711, 587.7, 1.95, 1.65, 1.85, 1.55];
-      } else if (sex === Sex.Femenino) {
+      } else if (sex === Sex.Female) {
         // TODO: Parámetros para el cálculo de mujeres +60
       }
       break;
-- 
GitLab