Files
studimi_zheni/Node/src/convertToJson.ts
2022-10-02 15:08:14 +02:00

118 lines
3.2 KiB
TypeScript

import { getJsDateFromExcel } from "excel-date-to-js";
import { writeFileSync } from "fs";
import { join } from "path";
import excelData from "./excelToJson";
const recordsToJson = () => {
let pacientiNr = 0;
let klinikaNr = 0;
let diagnozaNr = 0;
let shtrimiNr = 0;
let trajtimiNr = 0;
let errorNr = 0;
let bariNr = 0;
let records: any[] = [];
const data = excelData();
const klinika_emer = 'file.split("_")[0];'
klinikaNr++;
const klinika: any = {
nr: klinikaNr,
emer: klinika_emer,
shtrimi: [],
};
data.every((record: any) => {
const emer = record.EMER;
const mbiemer = record.MBIEMER;
const mosha = record.MOSHA;
let gjinia = record.GJINIA;
let datelindja = record.DATELINDJA_KORIGJ;
let data_shtrimit = record.DT_SHTRIMI_KORIGJ;
let diagnozaRaw = record.DIAGNOZA;
let kodi_dg_icd_9Raw = record["Kodi DG ICD-9"];
let dite_qendrimiRaw = record["DITE QENDRIMI NE SPITAL"];
let trajtimiRaw =
record["TRAJTIMI SPITALOR Urgjence"] ||
record["TRAJTIMI SPITALOR Pavion"];
if (emer.trim() !== "" && mbiemer.trim() !== "") {
pacientiNr++;
try {
datelindja = getJsDateFromExcel(datelindja);
data_shtrimit = getJsDateFromExcel(data_shtrimit);
} catch (error) {
errorNr++;
// console.log(errorNr, pacientiNr, emer, mbiemer);
// return false;
}
let trajtimi = {};
if (trajtimiRaw) {
trajtimiRaw = trajtimiRaw.trim();
let barnatArr = trajtimiRaw.split("\n");
barnatArr = barnatArr.map((bar: any) => {
bar = bar.trim();
let obj: any = {};
let bariRaw = bar.split(",");
if (
bariRaw[0] === "" ||
bariRaw[0] === "??" ||
bariRaw[0] === "???" ||
bariRaw[0] === "????" ||
bariRaw[0] === "---" ||
bariRaw[0] === "----" ||
bariRaw[0] === "-----"
) {
return;
} else {
bariNr++;
obj.bari = bariRaw[0];
obj.sasia = null;
obj.nr = bariNr;
console.log(obj.bari);
return obj;
}
});
trajtimiNr++;
trajtimi = {
nr: trajtimiNr,
trajtimi: barnatArr,
};
}
let diagnoza = {};
if (diagnozaRaw.trim()) {
diagnozaNr++;
diagnoza = {
nr: diagnozaNr,
emer: diagnozaRaw.trim(),
kodi_dg_icd_9: kodi_dg_icd_9Raw.trim(),
};
}
const pacienti = {
nr: pacientiNr,
emer: emer.trim(),
mbiemer: mbiemer.trim(),
mosha: mosha,
datelindja,
gjinia: gjinia,
};
shtrimiNr++;
const shtrimi = {
nr: shtrimiNr,
data_shtrimit,
dite_qendrimi: parseInt(dite_qendrimiRaw),
pacienti,
diagnoza: diagnoza,
trajtimi,
};
klinika.shtrimi.push(shtrimi);
}
return true;
});
records.push(klinika);
console.log(`Mbaroi ${klinika_emer}`);
const jsonFile = join(__dirname, "..", "..", "JSON", "records.json");
writeFileSync(jsonFile, JSON.stringify(records));
};
export { recordsToJson, excelData };