...
This commit is contained in:
805
Node/package-lock.json
generated
805
Node/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -6,24 +6,24 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "rimraf ./build && tsc",
|
"build": "rimraf ./build && tsc",
|
||||||
"start": "npm run build && node build/index.js",
|
"start": "npm run build && node build/index.js",
|
||||||
"start:dev": "nodemon"
|
"dev": "nodemon"
|
||||||
},
|
},
|
||||||
"keywords": [],
|
"keywords": [],
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/node": "^18.7.18",
|
"@types/node": "^18.7.18",
|
||||||
|
"@types/uuid": "^8.3.4",
|
||||||
"nodemon": "^2.0.19",
|
"nodemon": "^2.0.19",
|
||||||
"rimraf": "^3.0.2",
|
"rimraf": "^3.0.2",
|
||||||
"ts-node": "^10.9.1",
|
"ts-node": "^10.9.1",
|
||||||
"typescript": "^4.8.3"
|
"typescript": "^4.8.3"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"dotenv": "^16.0.3",
|
||||||
"excel-date-to-js": "^1.1.5",
|
"excel-date-to-js": "^1.1.5",
|
||||||
"kuzzle-sdk": "^7.10.1",
|
"neo4j-driver": "^5.0.1",
|
||||||
"pocketbase": "^0.7.0",
|
"uuid": "^9.0.0",
|
||||||
"read-excel-file": "^5.5.0",
|
|
||||||
"surrealdb.js": "^0.3.1",
|
|
||||||
"xlsx": "^0.18.5"
|
"xlsx": "^0.18.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,25 +1,7 @@
|
|||||||
import reader from "xlsx";
|
|
||||||
import { getJsDateFromExcel } from "excel-date-to-js";
|
import { getJsDateFromExcel } from "excel-date-to-js";
|
||||||
|
import { writeFileSync } from "fs";
|
||||||
import { readdirSync, writeFileSync } from "fs";
|
|
||||||
import { join } from "path";
|
import { join } from "path";
|
||||||
|
import excelData from "./excelToJson";
|
||||||
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 = () => {
|
const recordsToJson = () => {
|
||||||
let pacientiNr = 0;
|
let pacientiNr = 0;
|
||||||
@@ -31,11 +13,8 @@ const recordsToJson = () => {
|
|||||||
let bariNr = 0;
|
let bariNr = 0;
|
||||||
let records: any[] = [];
|
let records: any[] = [];
|
||||||
|
|
||||||
excelFiles.every((file) => {
|
const data = excelData();
|
||||||
if (!file.includes("raw_") && !file.includes("lock")) {
|
const klinika_emer = 'file.split("_")[0];'
|
||||||
const excelFile = join(excelPath, file);
|
|
||||||
const data = readExcel(excelFile);
|
|
||||||
const klinika_emer = file.split("_")[0];
|
|
||||||
klinikaNr++;
|
klinikaNr++;
|
||||||
const klinika: any = {
|
const klinika: any = {
|
||||||
nr: klinikaNr,
|
nr: klinikaNr,
|
||||||
@@ -131,11 +110,8 @@ const recordsToJson = () => {
|
|||||||
});
|
});
|
||||||
records.push(klinika);
|
records.push(klinika);
|
||||||
console.log(`Mbaroi ${klinika_emer}`);
|
console.log(`Mbaroi ${klinika_emer}`);
|
||||||
}
|
|
||||||
return true;
|
|
||||||
});
|
|
||||||
const jsonFile = join(__dirname, "..", "..", "JSON", "records.json");
|
const jsonFile = join(__dirname, "..", "..", "JSON", "records.json");
|
||||||
writeFileSync(jsonFile, JSON.stringify(records));
|
writeFileSync(jsonFile, JSON.stringify(records));
|
||||||
};
|
};
|
||||||
|
|
||||||
export default recordsToJson;
|
export { recordsToJson, excelData };
|
||||||
|
|||||||
29
Node/src/excelToJson.ts
Normal file
29
Node/src/excelToJson.ts
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
import { join } from "path";
|
||||||
|
import reader, { WorkBook, WorkSheet } from "xlsx";
|
||||||
|
import { readdirSync } from "fs";
|
||||||
|
|
||||||
|
let excelPath = join(__dirname, "..", "..", "Excel");
|
||||||
|
let excelFiles = readdirSync(excelPath);
|
||||||
|
|
||||||
|
const excelData = () => {
|
||||||
|
return excelFiles.flatMap((fileName) => {
|
||||||
|
const filePath = join(excelPath, fileName);
|
||||||
|
if (!fileName.includes("raw_") && !fileName.includes("lock")) {
|
||||||
|
const klinika_emer = fileName.split("_")[0];
|
||||||
|
const wb: WorkBook = reader.readFile(filePath);
|
||||||
|
const sheets: string[] = wb.SheetNames;
|
||||||
|
return sheets.flatMap((sheet: string) => {
|
||||||
|
const ws: WorkSheet = wb.Sheets[sheet];
|
||||||
|
const data = reader.utils.sheet_to_json(ws);
|
||||||
|
return data.map((record: any) => {
|
||||||
|
record.klinika = klinika_emer;
|
||||||
|
return record;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
export default excelData;
|
||||||
@@ -1,23 +1,10 @@
|
|||||||
// import { run } from "./kuzzle";
|
// import { initDriver } from "./neo4j.driver";
|
||||||
|
import createObjects from "./structureData";
|
||||||
|
require("dotenv").config();
|
||||||
|
|
||||||
import recordsToJson from "./convertToJson";
|
// const { NEO4J_URL, NEO4J_USER, NEO4J_PASS } = process.env;
|
||||||
recordsToJson();
|
|
||||||
// (async () => {
|
|
||||||
// const kuzzle = await run();
|
|
||||||
// if (kuzzle) {
|
|
||||||
// const credentials = {
|
|
||||||
// username: "julian.cuni",
|
|
||||||
// password: "MatraPaPuPa..11",
|
|
||||||
// };
|
|
||||||
// try {
|
|
||||||
// const jwt = await kuzzle.auth.login("local", credentials);
|
|
||||||
// // const apiKey = await kuzzle.auth.createApiKey("Sigfox API key");
|
|
||||||
// } catch (error: any) {
|
|
||||||
// console.error(error.message);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// })();
|
|
||||||
|
|
||||||
// (async () => {
|
// (async () => {
|
||||||
// await login();
|
// await initDriver(NEO4J_URL!, NEO4J_USER!, NEO4J_PASS!);
|
||||||
// })();
|
// })();
|
||||||
|
createObjects();
|
||||||
|
|||||||
42
Node/src/interfaces.ts
Normal file
42
Node/src/interfaces.ts
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
export interface Klinika {
|
||||||
|
id: string;
|
||||||
|
emer: string;
|
||||||
|
pacientet: Pacienti[],
|
||||||
|
diagnozat: Diagnoza[]
|
||||||
|
}
|
||||||
|
export interface Diagnoza {
|
||||||
|
id: string;
|
||||||
|
emer: string;
|
||||||
|
kodi_dg_icd_9: string[];
|
||||||
|
pacientet: Pacienti[]
|
||||||
|
}
|
||||||
|
export interface Pacienti {
|
||||||
|
id: string;
|
||||||
|
emer: string;
|
||||||
|
mbiemer: string;
|
||||||
|
datelindja: Date;
|
||||||
|
mosha: number;
|
||||||
|
gjinia: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Shtrimi {
|
||||||
|
id: string;
|
||||||
|
date: Date;
|
||||||
|
dite_qendrimi: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export interface Trajtimi {
|
||||||
|
id: string;
|
||||||
|
urgjence: boolean;
|
||||||
|
salle_lindje: boolean;
|
||||||
|
barnat: Bari[];
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface Bari {
|
||||||
|
id: string;
|
||||||
|
emer: string;
|
||||||
|
njesia: string | null;
|
||||||
|
sasia: string | null;
|
||||||
|
}
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
import { Kuzzle, WebSocket, Http } from "kuzzle-sdk";
|
|
||||||
|
|
||||||
const kuzzle = new Kuzzle(new Http("localhost"));
|
|
||||||
|
|
||||||
kuzzle.on("networkError", (error: any) => {
|
|
||||||
console.error("Network Error: ", error);
|
|
||||||
});
|
|
||||||
|
|
||||||
const run = async () => {
|
|
||||||
try {
|
|
||||||
// Connects to the Kuzzle server
|
|
||||||
await kuzzle.connect();
|
|
||||||
// Creates an index
|
|
||||||
// await kuzzle.index.create("nyc-open-data");
|
|
||||||
// // Creates a collection
|
|
||||||
// await kuzzle.collection.create("nyc-open-data", "yellow-taxi", {});
|
|
||||||
// console.log("nyc-open-data/yellow-taxi ready!");
|
|
||||||
return kuzzle;
|
|
||||||
} catch (error: any) {
|
|
||||||
console.error(error.message);
|
|
||||||
}
|
|
||||||
// finally {
|
|
||||||
// kuzzle.disconnect();
|
|
||||||
// }
|
|
||||||
return null;
|
|
||||||
};
|
|
||||||
export { run };
|
|
||||||
13
Node/src/neo4j.driver.ts
Normal file
13
Node/src/neo4j.driver.ts
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
import neo4j, { Driver } from "neo4j-driver";
|
||||||
|
|
||||||
|
let driver: Driver;
|
||||||
|
|
||||||
|
export const initDriver = async (uri: string, username: string, password: string) => {
|
||||||
|
driver = neo4j.driver(uri, neo4j.auth.basic(username, password));
|
||||||
|
await driver.getServerInfo();
|
||||||
|
return driver;
|
||||||
|
};
|
||||||
|
|
||||||
|
export const getDriver = () => {
|
||||||
|
return driver;
|
||||||
|
}
|
||||||
81
Node/src/saveToNeo4j.ts
Normal file
81
Node/src/saveToNeo4j.ts
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
import { ManagedTransaction, QueryResult } from "neo4j-driver";
|
||||||
|
import { Klinika, Pacienti } from "./interfaces";
|
||||||
|
import { getDriver } from "./neo4j.driver";
|
||||||
|
|
||||||
|
export const findPacient = async (pacienti: Pacienti) => {
|
||||||
|
const driver = getDriver();
|
||||||
|
const session = driver.session();
|
||||||
|
|
||||||
|
try {
|
||||||
|
const result: QueryResult = await session.executeRead(
|
||||||
|
(tx: ManagedTransaction) => {
|
||||||
|
return tx.run(
|
||||||
|
`MATCH (p:Pacienti) WHERE p.emer = $emer AND p.mbiemer = $mbiemer AND p.mosha = $mosha
|
||||||
|
RETURN p
|
||||||
|
`,
|
||||||
|
{
|
||||||
|
emer: pacienti.emer,
|
||||||
|
mbiemer: pacienti.mbiemer,
|
||||||
|
mosha: pacienti.mosha,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
await session.close();
|
||||||
|
return result;
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
await session.close();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const findKlinika = async (klinika: Klinika) => {
|
||||||
|
const driver = getDriver();
|
||||||
|
const session = driver.session();
|
||||||
|
try {
|
||||||
|
const result: QueryResult = await session.executeRead(
|
||||||
|
(tx: ManagedTransaction) => {
|
||||||
|
return tx.run(
|
||||||
|
`OPTIONAL MATCH (k:Klinika) WHERE k.emer = $emer RETURN k IS NOT NULL AS Predicate
|
||||||
|
|
||||||
|
`,
|
||||||
|
{
|
||||||
|
emer: klinika.emer,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
await session.close();
|
||||||
|
return result;
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
await session.close();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
export const upsertKlinika = async (klinika: Klinika) => {
|
||||||
|
const klinikaFromDb = await findKlinika(klinika);
|
||||||
|
if (!klinikaFromDb?.records[0].get('Predicate')) {
|
||||||
|
const driver = getDriver();
|
||||||
|
const session = driver.session();
|
||||||
|
|
||||||
|
try {
|
||||||
|
const result: QueryResult = await session.run(
|
||||||
|
`MERGE (k:Klinika {emer: $emer}) RETURN k
|
||||||
|
`,
|
||||||
|
{
|
||||||
|
emer: klinika.emer,
|
||||||
|
}
|
||||||
|
);
|
||||||
|
await session.close();
|
||||||
|
return result;
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error);
|
||||||
|
await session.close();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return klinikaFromDb;
|
||||||
|
};
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
const Surreal = require("surrealdb.js");
|
|
||||||
|
|
||||||
const db = new Surreal("https://baas.microservices.al/rpc");
|
|
||||||
async function main() {
|
|
||||||
try {
|
|
||||||
await db.use("fluxem", "fluxem");
|
|
||||||
|
|
||||||
const token = await db.signin({
|
|
||||||
NS: "fluxem",
|
|
||||||
DB: "fluxem",
|
|
||||||
SC: "allusers",
|
|
||||||
email: "test@acme.com",
|
|
||||||
pass: "some password",
|
|
||||||
marketing: true,
|
|
||||||
tags: ["rust", "golang", "javascript"],
|
|
||||||
});
|
|
||||||
|
|
||||||
let created = await db.create("person", {
|
|
||||||
title: "Founder & CEO",
|
|
||||||
name: {
|
|
||||||
first: "Tobie",
|
|
||||||
last: "Morgan Hitchcock",
|
|
||||||
},
|
|
||||||
marketing: true,
|
|
||||||
identifier: Math.random().toString(36).substr(2, 10),
|
|
||||||
});
|
|
||||||
|
|
||||||
// await db.invalidate();
|
|
||||||
|
|
||||||
// const res = await db.authenticate(token)
|
|
||||||
console.log("token", created);
|
|
||||||
} catch (e) {
|
|
||||||
console.error("ERROR", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
main();
|
|
||||||
172
Node/src/structureData.ts
Normal file
172
Node/src/structureData.ts
Normal file
@@ -0,0 +1,172 @@
|
|||||||
|
import excelData from "./excelToJson";
|
||||||
|
import { v4 as uuidv4 } from "uuid";
|
||||||
|
import { getJsDateFromExcel } from "excel-date-to-js";
|
||||||
|
import {
|
||||||
|
Klinika,
|
||||||
|
Pacienti,
|
||||||
|
Shtrimi,
|
||||||
|
Diagnoza,
|
||||||
|
Trajtimi,
|
||||||
|
Bari,
|
||||||
|
} from "./interfaces";
|
||||||
|
// import { findPacient, upsertKlinika } from "./saveToNeo4j";
|
||||||
|
|
||||||
|
let klinikat: Klinika[] = [];
|
||||||
|
let pacientet: Pacienti[] = [];
|
||||||
|
let shtrimet: Shtrimi[] = [];
|
||||||
|
let diagnozat: Diagnoza[] = [];
|
||||||
|
let trajtimet: Trajtimi[] = [];
|
||||||
|
let barnat: Bari[] = [];
|
||||||
|
|
||||||
|
const createObjects = () => {
|
||||||
|
let errorNr = 0;
|
||||||
|
let pacientiNr = 0;
|
||||||
|
|
||||||
|
const data = excelData();
|
||||||
|
data.every(async (record: any) => {
|
||||||
|
if (record && record["EMER"] && record["MBIEMER"]) {
|
||||||
|
let emerPacienti = record.EMER;
|
||||||
|
let mbiemerPacienti = record.MBIEMER;
|
||||||
|
let moshaPacienti = record.MOSHA;
|
||||||
|
let gjiniaPacienti = record.GJINIA;
|
||||||
|
let datelindjaPacienti = record.DATELINDJA_KORIGJ;
|
||||||
|
let klinikaEmer = record.klinika;
|
||||||
|
let dataEShtrimit = record.DT_SHTRIMI_KORIGJ;
|
||||||
|
let dite_qendrimi = record["DITE QENDRIMI NE SPITAL"];
|
||||||
|
let diagnozaRaw = record.DIAGNOZA;
|
||||||
|
let kodi_dg_icd_9Raw = record["Kodi DG ICD-9"];
|
||||||
|
let trajtimiUrgjence = record["TRAJTIMI SPITALOR Urgjence"];
|
||||||
|
let trajtimiPavion = record["TRAJTIMI SPITALOR Pavion"];
|
||||||
|
let trajtimiSalleLindje = record["TRAJTIMI SALLE LINDJE"];
|
||||||
|
try {
|
||||||
|
datelindjaPacienti = getJsDateFromExcel(datelindjaPacienti);
|
||||||
|
dataEShtrimit = getJsDateFromExcel(dataEShtrimit);
|
||||||
|
} catch (error: any) {
|
||||||
|
datelindjaPacienti = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
let klinika: Klinika = {
|
||||||
|
id: uuidv4(),
|
||||||
|
emer: klinikaEmer.trim(),
|
||||||
|
pacientet: [],
|
||||||
|
diagnozat: [],
|
||||||
|
};
|
||||||
|
insertKlinikaArr(klinika);
|
||||||
|
let pacienti: Pacienti = {
|
||||||
|
id: uuidv4(),
|
||||||
|
emer: emerPacienti.trim(),
|
||||||
|
mbiemer: mbiemerPacienti.trim(),
|
||||||
|
datelindja: datelindjaPacienti,
|
||||||
|
mosha: moshaPacienti,
|
||||||
|
gjinia: klinika.emer === "OBS-GYN" ? "F" : gjiniaPacienti.trim(),
|
||||||
|
};
|
||||||
|
const newPacient = insertPacientiArr(pacienti);
|
||||||
|
klinika.pacientet.push(newPacient);
|
||||||
|
let diagnoza: Diagnoza = {
|
||||||
|
id: uuidv4(),
|
||||||
|
emer: diagnozaRaw.trim(),
|
||||||
|
kodi_dg_icd_9: kodi_dg_icd_9Raw ? kodi_dg_icd_9Raw.split("\n") : [],
|
||||||
|
pacientet: [],
|
||||||
|
};
|
||||||
|
diagnoza.pacientet.push(newPacient);
|
||||||
|
const newDiagnoze = insertDiagnozaArr(diagnoza);
|
||||||
|
klinika.diagnozat.push(newDiagnoze);
|
||||||
|
let shtrimi: Shtrimi = {
|
||||||
|
id: uuidv4(),
|
||||||
|
date: dataEShtrimit,
|
||||||
|
dite_qendrimi: dite_qendrimi ? dite_qendrimi : null,
|
||||||
|
};
|
||||||
|
shtrimet.push(shtrimi);
|
||||||
|
|
||||||
|
if (trajtimiPavion) rregulloBarnat(trajtimiPavion);
|
||||||
|
if (trajtimiSalleLindje) rregulloBarnat(trajtimiSalleLindje);
|
||||||
|
if (trajtimiUrgjence) rregulloBarnat(trajtimiUrgjence);
|
||||||
|
let trajtimi: Trajtimi = {
|
||||||
|
id: uuidv4(),
|
||||||
|
salle_lindje: trajtimiSalleLindje ? true : false,
|
||||||
|
urgjence: trajtimiUrgjence ? true : false,
|
||||||
|
barnat: barnat,
|
||||||
|
};
|
||||||
|
// return false;
|
||||||
|
} else {
|
||||||
|
// console.log(errorNr++, record);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
});
|
||||||
|
console.log(barnat.length);
|
||||||
|
};
|
||||||
|
|
||||||
|
const rregulloBarnat = (trajtimiRaw: any): Bari[] => {
|
||||||
|
let barnatRawArr = trajtimiRaw.split("\n");
|
||||||
|
|
||||||
|
return barnatRawArr.map((bar: any) => {
|
||||||
|
bar = bar.trim();
|
||||||
|
let bariRaw = bar.split(",");
|
||||||
|
if (
|
||||||
|
bariRaw[0] === "" ||
|
||||||
|
bariRaw[0] === "??" ||
|
||||||
|
bariRaw[0] === "???" ||
|
||||||
|
bariRaw[0] === "????" ||
|
||||||
|
bariRaw[0] === "---" ||
|
||||||
|
bariRaw[0] === "----" ||
|
||||||
|
bariRaw[0] === "-----"
|
||||||
|
) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
let newBar: Bari = {
|
||||||
|
id: uuidv4(),
|
||||||
|
emer: bariRaw[0],
|
||||||
|
njesia: null,
|
||||||
|
sasia: null,
|
||||||
|
};
|
||||||
|
const isFoundBari = barnat.some((bar) => {
|
||||||
|
if (newBar.emer === bar.emer) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
if (!isFoundBari) {
|
||||||
|
barnat.push(newBar);
|
||||||
|
}
|
||||||
|
return newBar;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const insertKlinikaArr = (klinika: Klinika) => {
|
||||||
|
const isFoundKlinika = klinikat.some((klinike) => {
|
||||||
|
if (klinika.emer === klinike.emer) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
if (!isFoundKlinika) klinikat.push(klinika);
|
||||||
|
return klinika;
|
||||||
|
};
|
||||||
|
|
||||||
|
const insertPacientiArr = (pacienti: Pacienti) => {
|
||||||
|
const isFoundPacienti = pacientet.some((pacient) => {
|
||||||
|
if (
|
||||||
|
pacienti.emer === pacient.emer &&
|
||||||
|
pacienti.mbiemer === pacient.mbiemer
|
||||||
|
) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
if (!isFoundPacienti) pacientet.push(pacienti);
|
||||||
|
return pacienti;
|
||||||
|
};
|
||||||
|
|
||||||
|
const insertDiagnozaArr = (diagnoza: Diagnoza) => {
|
||||||
|
const isFoundDiagnoza = diagnozat.some((diagnoze) => {
|
||||||
|
if (diagnoza.emer === diagnoze.emer) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
if (!isFoundDiagnoza) diagnozat.push(diagnoza);
|
||||||
|
return diagnoza;
|
||||||
|
};
|
||||||
|
|
||||||
|
export default createObjects;
|
||||||
Reference in New Issue
Block a user