@@ -10,9 +10,6 @@ import hmda.model.publication.reports.ReportTypeEnum.Disclosure
10
10
import hmda .model .publication .reports ._
11
11
import hmda .publication .reports .util .DateUtil ._
12
12
import hmda .publication .reports .util .DispositionType ._
13
- import hmda .publication .reports .util .EthnicityUtil ._
14
- import hmda .publication .reports .util .MinorityStatusUtil ._
15
- import hmda .publication .reports .util .RaceUtil ._
16
13
import hmda .publication .reports .util .ReportUtil ._
17
14
import hmda .query .model .filing .LoanApplicationRegisterQuery
18
15
@@ -90,71 +87,40 @@ object D51 {
90
87
val incomeIntervals = calculateMedianIncomeIntervals(fipsCode)
91
88
92
89
val larsByIncome = larsByIncomeInterval(larsWithIncome, incomeIntervals)
90
+ val borrowerCharacteristicsByIncomeF = borrowerCharacteristicsByIncomeInterval(larsByIncome, dispositions)
93
91
94
92
val dateF = calculateYear(larSource)
95
93
val totalF = calculateDispositions(lars, dispositions)
96
94
97
95
for {
98
- races50 <- raceBorrowerCharacteristic(larsByIncome(LessThan50PercentOfMSAMedian ), LessThan50PercentOfMSAMedian , dispositions)
99
- races50to79 <- raceBorrowerCharacteristic(larsByIncome(Between50And79PercentOfMSAMedian ), Between50And79PercentOfMSAMedian , dispositions)
100
- races80to99 <- raceBorrowerCharacteristic(larsByIncome(Between80And99PercentOfMSAMedian ), Between80And99PercentOfMSAMedian , dispositions)
101
- races100to120 <- raceBorrowerCharacteristic(larsByIncome(Between100And119PercentOfMSAMedian ), Between100And119PercentOfMSAMedian , dispositions)
102
- races120 <- raceBorrowerCharacteristic(larsByIncome(GreaterThan120PercentOfMSAMedian ), GreaterThan120PercentOfMSAMedian , dispositions)
103
-
104
- ethnicity50 <- ethnicityBorrowerCharacteristic(larsByIncome(LessThan50PercentOfMSAMedian ), LessThan50PercentOfMSAMedian , dispositions)
105
- ethnicity50to79 <- ethnicityBorrowerCharacteristic(larsByIncome(Between50And79PercentOfMSAMedian ), Between50And79PercentOfMSAMedian , dispositions)
106
- ethnicity80to99 <- ethnicityBorrowerCharacteristic(larsByIncome(Between80And99PercentOfMSAMedian ), Between80And99PercentOfMSAMedian , dispositions)
107
- ethnicity100to120 <- ethnicityBorrowerCharacteristic(larsByIncome(Between100And119PercentOfMSAMedian ), Between100And119PercentOfMSAMedian , dispositions)
108
- ethnicity120 <- ethnicityBorrowerCharacteristic(larsByIncome(GreaterThan120PercentOfMSAMedian ), GreaterThan120PercentOfMSAMedian , dispositions)
109
-
110
- minorityStatus50 <- minorityStatusBorrowerCharacteristic(larsByIncome(LessThan50PercentOfMSAMedian ), LessThan50PercentOfMSAMedian , dispositions)
111
- minorityStatus50to79 <- minorityStatusBorrowerCharacteristic(larsByIncome(Between50And79PercentOfMSAMedian ), Between50And79PercentOfMSAMedian , dispositions)
112
- minorityStatus80to99 <- minorityStatusBorrowerCharacteristic(larsByIncome(Between80And99PercentOfMSAMedian ), Between80And99PercentOfMSAMedian , dispositions)
113
- minorityStatus100to120 <- minorityStatusBorrowerCharacteristic(larsByIncome(Between100And119PercentOfMSAMedian ), Between100And119PercentOfMSAMedian , dispositions)
114
- minorityStatus120 <- minorityStatusBorrowerCharacteristic(larsByIncome(GreaterThan120PercentOfMSAMedian ), GreaterThan120PercentOfMSAMedian , dispositions)
96
+ lars50BorrowerCharacteristics <- borrowerCharacteristicsByIncomeF(LessThan50PercentOfMSAMedian )
97
+ lars50To79BorrowerCharacteristics <- borrowerCharacteristicsByIncomeF(Between50And79PercentOfMSAMedian )
98
+ lars80To99BorrowerCharacteristics <- borrowerCharacteristicsByIncomeF(Between80And99PercentOfMSAMedian )
99
+ lars100To120BorrowerCharacteristics <- borrowerCharacteristicsByIncomeF(Between100And119PercentOfMSAMedian )
100
+ lars120BorrowerCharacteristics <- borrowerCharacteristicsByIncomeF(GreaterThan120PercentOfMSAMedian )
115
101
116
102
date <- dateF
117
103
total <- totalF
118
104
} yield {
119
105
val income50 = ApplicantIncome (
120
106
LessThan50PercentOfMSAMedian ,
121
- List (
122
- RaceBorrowerCharacteristic (races50),
123
- EthnicityBorrowerCharacteristic (ethnicity50),
124
- MinorityStatusBorrowerCharacteristic (minorityStatus50)
125
- )
107
+ lars50BorrowerCharacteristics
126
108
)
127
109
val income50To79 = ApplicantIncome (
128
110
Between50And79PercentOfMSAMedian ,
129
- List (
130
- RaceBorrowerCharacteristic (races50to79),
131
- EthnicityBorrowerCharacteristic (ethnicity50to79),
132
- MinorityStatusBorrowerCharacteristic (minorityStatus50to79)
133
- )
111
+ lars50To79BorrowerCharacteristics
134
112
)
135
113
val income80To99 = ApplicantIncome (
136
114
Between80And99PercentOfMSAMedian ,
137
- List (
138
- RaceBorrowerCharacteristic (races80to99),
139
- EthnicityBorrowerCharacteristic (ethnicity80to99),
140
- MinorityStatusBorrowerCharacteristic (minorityStatus80to99)
141
- )
115
+ lars80To99BorrowerCharacteristics
142
116
)
143
117
val income100To120 = ApplicantIncome (
144
118
Between100And119PercentOfMSAMedian ,
145
- List (
146
- RaceBorrowerCharacteristic (races100to120),
147
- EthnicityBorrowerCharacteristic (ethnicity100to120),
148
- MinorityStatusBorrowerCharacteristic (minorityStatus100to120)
149
- )
119
+ lars100To120BorrowerCharacteristics
150
120
)
151
121
val income120 = ApplicantIncome (
152
122
GreaterThan120PercentOfMSAMedian ,
153
- List (
154
- RaceBorrowerCharacteristic (races120),
155
- EthnicityBorrowerCharacteristic (ethnicity120),
156
- MinorityStatusBorrowerCharacteristic (minorityStatus120)
157
- )
123
+ lars120BorrowerCharacteristics
158
124
)
159
125
160
126
D51 (
0 commit comments