Skip to content
Snippets Groups Projects
Commit 7d0882bb authored by Agustin's avatar Agustin
Browse files

New data base models and initialization complete, no queries done

parent 15b04f4f
No related branches found
No related tags found
No related merge requests found
Showing
with 597 additions and 286 deletions
export const DBConfig = {
HOST: 'localhost',
USER: 'root',
PASSWORD: 'password',
PASSWORD: 'rootroot', // antes decia 'password'
DB: 'parameter_database',
dialect: 'mysql',
};
import {
Handler, Request, Response, Router,
} from 'express';
import AgeGroupJSON from '../DTOs/AgeGroupJSON';
import CalculatorService from '../Services/CalculatorService';
import CalculatorResponse from '../DTOs/CalculatorResponseDTO';
import logger from '../Logger/logger';
import ExtraData from '../DTOs/ExtraDataDTO';
const router = Router();
......
......@@ -19,15 +19,15 @@ const getParameters: Handler = async (req: Request, res: Response) => {
};
const getParametersOfType: Handler = async (req: Request, res: Response) => {
const { paramType } = req.body;
try {
const parameters = await ParameterService.getParametersOfType(paramType as ParameterType);
return res.status(200).send(parameters);
} catch (error) {
const e = error as Error;
logger.info(e.message);
return res.status(400).json({ error: e.message });
}
// const { paramType } = req.body;
// try {
// const parameters = await ParameterService.getParametersOfType(paramType as ParameterType);
// return res.status(200).send(parameters);
// } catch (error) {
// const e = error as Error;
// logger.info(e.message);
// return res.status(400).json({ error: e.message });
// }
};
router.post('/', getParameters);
......
import ParameterType from '../Enum/ParameterType';
type ParameterDTO = {
type DefaultExtraDataDTO = {
id: string;
value: number;
parameterType: ParameterType;
order: number;
description: string;
};
export default ParameterDTO;
export default DefaultExtraDataDTO;
import AgeBracket from '../Enum/AgeBracket';
import Sex from '../Enum/Sex';
type DefaultWeightDTO = {
value: number;
ageRange: AgeBracket;
sex: Sex;
};
export default DefaultWeightDTO;
import AgeBracket from '../Enum/AgeBracket';
import ParameterType from '../Enum/ParameterType';
import Sex from '../Enum/Sex';
type EquationConstantDTO = {
ageRange: AgeBracket;
value: number;
sex: Sex;
parameterType: ParameterType;
order: number;
description: string;
};
export default EquationConstantDTO;
enum ParameterType {
PAL = 'NAF',
DefaultWeight = 'Peso por defecto',
AdultPAL = 'NAF Adultos',
MinorPAL = 'NAF Menores',
Maternity = 'Embarazo y lactancia',
EquationConstant = 'Constante de ecuacion',
TEE = 'GET',
BMR = 'TMB',
GrowthEnergy = 'Energia para crecimiento'
}
export default ParameterType;
import ParameterDTO from '../DTOs/ParameterDTO';
import DefaultExtraDataDTO from '../DTOs/DefaultExtraDataDTO';
import DefaultWeightDTO from '../DTOs/DefaultWeightDTO';
import EquationConstantDTO from '../DTOs/EquationConstantDTO';
import AgeBracket from '../Enum/AgeBracket';
import ParameterType from '../Enum/ParameterType';
import Sex from '../Enum/Sex';
function csvToParameters(csv: string): ParameterDTO[] {
const parameters: ParameterDTO[] = [];
function csvToDefaultWeight(csv: string): DefaultWeightDTO[] {
const parameters: DefaultWeightDTO[] = [];
const lines: string[] = csv.split('\r\n');
lines.forEach((parameter: string) => {
const fields = parameter.split(',');
parameters.push({
ageRange: fields[0] as AgeBracket,
value: parseFloat(fields[1]),
sex: fields[2] as Sex,
});
});
parameters.shift();
parameters.pop();
return parameters;
}
function csvToDefaultExtraData(csv: string): DefaultExtraDataDTO[] {
const parameters: DefaultExtraDataDTO[] = [];
const lines: string[] = csv.split('\r\n');
lines.forEach((parameter: string) => {
const fields = parameter.split(',');
......@@ -10,6 +30,27 @@ function csvToParameters(csv: string): ParameterDTO[] {
id: fields[0],
value: parseFloat(fields[1]),
parameterType: fields[2] as ParameterType,
order: parseInt(fields[3], 10),
description: fields[4],
});
});
parameters.shift();
parameters.pop();
return parameters;
}
function csvToEquationConstant(csv: string): EquationConstantDTO[] {
const parameters: EquationConstantDTO[] = [];
const lines: string[] = csv.split('\r\n');
lines.forEach((parameter: string) => {
const fields = parameter.split(',');
parameters.push({
ageRange: fields[0] as AgeBracket,
value: parseFloat(fields[1]),
parameterType: fields[2] as ParameterType,
sex: fields[3] as Sex,
order: parseInt(fields[4], 10),
description: fields[5],
});
});
parameters.shift();
......@@ -17,4 +58,4 @@ function csvToParameters(csv: string): ParameterDTO[] {
return parameters;
}
export default { csvToParameters };
export default { csvToDefaultWeight, csvToDefaultExtraData, csvToEquationConstant };
CREATE TABLE Parameters (
id VARCHAR(100) NOT NULL,
value INT NOT NULL,
parameterType INT NOT NULL,
PRIMARY KEY (id)
);
-- pesos por defecto
INSERT INTO Parameters (id, value, parameterType) VALUES ('0Month-Male', 3.3, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('1Month-Male', 4.5, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('2Month-Male', 5.6,1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('3Month-Male', 6.4, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('4Month-Male', 7.0, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('5Month-Male', 7.5, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('6Month-Male', 7.9, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('7Month-Male', 8.3, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('8Month-Male', 8.6, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('9Month-Male', 8.9, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('10Month-Male', 9.2, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('11Month-Male', 9.4, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('1Year-Male', 10.9, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('2Year-Male', 13.3, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('3Year-Male', 15.3, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('4Year-Male', 17.3, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('5Year-Male', 19.5, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('6Year-Male', 21.8, 1);
INSERT INTO Parameters (id, value, parameterType) VALUES ('7Year-Male', 24.2, 1);
id,value,parameterType,order,description
minorLowPrevalence,0,NAF Menores,0,a
minorModeratePrevalence,100,NAF Menores,0,a
minorIntensePrevalence,0,NAF Menores,0,a
lowPercentageDifference,-15,NAF Menores,1,a
intensePercentageDifference,15,NAF Menores,2,a
urbanPopulation,94.7,NAF Adultos,0,a
urbanActivePALPercentage,10,NAF Adultos,0,a
urbanLowPALPercentage,90,NAF Adultos,0,a
ruralPopulation,5.3,NAF Adultos,0,a
ruralActivePALPercentage,50,NAF Adultos,0,a
ruralLowPALPercentage,50,NAF Adultos,0,a
urbanActivePALValue,1.85,NAF Adultos,1,a
urbanLowPALValue,1.55,NAF Adultos,2,a
ruralActivePALValue,1.95,NAF Adultos,3,a
ruralLowPALValue,1.65,NAF Adultos,4,a
countryPopulation,3453691,Embarazo y lactancia,0,a
18-29FemaleCountryPopulation,315790,Embarazo y lactancia,0,a
30-59FemaleCountryPopulation,660601,Embarazo y lactancia,0,a
birthRate,14,Embarazo y lactancia,0,a
pregnancyExtraEnergy18to29,208,Embarazo y lactancia,1,a
lactationExtraEnergy18to29,251,Embarazo y lactancia,2,a
pregnancyExtraEnergy30to59,208,Embarazo y lactancia,1,a
lactationExtraEnergy30to59,251,Embarazo y lactancia,2,a
\ No newline at end of file
age,value,sex
0Month,3.3,Male
1Month,4.5,Male
2Month,5.6,Male
3Month,6.4,Male
4Month,7,Male
5Month,7.5,Male
6Month,7.9,Male
7Month,8.3,Male
8Month,8.6,Male
9Month,8.9,Male
10Month,9.2,Male
11Month,9.4,Male
1Year,10.9,Male
2Year,13.3,Male
3Year,15.3,Male
4Year,17.3,Male
5Year,19.5,Male
6Year,21.8,Male
7Year,24.2,Male
8Year,26.8,Male
9Year,29.6,Male
10Year,32.9,Male
11Year,36.7,Male
12Year,41.6,Male
13Year,47.4,Male
14Year,53.7,Male
15Year,58.8,Male
16Year,63.1,Male
17Year,66.1,Male
18to29Year,67.4,Male
30to59Year,66.6,Male
60+Year,64.3,Male
0Month,3.2,Female
1Month,4.2,Female
2Month,5.1,Female
3Month,5.8,Female
4Month,6.4,Female
5Month,6.9,Female
6Month,7.3,Female
7Month,7.6,Female
8Month,7.9,Female
9Month,8.2,Female
10Month,8.5,Female
11Month,8.7,Female
1Year,10.2,Female
2Year,12.7,Female
3Year,15,Female
4Year,17.2,Female
5Year,19.1,Female
6Year,21.3,Female
7Year,23.7,Female
8Year,26.7,Female
9Year,29.9,Female
10Year,34,Female
11Year,38.7,Female
12Year,43.6,Female
13Year,48.1,Female
14Year,51.5,Female
15Year,53.9,Female
16Year,55.3,Female
17Year,56.3,Female
18to29Year,57.7,Female
30to59Year,56.3,Female
60+Year,54.2,Female
\ No newline at end of file
age,value,parameterType,sex,order,description
18to29Year,15.057,TMB,Male,0,a
18to29Year,692.2,TMB,Male,1,a
30to59Year,11.472,TMB,Male,0,a
30to59Year,873.1,TMB,Male,1,a
60+Year,11.711,TMB,Male,0,a
60+Year,587.7,TMB,Male,1,a
18to29Year,14.818,TMB,Female,0,a
18to29Year,486.6,TMB,Female,1,a
30to59Year,8.126,TMB,Female,0,a
30to59Year,845.6,TMB,Female,1,a
60+Year,9.082,TMB,Female,0,a
60+Year,658.5,TMB,Female,1,a
0Month,211,Energia para crecimiento,Male,2,a
1Month,183,Energia para crecimiento,Male,2,a
2Month,139,Energia para crecimiento,Male,2,a
3Month,53,Energia para crecimiento,Male,2,a
4Month,46,Energia para crecimiento,Male,2,a
5Month,36,Energia para crecimiento,Male,2,a
6Month,17,Energia para crecimiento,Male,2,a
7Month,16,Energia para crecimiento,Male,2,a
8Month,14,Energia para crecimiento,Male,2,a
9Month,21,Energia para crecimiento,Male,2,a
10Month,21,Energia para crecimiento,Male,2,a
11Month,22,Energia para crecimiento,Male,2,a
1Year,13,Energia para crecimiento,Male,3,a
2Year,12,Energia para crecimiento,Male,3,a
3Year,12,Energia para crecimiento,Male,3,a
4Year,11,Energia para crecimiento,Male,3,a
5Year,11,Energia para crecimiento,Male,3,a
6Year,12,Energia para crecimiento,Male,3,a
7Year,14,Energia para crecimiento,Male,3,a
8Year,16,Energia para crecimiento,Male,3,a
9Year,19,Energia para crecimiento,Male,3,a
10Year,22,Energia para crecimiento,Male,3,a
11Year,25,Energia para crecimiento,Male,3,a
12Year,29,Energia para crecimiento,Male,3,a
13Year,33,Energia para crecimiento,Male,3,a
14Year,33,Energia para crecimiento,Male,3,a
15Year,31,Energia para crecimiento,Male,3,a
16Year,24,Energia para crecimiento,Male,3,a
17Year,14,Energia para crecimiento,Male,3,a
0Month,178,Energia para crecimiento,Female,2,a
1Month,161,Energia para crecimiento,Female,2,a
2Month,134,Energia para crecimiento,Female,2,a
3Month,68,Energia para crecimiento,Female,2,a
4Month,57,Energia para crecimiento,Female,2,a
5Month,47,Energia para crecimiento,Female,2,a
6Month,20,Energia para crecimiento,Female,2,a
7Month,17,Energia para crecimiento,Female,2,a
8Month,15,Energia para crecimiento,Female,2,a
9Month,18,Energia para crecimiento,Female,2,a
10Month,15,Energia para crecimiento,Female,2,a
11Month,14,Energia para crecimiento,Female,2,a
1Year,13,Energia para crecimiento,Female,3,a
2Year,13,Energia para crecimiento,Female,3,a
3Year,11,Energia para crecimiento,Female,3,a
4Year,10,Energia para crecimiento,Female,3,a
5Year,10,Energia para crecimiento,Female,3,a
6Year,13,Energia para crecimiento,Female,3,a
7Year,17,Energia para crecimiento,Female,3,a
8Year,20,Energia para crecimiento,Female,3,a
9Year,23,Energia para crecimiento,Female,3,a
10Year,25,Energia para crecimiento,Female,3,a
11Year,25,Energia para crecimiento,Female,3,a
12Year,26,Energia para crecimiento,Female,3,a
13Year,24,Energia para crecimiento,Female,3,a
14Year,19,Energia para crecimiento,Female,3,a
15Year,13,Energia para crecimiento,Female,3,a
16Year,5,Energia para crecimiento,Female,3,a
17Year,0,Energia para crecimiento,Female,3,a
0Month,-152,GET,Male,0,a
0Month,92.8,GET,Male,1,a
1Month,-152,GET,Male,0,a
1Month,92.8,GET,Male,1,a
2Month,-152,GET,Male,0,a
2Month,92.8,GET,Male,1,a
3Month,-152,GET,Male,0,a
3Month,92.8,GET,Male,1,a
4Month,-152,GET,Male,0,a
4Month,92.8,GET,Male,1,a
5Month,-152,GET,Male,0,a
5Month,92.8,GET,Male,1,a
0Month,-152,GET,Female,0,a
0Month,92.8,GET,Female,1,a
1Month,-152,GET,Female,0,a
1Month,92.8,GET,Female,1,a
2Month,-152,GET,Female,0,a
2Month,92.8,GET,Female,1,a
3Month,-152,GET,Female,0,a
3Month,92.8,GET,Female,1,a
4Month,-152,GET,Female,0,a
4Month,92.8,GET,Female,1,a
5Month,-152,GET,Female,0,a
5Month,92.8,GET,Female,1,a
6Month,-99.4,GET,Male,0,a
6Month,88.6,GET,Male,1,a
7Month,-99.4,GET,Male,0,a
7Month,88.6,GET,Male,1,a
8Month,-99.4,GET,Male,0,a
8Month,88.6,GET,Male,1,a
9Month,-99.4,GET,Male,0,a
9Month,88.6,GET,Male,1,a
10Month,-99.4,GET,Male,0,a
10Month,88.6,GET,Male,1,a
11Month,-99.4,GET,Male,0,a
11Month,88.6,GET,Male,1,a
6Month,-99.4,GET,Female,0,a
6Month,88.6,GET,Female,1,a
7Month,-99.4,GET,Female,0,a
7Month,88.6,GET,Female,1,a
8Month,-99.4,GET,Female,0,a
8Month,88.6,GET,Female,1,a
9Month,-99.4,GET,Female,0,a
9Month,88.6,GET,Female,1,a
10Month,-99.4,GET,Female,0,a
10Month,88.6,GET,Female,1,a
11Month,-99.4,GET,Female,0,a
11Month,88.6,GET,Female,1,a
1Year,310.2,GET,Male,0,a
1Year,63.3,GET,Male,1,a
1Year,-0.263,GET,Male,2,a
2Year,310.2,GET,Male,0,a
2Year,63.3,GET,Male,1,a
2Year,-0.263,GET,Male,2,a
3Year,310.2,GET,Male,0,a
3Year,63.3,GET,Male,1,a
3Year,-0.263,GET,Male,2,a
4Year,310.2,GET,Male,0,a
4Year,63.3,GET,Male,1,a
4Year,-0.263,GET,Male,2,a
5Year,310.2,GET,Male,0,a
5Year,63.3,GET,Male,1,a
5Year,-0.263,GET,Male,2,a
6Year,310.2,GET,Male,0,a
6Year,63.3,GET,Male,1,a
6Year,-0.263,GET,Male,2,a
7Year,310.2,GET,Male,0,a
7Year,63.3,GET,Male,1,a
7Year,-0.263,GET,Male,2,a
8Year,310.2,GET,Male,0,a
8Year,63.3,GET,Male,1,a
8Year,-0.263,GET,Male,2,a
9Year,310.2,GET,Male,0,a
9Year,63.3,GET,Male,1,a
9Year,-0.263,GET,Male,2,a
10Year,310.2,GET,Male,0,a
10Year,63.3,GET,Male,1,a
10Year,-0.263,GET,Male,2,a
11Year,310.2,GET,Male,0,a
11Year,63.3,GET,Male,1,a
11Year,-0.263,GET,Male,2,a
12Year,310.2,GET,Male,0,a
12Year,63.3,GET,Male,1,a
12Year,-0.263,GET,Male,2,a
13Year,310.2,GET,Male,0,a
13Year,63.3,GET,Male,1,a
13Year,-0.263,GET,Male,2,a
14Year,310.2,GET,Male,0,a
14Year,63.3,GET,Male,1,a
14Year,-0.263,GET,Male,2,a
15Year,310.2,GET,Male,0,a
15Year,63.3,GET,Male,1,a
15Year,-0.263,GET,Male,2,a
16Year,310.2,GET,Male,0,a
16Year,63.3,GET,Male,1,a
16Year,-0.263,GET,Male,2,a
17Year,310.2,GET,Male,0,a
17Year,63.3,GET,Male,1,a
17Year,-0.263,GET,Male,2,a
1Year,263.4,GET,Female,0,a
1Year,65.3,GET,Female,1,a
1Year,-0.454,GET,Female,2,a
2Year,263.4,GET,Female,0,a
2Year,65.3,GET,Female,1,a
2Year,-0.454,GET,Female,2,a
3Year,263.4,GET,Female,0,a
3Year,65.3,GET,Female,1,a
3Year,-0.454,GET,Female,2,a
4Year,263.4,GET,Female,0,a
4Year,65.3,GET,Female,1,a
4Year,-0.454,GET,Female,2,a
5Year,263.4,GET,Female,0,a
5Year,65.3,GET,Female,1,a
5Year,-0.454,GET,Female,2,a
6Year,263.4,GET,Female,0,a
6Year,65.3,GET,Female,1,a
6Year,-0.454,GET,Female,2,a
7Year,263.4,GET,Female,0,a
7Year,65.3,GET,Female,1,a
7Year,-0.454,GET,Female,2,a
8Year,263.4,GET,Female,0,a
8Year,65.3,GET,Female,1,a
8Year,-0.454,GET,Female,2,a
9Year,263.4,GET,Female,0,a
9Year,65.3,GET,Female,1,a
9Year,-0.454,GET,Female,2,a
10Year,263.4,GET,Female,0,a
10Year,65.3,GET,Female,1,a
10Year,-0.454,GET,Female,2,a
11Year,263.4,GET,Female,0,a
11Year,65.3,GET,Female,1,a
11Year,-0.454,GET,Female,2,a
12Year,263.4,GET,Female,0,a
12Year,65.3,GET,Female,1,a
12Year,-0.454,GET,Female,2,a
13Year,263.4,GET,Female,0,a
13Year,65.3,GET,Female,1,a
13Year,-0.454,GET,Female,2,a
14Year,263.4,GET,Female,0,a
14Year,65.3,GET,Female,1,a
14Year,-0.454,GET,Female,2,a
15Year,263.4,GET,Female,0,a
15Year,65.3,GET,Female,1,a
15Year,-0.454,GET,Female,2,a
16Year,263.4,GET,Female,0,a
16Year,65.3,GET,Female,1,a
16Year,-0.454,GET,Female,2,a
17Year,263.4,GET,Female,0,a
17Year,65.3,GET,Female,1,a
17Year,-0.454,GET,Female,2,a
\ No newline at end of file
import fs from 'fs';
import path from 'path';
import ParameterDTO from '../DTOs/ParameterDTO';
import Parameter from '../Models/Parameter';
import DefaultExtraDataDTO from '../DTOs/DefaultExtraDataDTO';
import DefaultWeightDTO from '../DTOs/DefaultWeightDTO';
import EquationConstantDTO from '../DTOs/EquationConstantDTO';
import DefaultExtraData from '../Models/DefaultExtraData';
import DefaultWeight from '../Models/DefaultWeight';
import EquationConstant from '../Models/EquationConstant';
import CSVParser from './CSVParser';
function initParameterDataBase(): void {
const pathToFile: string = path.join(__dirname, 'loader.csv');
const csv: string = fs.readFileSync(pathToFile, 'utf8').toString();
const parameters: ParameterDTO[] = CSVParser.csvToParameters(csv);
Parameter.sync({ force: true }).then(() => {
Parameter.bulkCreate(parameters, {
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(() => {
DefaultWeight.bulkCreate(defaultWeights, {
updateOnDuplicate: ['value'],
}).then(() => {
console.log('DataBase initialization success');
console.log('Default Weight table loading success');
})
.catch((err) => {
console.log(err);
});
});
pathToFile = path.join(__dirname, 'DefaultExtraDataLoader.csv');
csv = fs.readFileSync(pathToFile, 'utf8').toString();
const extraData: DefaultExtraDataDTO[] = CSVParser.csvToDefaultExtraData(csv);
DefaultExtraData.sync({ force: true }).then(() => {
DefaultExtraData.bulkCreate(extraData, {
updateOnDuplicate: ['value'],
}).then(() => {
console.log('Extra Data table loading success');
})
.catch((err) => {
console.log(err);
});
});
pathToFile = path.join(__dirname, 'EquationConstantLoader.csv');
csv = fs.readFileSync(pathToFile, 'utf8').toString();
const equationConstant: EquationConstantDTO[] = CSVParser.csvToEquationConstant(csv);
EquationConstant.sync({ force: true }).then(() => {
EquationConstant.bulkCreate(equationConstant, {
updateOnDuplicate: ['value'],
}).then(() => {
console.log('Equation Constant table loading success');
})
.catch((err) => {
console.log(err);
......
id,value,parameterType
0Month-Male,3.3,Peso por defecto
1Month-Male,4.5,Peso por defecto
2Month-Male,5.6,Peso por defecto
3Month-Male,6.4,Peso por defecto
4Month-Male,7,Peso por defecto
5Month-Male,7.5,Peso por defecto
6Month-Male,7.9,Peso por defecto
7Month-Male,8.3,Peso por defecto
8Month-Male,8.6,Peso por defecto
9Month-Male,8.9,Peso por defecto
10Month-Male,9.2,Peso por defecto
11Month-Male,9.4,Peso por defecto
1Year-Male,10.9,Peso por defecto
2Year-Male,13.3,Peso por defecto
3Year-Male,15.3,Peso por defecto
4Year-Male,17.3,Peso por defecto
5Year-Male,19.5,Peso por defecto
6Year-Male,21.8,Peso por defecto
7Year-Male,24.2,Peso por defecto
8Year-Male,26.8,Peso por defecto
9Year-Male,29.6,Peso por defecto
10Year-Male,32.9,Peso por defecto
11Year-Male,36.7,Peso por defecto
12Year-Male,41.6,Peso por defecto
13Year-Male,47.4,Peso por defecto
14Year-Male,53.7,Peso por defecto
15Year-Male,58.8,Peso por defecto
16Year-Male,63.1,Peso por defecto
17Year-Male,66.1,Peso por defecto
18-29Year-Male,67.4,Peso por defecto
30-59Year-Male,66.6,Peso por defecto
60+Year-Male,64.3,Peso por defecto
0Month-Female,3.2,Peso por defecto
1Month-Female,4.2,Peso por defecto
2Month-Female,5.1,Peso por defecto
3Month-Female,5.8,Peso por defecto
4Month-Female,6.4,Peso por defecto
5Month-Female,6.9,Peso por defecto
6Month-Female,7.3,Peso por defecto
7Month-Female,7.6,Peso por defecto
8Month-Female,7.9,Peso por defecto
9Month-Female,8.2,Peso por defecto
10Month-Female,8.5,Peso por defecto
11Month-Female,8.7,Peso por defecto
1Year-Female,10.2,Peso por defecto
2Year-Female,12.7,Peso por defecto
3Year-Female,15,Peso por defecto
4Year-Female,17.2,Peso por defecto
5Year-Female,19.1,Peso por defecto
6Year-Female,21.3,Peso por defecto
7Year-Female,23.7,Peso por defecto
8Year-Female,26.7,Peso por defecto
9Year-Female,29.9,Peso por defecto
10Year-Female,34,Peso por defecto
11Year-Female,38.7,Peso por defecto
12Year-Female,43.6,Peso por defecto
13Year-Female,48.1,Peso por defecto
14Year-Female,51.5,Peso por defecto
15Year-Female,53.9,Peso por defecto
16Year-Female,55.3,Peso por defecto
17Year-Female,56.3,Peso por defecto
18-29Year-Female,57.7,Peso por defecto
30-59Year-Female,56.3,Peso por defecto
60+Year-Female,54.2,Peso por defecto
minorLowPrevalence,0,NAF
minorModeratePrevalence,100,NAF
minorIntensePrevalence,0,NAF
lowPercentageDifference,-15,NAF
intensePercentageDifference,15,NAF
urbanPopulation,94.7,NAF
urbanActivePALValue,1.85,NAF
urbanLowPALValue,1.55,NAF
urbanActivePALPercentage,10,NAF
urbanLowPALPercentage,90,NAF
ruralPopulation,5.3,NAF
ruralActivePALValue,1.95,NAF
ruralLowPALValue,1.65,NAF
ruralActivePALPercentage,50,NAF
ruralLowPALPercentage,50,NAF
countryPopulation,3453691,Embarazo y lactancia
18-29FemaleCountryPopulation,315790,Embarazo y lactancia
30-59FemaleCountryPopulation,660601,Embarazo y lactancia
birthRate,14,Embarazo y lactancia
pregnancyExtraEnergy,208,Embarazo y lactancia
lactationExtraEnergy,251,Embarazo y lactancia
GET-0to5Month-A,-152,Constante de ecuacion
GET-0to5Month-B,92.8,Constante de ecuacion
GET-6to11Month-A,-99.4,Constante de ecuacion
GET-6to11Month-B,88.6,Constante de ecuacion
GET-1to17Year-Male-A,310.2,Constante de ecuacion
GET-1to17Year-Male-B,63.3,Constante de ecuacion
GET-1to17Year-Male-C,-0.263,Constante de ecuacion
GrowthEnergy-0Month-Male,211,Constante de ecuacion
GrowthEnergy-1Month-Male,183,Constante de ecuacion
GrowthEnergy-2Month-Male,139,Constante de ecuacion
GrowthEnergy-3Month-Male,53,Constante de ecuacion
GrowthEnergy-4Month-Male,46,Constante de ecuacion
GrowthEnergy-5Month-Male,36,Constante de ecuacion
GrowthEnergy-6Month-Male,17,Constante de ecuacion
GrowthEnergy-7Month-Male,16,Constante de ecuacion
GrowthEnergy-8Month-Male,14,Constante de ecuacion
GrowthEnergy-9Month-Male,21,Constante de ecuacion
GrowthEnergy-10Month-Male,21,Constante de ecuacion
GrowthEnergy-11Month-Male,22,Constante de ecuacion
GrowthEnergy-1Year-Male,13,Constante de ecuacion
GrowthEnergy-2Year-Male,12,Constante de ecuacion
GrowthEnergy-3Year-Male,12,Constante de ecuacion
GrowthEnergy-4Year-Male,11,Constante de ecuacion
GrowthEnergy-5Year-Male,11,Constante de ecuacion
GrowthEnergy-6Year-Male,12,Constante de ecuacion
GrowthEnergy-7Year-Male,14,Constante de ecuacion
GrowthEnergy-8Year-Male,16,Constante de ecuacion
GrowthEnergy-9Year-Male,19,Constante de ecuacion
GrowthEnergy-10Year-Male,22,Constante de ecuacion
GrowthEnergy-11Year-Male,25,Constante de ecuacion
GrowthEnergy-12Year-Male,29,Constante de ecuacion
GrowthEnergy-13Year-Male,33,Constante de ecuacion
GrowthEnergy-14Year-Male,33,Constante de ecuacion
GrowthEnergy-15Year-Male,31,Constante de ecuacion
GrowthEnergy-16Year-Male,24,Constante de ecuacion
GrowthEnergy-17Year-Male,14,Constante de ecuacion
TMB-18to29Year-Male-A,15.057,Constante de ecuacion
TMB-18to29Year-Male-B,692.2,Constante de ecuacion
TMB-30to59Year-Male-A,11.472,Constante de ecuacion
TMB-30to59Year-Male-B,873.1,Constante de ecuacion
TMB-60+Year-Male-A,11.711,Constante de ecuacion
TMB-60+Year-Male-B,587.7,Constante de ecuacion
GET-1to17Year-Female-A,263.4,Constante de ecuacion
GET-1to17Year-Female-B,65.3,Constante de ecuacion
GET-1to17Year-Female-C,-0.454,Constante de ecuacion
GrowthEnergy-0Month-Female,178,Constante de ecuacion
GrowthEnergy-1Month-Female,161,Constante de ecuacion
GrowthEnergy-2Month-Female,134,Constante de ecuacion
GrowthEnergy-3Month-Female,68,Constante de ecuacion
GrowthEnergy-4Month-Female,57,Constante de ecuacion
GrowthEnergy-5Month-Female,47,Constante de ecuacion
GrowthEnergy-6Month-Female,20,Constante de ecuacion
GrowthEnergy-7Month-Female,17,Constante de ecuacion
GrowthEnergy-8Month-Female,15,Constante de ecuacion
GrowthEnergy-9Month-Female,18,Constante de ecuacion
GrowthEnergy-10Month-Female,15,Constante de ecuacion
GrowthEnergy-11Month-Female,14,Constante de ecuacion
GrowthEnergy-1Year-Female,13,Constante de ecuacion
GrowthEnergy-2Year-Female,13,Constante de ecuacion
GrowthEnergy-3Year-Female,11,Constante de ecuacion
GrowthEnergy-4Year-Female,10,Constante de ecuacion
GrowthEnergy-5Year-Female,10,Constante de ecuacion
GrowthEnergy-6Year-Female,13,Constante de ecuacion
GrowthEnergy-7Year-Female,17,Constante de ecuacion
GrowthEnergy-8Year-Female,20,Constante de ecuacion
GrowthEnergy-9Year-Female,23,Constante de ecuacion
GrowthEnergy-10Year-Female,25,Constante de ecuacion
GrowthEnergy-11Year-Female,25,Constante de ecuacion
GrowthEnergy-12Year-Female,26,Constante de ecuacion
GrowthEnergy-13Year-Female,24,Constante de ecuacion
GrowthEnergy-14Year-Female,19,Constante de ecuacion
GrowthEnergy-15Year-Female,13,Constante de ecuacion
GrowthEnergy-16Year-Female,5,Constante de ecuacion
GrowthEnergy-17Year-Female,0,Constante de ecuacion
TMB-18to29Year-Female-A,14.818,Constante de ecuacion
TMB-18to29Year-Female-B,486.6,Constante de ecuacion
TMB-30to59Year-Female-A,8.126,Constante de ecuacion
TMB-30to59Year-Female-B,845.6,Constante de ecuacion
TMB-60+Year-Female-A,9.082,Constante de ecuacion
TMB-60+Year-Female-B,658.5,Constante de ecuacion
import ParameterDTO from '../DTOs/ParameterDTO';
import Parameter from '../Models/Parameter';
import DefaultExtraDataDTO from '../DTOs/DefaultExtraDataDTO';
import DefaultWeightDTO from '../DTOs/DefaultWeightDTO';
import EquationConstantDTO from '../DTOs/EquationConstantDTO';
import DefaultExtraData from '../Models/DefaultExtraData';
import DefaultWeight from '../Models/DefaultWeight';
import EquationConstant from '../Models/EquationConstant';
function parameterToData(parameter: Parameter): ParameterDTO {
const res: ParameterDTO = {
function defaultExtraDataToDTO(parameter: DefaultExtraData): DefaultExtraDataDTO {
const res: DefaultExtraDataDTO = {
id: parameter.id,
value: parameter.value,
parameterType: parameter.parameterType,
order: parameter.order,
description: parameter.description,
};
return res;
}
export default { parameterToData };
function equationConstantToDTO(parameter: EquationConstant): EquationConstantDTO {
const res: EquationConstantDTO = {
value: parameter.value,
parameterType: parameter.parameterType,
order: parameter.order,
description: parameter.description,
ageRange: parameter.ageRange,
sex: parameter.sex,
};
return res;
}
function defaultWeightToDTO(parameter: DefaultWeight): DefaultWeightDTO {
const res: DefaultWeightDTO = {
value: parameter.value,
ageRange: parameter.ageRange,
sex: parameter.sex,
};
return res;
}
export default { defaultExtraDataToDTO, equationConstantToDTO, defaultWeightToDTO };
import { DataTypes } from 'sequelize';
import Parameter from './Parameter';
import sequelize from '../Loaders/ParameterDataBase';
import ParameterType from '../Enum/ParameterType';
class DefaultExtraData extends Parameter {
id!: string;
parameterType!: ParameterType;
order!: number;
description!: string;
}
DefaultExtraData.init(
{
id: {
type: DataTypes.STRING,
primaryKey: true,
},
parameterType: DataTypes.STRING,
value: DataTypes.FLOAT,
order: DataTypes.INTEGER,
description: DataTypes.STRING,
},
{
sequelize,
modelName: 'DefaultExtraData',
timestamps: false,
},
);
export default DefaultExtraData;
import { DataTypes } from 'sequelize';
import AgeBracket from '../Enum/AgeBracket';
import Sex from '../Enum/Sex';
import Parameter from './Parameter';
import sequelize from '../Loaders/ParameterDataBase';
class DefaultWeight extends Parameter {
ageRange!: AgeBracket;
sex!: Sex;
}
DefaultWeight.init(
{
ageRange: {
type: DataTypes.STRING,
primaryKey: true,
},
sex: {
type: DataTypes.STRING,
primaryKey: true,
},
value: DataTypes.FLOAT,
},
{
sequelize,
modelName: 'DefaultWeight',
timestamps: false,
},
);
export default DefaultWeight;
import { DataTypes } from 'sequelize';
import AgeBracket from '../Enum/AgeBracket';
import Sex from '../Enum/Sex';
import Parameter from './Parameter';
import sequelize from '../Loaders/ParameterDataBase';
import ParameterType from '../Enum/ParameterType';
class EquationConstant extends Parameter {
ageRange!: AgeBracket;
sex!: Sex;
parameterType!: ParameterType;
order!: number;
description!: string;
}
EquationConstant.init(
{
ageRange: {
type: DataTypes.STRING,
primaryKey: true,
},
sex: {
type: DataTypes.STRING,
primaryKey: true,
},
order: {
type: DataTypes.INTEGER,
primaryKey: true,
},
description: DataTypes.STRING,
parameterType: DataTypes.STRING,
value: DataTypes.FLOAT,
},
{
sequelize,
modelName: 'EquationConstant',
timestamps: false,
},
);
export default EquationConstant;
import { Model, DataTypes } from 'sequelize';
import ParameterType from '../Enum/ParameterType';
import sequelize from '../Loaders/ParameterDataBase';
import { Model } from 'sequelize';
class Parameter extends Model {
id!: string;
value!: number;
parameterType!: ParameterType;
}
Parameter.init(
{
id: {
type: DataTypes.STRING,
primaryKey: true,
},
value: DataTypes.FLOAT,
parameterType: {
type: DataTypes.STRING,
primaryKey: true,
},
},
{
sequelize,
modelName: 'Parameter',
timestamps: false,
},
);
export default Parameter;
import ParameterDTO from '../DTOs/ParameterDTO';
import ParameterDTO from '../DTOs/EquationConstantDTO';
import AgeBracket from '../Enum/AgeBracket';
import Sex from '../Enum/Sex';
import ParameterMapper from '../Mappers/ParameterMapper';
import Parameter from '../Models/Parameter';
// import Parameter from '../Models/Parameter';
const getEquationValues = (ageBracket: AgeBracket, sex: Sex): number[] => {
let res: number[] = [];
......@@ -336,32 +335,20 @@ const getEquationValues = (ageBracket: AgeBracket, sex: Sex): number[] => {
return res;
};
const getParameters = async (): Promise<ParameterDTO[]> => {
const res: ParameterDTO[] = [];
await Parameter.findAll().then((parameters: Parameter[]) => {
parameters.forEach((param: Parameter) => {
res.push(ParameterMapper.parameterToData(param));
});
});
return res;
};
const getParametersOfType = async (paramType: string): Promise<ParameterDTO[]> => {
const res: ParameterDTO[] = [];
await Parameter.findAll({
where: {
parameterType: paramType,
},
})
.then((parameters: Parameter[]) => {
parameters.forEach((param: Parameter) => {
res.push(ParameterMapper.parameterToData(param));
});
})
.catch((err) => {
throw new Error(err);
});
return res;
};
// const getParametersOfType = async (paramType: ParameterType): Promise<ParameterDTO[]> => {
// const res: ParameterDTO[] = [];
// const estaChota = await Parameter.findAll({
// where: {
// parameterType: paramType,
// },
// })
// .then((parameters) => parameters.forEach((param: Parameter) => {
// res.push(ParameterMapper.parameterToData(param));
// }))
// .catch((err) => {
// throw new Error(err);
// });
// return res;
// };
export default { getEquationValues, getParameters, getParametersOfType };
export default { getEquationValues, getParameters };
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment