From f65131293319cc896085888004cf135a3a62c3fd Mon Sep 17 00:00:00 2001 From: Agustin <agusr1999@gmail.com> Date: Sat, 25 Sep 2021 14:21:04 -0300 Subject: [PATCH] New attribute in PopulationMaternity, takes number of women in age group Also changes calculations for adjusting ER for adult women when receiving PopulationMaternity --- src/DTOs/PopulationMaternityDTO.ts | 1 + src/Services/ERCalculator.ts | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/DTOs/PopulationMaternityDTO.ts b/src/DTOs/PopulationMaternityDTO.ts index 940f618..c47f473 100644 --- a/src/DTOs/PopulationMaternityDTO.ts +++ b/src/DTOs/PopulationMaternityDTO.ts @@ -1,5 +1,6 @@ type PopulationMaternity = { countryBirthRate: number; + countryWomenInAgeGroup: number; countryPopulation: number; }; diff --git a/src/Services/ERCalculator.ts b/src/Services/ERCalculator.ts index c13d6e6..f9af891 100644 --- a/src/Services/ERCalculator.ts +++ b/src/Services/ERCalculator.ts @@ -66,11 +66,11 @@ const calculateERWomenIndividual = (group: AgeGroup, params: number[], popData: }; // eslint-disable-next-line max-len -const calculateERWomenPopulation = (group: AgeGroup, params: number[], popData: PopulationMaternity, req: number): number => { - const annualBirths = popData.countryBirthRate * popData.countryPopulation; +const calculateERWomenPopulation = (params: number[], popData: PopulationMaternity, req: number): number => { + const annualBirths = (popData.countryBirthRate * popData.countryPopulation) / 1000; - const percentPregnantWomen = (annualBirths * 75) / group.population; - const percentLactatingWomen = (annualBirths * 50) / group.population; + const percentPregnantWomen = (annualBirths * 75) / popData.countryWomenInAgeGroup; + const percentLactatingWomen = (annualBirths * 50) / popData.countryWomenInAgeGroup; const reqPregnantWomen = (percentPregnantWomen * (req + params[6])) / 100; const reqLactatingWomen = (percentLactatingWomen * (req + params[7])) / 100; @@ -147,7 +147,7 @@ const calculate18To29Years = (group: AgeGroup, params: number[], data: ExtraData } else if (isIndividualMaternity(data.maternity18To29)) { requirement = calculateERWomenIndividual(group, params, data.maternity18To29, requirement); } else { - requirement = calculateERWomenPopulation(group, params, data.maternity18To29, requirement); + requirement = calculateERWomenPopulation(params, data.maternity18To29, requirement); } } @@ -181,7 +181,7 @@ const calculate30To59Years = (group: AgeGroup, params: number[], data: ExtraData } else if (isIndividualMaternity(data.maternity30To59)) { requirement = calculateERWomenIndividual(group, params, data.maternity30To59, requirement); } else { - requirement = calculateERWomenPopulation(group, params, data.maternity30To59, requirement); + requirement = calculateERWomenPopulation(params, data.maternity30To59, requirement); } } -- GitLab