From 63b6f564a4dacc1881dd3325b04da8cfca3ef1fc Mon Sep 17 00:00:00 2001 From: yaso-meth Date: Sat, 23 Mar 2024 12:42:44 +0200 Subject: [PATCH] Change to Patient Update and Add Patient Notes Instert & Update --- .../__pycache__/patients.cpython-310.pyc | Bin 4464 -> 4486 bytes .../patients_notes.cpython-310.pyc | Bin 2557 -> 4263 bytes backend/routers/patients.py | 7 +-- backend/routers/patients_notes.py | 58 ++++++++++++++++++ database/#ib_16384_0.dblwr | Bin 196608 -> 196608 bytes database/#innodb_redo/#ib_redo10 | Bin 3276800 -> 3276800 bytes database/binlog.000044 | Bin 157 -> 1624 bytes database/ibdata1 | Bin 12582912 -> 12582912 bytes database/mysql.ibd | Bin 31457280 -> 31457280 bytes database/patient_manager/patient_notes.ibd | Bin 147456 -> 147456 bytes database/patient_manager/patients.ibd | Bin 131072 -> 131072 bytes database/undo_001 | Bin 16777216 -> 16777216 bytes database/undo_002 | Bin 16777216 -> 16777216 bytes 13 files changed, 61 insertions(+), 4 deletions(-) diff --git a/backend/routers/__pycache__/patients.cpython-310.pyc b/backend/routers/__pycache__/patients.cpython-310.pyc index 2e5a85df000e0b3ef13dc9bd1192caabbd008040..6493e8c0c866084b41d63cc24d6876644a741069 100644 GIT binary patch delta 305 zcmeyM)TYdv&&$ij00b}B{Yy2R$SccuZ=&`&QK?kUG^P}}6!{jGX2vMt6vki%O@+-u zj2t|Snvs@O{SCtu_i7Zg~?z{mhpDF~(+7YJ_t%qPRhq$xC6hSyeJ5@>dj zIf(ED5zHXM4@6jk2>;1u0=kpW@hY$~vV3FWp8SzloJmt;@^sT zn4nXn?b464wnLseke7~87$PGIq9Pg+Lc)mdkgV>?HO-N(BMx)qCIzxZ3LT8t{9ply zs{pAfc2vkh5o(>Dfxz04QiUqPL1Ik;1bdCP({C4=2<3uRg_m0|Q4V9)5{{ozt#!2j zR%NXO7pvZ;F#(eIzy}5?uy?8(5QPY6C-hU3GzgBh5&YEc-5EtASgkLWDz?=fv~PG% bQo``H+5MuZ?3wd`#qy|^i6<2WC>Wn#v+;1_ diff --git a/backend/routers/__pycache__/patients_notes.cpython-310.pyc b/backend/routers/__pycache__/patients_notes.cpython-310.pyc index 334b774ccc22b3d2b2b787139517195db3060ca6..f8a5c20746526e4d8bc8804abde96a7c90e51a00 100644 GIT binary patch literal 4263 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 YNFmok74>L{VHp+6EjZZqmG9T_FM_bDRsaA1 diff --git a/backend/routers/patients.py b/backend/routers/patients.py index 496d2b74..6285d504 100644 --- a/backend/routers/patients.py +++ b/backend/routers/patients.py @@ -145,9 +145,8 @@ async def insertPatient(itemRequest : patientInsertRequest): return {"message": "Successfully Created Record"} # Update Patient on table -@router.put("/patients/update/{idpatient}", tags="patients") -async def UpdatePatient(idpatient: int, - itemRequest : patientUpdateRequest): +@router.put("/patients/update/", tags="patients") +async def UpdatePatient(itemRequest : patientUpdateRequest): db = dbConnect() cursor = db.cursor() query = "update patients " @@ -164,7 +163,7 @@ async def UpdatePatient(idpatient: int, itemRequest.medical_aid_scheme, itemRequest.address, itemRequest.doc_office_id, - idpatient) + itemRequest.idpatients) try: cursor.execute(query, patientData) except Exception as error: diff --git a/backend/routers/patients_notes.py b/backend/routers/patients_notes.py index 032849d4..801e4e92 100644 --- a/backend/routers/patients_notes.py +++ b/backend/routers/patients_notes.py @@ -1,6 +1,7 @@ import mysql.connector from fastapi import APIRouter, HTTPException from pydantic import BaseModel +from datetime import date router = APIRouter() @@ -16,6 +17,17 @@ class fileRequest(BaseModel): DocOfficeID: int patientID: int +class patientNoteInsertRequest(BaseModel): + note_name: str + note_text: str + patient_id: int + +class patientNoteUpdateRequest(BaseModel): + idpatient_notes: int + note_name: str + note_text: str + patient_id: int + # Get List of all notes @router.get("/notes/patients/", tags="patients_notes") async def read_all_notes(): @@ -80,3 +92,49 @@ async def read_all_patientsby(itemRequest: fileRequest): db.close() return items +# Insert Patient note into table +@router.post("/notes/insert/", tags="patients_notes", status_code=201) +async def insertPatientNotes(itemRequest : patientNoteInsertRequest): + today = date.today() + db = dbConnect() + cursor = db.cursor() + query = "insert into patient_notes " + query += "(note_name, note_text, patient_id, insert_date) " + query += "values (%s, %s, %s, %s)" + notetData = (itemRequest.note_name, + itemRequest.note_text, + itemRequest.patient_id, + today) + try: + cursor.execute(query, notetData) + except Exception as error: + #raise HTTPException(status_code=404, detail="Failed to Create Record") + return {"message": error} + db.commit() + cursor.close() + db.close() + return {"message": "Successfully Created Record"} + +# Update Patient note on table +@router.put("/notes/update/", tags="patients_notes") +async def UpdatePatient(itemRequest : patientNoteUpdateRequest): + today = date.today() + db = 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 diff --git a/database/#ib_16384_0.dblwr b/database/#ib_16384_0.dblwr index 66fd28fb5e7c3637c6098c569097f231547cfc35..afdd6bfca8424386bab3b3be5a516ec4bfac727d 100644 GIT binary patch literal 196608 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 qu^xYV2#;O>ytv`d|&6C`}{v2 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 delta 13057 zcmeIyJx&5)5XSNMT^D&&TtNKfQyM~vH?Xtt8dP4vW@GVKZ(>5>1uWf=(A(Kr*%;#i zwDkZG!Y%k0Gnq^^nauq1{5|HYc+HZeem`$c|6(P){XTuJ%VIK2lUAeL^uPXZ;)ASc zCDx9WS`};8s#>f5p0#fsST*a=%B;H8u$tD9)v}JQ6YJDEv(Bvxt8I0xuGO>p3k}k1 zg))pn2yyoF(d*CdvhHI!yp3t`@;qM8F~6LCM-n^W4tN77Ktd!$LL@{&Bt$|aL_#D) zLL@{&Bt$|aL_#D)LL@{&Bt$|aL_#D)LL@{&Bt$|aL_#D)LL@{&Bt$|aL_#D)LL}S< I35&_q5{GXY#{d8T diff --git a/database/binlog.000044 b/database/binlog.000044 index 9c35141463482e15288d6ef248973d001e7dd9c0..b1a6ee497906620294ba9e5fca745fbbc4782b75 100644 GIT binary patch literal 1624 zcmcIkT}TvB6h1RMyN)X|r3*!pUNRyiwq4iNS$c5|2@SVQ34O9zcXY>gcVuRAAu1Gm zt{0151VIRTND6!iqKABuKycq8LGYnRBM5p3WVdtf{-Cvj^mFc>d(Yl`?sw*%@7$Y@ z8yU~@ysiiUa2NFfssIwG{-8gA_R)o48lfI!+9F{Ch=X*B{>ri};^6gq+uER^1H9)! z7@QpbL|a-ZatrDr>MUwecBgjMKEBNBXK48v>TYS_kb&^IkUzMA*;6z%!iQ0pP49Ce6MFBWnv;+oAy<~b^wv&(wK&_zw)0$)G8D}i5Wwc4%f}Y+h zeKBk4SvR3J66z4@6COQI`!S2kubb-26B*OdZE(93MfOS{g4`?!AiDMnkdF+^5M(nU zO`#SJK#Jfl@YE_0z23)+jICP^iy_=u7)}~C!=IDX*@R))4x=zEttE7pHJl{F9UKf% zvpHq^i?5#|9iurSpqb}z94#*ME0?~n>?0suNpacZz{oR8GiA5;_gf7j;HpRj%*AHb z2#&jrq1y)f$3KmyJcO`#eAwdLIipssSz(+HZ7eE zX*0Uz1C>QBN4E?u#cr5dg7s>)6X93&_sDJ@x&42Ke*0qU1Er=?N(N7jN%=up-`>e( zU+*iWH+;FcSfv-sCB!*IhaU^hV=ASu{4Q_Zimnq}rIb#%sgzEZkp8xmmfxwX1Yfz- zQwUFQ8Ofhr>djb93qkVI*+iI#hrr5^bgBQ<_;w~z+1_a1enlAV!R$lf!1bcADzjOREEiL86hKOl#G@!GFHaPc$pv*Ws*#mDKb@ZBv+y`P4Z;AL7vMCc`2{t mwY-tH@=o5%2l*(Uq)|T07ip4a`6?~)O}@(y`6<5|_|0FWz#7Q_ delta 638 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 T7GxdJ+Vc>n*Z@NTgl*XY4$qtU delta 324 zcmZo@;A{XQ3r6MtAe(_nSoo*weh>=^xEYvOUN>+vbTAdLluR{Z)MsK5 zoSMw2%*6C#YX{>UW@8a9PIfL47FJ%6hJZhF8WMF*NjR(CoHeT2-#9hFU3~~s_;$;qu2LSdrEO`I` delta 101 zcmZo@;Aj9MBM1H1sSFGZEdQYZ$Yx*?P>^=r4`M+9Hvj1LG@(j;ThB`b-R} mQ6o&s9Mje<$WJs2PhSIQ2TS(I=X97hli_+GyloEqVEv0Pl&rYw|N-2$I zdt|m)mKAA>A7zV`ZM4~95bcXbo7sl{NLqHEd+u|dbHB5E-@UHu2Hm8YuhH-3tZtpP zz;T>3&$cdqIJ> zc+O^cFbPYBEyV)X&AM9;3tFnBS;)4to|bOCEW>(RriCrbwzoc(Z8?@}dA5V)TY(kY zjux>Z+sSsezShrnv103QyV`EHyX|3n+5j79d)eN$kL_zEwx12M!M48*v7vT=mD+)J zkPWkFV=P)avUq-`0Qu~RIDhNoHQvgZVdNe+%nv9+~K$*O3Q|hUhY*Z{I_A3 z=Km)Vst>hnOCqhIsno6LlNv~C2d54( ziPe!AwRJU-Smmfty~nO!Niazv`5#aP8i_`sL(rk>G3a~D`16k z6h}#Pilw4+5gSEyY#f`!$f#+q zt*Nf+I%#~86m?qSyZJGabWx?Fqhn!`mW=2##%*w0+zz+L9dJh+gFE5Q zxC`!zyW#G*2kwb`;aJ=o8*m@o7x%;c@c=v!$KgSEFdl-3;$e6=9)U;VQFt^SgU8}= zcs!2B33vjYh$rF6cnY41r{U>15i>jk&&0DZ@N5Jp;W;=N&&Bibe7pcJ#EbA^yaX@B z%kXk+#4E4~r{I-%6<&?k;I()iUXM56jd&B@jLmopPQ_bs8s3Jt;~jV>PRG0OZoCKY z#rv=Y@5cx5L2Si`a0Wh%Gw~686d%LKQG5cQ#HVl;K8?@dv-li7k1ybh_!7R1v+)&t z6<@>G@eOJ<>#(DS&eu{1Q8Gepm;FtIn&d0BD0e*w+ kxDda^@9=y40e{4w@Mru5f5qSMcl-nY#J}+Gsdm)-14Itwr2qf` diff --git a/database/undo_002 b/database/undo_002 index 8bdf02418bfd330c6eff67d9d37157dda5b049bc..23df6abe11145314fb3909f463c3e7d3e87eaa4c 100644 GIT binary patch delta 1102 zcmZ9K2Xs_b5Qg7-yAO63mCeRYHX1Yp)SwY;LBSAqV-mo!qOsuu5)orhG>QtSPx%~T zFEKvsVi2%{sB3p5B6f`(v12c&*ucW_9y#F{?>Td4&fI_Ie)r6E94F-XhB@C#CK}r| z%rp!m?AhjJYjLUFJkc|#_bh*+|K|;NM&iAB!{KbD)|S}8aM+yT&P&(K&8}NsTNo(L#Jd}13cNqp zY5WJ=uG*x_kHkGZf72M(7}A}WC06V#9iFYJ>1KE+|L6nW(g0n zl!thjN67LhkMTH9@FY+1G|!+s%Q8B7j^#Yh3SQtvUgBk5;Z5(hH+hSOU-A`S^9|qf9pCcP^ESVuBrUe;f8uw;qil`JRC9*V>Wh|8vUFPSt@5ZgH zLygH2y126bDk&Eh!{O+0RxQoWzpblx@HT5V7rQy-$x*5fRw)IwhuyL+-M5ZX|%3?0j z@n3l~l!a-NGv%0aO%YQoQ=Tbm$~Uz(6_~a&wK26dwKK&`?M>U8I+%7a?P%&~Dl`?D zb~5d3+Qqc1sgr3pQ?aSUw7Y2!Q)knjroBvio4T0xF?BWVYue9LYU*a{Zt7v`Y1-d( zfayR}FVjJ$GSk7PLrjO7dYcY2m7DsQDolqrDxNHD$V)HrJU`OnwFQj}Jhvs2&1Tnl zz8`a&Ql;@kPdA`l{pikpQ+{<-Z5zL&AW|ItUzzEYNGz|Y42dovEL*s8LqKk|g%hsf z|87Hexqj}@z$5E<|IMDu>6a-_Cc5SXS4h>=CDx^y)PGJo<~H_@hR_gVN|^eZjxbf0 z&!1Qm51a~HI0dcQ)+y4QpWo6cQjsZFRY@c_D4&vQ7+5(y)4aH37!<3n z