diff --git a/__test__/ERCalculator.test.ts b/__test__/ERCalculator.test.ts
index 6ab9848109747d154510a220b88e41f59324eb31..98d5f1dadddae160faa304ffd0281f2a8ac5018f 100644
--- a/__test__/ERCalculator.test.ts
+++ b/__test__/ERCalculator.test.ts
@@ -333,7 +333,7 @@ describe('Verificar si funciona calculo del RE para personas de 6 a 17 años', (
         maternity18To29: undefined,
         maternity30To59: undefined,
       });
-    }).toThrow(Error('Missing data'));
+    }).toThrow(Error('Missing minors\' physical activity prevalence data'));
   });
 });
 
@@ -425,7 +425,7 @@ describe('Verificar si funciona calculo del RE para personas de 18 a 29 años',
         maternity18To29: undefined,
         maternity30To59: undefined,
       });
-    }).toThrow(Error('Missing data'));
+    }).toThrow(Error('Missing maternity data for women aged 18 to 29'));
   });
   it('Hombres sin pasar data de NAF', () => {
     expect(() => {
@@ -442,7 +442,7 @@ describe('Verificar si funciona calculo del RE para personas de 18 a 29 años',
         maternity18To29: undefined,
         maternity30To59: undefined,
       });
-    }).toThrow(Error('Missing data'));
+    }).toThrow(Error('Missing adults\' physical activity prevalence data'));
   });
 });
 
@@ -534,7 +534,7 @@ describe('Verificar si funciona calculo del RE para personas de 30 a 59 años',
         maternity18To29: undefined,
         maternity30To59: undefined,
       });
-    }).toThrow(Error('Missing data'));
+    }).toThrow(Error('Missing maternity data for women aged 30 to 59'));
   });
   it('Hombres sin pasar data de NAF', () => {
     expect(() => {
@@ -551,7 +551,7 @@ describe('Verificar si funciona calculo del RE para personas de 30 a 59 años',
         maternity18To29: undefined,
         maternity30To59: undefined,
       });
-    }).toThrow(Error('Missing data'));
+    }).toThrow(Error('Missing adults\' physical activity prevalence data'));
   });
 });
 
@@ -633,6 +633,6 @@ describe('Verificar si funciona calculo del RE para personas de mas de 60 años'
         maternity18To29: undefined,
         maternity30To59: undefined,
       });
-    }).toThrow(Error('Missing data'));
+    }).toThrow(Error('Missing adults\' physical activity prevalence data'));
   });
 });
diff --git a/__test__/ParameterService.test.ts b/__test__/ParameterService.test.ts
index 86704090172e06f3846fc3acce62928939cfaf2c..50e712b210044ed5a936cb41c15cfa77e73b86b4 100644
--- a/__test__/ParameterService.test.ts
+++ b/__test__/ParameterService.test.ts
@@ -1,21 +1,404 @@
 import '@testing-library/jest-dom/extend-expect';
 import AgeBracket from '../src/Enum/AgeBracket';
+import ParameterType from '../src/Enum/ParameterType';
 import Sex from '../src/Enum/Sex';
+import DefaultWeight from '../src/Models/DefaultWeight';
 import ParameterService from '../src/Services/ParameterService';
