...
This commit is contained in:
@@ -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 };
|
||||
|
||||
Reference in New Issue
Block a user