From dcc9d5b81fea5fcb9afb0ae0cb388134e6160dac Mon Sep 17 00:00:00 2001 From: yaso-meth Date: Mon, 29 Jul 2024 11:05:12 +0200 Subject: [PATCH] update Notes API to cater fpr app_id --- backend/routers/patients_notes.py | 149 +++++++++++++++--------------- 1 file changed, 75 insertions(+), 74 deletions(-) diff --git a/backend/routers/patients_notes.py b/backend/routers/patients_notes.py index 1c574fc9..2afbe02f 100644 --- a/backend/routers/patients_notes.py +++ b/backend/routers/patients_notes.py @@ -11,14 +11,14 @@ from fastapi import Depends router = APIRouter() -class fileRequest(BaseModel): +class noteRequest(BaseModel): DocOfficeID: int patientID: int class patientNoteInsertRequest(BaseModel): note_name: str note_text: str - patient_id: int + app_id: str class patientNoteUpdateRequest(BaseModel): idpatient_notes: int @@ -27,18 +27,39 @@ class patientNoteUpdateRequest(BaseModel): patient_id: int # Get List of all notes -@router.get("/notes/patients/", tags="patients_notes") -async def read_all_notes(session: SessionContainer = Depends(verify_session())): +# @router.get("/notes/patients/", tags="patients_notes") +# async def read_all_notes(session: SessionContainer = Depends(verify_session())): +# db = database.dbConnection.dbConnect() +# cursor = db.cursor() +# query = "SELECT * FROM patient_notes" +# cursor.execute(query) +# items = [ +# { +# "idpatient_notes": item[0], +# "note_name": item[1], +# "note_text": item[2], +# "insert_date": item[3], +# } +# for item in cursor.fetchall() +# ] +# cursor.close() +# db.close() +# return items + +# Get List of all notes by patient +@router.get("/notes/patients/{app_id}", tags="patients_notes") +async def read_all_patientsby(app_id: str, session: SessionContainer = Depends(verify_session())): db = database.dbConnection.dbConnect() cursor = db.cursor() - query = "SELECT * FROM patient_notes" - cursor.execute(query) + query = "SELECT * FROM patient_notes where app_id = %s ORDER BY insert_date DESC" + cursor.execute(query, (app_id,)) items = [ { "idpatient_notes": item[0], "note_name": item[1], "note_text": item[2], "insert_date": item[3], + "app_id": item[4] } for item in cursor.fetchall() ] @@ -47,49 +68,28 @@ async def read_all_notes(session: SessionContainer = Depends(verify_session())): return items # Get List of all notes by patient -@router.get("/notes/patients/{patientID}", tags="patients_notes") -async def read_all_patientsby(patientID: int, session: SessionContainer = Depends(verify_session())): - db = database.dbConnection.dbConnect() - cursor = db.cursor() - query = "SELECT * FROM patient_notes where patient_id = %s ORDER BY insert_date DESC" - cursor.execute(query, (patientID,)) - items = [ - { - "idpatient_notes": item[0], - "note_name": item[1], - "note_text": item[2], - "patient_id": item[3], - "insert_date": item[4] - } - for item in cursor.fetchall() - ] - cursor.close() - db.close() - return items - -# Get List of all notes by patient -@router.get("/notes/patients-docOffice/", tags="patients_notes") -async def read_all_patientsby(itemRequest: fileRequest, session: SessionContainer = Depends(verify_session())): - db = database.dbConnection.dbConnect() - cursor = db.cursor() - query = "select patient_notes.idpatient_notes, patient_notes.note_name, patient_notes.note_text, patient_notes.patient_id, patient_notes.insert_date, patients.doc_office_id " - query += "from patient_manager.patient_notes " - query += "inner join patient_manager.patients " - query += "on patient_notes.patient_id = patients.idpatients " - query += "where patient_notes.patient_id = %s and patients.doc_office_id = %s" - cursor.execute(query, (itemRequest.patientID, itemRequest.DocOfficeID,)) - items = [ - { - "idpatient_notes": item[0], - "note_name": item[1], - "note_text": item[2], - "insert_date": item[3], - } - for item in cursor.fetchall() - ] - cursor.close() - db.close() - return items +# @router.get("/notes/patients-docOffice/", tags="patients_notes") +# async def read_all_patientsby(itemRequest: noteRequest, session: SessionContainer = Depends(verify_session())): +# db = database.dbConnection.dbConnect() +# cursor = db.cursor() +# query = "select patient_notes.idpatient_notes, patient_notes.note_name, patient_notes.note_text, patient_notes.patient_id, patient_notes.insert_date, patients.doc_office_id " +# query += "from patient_manager.patient_notes " +# query += "inner join patient_manager.patients " +# query += "on patient_notes.patient_id = patients.idpatients " +# query += "where patient_notes.patient_id = %s and patients.doc_office_id = %s" +# cursor.execute(query, (itemRequest.patientID, itemRequest.DocOfficeID,)) +# items = [ +# { +# "idpatient_notes": item[0], +# "note_name": item[1], +# "note_text": item[2], +# "insert_date": item[3], +# } +# for item in cursor.fetchall() +# ] +# cursor.close() +# db.close() +# return items # Insert Patient note into table @router.post("/notes/insert/", tags="patients_notes", status_code=201) @@ -98,12 +98,13 @@ async def insertPatientNotes(itemRequest : patientNoteInsertRequest, session: Se db = database.dbConnection.dbConnect() cursor = db.cursor() query = "insert into patient_notes " - query += "(note_name, note_text, patient_id, insert_date) " + query += "(note_name, note_text, insert_date, app_id) " query += "values (%s, %s, %s, %s)" notetData = (itemRequest.note_name, itemRequest.note_text, - itemRequest.patient_id, - today) + today, + itemRequest.app_id, + ) try: cursor.execute(query, notetData) except Exception as error: @@ -115,25 +116,25 @@ async def insertPatientNotes(itemRequest : patientNoteInsertRequest, session: Se return {"message": "Successfully Created Record"} # Update Patient note on table -@router.put("/notes/update/", tags="patients_notes") -async def UpdatePatient(itemRequest : patientNoteUpdateRequest, session: SessionContainer = Depends(verify_session())): - today = date.today() - db = database.dbConnection.dbConnect() - cursor = db.cursor() - query = "update patient_notes " - query += "set note_name=%s, note_text=%s, patient_id=%s, insert_date=%s " - query += "where idpatient_notes=%s" - notetData = (itemRequest.note_name, - itemRequest.note_text, - itemRequest.patient_id, - today, - itemRequest.idpatient_notes) - try: - cursor.execute(query, notetData) - except Exception as error: - raise HTTPException(status_code=404, detail="Failed to Update Record") - #return {"query": query, "message": error} - db.commit() - cursor.close() - db.close() - return {"message": "Successfully Updated Record"} \ No newline at end of file +# @router.put("/notes/update/", tags="patients_notes") +# async def UpdatePatient(itemRequest : patientNoteUpdateRequest, session: SessionContainer = Depends(verify_session())): +# today = date.today() +# db = database.dbConnection.dbConnect() +# cursor = db.cursor() +# query = "update patient_notes " +# query += "set note_name=%s, note_text=%s, patient_id=%s, insert_date=%s " +# query += "where idpatient_notes=%s" +# notetData = (itemRequest.note_name, +# itemRequest.note_text, +# itemRequest.patient_id, +# today, +# itemRequest.idpatient_notes) +# try: +# cursor.execute(query, notetData) +# except Exception as error: +# raise HTTPException(status_code=404, detail="Failed to Update Record") +# #return {"query": query, "message": error} +# db.commit() +# cursor.close() +# db.close() +# return {"message": "Successfully Updated Record"} \ No newline at end of file