82 lines
3.7 KiB
Python
82 lines
3.7 KiB
Python
import os
|
|
from posixpath import join
|
|
from re import M
|
|
import pandas as pd
|
|
from api import Api
|
|
|
|
|
|
class Main:
|
|
def __init__(self):
|
|
self.pacientet_api = Api("pacientet")
|
|
self.klinikat_api = Api("klinikat")
|
|
self.pacientet_klinikat_api = Api("pacientet_klinikat")
|
|
|
|
pass
|
|
|
|
def read_excel(self):
|
|
xlsx_path = os.path.join(os.path.dirname(__file__), '../Excel/')
|
|
for dirpath, dirname, filename in os.walk(xlsx_path):
|
|
for name in filename:
|
|
if name.startswith('kirurgji_') or name.startswith('OBS-GYN_') or name.startswith('urgjenca_'):
|
|
klinika_emer = name.replace('.xlsx', '').split('_')[0]
|
|
pacientet_klinikat_filter = f"filter=(emer='{klinika_emer}')"
|
|
klinika_res = self.klinikat_api.create_collection(
|
|
{"emer": klinika_emer}, filter=pacientet_klinikat_filter)
|
|
klinika_id = klinika_res['items'][0]['id']
|
|
df = pd.read_excel(os.path.join(dirpath, name), parse_dates=[
|
|
'DATELINDJA_KORIGJ'], sheet_name='Sheet1')
|
|
df.dropna(subset=['EMER'], inplace=True)
|
|
for index, row in df.iterrows():
|
|
emer = row['EMER'].strip()
|
|
mbiemer = row['MBIEMER'].strip()
|
|
if pd.isnull(df.loc[index, 'DATELINDJA_KORIGJ']):
|
|
datelindja = ''
|
|
else:
|
|
datelindja = row['DATELINDJA_KORIGJ']
|
|
mosha = row['MOSHA']
|
|
if pd.isnull(df.loc[index, 'ERROR']):
|
|
error = ''
|
|
else:
|
|
error = row['ERROR']
|
|
|
|
new_pacient = {"emer": emer, "mbiemer": mbiemer,
|
|
"datelindja": str(datelindja), "mosha": str(mosha), "error": str(error)}
|
|
pacient_filter = f"filter=(emer='{emer}' %26%26 mbiemer='{mbiemer}' %26%26 datelindja='{datelindja}')"
|
|
|
|
pacienti_res = self.pacientet_api.create_collection(
|
|
new_pacient, filter=pacient_filter)
|
|
pacienti_id = pacienti_res['items'][0]['id']
|
|
|
|
new_pacientet_klinikat = {
|
|
"pacienti_id": pacienti_id, "klinika_id": klinika_id}
|
|
pacientet_klinikat_filter = f"filter=(pacienti_id='{pacienti_id}' %26%26 klinika_id='{klinika_id}')"
|
|
|
|
pacient_klinika_res = self.pacientet_klinikat_api.create_collection(
|
|
new_pacientet_klinikat, pacientet_klinikat_filter)
|
|
print(pacient_klinika_res)
|
|
|
|
def test_backend(self) :
|
|
# pacientet_klinikat_res = self.pacientet_klinikat_api.list_collection()
|
|
# print(pacientet_klinikat_res["totalItems"])
|
|
pacient_filter = f"expand=klinika_id"
|
|
pacientet_res = self.pacientet_api.list_collection(filter=pacient_filter)
|
|
print(pacientet_res)
|
|
# print(pacientet_res["totalItems"])
|
|
|
|
main = Main()
|
|
main.test_backend()
|
|
# main.read_excel()
|
|
# api = Api("pacientet")
|
|
# new_pacient = {"emer": "Test", "mbiemer": "test",
|
|
# "mosha": 100, "datelindja": datetime.now().isoformat()}
|
|
# filter = f"(emer='{new_pacient['emer']}'&&mbiemer='{new_pacient['mbiemer']}'&&datelindja={new_pacient['datelindja']})"
|
|
# pacientet = api.list_collection(filter=filter)
|
|
# if len(pacientet["items"]) > 0:
|
|
# print('egziston')
|
|
# else:
|
|
# print('saving')
|
|
# res = api.create_collection(new_pacient)
|
|
|
|
|
|
# # r = requests.post('http://127.0.0.1:8090/api/collections/pacientet/records', json=json=json.dumps(new_pacient), headers=headers)
|