This commit is contained in:
2022-10-02 15:08:14 +02:00
parent 4258755f0a
commit ab68e303a3
11 changed files with 711 additions and 750 deletions

View File

@@ -1,25 +1,7 @@
import reader from "xlsx";
import { getJsDateFromExcel } from "excel-date-to-js";
import { readdirSync, writeFileSync } from "fs";
import { writeFileSync } from "fs";
import { join } from "path";
const excelPath = join(__dirname, "..", "..", "Excel");
const excelFiles = readdirSync(excelPath);
const readExcel = (filePath: string) => {
let data: unknown[] = [];
const file = reader.readFile(filePath);
const sheets = file.SheetNames;
for (let i = 0; i < sheets.length; i++) {
const temp = reader.utils.sheet_to_json(file.Sheets[file.SheetNames[i]]);
temp.forEach((res) => {
data.push(res);
});
}
return data;
};
import excelData from "./excelToJson";
const recordsToJson = () => {
let pacientiNr = 0;
@@ -31,111 +13,105 @@ const recordsToJson = () => {
let bariNr = 0;
let records: any[] = [];
excelFiles.every((file) => {
if (!file.includes("raw_") && !file.includes("lock")) {
const excelFile = join(excelPath, file);
const data = readExcel(excelFile);
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 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 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 default recordsToJson;
export { recordsToJson, excelData };