+import ParameterDataBaseLoader from '../src/Loaders/ParameterDataBaseLoader';
+import DefaultExtraData from '../src/Models/DefaultExtraData';
+import EquationConstant from '../src/Models/EquationConstant';
 
 describe('Verificar si devuelve los parametros correctamente', () => {
+  it('init database', async () => {
+    await ParameterDataBaseLoader.initParameterDataBase();
+  });
   it('Pesos por defecto', async () => {
     expect((await ParameterService.getDefaultWeights()).length).toBe(64);
   });
   it('Datos Extra', async () => {
     expect((await ParameterService.getDefaultExtraData()).length).toBe(13);
   });
-  it('Constantes de ecuacion', async () => {
+  it('Constantes de ecuacion varones de 1 año', async () => {
     expect(new Set(await ParameterService.getEquationValues(AgeBracket.a1, Sex.Male)))
       .toEqual(new Set([310.2, 63.3, -0.263, 13]));
   });
-  it('Constantes de ecuacion', async () => {
+  it('Constantes de ecuacion mujeres de 10 años', async () => {
     expect(new Set(await ParameterService.getEquationValues(AgeBracket.a10, Sex.Female)))
       .toEqual(new Set([263.4, 65.3, -0.454, 25, -15, 15]));
   });
+  it('Constantes de ecuacion mujeres de 2 años', async () => {
+    expect(new Set(await ParameterService.getEquationValues(AgeBracket.a2, Sex.Female)))
+      .toEqual(new Set([263.4, 65.3, -0.454, 13]));
+  });
+  it('Constantes de ecuacion mujeres de 5 meses', async () => {
+    expect(new Set(await ParameterService.getEquationValues(AgeBracket.m5, Sex.Female)))
+      .toEqual(new Set([-152, 92.8, 47]));
+  });
+  it('Constantes de ecuacion hombres de 7 meses', async () => {
+    expect(new Set(await ParameterService.getEquationValues(AgeBracket.m7, Sex.Male)))
+      .toEqual(new Set([-99.4, 88.6, 16]));
+  });
+});
+
+describe('Verificar si actualiza los pesos correctamente', () => {
+  it('init database', async () => {
+    await ParameterDataBaseLoader.initParameterDataBase();
+  });
+  it('Actualizacion de peso mujeres 11 años', async () => {
+    await ParameterService.updateDefaultWeight({
+      ageRange: AgeBracket.a11,
+      sex: Sex.Female,
+      parameterType: ParameterType.DefaultWeight,
+      value: 80,
+    });
+    expect((await DefaultWeight.findOne({
+      where: {
+        ageRange: AgeBracket.a11 as string,
+        sex: Sex.Female as string,
+      },
+    }))?.getDataValue('value')).toEqual(80);
+  });
+  it('Actualizacion de peso varones 18 a 29 años', async () => {
+    await ParameterService.updateDefaultWeight({
+      ageRange: AgeBracket.a18_29,
+      sex: Sex.Male,
+      parameterType: ParameterType.DefaultWeight,
+      value: 200,
+    });
+    expect((await DefaultWeight.findOne({
+      where: {
+        ageRange: AgeBracket.a18_29 as string,
+        sex: Sex.Male as string,
+      },
+    }))?.getDataValue('value')).toEqual(200);
+  });
+  it('Actualizacion de peso mujeres 60+ años', async () => {
+    await ParameterService.updateDefaultWeight({
+      ageRange: AgeBracket.a60,
+      sex: Sex.Female,
+      parameterType: ParameterType.DefaultWeight,
+      value: 20,
+    });
+    expect((await DefaultWeight.findOne({
+      where: {
+        ageRange: AgeBracket.a60 as string,
+        sex: Sex.Female as string,
+      },
+    }))?.getDataValue('value')).toEqual(20);
+  });
+});
+
+describe('Verificar si actualiza los datos extra correctamente', () => {
+  it('Actualizacion poblacion del pais por defecto', async () => {
+    await ParameterService.updateExtraData([{
+      id: 'countryPopulation',
+      parameterType: ParameterType.Maternity,
+      value: 5000000,
+      description: 'epa',
+      order: 0,
+    }]);
+    expect((await DefaultExtraData.findOne({
+      where: {
+        id: 'countryPopulation',
+      },
+    }))?.getDataValue('value')).toEqual(5000000);
+  });
+  it('Actualizacion prevalencia de NAF de menores', async () => {
+    await ParameterService.updateExtraData([{
+      id: 'minorLowPrevalence',
+      parameterType: ParameterType.MinorPAL,
+      value: 20,
+      description: 'epa',
+      order: 0,
+    },
+    {
+      id: 'minorModeratePrevalence',
+      parameterType: ParameterType.MinorPAL,
+      value: 35,
+      description: 'epa',
+      order: 0,
+    },
+    {
+      id: 'minorIntensePrevalence',
+      parameterType: ParameterType.MinorPAL,
+      value: 45,
+      description: 'epa',
+      order: 0,
+    }]);
+    expect((await DefaultExtraData.findOne({
+      where: {
+        id: 'minorLowPrevalence',
+      },
+    }))?.getDataValue('value')).toEqual(20);
+    expect((await DefaultExtraData.findOne({
+      where: {
+        id: 'minorModeratePrevalence',
+      },
+    }))?.getDataValue('value')).toEqual(35);
+    expect((await DefaultExtraData.findOne({
+      where: {
+        id: 'minorIntensePrevalence',
+      },
+    }))?.getDataValue('value')).toEqual(45);
+  });
+  it('Actualizacion porcentaje de poblacion rural y urbana', async () => {
+    await ParameterService.updateExtraData([{
+      id: 'ruralPopulation',
+      parameterType: ParameterType.AdultPAL,
+      value: 44,
+      description: 'epa',
+      order: 0,
+    }]);
+    expect((await DefaultExtraData.findOne({
+      where: {
+        id: 'ruralPopulation',
+      },
+    }))?.getDataValue('value')).toEqual(44);
+    expect((await DefaultExtraData.findOne({
+      where: {
+        id: 'urbanPopulation',
+      },
+    }))?.getDataValue('value')).toEqual(56);
+  });
+});
+
+describe('Verificar si actualiza las constantes de ecuaciones correctamente', () => {
+  it('Actualizacion energia para el crecimiento mujeres 6 años', async () => {
+    await ParameterService.updateGrowthEnergy({
+      parameterType: ParameterType.GrowthEnergy,
+      ageRange: AgeBracket.a6,
+      sex: Sex.Female,
+      value: 653,
+      description: 'epa',
+      order: 3,
+    });
+    expect((await EquationConstant.findOne({
+      where: {
+        ageRange: AgeBracket.a6,
+        sex: Sex.Female,
+        order: 3,
+        parameterType: ParameterType.GrowthEnergy,
+      },
+    }))?.getDataValue('value')).toEqual(653);
+  });
+  it('Actualizacion constantes ecuacion GET varones 15 años', async () => {
+    await ParameterService.updateTEE([{
+      parameterType: ParameterType.TEE,
+      ageRange: AgeBracket.a15,
+      sex: Sex.Male,
+      value: 65.0,
+      description: 'epa',
+      order: 0,
+    },
+    {
+      parameterType: ParameterType.TEE,
+      ageRange: AgeBracket.a15,
+      sex: Sex.Male,
+      value: 87.95,
+      description: 'epa',
+      order: 1,
+    },
+    {
+      parameterType: ParameterType.TEE,
+      ageRange: AgeBracket.a15,
+      sex: Sex.Male,
+      value: 100.6,
+      description: 'epa',
+      order: 2,
+    }]);
+    expect((await EquationConstant.findOne({
+      where: {
+        ageRange: AgeBracket.a15,
+        sex: Sex.Male,
+        order: 0,
+        parameterType: ParameterType.TEE,
+      },
+    }))?.getDataValue('value')).toEqual(65.0);
+    expect((await EquationConstant.findOne({
+      where: {
+        ageRange: AgeBracket.a15,
+        sex: Sex.Male,
+        order: 1,
+        parameterType: ParameterType.TEE,
+      },
+    }))?.getDataValue('value')).toEqual(87.95);
+    expect((await EquationConstant.findOne({
+      where: {
+        ageRange: AgeBracket.a15,
+        sex: Sex.Male,
+        order: 2,
+        parameterType: ParameterType.TEE,
+      },
+    }))?.getDataValue('value')).toEqual(100.6);
+  });
+  it('Actualizacion constantes ecuacion GET varones 10 meses', async () => {
+    await ParameterService.updateTEE([{
+      parameterType: ParameterType.TEE,
+      ageRange: AgeBracket.m10,
+      sex: Sex.Male,
+      value: 65.0,
+      description: 'epa',
+      order: 0,
+    },
+    {
+      parameterType: ParameterType.TEE,
+      ageRange: AgeBracket.m10,
+      sex: Sex.Male,
+      value: 87.95,
+      description: 'epa',
+      order: 1,
+    }]);
+    expect((await EquationConstant.findOne({
+      where: {
+        ageRange: AgeBracket.m10,
+        sex: Sex.Male,
+        order: 0,
+        parameterType: ParameterType.TEE,
+      },
+    }))?.getDataValue('value')).toEqual(65.0);
+    expect((await EquationConstant.findOne({
+      where: {
+        ageRange: AgeBracket.m10,
+        sex: Sex.Male,
+        order: 1,
+        parameterType: ParameterType.TEE,
+      },
+    }))?.getDataValue('value')).toEqual(87.95);
+  });
+  it('Actualizacion constantes ecuacion GET mujeres 2 meses', async () => {
+    await ParameterService.updateTEE([{
+      parameterType: ParameterType.TEE,
+      ageRange: AgeBracket.m2,
+      sex: Sex.Female,
+      value: 65.0,
+      description: 'epa',
+      order: 0,
+    },
+    {
+      parameterType: ParameterType.TEE,
+      ageRange: AgeBracket.m2,
+      sex: Sex.Female,
+      value: 87.95,
+      description: 'epa',
+      order: 1,
+    }]);
+    expect((await EquationConstant.findOne({
+      where: {
+        ageRange: AgeBracket.m2,
+        sex: Sex.Female,
+        order: 0,
+        parameterType: ParameterType.TEE,
+      },
+    }))?.getDataValue('value')).toEqual(65.0);
+    expect((await EquationConstant.findOne({
+      where: {
+        ageRange: AgeBracket.m2,
+        sex: Sex.Female,
+        order: 1,
+        parameterType: ParameterType.TEE,
+      },
+    }))?.getDataValue('value')).toEqual(87.95);
+  });
+  it('Actualizacion constantes ecuacion TMB varones 30 a 59 años', async () => {
+    await ParameterService.updateBMR([{
+      parameterType: ParameterType.BMR,
+      ageRange: AgeBracket.a30_59,
+      sex: Sex.Male,
+      value: 90.1,
+      description: 'epa',
+      order: 0,
+    },
+    {
+      parameterType: ParameterType.BMR,
+      ageRange: AgeBracket.a30_59,
+      sex: Sex.Male,
+      value: 100.75,
+      description: 'epa',
+      order: 1,
+    }]);
+    expect((await EquationConstant.findOne({
+      where: {
+        ageRange: AgeBracket.a30_59,
+        sex: Sex.Male,
+        order: 0,
+        parameterType: ParameterType.BMR,
+      },
+    }))?.getDataValue('value')).toEqual(90.1);
+    expect((await EquationConstant.findOne({
+      where: {
+        ageRange: AgeBracket.a30_59,
+        sex: Sex.Male,
+        order: 1,
+        parameterType: ParameterType.BMR,
+      },
+    }))?.getDataValue('value')).toEqual(100.75);
+  });
+  it('Actualizacion constantes ecuacion TMB varones 18 a 29 años', async () => {
+    await ParameterService.updateBMR([{
+      parameterType: ParameterType.BMR,
+      ageRange: AgeBracket.a18_29,
+      sex: Sex.Male,
+      value: 90.1,
+      description: 'epa',
+      order: 0,
+    },
+    {
+      parameterType: ParameterType.BMR,
+      ageRange: AgeBracket.a18_29,
+      sex: Sex.Male,
+      value: 100.75,
+      description: 'epa',
+      order: 1,
+    }]);
+    expect((await EquationConstant.findOne({
+      where: {
+        ageRange: AgeBracket.a18_29,
+        sex: Sex.Male,
+        order: 0,
+        parameterType: ParameterType.BMR,
+      },
+    }))?.getDataValue('value')).toEqual(90.1);
+    expect((await EquationConstant.findOne({
+      where: {
+        ageRange: AgeBracket.a18_29,
+        sex: Sex.Male,
+        order: 1,
+        parameterType: ParameterType.BMR,
+      },
+    }))?.getDataValue('value')).toEqual(100.75);
+  });
+  it('Actualizacion constantes ecuacion TMB mujeres mayores de 60 años', async () => {
+    await ParameterService.updateBMR([{
+      parameterType: ParameterType.BMR,
+      ageRange: AgeBracket.a60,
+      sex: Sex.Female,
+      value: 90.1,
+      description: 'epa',
+      order: 0,
+    },
+    {
+      parameterType: ParameterType.BMR,
+      ageRange: AgeBracket.a60,
+      sex: Sex.Female,
+      value: 100.75,
+      description: 'epa',
+      order: 1,
+    }]);
+    expect((await EquationConstant.findOne({
+      where: {
+        ageRange: AgeBracket.a60,
+        sex: Sex.Female,
+        order: 0,
+        parameterType: ParameterType.BMR,
+      },
+    }))?.getDataValue('value')).toEqual(90.1);
+    expect((await EquationConstant.findOne({
+      where: {
+        ageRange: AgeBracket.a60,
+        sex: Sex.Female,
+        order: 1,
+        parameterType: ParameterType.BMR,
+      },
+    }))?.getDataValue('value')).toEqual(100.75);
+  });
 });
diff --git a/src/Loaders/DefaultWeightLoader.csv b/src/Loaders/DefaultWeightLoader.csv
index 32417a4a434e91331302b8a436ca3905f18dc30d..2c8f28220e969c5c1923c5087fa1c22de6526818 100644
--- a/src/Loaders/DefaultWeightLoader.csv
+++ b/src/Loaders/DefaultWeightLoader.csv
@@ -1,65 +1,65 @@
 age,value,sex
-0 meses,3.3,Masculino,Peso por defecto
-1 meses,4.5,Masculino,Peso por defecto
-2 meses,5.6,Masculino,Peso por defecto
-3 meses,6.4,Masculino,Peso por defecto
-4 meses,7,Masculino,Peso por defecto
-5 meses,7.5,Masculino,Peso por defecto
-6 meses,7.9,Masculino,Peso por defecto
-7 meses,8.3,Masculino,Peso por defecto
-8 meses,8.6,Masculino,Peso por defecto
-9 meses,8.9,Masculino,Peso por defecto
-10 meses,9.2,Masculino,Peso por defecto
-11 meses,9.4,Masculino,Peso por defecto
-1 años,10.9,Masculino,Peso por defecto
-2 años,13.3,Masculino,Peso por defecto
-3 años,15.3,Masculino,Peso por defecto
-4 años,17.3,Masculino,Peso por defecto
-5 años,19.5,Masculino,Peso por defecto
-6 años,21.8,Masculino,Peso por defecto
-7 años,24.2,Masculino,Peso por defecto
-8 años,26.8,Masculino,Peso por defecto
-9 años,29.6,Masculino,Peso por defecto
-10 años,32.9,Masculino,Peso por defecto
-11 años,36.7,Masculino,Peso por defecto
-12 años,41.6,Masculino,Peso por defecto
-13 años,47.4,Masculino,Peso por defecto
-14 años,53.7,Masculino,Peso por defecto
-15 años,58.8,Masculino,Peso por defecto
-16 años,63.1,Masculino,Peso por defecto
-17 años,66.1,Masculino,Peso por defecto
-18-29 años,67.4,Masculino,Peso por defecto
-30-59 años,66.6,Masculino,Peso por defecto
-60+ años,64.3,Masculino,Peso por defecto
-0 meses,3.2,Femenino,Peso por defecto
-1 meses,4.2,Femenino,Peso por defecto
-2 meses,5.1,Femenino,Peso por defecto
-3 meses,5.8,Femenino,Peso por defecto
-4 meses,6.4,Femenino,Peso por defecto
-5 meses,6.9,Femenino,Peso por defecto
-6 meses,7.3,Femenino,Peso por defecto
-7 meses,7.6,Femenino,Peso por defecto
-8 meses,7.9,Femenino,Peso por defecto
-9 meses,8.2,Femenino,Peso por defecto
-10 meses,8.5,Femenino,Peso por defecto
-11 meses,8.7,Femenino,Peso por defecto
-1 años,10.2,Femenino,Peso por defecto
-2 años,12.7,Femenino,Peso por defecto
-3 años,15,Femenino,Peso por defecto
-4 años,17.2,Femenino,Peso por defecto
-5 años,19.1,Femenino,Peso por defecto
-6 años,21.3,Femenino,Peso por defecto
-7 años,23.7,Femenino,Peso por defecto
-8 años,26.7,Femenino,Peso por defecto
-9 años,29.9,Femenino,Peso por defecto
-10 años,34,Femenino,Peso por defecto
-11 años,38.7,Femenino,Peso por defecto
-12 años,43.6,Femenino,Peso por defecto
-13 años,48.1,Femenino,Peso por defecto
-14 años,51.5,Femenino,Peso por defecto
-15 años,53.9,Femenino,Peso por defecto
-16 años,55.3,Femenino,Peso por defecto
-17 años,56.3,Femenino,Peso por defecto
-18-29 años,57.7,Femenino,Peso por defecto
-30-59 años,56.3,Femenino,Peso por defecto
-60+ años,54.2,Femenino,Peso por defecto
+0 meses,3.3,Masculino
+1 meses,4.5,Masculino
+2 meses,5.6,Masculino
+3 meses,6.4,Masculino
+4 meses,7,Masculino
+5 meses,7.5,Masculino
+6 meses,7.9,Masculino
+7 meses,8.3,Masculino
+8 meses,8.6,Masculino
+9 meses,8.9,Masculino
+10 meses,9.2,Masculino
+11 meses,9.4,Masculino
+1 años,10.9,Masculino
+2 años,13.3,Masculino
+3 años,15.3,Masculino
+4 años,17.3,Masculino
+5 años,19.5,Masculino
+6 años,21.8,Masculino
+7 años,24.2,Masculino
+8 años,26.8,Masculino
+9 años,29.6,Masculino
+10 años,32.9,Masculino
+11 años,36.7,Masculino
+12 años,41.6,Masculino
+13 años,47.4,Masculino
+14 años,53.7,Masculino
+15 años,58.8,Masculino
+16 años,63.1,Masculino
+17 años,66.1,Masculino
+18-29 años,67.4,Masculino
+30-59 años,66.6,Masculino
+60+ años,64.3,Masculino
+0 meses,3.2,Femenino
+1 meses,4.2,Femenino
+2 meses,5.1,Femenino
+3 meses,5.8,Femenino
+4 meses,6.4,Femenino
+5 meses,6.9,Femenino
+6 meses,7.3,Femenino
+7 meses,7.6,Femenino
+8 meses,7.9,Femenino
+9 meses,8.2,Femenino
+10 meses,8.5,Femenino
+11 meses,8.7,Femenino
+1 años,10.2,Femenino
+2 años,12.7,Femenino
+3 años,15,Femenino
+4 años,17.2,Femenino
+5 años,19.1,Femenino
+6 años,21.3,Femenino
+7 años,23.7,Femenino
+8 años,26.7,Femenino
+9 años,29.9,Femenino
+10 años,34,Femenino
+11 años,38.7,Femenino
+12 años,43.6,Femenino
+13 años,48.1,Femenino
+14 años,51.5,Femenino
+15 años,53.9,Femenino
+16 años,55.3,Femenino
+17 años,56.3,Femenino
+18-29 años,57.7,Femenino
+30-59 años,56.3,Femenino
+60+ años,54.2,Femenino
diff --git a/src/Loaders/ParameterDataBaseLoader.ts b/src/Loaders/ParameterDataBaseLoader.ts
index 111f7625498563f81f5e89079b7ab0f1d9f78a0b..b66dbde9f74159877839925ebaad31c85c411175 100644
--- a/src/Loaders/ParameterDataBaseLoader.ts
+++ b/src/Loaders/ParameterDataBaseLoader.ts
@@ -10,11 +10,11 @@ import DefaultWeight from '../Models/DefaultWeight';
 import EquationConstant from '../Models/EquationConstant';
 import CSVParser from './CSVParser';
 
-function initParameterDataBase(): void {
+async function initParameterDataBase(): Promise<void> {
   let pathToFile: string = path.join(__dirname, 'DefaultWeightLoader.csv');
   let csv: string = fs.readFileSync(pathToFile, 'utf8').toString();
   const defaultWeights: DefaultWeightDTO[] = CSVParser.csvToDefaultWeight(csv);
-  DefaultWeight.sync({ force: true }).then(() => {
+  await DefaultWeight.sync({ force: true }).then(() => {
     DefaultWeight.bulkCreate(defaultWeights, {
       updateOnDuplicate: ['value'],
     }).then(() => {
@@ -27,7 +27,7 @@ function initParameterDataBase(): void {
   pathToFile = path.join(__dirname, 'DefaultExtraDataLoader.csv');
   csv = fs.readFileSync(pathToFile, 'utf8').toString();
   const extraData: DefaultExtraDataDTO[] = CSVParser.csvToDefaultExtraData(csv);
-  DefaultExtraData.sync({ force: true }).then(() => {
+  await DefaultExtraData.sync({ force: true }).then(() => {
     DefaultExtraData.bulkCreate(extraData, {
       updateOnDuplicate: ['value'],
     }).then(() => {
@@ -40,7 +40,7 @@ function initParameterDataBase(): void {
   pathToFile = path.join(__dirname, 'EquationConstantLoader.csv');
   csv = fs.readFileSync(pathToFile, 'utf8').toString();
   const equationConstant: EquationConstantDTO[] = CSVParser.csvToEquationConstant(csv);
-  EquationConstant.sync({ force: true }).then(() => {
+  await EquationConstant.sync({ force: true }).then(() => {
     EquationConstant.bulkCreate(equationConstant, {
       updateOnDuplicate: ['value'],
     }).then(() => {
diff --git a/src/Services/ParameterService.ts b/src/Services/ParameterService.ts
index 06290043fca28b3d5374e82091b7a7d916296e72..6fc7e6632aa461d01f1e8a37f19593d97bf40554 100644
--- a/src/Services/ParameterService.ts
+++ b/src/Services/ParameterService.ts
@@ -224,130 +224,19 @@ const updateBMR = async (parameters: EquationConstantDTO[]): Promise<void> => {
     if (parameter.sex !== sexo || parameter.ageRange !== edad) {
       throw new Error('Parameters sex and age must be the same for all array items.');
     }
+    if (parameter.ageRange !== AgeBracket.a18_29
+      && parameter.ageRange !== AgeBracket.a30_59
+      && parameter.ageRange !== AgeBracket.a60) {
+      throw new Error(`Age range ${parameters[0].ageRange} does not have BMR constants.`);
+    }
     if (orders.includes(parameter.order)) {
       throw new Error('Order must be different for all array items.');
     }
     orders.push(parameter.order);
   });
-  switch (parameters[0].ageRange) {
-    case AgeBracket.a18_29: {
-      await EquationConstant.update(
-        { value: parameters[0].value },
-        {
-          where: {
-            ageRange: parameters[0].ageRange,
-            sex: parameters[0].sex,
-            order: parameters[0].order,
-            parameterType: parameters[0].parameterType,
-          },
-        },
-      ).then((result) => {
-        if (result[0] === 0) {
-          throw new Error('No rows were updated.');
-        }
-      }).catch((err) => {
-        throw err;
-      });
-      // eslint-disable-next-line no-await-in-loop
-      await EquationConstant.update(
-        { value: parameters[1].value },
-        {
-          where: {
-            ageRange: parameters[1].ageRange,
-            sex: parameters[1].sex,
-            order: parameters[1].order,
-            parameterType: parameters[1].parameterType,
-          },
-        },
-      ).then((result) => {
-        if (result[0] === 0) {
-          throw new Error('No rows were updated.');
-        }
-      }).catch((err) => {
-        throw err;
-      });
-      break;
-    }
-    case AgeBracket.a30_59: {
-      await EquationConstant.update(
-        { value: parameters[0].value },
-        {
-          where: {
-            ageRange: parameters[0].ageRange,
-            sex: parameters[0].sex,
-            order: parameters[0].order,
-            parameterType: parameters[0].parameterType,
-          },
-        },
-      ).then((result) => {
-        if (result[0] === 0) {
-          throw new Error('No rows were updated.');
-        }
-      }).catch((err) => {
-        throw err;
-      });
-      // eslint-disable-next-line no-await-in-loop
-      await EquationConstant.update(
-        { value: parameters[1].value },
-        {
-          where: {
-            ageRange: parameters[1].ageRange,
-            sex: parameters[1].sex,
-            order: parameters[1].order,
-            parameterType: parameters[1].parameterType,
-          },
-        },
-      ).then((result) => {
-        if (result[0] === 0) {
-          throw new Error('No rows were updated.');
-        }
-      }).catch((err) => {
-        throw err;
-      });
-      break;
-    }
-    case AgeBracket.a60: {
-      await EquationConstant.update(
-        { value: parameters[0].value },
-        {
-          where: {
-            ageRange: parameters[0].ageRange,
-            sex: parameters[0].sex,
-            order: parameters[0].order,
-            parameterType: parameters[0].parameterType,
-          },
-        },
-      ).then((result) => {
-        if (result[0] === 0) {
-          throw new Error('No rows were updated.');
-        }
-      }).catch((err) => {
-        throw err;
-      });
-      // eslint-disable-next-line no-await-in-loop
-      await EquationConstant.update(
-        { value: parameters[1].value },
-        {
-          where: {
-            ageRange: parameters[1].ageRange,
-            sex: parameters[1].sex,
-            order: parameters[1].order,
-            parameterType: parameters[1].parameterType,
-          },
-        },
-      ).then((result) => {
-        if (result[0] === 0) {
-          throw new Error('No rows were updated.');
-        }
-      }).catch((err) => {
-        throw err;
-      });
-      break;
-    }
-    default: {
-      throw new Error(`Age range ${parameters[0].ageRange} does not have BMR constants.`);
-    }
-  }
+  await EquationConstant.bulkCreate(parameters, {
+    updateOnDuplicate: ['value'],
+  });
 };
 
 const updateTEE = async (parameters: EquationConstantDTO[]): Promise<void> => {
@@ -370,42 +259,22 @@ const updateTEE = async (parameters: EquationConstantDTO[]): Promise<void> => {
     case AgeBracket.m3:
     case AgeBracket.m4:
     case AgeBracket.m5: {
+      const paramsToUpdate: EquationConstantDTO[] = [];
       for (let i = 0; i <= 5; i += 1) {
-        // eslint-disable-next-line no-await-in-loop
-        await EquationConstant.update(
-          { value: parameters[0].value },
-          {
-            where: {
-              ageRange: `${i} meses`,
-              order: parameters[0].order,
-              parameterType: parameters[0].parameterType,
-            },
-          },
-        ).then((result) => {
-          if (result[0] === 0) {
-            throw new Error('No rows were updated.');
-          }
-        }).catch((err) => {
-          throw err;
-        });
-        // eslint-disable-next-line no-await-in-loop
-        await EquationConstant.update(
-          { value: parameters[1].value },
-          {
-            where: {
-              ageRange: `${i} meses`,
-              order: parameters[1].order,
-              parameterType: parameters[1].parameterType,
-            },
-          },
-        ).then((result) => {
-          if (result[0] === 0) {
-            throw new Error('No rows were updated.');
-          }
-        }).catch((err) => {
-          throw err;
+        parameters.forEach((param: EquationConstantDTO) => {
+          paramsToUpdate.push({
+            ageRange: `${i} meses` as AgeBracket,
+            order: param.order,
+            sex: param.sex,
+            value: param.value,
+            description: param.description,
+            parameterType: param.parameterType,
+          });
         });
       }
+      await EquationConstant.bulkCreate(paramsToUpdate, {
+        updateOnDuplicate: ['value'],
+      });
       break;
     }
     case AgeBracket.m6:
@@ -414,42 +283,22 @@ const updateTEE = async (parameters: EquationConstantDTO[]): Promise<void> => {
     case AgeBracket.m9:
     case AgeBracket.m10:
     case AgeBracket.m11: {
+      const paramsToUpdate: EquationConstantDTO[] = [];
       for (let i = 6; i <= 11; i += 1) {
-        // eslint-disable-next-line no-await-in-loop
-        await EquationConstant.update(
-          { value: parameters[0].value },
-          {
-            where: {
-              ageRange: `${i} meses`,
-              order: parameters[0].order,
-              parameterType: parameters[0].parameterType,
-            },
-          },
-        ).then((result) => {
-          if (result[0] === 0) {
-            throw new Error('No rows were updated.');
-          }
-        }).catch((err) => {
-          throw err;
-        });
-        // eslint-disable-next-line no-await-in-loop
-        await EquationConstant.update(
-          { value: parameters[1].value },
-          {
-            where: {
-              ageRange: `${i} meses`,
-              order: parameters[1].order,
-              parameterType: parameters[1].parameterType,
-            },
-          },
-        ).then((result) => {
-          if (result[0] === 0) {
-            throw new Error('No rows were updated.');
-          }
-        }).catch((err) => {
-          throw err;
+        parameters.forEach((param: EquationConstantDTO) => {
+          paramsToUpdate.push({
+            ageRange: `${i} meses` as AgeBracket,
+            order: param.order,
+            sex: param.sex,
+            value: param.value,
+            description: param.description,
+            parameterType: param.parameterType,
+          });
         });
       }
+      await EquationConstant.bulkCreate(paramsToUpdate, {
+        updateOnDuplicate: ['value'],
+      });
       break;
     }
     case AgeBracket.a1:
@@ -469,62 +318,22 @@ const updateTEE = async (parameters: EquationConstantDTO[]): Promise<void> => {
     case AgeBracket.a15:
     case AgeBracket.a16:
     case AgeBracket.a17: {
+      const paramsToUpdate: EquationConstantDTO[] = [];
       for (let i = 1; i <= 17; i += 1) {
-        // eslint-disable-next-line no-await-in-loop
-        await EquationConstant.update(
-          { value: parameters[0].value },
-          {
-            where: {
-              ageRange: `${i} años`,
-              sex: parameters[0].sex,
-              order: parameters[0].order,
-              parameterType: parameters[0].parameterType,
-            },
-          },
-        ).then((result) => {
-          if (result[0] === 0) {
-            throw new Error('No rows were updated.');
-          }
-        }).catch((err) => {
-          throw err;
-        });
-        // eslint-disable-next-line no-await-in-loop
-        await EquationConstant.update(
-          { value: parameters[1].value },
-          {
-            where: {
-              ageRange: `${i} años`,
-              sex: parameters[1].sex,
-              order: parameters[1].order,
-              parameterType: parameters[1].parameterType,
-            },
-          },
-        ).then((result) => {
-          if (result[0] === 0) {
-            throw new Error('No rows were updated.');
-          }
-        }).catch((err) => {
-          throw err;
-        });
-        // eslint-disable-next-line no-await-in-loop
-        await EquationConstant.update(
-          { value: parameters[2].value },
-          {
-            where: {
-              ageRange: `${i} años`,
-              sex: parameters[2].sex,
-              order: parameters[2].order,
-              parameterType: parameters[2].parameterType,
-            },
-          },
-        ).then((result) => {
-          if (result[0] === 0) {
-            throw new Error('No rows were updated.');
-          }
-        }).catch((err) => {
-          throw err;
+        parameters.forEach((param: EquationConstantDTO) => {
+          paramsToUpdate.push({
+            ageRange: `${i} años` as AgeBracket,
+            order: param.order,
+            sex: param.sex,
+            value: param.value,
+            description: param.description,
+            parameterType: param.parameterType,
+          });
         });
       }
+      await EquationConstant.bulkCreate(paramsToUpdate, {
+        updateOnDuplicate: ['value'],
+      });
       break;
     }
     default: {
@@ -540,7 +349,6 @@ const updateDefaultWeight = async (parameter: DefaultWeightDTO): Promise<void> =
       where: {
         ageRange: parameter.ageRange,
         sex: parameter.sex,
-        parameterType: parameter.parameterType,
       },
     },
   ).then((result) => {
diff --git a/swagger.yaml b/swagger.yaml
index 07161ac1beff8bb7b2b061a521b7cb5527c35b90..5399dd1477070a86afd719bf98279fad065e868a 100644
--- a/swagger.yaml
+++ b/swagger.yaml
@@ -77,7 +77,7 @@ paths:
       security:
         - BearerAuth: []
   /parameters/weights:
-    post:
+    get:
       tags:
         - Parameters
       summary: Get all default weights
@@ -89,7 +89,7 @@ paths:
       security:
         - BearerAuth: []
   /parameters/extraData:
-    post:
+    get:
       tags:
         - Parameters
       summary: Get all extra data