Initial work on health conditions report.
This commit is contained in:
@@ -9,6 +9,7 @@ import OverallHospitalizations from './parser/overall/hospitalizations.js'
|
||||
import OverallDeaths from './parser/overall/deaths.js'
|
||||
|
||||
import RiskAge from './parser/risk/age.js'
|
||||
import RiskHealthConditions from './parser/risk/health-conditions.js'
|
||||
|
||||
async function main() {
|
||||
const sources = await fg(['./data/raw/*.zip'])
|
||||
@@ -27,6 +28,7 @@ async function main() {
|
||||
await OverallDeaths(zips, counties)
|
||||
|
||||
await RiskAge(zips)
|
||||
await RiskHealthConditions(zips)
|
||||
}
|
||||
|
||||
main()
|
||||
|
||||
46
data/parser/risk/health-conditions.js
Normal file
46
data/parser/risk/health-conditions.js
Normal file
@@ -0,0 +1,46 @@
|
||||
import mkdirp from 'mkdirp'
|
||||
import path from 'path'
|
||||
import fsp from 'fs/promises'
|
||||
import Papa from 'papaparse'
|
||||
import { getCounty } from '../../util.js'
|
||||
|
||||
async function processSingleZip ({ date, zip }) {
|
||||
const output = {
|
||||
directory: `./public/data/risk/health-conditions/`,
|
||||
file: `health-conditions.json`
|
||||
}
|
||||
|
||||
try {
|
||||
await fsp.rm(output.directory, { recursive: true })
|
||||
} catch (e) {}
|
||||
|
||||
const csv = await zip.entryData('comorbidities_sum.csv').then(res => res.toString())
|
||||
|
||||
const rows = Papa.parse(csv, {
|
||||
header: true
|
||||
}).data
|
||||
|
||||
const results = rows.map(row => {
|
||||
return {
|
||||
health_condition: row.comorbidity,
|
||||
sex: row.sex,
|
||||
cases: +row.cases,
|
||||
deaths: +row.deaths
|
||||
}
|
||||
}).filter(row => !!row.health_condition)
|
||||
|
||||
const data = {
|
||||
segment: { },
|
||||
headers: Object.keys(results[0]),
|
||||
rows: results.map(row => Object.values(row))
|
||||
}
|
||||
|
||||
await mkdirp(output.directory)
|
||||
await fsp.writeFile(path.join(output.directory, output.file), JSON.stringify(data))
|
||||
}
|
||||
|
||||
function process (zips) {
|
||||
return processSingleZip(zips.at(-1))
|
||||
}
|
||||
|
||||
export default process
|
||||
Reference in New Issue
Block a user