87 lines
2.5 KiB
TypeScript
87 lines
2.5 KiB
TypeScript
import reader from "xlsx";
|
|
import { getJsDateFromExcel } from "excel-date-to-js";
|
|
|
|
import { readdirSync, 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;
|
|
};
|
|
|
|
const recordsToJson = () => {
|
|
let i = 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];
|
|
const klinika: any = {
|
|
emer: klinika_emer,
|
|
shtrimi: [],
|
|
};
|
|
data.every((record: any) => {
|
|
i++;
|
|
if (record.EMER !== "" && record.MBIEMER !== "") {
|
|
let datelindja = null;
|
|
let data_shtrimit = null;
|
|
try {
|
|
datelindja = getJsDateFromExcel(record.DATELINDJA_KORIGJ);
|
|
data_shtrimit = getJsDateFromExcel(record.DT_SHTRIMI_KORIGJ);
|
|
} catch (error) {
|
|
console.log(i, record.EMER, record.MBIEMER);
|
|
// return false;
|
|
}
|
|
const trajtimi = {
|
|
trajtimi:
|
|
record["TRAJTIMI SPITALOR Urgjence"] ||
|
|
record["TRAJTIMI SPITALOR Pavion"],
|
|
};
|
|
const diagnoza = {
|
|
emer: record.DIAGNOZA,
|
|
kodi_dg_icd_9: record["Kodi DG ICD-9"],
|
|
};
|
|
const pacienti = {
|
|
emer: record.EMER,
|
|
mbiemer: record.MBIEMER,
|
|
mosha: record.MOSHA,
|
|
datelindja,
|
|
gjinia: record.GJINIA,
|
|
error: record.ERROR,
|
|
};
|
|
const shtrimi = {
|
|
nr: i,
|
|
data_shtrimit,
|
|
dite_qendrimi: record["DITE QENDRIMI NE SPITAL"],
|
|
pacienti,
|
|
diagnoza,
|
|
trajtimi,
|
|
};
|
|
klinika.shtrimi.push(shtrimi);
|
|
}
|
|
return true;
|
|
});
|
|
records.push(klinika);
|
|
console.log(`Mbaroi ${klinika_emer}`);
|
|
}
|
|
return true;
|
|
});
|
|
const jsonFile = join(__dirname, "..", "..", "JSON", "records.json");
|
|
writeFileSync(jsonFile, JSON.stringify(records));
|
|
};
|
|
|
|
export default recordsToJson;
|