diff --git a/src/main/java/simpaths/model/Person.java b/src/main/java/simpaths/model/Person.java index 6da170ead..5d7e8ef99 100644 --- a/src/main/java/simpaths/model/Person.java +++ b/src/main/java/simpaths/model/Person.java @@ -634,10 +634,10 @@ public void setAdditionalFieldsInInitialPopulation() { //This method assign people to age groups used to define types in the SBAM matching procedure private void updateAgeGroup() { - if (demAge < 18) { + if (demAge < AGE_TO_BECOME_RESPONSIBLE) { demAgeGroup = 0; model.tmpPeopleAssigned++; - } else if(demAge >= 18 && demAge < 21) { + } else if(demAge >= AGE_TO_BECOME_RESPONSIBLE && demAge < 21) { demAgeGroup = 1; model.tmpPeopleAssigned++; } else if(demAge >= 21 && demAge < 24) { @@ -962,7 +962,7 @@ private void considerLeavingHome() { public boolean considerRetirement() { boolean toRetire = false; - if (demAge >= Parameters.MIN_AGE_TO_RETIRE && !Les_c4.Retired.equals(labC4) && !Les_c4.Retired.equals(labC4L1)) { + if (demAge >= MIN_AGE_TO_RETIRE && !Les_c4.Retired.equals(labC4) && !Les_c4.Retired.equals(labC4L1)) { if (Parameters.enableIntertemporalOptimisations && DecisionParams.flagRetirement) { if (Labour.ZERO.equals(labHrsWorkEnumWeekL1)) { toRetire = true; @@ -1001,7 +1001,7 @@ private void updateFinancialDistress() { * @see scghq1_dv */ protected void healthMentalHM1Level() { - if (demAge >= 16) { + if (demAge >= MIN_AGE_TO_HAVE_INCOME) { double score = Parameters.getRegHealthHM1Level().getScore(this, Person.DoublesVariables.class); double rmse = Parameters.getRMSEForRegression("HM1_L"); double gauss = Parameters.getStandardNormalDistribution().inverseCumulativeProbability(statInnovations.getDoubleDraw(1)); @@ -1025,7 +1025,7 @@ protected void healthMentalHM1Level() { protected void healthMentalHM2Level() { double dhmPrediction; - if (demAge >= 25 && demAge <= 64) { + if (demAge >= 25 && demAge < MIN_AGE_SOCIAL_CARE) { if (Gender.Male.equals(getDemMaleFlag())) { dhmPrediction = Parameters.getRegHealthHM2LevelMales().getScore(this, Person.DoublesVariables.class); healthWbScore0to36 = constrainDhmEstimate(dhmPrediction+ healthWbScore0to36); @@ -1050,7 +1050,7 @@ protected void healthMentalHM2Level() { * @see scghq2_dv */ protected void healthMentalHM1Case() { - if (demAge >= 16) { + if (demAge >= MIN_AGE_TO_HAVE_INCOME) { Map probs = ManagerRegressions.getProbabilities(this, RegressionName.HealthHM1Case); MultiValEvent event = new MultiValEvent(probs, statInnovations.getDoubleDraw(36)); healthPsyDstrss0to12 = Double.valueOf(event.eval().getValue()); @@ -1070,7 +1070,7 @@ protected void healthMentalHM1Case() { */ protected void healthMentalHM2Case() { double dhmGhqPrediction; - if (demAge >= 25 && demAge <= 64) { + if (demAge >= 25 && demAge < MIN_AGE_SOCIAL_CARE) { if (Gender.Male.equals(getDemMaleFlag())) { dhmGhqPrediction = Parameters.getRegHealthHM2CaseMales().getScore(this, Person.DoublesVariables.class); healthPsyDstrss0to12 = constrainhealthPsyDstrssEstimate(dhmGhqPrediction+ healthPsyDstrss0to12); @@ -1095,7 +1095,7 @@ protected void healthMentalHM2Case() { */ protected void healthMCS1() { - if (demAge >= 16) { + if (demAge >= MIN_AGE_TO_HAVE_INCOME) { double mcsPrediction = Parameters.getRegHealthMCS1().getScore(this, Person.DoublesVariables.class); double rmse = Parameters.getRMSEForRegression("DHE_MCS1"); double gauss = Parameters.getStandardNormalDistribution().inverseCumulativeProbability(statInnovations.getDoubleDraw(33)); @@ -1117,7 +1117,7 @@ protected void healthMCS1() { protected void healthMCS2() { double mcsPrediction; - if (demAge >= 25 && demAge <= 64) { + if (demAge >= 25 && demAge < MIN_AGE_SOCIAL_CARE) { if (Gender.Male.equals(getDemMaleFlag())) { mcsPrediction = Parameters.getRegHealthMCS2Males().getScore(this, Person.DoublesVariables.class); healthMentalMcs = constrainSF12Estimate(mcsPrediction + healthMentalMcs); @@ -1142,7 +1142,7 @@ protected void healthMCS2() { */ protected void healthPCS1() { - if (demAge >= 16) { + if (demAge >= MIN_AGE_TO_HAVE_INCOME) { double pcsPrediction = Parameters.getRegHealthPCS1().getScore(this, Person.DoublesVariables.class); double rmse = Parameters.getRMSEForRegression("DHE_PCS1"); double gauss = Parameters.getStandardNormalDistribution().inverseCumulativeProbability(statInnovations.getDoubleDraw(34)); @@ -1164,7 +1164,7 @@ protected void healthPCS1() { protected void healthPCS2() { double pcsPrediction; - if (demAge >= 25 && demAge <= 64) { + if (demAge >= 25 && demAge < MIN_AGE_SOCIAL_CARE) { if (Gender.Male.equals(getDemMaleFlag())) { pcsPrediction = Parameters.getRegHealthPCS2Males().getScore(this, Person.DoublesVariables.class); healthPhysicalPcs = constrainSF12Estimate(pcsPrediction + healthPhysicalPcs); @@ -1190,7 +1190,7 @@ protected void healthPCS2() { */ protected void lifeSatisfaction1() { - if (demAge >= 16) { + if (demAge >= MIN_AGE_TO_HAVE_INCOME) { double dlsPrediction = Parameters.getRegLifeSatisfaction1().getScore(this, Person.DoublesVariables.class); double rmse = Parameters.getRMSEForRegression("DLS1"); double gauss = Parameters.getStandardNormalDistribution().inverseCumulativeProbability(statInnovations.getDoubleDraw(35)); @@ -1212,7 +1212,7 @@ protected void lifeSatisfaction1() { */ protected void lifeSatisfaction2() { - if (demAge >= 25 && demAge <= 64) { + if (demAge >= 25 && demAge < MIN_AGE_SOCIAL_CARE) { double dlsPrediction; if (Gender.Male.equals(getDemMaleFlag())) { @@ -1243,7 +1243,7 @@ protected void lifeSatisfaction2() { protected void healthEQ5D() { double eq5dPrediction; - if (demAge >= 16) { + if (demAge >= MIN_AGE_TO_HAVE_INCOME) { eq5dPrediction = Parameters.getRegEQ5D().getScore(this, Person.DoublesVariables.class); if (eq5dPrediction > 1) { @@ -1331,7 +1331,7 @@ protected void health() { double healthInnov1 = statInnovations.getDoubleDraw(3); double healthInnov2 = statInnovations.getDoubleDraw(4); - if (demAge >= 16) { + if (demAge >= MIN_AGE_TO_HAVE_INCOME) { Map probs = ManagerRegressions.getProbabilities(this, RegressionName.HealthH1); MultiValEvent event = new MultiValEvent(probs, healthInnov1); healthSelfRated = (Dhe) event.eval(); @@ -1749,7 +1749,7 @@ private void giveBirth() { //To be called once per year after fertility align if (demGiveBirthFlag) { //toGiveBirth is determined by fertility process - Gender babyGender = (statInnovations.getDoubleDraw(27) < Parameters.PROB_NEWBORN_IS_MALE) ? Gender.Male : Gender.Female; + Gender babyGender = (statInnovations.getDoubleDraw(27) < PROB_NEWBORN_IS_MALE) ? Gender.Male : Gender.Female; //Give birth to new person and add them to benefitUnit. Person child = new Person(babyGender, this); @@ -2415,7 +2415,7 @@ public int getIntValue(Enum variableID) { return (isToBePartnered())? 1 : 0; case isPsychologicallyDistressed: - return (healthPsyDstrss0to12 >= 4)? 1 : 0; + return (healthPsyDstrss0to12 >= PSYCHOLOGICAL_DISTRESS_GHQ12_CASES_CUTOFF)? 1 : 0; case isNeedSocialCare: return (Indicator.True.equals(careNeedFlag)) ? 1 : 0; @@ -3144,7 +3144,7 @@ public double getDoubleValue(Enum variableID) { return (demAge >= 40 && demAge <= 44) ? 1. : 0.; } case Age45to49 -> { - return (demAge >= 45 && demAge <= 49) ? 1. : 0.; + return (demAge >= 45 && demAge <= MAX_AGE_MATERNITY) ? 1. : 0.; } case Age50to54 -> { return (demAge >= 50 && demAge <= 54) ? 1. : 0.;