From 0a92a848d3fca5e63d157ec19d301f29bfc4763c Mon Sep 17 00:00:00 2001 From: liubiren Date: Sun, 21 Dec 2025 00:45:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=B8=B8=E6=9B=B4=E6=96=B0=20from=20m?= =?UTF-8?q?ac=20mini(intel)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../directory/254728869001/invoice_11.jpg | Bin 146009 -> 0 bytes 票据理赔自动化/main.py | 1135 ++++++++--------- 2 files changed, 506 insertions(+), 629 deletions(-) delete mode 100644 票据理赔自动化/directory/254728869001/invoice_11.jpg diff --git a/票据理赔自动化/directory/254728869001/invoice_11.jpg b/票据理赔自动化/directory/254728869001/invoice_11.jpg deleted file mode 100644 index 2f166c89cfd4befe213eb3177e9868dcc19b6767..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146009 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%0A#n*RH7}6{M=zC0hh?D%}tUzID6k^?ILrx00 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

u5 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%0D~ zc5^m8uFhHMk|P;M5W+%>_-c>p@2>C-goHS(wp9+LBh8VgOy&C14GG=v_-_6^8s29^ zj8T%jJcPT7EEj3y3c5UY5m$=cSpE;a6mL^?W$7;*O8`^BmHkB?PC3Q1+Jekh5{DTY zyr>}r;@zaVJpwT8&xb>H#Y1WGifFN!nC8wX6z#gM#2}OwE%Zt%`0iaUF-eK6s2zjE z7(#y-f=yNu0)RO3$siN^+&QTHt}+a=Ty;}Vm~2xz{=;lPEegua0APW_<22Yu>@wd0 z7BYF;k980F-JUy%n{4)P(4ca>_egoJGleR`GC5M!(s-{nW+?@$>|ApI&s2|>$^$!N z@#R;+_J0AX*&%J%PYB)}VmtuCj~1{r=ewDRKH6I~KMwle|KMtuC{V!KuyQh8cj%@{ zM@JC9_kMTqorCXn+a`~$DFBlW=4b61aV`(yRr`8rAXA8t1Gl^S^F|JZpXHiR$L*45jLZ2Qvk?)>8D6eSb;(>1?c7>h5D?EPz^%8dG%zMr16$SpJLn8b&V?!4TR|Vm8vEYGW z)>Nl9125lUwNvFK+tmC=JMgI!8gVt}^=c{pHJmD%kZJ7lRe&fNXhGxi?Cq`Ms;aL? z3_y3~_AtFXVN*rr(WvyqFDUZrvJa_mP3@ra?E0^r@NqPn7yRb<=SFEEZ61`+78+Wa-SQ0{k-kelC=Ze7MMumu$vODidka;?h#}1 zcI`Tl!9v1|nvD8^If>tmDAQ$KA-B%xq_MtY|Z zHE!haX8cL)X2ciqk@HwFeM1UU3c4x2QEkDM^Rw@8wTIe9v-#85a|DE?5ORDJV1NIq zWo$fjSby5L_X;8XEQvfcA+i`{c^T?`BB|2UyzY)6rlEmV!0JTEZ7v*YS0J?Yi&y{~ z0PTA^pEPJGCi>TiD~Hlo*3&rc_uf5b1BA84ni_?ZRGA3?3V}^E4cvu5a2-rJEFq`I ze6@p*pBhgkW(dq)Xe?Cb7Hz84OGS-ts8$o#x@U%WlMkhBq+(4nyatdm5$ktgzNJg#Rg=5*0^#pdPM*JfRDpv6xAox2!R?Nx zt?>nHGE@(JAu>p{`T)StDXa0&$>f=5I&w7^;HIEy&Qe)v5PwPl9IG3#zpo!zkoJ14 zXh;gSCSYjBZq_e_$wV#(V7R?cIo}uJP$E?}j~yxe_XkQpt<&fXc_q1>ij!OVP+{VS zaj$?0G!Pvj5tsoyp|wURcPe9$N{MBvN_~Oiek)&)3`zeKPI1ADyvO zH~s@6)=7wh1D@g+pxntzUlGNnmTt;(R))ncE_8Ff)hf4#GNZUK{?S37Nro72OGnE* zj7Ux%>GV2Vh;mynw}A=-Ax};}bFEuwGWxTp!$AyAUqHT?olVegh zT;2*gokgwfA$;6-d>uYD*n+xjIBB`E=bUum$z9KLx=G18i}inUj1fAL!g~3YU zKj37F@47rMB9Eq=@4WLpFpJco@mPx}n+|xiC{@{gqhGOane7_yK8WjKdRkVgl|4L8 zW&JR6w$|X)9d^gwREGb8^%${H<%c=fR6}9%D5L%n?t9tspy*G|DrPX>Z2i>RUfj}A z3?5(Or&QtgIHb?0^t}mihRGm@gnT&vQIeGXeBVCkaKxV;E+5)4X~7>zu-8CrPDO%F zU2Rsx?yhJu454$j^)!NCT81a~ex2CZrC+kVQdd4@G8HVf zGwFge20U6Vy18Kxx~SqV@L*HbrBl;%Z(>0e;U?$<5o0B@Gc&A_WN9cLDx{EF>6Lf2 zH>6lQKe*%sq1h7Z=znE9)03(MR1 zb)xn{II#*H}4q9Lo}~|r6ml- zK*v@wdO9A~D57C23bpI~d{hdKTafjVw@3VhE2`F_)8ZX`n$LLd`RyG}?{O0l)9#9% z;h};Fx9MUELSfV2Gcv?N1p=@3HLaN)fOGyh6fc|^4BMH%fYN~ptppWi zuciAgP}KtV(3N~V+L8{DGJjuhRi69GSySAfC;YrkTk$V~mXbmQ-z|s{6pjK^uqHh~ zV>@vk^3L!}Sp;9_xJg1fbwsLV8mG>#$=o0terHZaf49T6f@GO7t>m0hw3gI4&oe9im@?vfq5!r#ccO{igqDG$kZTD23E*vSAs97^>_Fv8jtW5+GHn z93n(Wr1`JDOAMW`RD?Jrg53$(B`c{L34nDH=46=a zgDhgpD(i0$!8gW6;{=?sdowtbQn47Ax4vA+duQ&TGW68TH zx{?ppn$yh|s`j&Qjfj(~ym%$Ce5X{p{I=t|Nsil#OLCo@oxUtzN4|#eUDCThG{KR3 zADXUjZ3YPT7$M1H-3!eX=Z5w2lW5xvjGE59YB?@(I7OK2Tx*&c?iCfWIFiPZnhf0Q z+|SeKf8uR{ydh+{5HVxzqu2GR@vOxq5TnY(HupTUU?7M`yEWlZC8}9z_xEjZOCRY; zn=evm>%*Y$bQDj=1>$22uu;u*mLvWr&2<;U4FmMIgrgFl{OQkEoB27O9+d|A(?qXV zBN8woJ%Y7YWCvfA$ods1U9>gVk4D;71ffw?3{ch|19y4qE;nC!y{{%7V#O_w#%Xk5 z+&snl^2I^%XawDkK+3`lZu3i4p`kqu$a7DbRU)7Vz;ii z=s~f3(-V7#w?(0qc*4bGm4=>6+btUyass`hr;^a|6K)^&mJR=u0~gOOL2m_R)sJ=Hno-lD~Z) z9-p%Bii_w}j4-6V8Klf6x*96AEN!FX2`&5FvxdbL0u_Mys2Z{ii;nhd9cMRGdi2;p zl#qFe`LWlA#ypfj@CCb?!|*CZ#&7PoRgMMO5r4_Uh@eD)adodkbN+Ekr5w_ zg&TLc)$g%jQ1L!WBbj~P{=~=cXUr!P0woCYzzZVBkB{ad;6^hmF&AcFf&@;|U>h_k z?Myo0oH+2UQp{NU#YXdNRD>}J!^fBWMHNrjSp)&TrBhP8QS02$G_hK71Hr-feN1|% zj;hQdk^CG=AZa)(G#i5yK0Si_QS&e03qZ*upDq**+{m#9sd}A`E8xECj>7pbvsB49 zyc>nl%|*0w`eRb24AT*QY{kj=kZ0M@LZ#|Up2tBNU~@1fFsK0hie4>;h2+Ui0S`%g zX2F${kY>m3;?8}?naT9Rfja#xv5vDfa90Ef_XY|tLc#8&QRobrV6zAKR_%#hUD_94 z#yER?`Nx`OIIAjOr6;pWc_cC1fdqIl9z@cW>{WI{wpH6NWt*?hnUvRdrzWBoXMHs{D-7R^Yh zWrF7g!KG3#i@TEut7CDD)21fx&~H?hx80Mj`5%uzU0mDW6J0MSX8KW_U+_amcHXt} zz&RZ(2E+H>b!9oqaTMvwg>EzXze+Y`$T((quJGfFzV#0(RZIQ&DOPRVc9DgXzzo zm>oBuAwOn3o*mq|d%?=3e8q{_IzFe}SVun2m#K3V7@k?XAil`Hs|ds#&5o;1E!7x+@N8ZbfPX0aIYH(n;Ch=9%2tABCyKvgDc&ByiC=k7}$xLFDj{l8; z0y8UUp@%{X1zzy5+J0na^_P}AF{!MWg6WrM*THaVf+zoFjy>M|#W|H;vcw`WdXYY! z0(>jj%?i|+;OD3hD-XoSz#)PRk5{DKi!V68$cU`prF&IH-4 ze*0@HHHGATLc!Gr!q}iaTczu;bb4rl{t(}53MrILFJ+rb?XK#caGw&rMH^V<);Bm__Q0C~d+0gS@Bo4*LnCcASmL&&P|t=b*3cpS_jUEY`c0nS1YQ z`8wu=VQJrnY8hES=j3^t9&K+d%KRoPwYXec|1|f<)1U{+f{a_@RJ9Ks z7(au%`JFXZ$p7nKKr5N{2lD-ewc{pr(4T3QMP}x^E-G6+9em8R?F4bE?!d0O5(pYk zm?{J5{(%$v+UdY!KD*56H!Y~X)FB8G{}iA|mQE9T26UaK{LGH9)$pnqSY}VgontUl zP2>|prV+7GgP;!t;hSHCZA%$hfwnO>KXzR)69K}Z9yPsDElM5s)GkH#woH@ zRA3B;u--0{5%!?hnkBxvJnlF(o^z=%`mgrkN0;68Kp7U+BmFdI8p1x|l+7M}fhxSV z#$5vuk6&agQ8En)zF#tuT(Xip@}F=|M5$tcb5=;Zh=ilKSR248e+f{g?zZIqp0z|Z z^#?L6Q$=WeY7sk>{<@ZA)*X0Rn=MpNW16t3`JwrnO6VSaaieAw7HYKhgf00CL(j>o zFx7myjR-dNNC}=Cc@EpxzR-}ZyI{5EbOU0`w7de5ig_5|teFq@?-Utp$6$Q@!6h^4 zjxH;qZxmw*^mOGhW)6AkFa)MswgNm0Ym)r~I#{fdnY}z83CTF6{eNEudFr=R5BKyV z0(ZZ&DVVe0GHDYnC|kOe2x<1%h#=FrUZS z@~#jq%=j-L$)GZF--4>`%z8F^Xq}ZvZvLy_oVe~~07^A;+`wz5u%`ZJX`YKsf%Uc+ zSPQC5d{2!IZIG%*TyE@8XSDA;CkkGwz$*h~Hnz-Pz)E@<$psyw_@uLsm4aQ7qBC&< zDhitSfE>-jfm!Z8G}nf|+U~%o1&sauuhOC+b|;0%m!l7hXn}(U^H4_g&V4(#z}~@G ziT62c8CaB8P+nxZL3$GVIC(}5L+FZ~o{}Jia*)JpB`q$Qap6E-L?U$3O6qx{QiJ;B zI0{iUnEx+eE{tx>6{6(E^zmCKN@*n1On-gRo{o;nLZJ_1w#4B;Th8FcEQB@7D77EE zLLn}VzDU+B;TJ&I3g;@H_qa!NclSbb$hwkb&W?8EYzQ5>kVpK@f{!Oxp@`Z^uD=Iz zP+{G#4+PfpPkxBYPzookQm8Wxuj7BCe-V3CeyDVsSRK|-1`CPplI$;hQ->MkSEaPA zz<{jXAqFG%xL9Sx3K~gtoRZ9N5e{+wWAUMzQQD;BtxSw5nf}` zWP(Goi5v5eW-ZX^l3b5yxnGHEqV?vee$$3+w8gsrnoS&yn&X=5+#~y(MTSQJjh`cq zd$-k+sTdUkzh zk)OsvF#hc#>OMo=pgGkmpz55m4*mlnuFa>J0DQ24;&MZ*EzMUhstf15L9I1x(o1LJ zv?#;af%G;^+_HCP8mQ2qK1s{@}eZvB4CT7F`s&)UiLU%({Z$CZFAxL`Dh;QZDl%4HW}Ip-bo zO33g@)+H+iUSv`;uc==#t`Q zMUjf7(QoqSY<1*$yi26I4$M$GMmYtnC0iwDVeN`$0^Od7+7`&jDKFv* z>9vZUcx+n=zUO;^>$C_)p*9X?Gh$5>QnX==qwG_=gU78c*P ztEJuPyc1p)sVv}OnR){bhe5bwazBp3b)B(hxezf)7tj}g3QB{1&Daa!QwMZx-z#DT*`UFT*w=KDx{%3TjgTA8 zW0FOiylC@K6KjU$zu(nX)u~Vuh;<%I5u7_S-&GZMt^q%s>PtGVVTP3luhr zc7Fk6qoD~1WNFinc~R>Ya=q3h$@0$B?kIujqP;9``js)PhUa4l)CCHFE>qyNB{m_` zW9a8_^0WIjiGf_}%&B_zU^08HV|B`tAd~Fe&RAGp-E@cq<4k~DKac~CMN^!<0%M3O z+kOOK%RNMSJjk1gC{LBM2HCFf`^t2)KSr*1I#rPbkB z=tCZe!wBZTfQ`5*`^t@kQ; zxgm;gq;M&u;Pg;01)258|3b7_e<+H}Iur${&3MLZ6C=x{6=&|ccZq@)Put$dbI5WR^!quus|!}~+YTT;0fiRG zs~4+rXc0!R?*-(d{+t)Ij-tEuZVPzF?E!1aG)41rS`rkZ(umhFCWN{fT83`D2S$vS zpYv0Nd`?h`p_ho;vC3JhIWY*Dbd1Y-az~nnbOAo~QE>sF(26k(lQ#4gA3(5RAguN8 zs|NeJ_Sdl~1F|sO9-yFTV{qLUYTDv+E~Y^wF%V&b$_V3dj1+H_vjoG~RcxSyqxoa7 z>k_UZ6AAXPnfmdVY;;asB7ZJslE^WNkuk?xJyX#Z@b!d$(36Y=)(+!q@1-w%7IQh? zJXx9O6>0)#y2@=h7;OnIZ(-*SCo+E7&e%Hs8YO%W2MPp+HTkoO zOmfSA%QJPVhEeC%RHeJ~c7id9j-0|`%?vPV8}8Da!6E%LQl0+sT8v1gY&>H{@T~() zCEbDSfKNe@%L*tkT#N~$qDpbx{H@14Urb^3^499hNc|l*)Rg@n{byH?)>gG+mCKg# zfaB}b#ObXN>%9BzW~J0QX440rpg#N;8aAiyE?aDlP9cE7DqkzVRPXcB7YJR9%C`+F zhT_dW-1A<_slvZ((5m7Cb1hP?RpOC)ByaHJ-F%oBWt8z@(bDo8|54@MO-Z>uIf3>5^phTb zk8vl3S@^D}&EW`ANQsS%aeKCeHB34yE$c{m70PZyc7@zc%ZX>a3KHlCsmrm|)}ONH zT3>#tqXIlD2NgQACERwbb30MgF`6_mAP@%@3bWQ)H|+xlz|@9@d|$O1jJt>O#b+3i zav%|aL&^F3fKKaF{}j_6dNctU_u_q0@SLvO%2BbvA7l^s|Aht!U4*PH-?I&zL28$4 zmWv0y@oVSp&VX+-$yu-gasIj1-OXV+Ln32HF1z^Zo4C~fcV`8Na|J#lJ%Iw``JzNA zPISN<)9tc4>im6>x%b&$Kw^_a$TVBT4_}(Tjq&YQMnX}_<<0#^!H^#-_H_kn+8P+rAv8o#xRlI$a1?e?!i}WS_f+%ui@ND(Q zY5M&Gb`0OAm8tFEYWD)-0Ipi(RS?C&?G~;Difd1VrtuGdf+aw0UuA?Q!W)fS0>`Og zRHUa?eUC=Pz(YF6>mlkZn&8fr675V*qhPBrevMDb;>GQEjN?>}6au4nbVVF7P8T)SN9Re!%;-a0l}tVp~@;xGM+h|lh)=~HXQ z7u(V#St$ON-r%%nxc2e*4o*yMAvPHxNgE?P3`H}6FqB$Tw|X# z%?Zx=MSjC->cwP1t?AZL3m<|&o0r5KX-_&rfp&4nPIA1n$ung&F1lp;+ea?jB&nbC zi&4?3RYSF;07uE|JZ(R_c`6@Ao*HwX7dUP?U$r^PBUh@^NKdw7Ew69=gEJ1T4Ur0e zoBf`}t}^J!MC1E{`!P4E4@@F>&cZM(j3g!H88KAuHA-OC>d}Ea@1s`_lqqytlS7um zR9@Z}YzWtKJgUY0nn77ho$S_UwBc?G`$e6zCEC1q%AAfTqZI#ri{p$~Tk5NrKD?7p z>bu0njA=bv`CSImAFZ+gddQ9^%02nCp?@|EcgIZ=?oE0?|ExTj z-GCACLX#~z_S$DkdH!im+@NdKg?#<(&Y}@$ZYi2O^ zrAC&<7BQ5vOxYQPv2Tea31Ji&lRY((rAcsZRt*veLx2&wF4>%Ho} z@2BT}miPDkKJP#8Kl8a}`EXswd7Q_7e!mQRgrZ=Ugjezo_Lad+KI8H3!<%QV1;iw} zjOrAQ1bFo>xcToo%{n@J0`0MDmYttHj_(=)%UL3dO|eeiZ#cSqc%Z1Oqtafi`dok} z-*L&}-u=rf-=>D_{nzJDDrBcvMesc?3^GUMqz4dPEk-Ytgw84iKNUk($tYE7ZuwB2cshD)n+k! zF68Lq-J2xYD&ckZkvX?X>T>-4k^c@y#Ffz#Z0qCOP z)T6B3s#?XLU{U;`tZ{ydSc2m&#PuE+!4MbK5YK$9xnF|+bI6USZ#&{$)6%>1g`@V)7RMF=O@9d1KN{%jL#xj=LJPFrjjF5jH!Y7u+k))uPqlv4vo2uw`a%GPdG +WS5HB9$>KFTM6(8|y+% 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 Optional[str]: """ - 查询并获取单条购药及就医机构类型 + 根据购药及就医机构查询购药及就医机构类型 :param institution: 购药及就医机构 :return: 购药及就医机构类型 """ @@ -144,9 +140,10 @@ if __name__ == "__main__": """, parameters=(institution,), ) - return ( - None if result is None else result["institution_type"] - ) # 返回购药及就医机构类型 + # TODO: 若购药及就医机构类型为空值则流转至主数据人工处理 + if result is None: + raise RuntimeError("购药及就医机构类型为空值") + return result["institution_type"] except Exception as exception: raise RuntimeError( "查询并获取单条购药及就医机构类型发生异常" @@ -561,7 +558,7 @@ if __name__ == "__main__": """ # noinspection PyShadowingNames - def mlm_recognize(image, schema) -> Dict[str, Any]: + def mlm_recognize(image, schema) -> Optional[Dict[str, Any]]: """ 使用多模态大模型就理赔申请书进行光学字符识别并结构化识别结果 :param image: 影像件 @@ -619,9 +616,14 @@ if __name__ == "__main__": .hexdigest() .upper(), ) - # 就消息内容JSON反序列化 - # noinspection PyTypeChecker - return json.loads(response["choices"][0]["message"]["content"]) + + # 尝试就响应中消息内容JSON反序列化 + # noinspection PyBroadException + try: + # noinspection PyTypeChecker + return json.loads(response["choices"][0]["message"]["content"]) + except: + return None # noinspection PyShadowingNames def boc_application_recognize(image: str) -> None: @@ -728,25 +730,23 @@ if __name__ == "__main__": "additionalProperties": False, # 禁止就识别结果的JSON结构新增属性 } - # noinspection PyBroadException - try: - # 使用多模态大模型就理赔申请书进行光学字符识别并结构化识别结果 - recognition = mlm_recognize(image, schema) - - dossier["受益人层"].update( - { - "开户行": recognition["开户银行"], - "户名": recognition["户名"], - "户号": recognition["账号"], - "手机号": recognition["手机"], - } - ) - except Exception: - # TODO: 若非成功则流转至人工处理 + # 使用多模态大模型就理赔申请书进行光学字符识别并结构化识别结果 + recognition = mlm_recognize(image, schema) + # TODO: 若非成功则流转至人工处理 + if recognition is None: raise RuntimeError( "就中银保险有限公司的理赔申请书识别并整合至赔案档案发生异常" ) + dossier["受益人层"].update( + { + "开户行": recognition["开户银行"], + "户名": recognition["户名"], + "户号": recognition["账号"], + "手机号": recognition["手机"], + } + ) + # 根据保险分公司匹配结构化识别文本方法 match insurer_company: # 中银保险有限公司 @@ -760,12 +760,142 @@ if __name__ == "__main__": :param image: 影像件 :return: 空 """ + + # noinspection PyShadowingNames + def query_value(contents: list, key: str) -> Optional[str]: + """ + 就识别结果,根据指定键名查询值 + :param contents: 识别结果 + :param key: 指定键名 + :return 值 + 需要匹配的键名的键值 + """ + # 若识别结果为空列表则返回None + if not contents: + return None + + # noinspection PyInconsistentReturns + match contents[0].keys(): + # 对应深圳快瞳增值税发票识别结果 + case _ if "desc" in contents[0].keys(): + # 遍历识别结果,若内容的键名为指定键名则返回值 + for content in contents: + if content["desc"] == key: + return content["value"] if content["value"] else None + + candidates = [] + # 基于加权补偿的莱文斯坦距离算法计算所有内容的键名和指定键名的相似度 + for content in contents: + candidates.append( + ( + content["value"], + fuzz.WRatio( + content["desc"], key, force_ascii=False + ), + ) + ) + + # 返回最大相似度的值 + return ( + (result[0] if result[0] else None) + if (result := max(candidates, key=lambda x: x[1]))[1] >= 80 + else None + ) + # 对应深圳快瞳医疗收费票据识别结果 + case _ if "name" in contents[0].keys(): + # 遍历识别结果,若内容的键名为指定键名则返回值 + for content in contents: + if content["name"] == key: + return ( + content["word"]["value"] + if content["word"]["value"] + else None + ) + + candidates = [] + # 基于加权补偿的莱文斯坦距离算法计算所有内容的键名和指定键名的相似度 + for content in contents: + candidates.append( + ( + content["word"]["value"], + fuzz.WRatio( + content["name"], key, force_ascii=False + ), + ) + ) + + # 返回最大相似度的值 + return ( + (result[0] if result[0] else None) + if (result := max(candidates, key=lambda x: x[1]))[1] >= 80 + else None + ) + + def parse_items(contents): + """ + 就识别结果,解析明细项 + :param contents: 识别结果 + :return 解析后的明细项 + """ + # noinspection PyInconsistentReturns + match contents[0].keys(): + case _ if "desc" in contents[0].keys(): + # noinspection PyTypeChecker + return [ + { + "名称": name, + "数量": Decimal(quantity).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, + ), + "金额": (Decimal(amount) + Decimal(tax)).quantize( + Decimal("0.00"), rounding=ROUND_HALF_UP + ), # 深圳快瞳票据识别接口中明细的金额和税额由字符串转为Decimal,保留两位小数,并求和 + } + for name, quantity, amount, tax in zip( + [ + x["value"] + for x in contents + if re.match( + r"^项目名称(\d+)?$", + x["desc"], + ) + ], + [ + x["value"] + for x in contents + if re.match( + r"^数量(\d+)?$", + x["desc"], + ) + ], + [ + x["value"] + for x in contents + if re.match( + r"^金额(\d+)?$", + x["desc"], + ) + ], + [ + x["value"] + for x in contents + if re.match( + r"^税额(\d+)?$", + x["desc"], + ) + ], + ) + ] + # 初始化票据数据 receipt = {"影像件编号": image["影像件编号"]} - # 先请求深圳快瞳票据查验接口(兼容增值税发票、医疗门诊/住院收费票据) + # 请求深圳快瞳票据查验接口(兼容增值税发票、医疗门诊/住院收费票据) response = http_client.post( url=(url := "https://ai.inspirvision.cn/s/api/ocr/invoiceCheckAll"), - headers={"X-RequestId-Header": image["影像件唯一标识"]}, + headers={ + "X-RequestId-Header": image["影像件唯一标识"] + }, # 以影像件唯一标识作为请求唯一标识,用于双方联查 data={ "token": authenticator.get_token( servicer="szkt" @@ -776,7 +906,7 @@ if __name__ == "__main__": .hexdigest() .upper(), ) - # 若查验成功则直接整合至赔案档案 + # 若查验结果为真票或红票则直接整合至赔案档案 if response.get("status") == 200 and response.get("code") == 10000: # noinspection PyTypeChecker match response["data"]["productCode"]: @@ -796,10 +926,10 @@ if __name__ == "__main__": response["data"]["details"]["code"] if response["data"]["details"]["code"] else None - ), # 全电发票无发票代码,深圳快瞳票据查验接口中票据代码由空字符转为None + ), "开票日期": datetime.strptime( response["data"]["details"]["date"], "%Y年%m月%d日" - ), # 深圳快瞳票据查验接口中开票日期由字符串转为日期 + ), # 深圳快瞳票据查验接口中开票日期由字符串转为datetime对象 "校验码": response["data"]["details"]["check_code"], "开票金额": Decimal( response["data"]["details"]["total"] @@ -807,68 +937,37 @@ if __name__ == "__main__": Decimal("0.00"), rounding=ROUND_HALF_UP, ), # 深圳快瞳票据查验接口中开票金额由字符串转为Decimal,保留两位小数 - "出险人": response["data"]["details"]["buyer"], - "购药及就医机构": ( - institution := response["data"]["details"]["seller"] + "姓名": response["data"]["details"]["buyer"], + "购药及就医机构": response["data"]["details"]["seller"], + "明细项": [ + { + "名称": item["name"], + "数量": ( + Decimal(item["quantity"]).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, + ) + if item["quantity"] + else Decimal("0.00") + ), # 深圳快瞳票据查验接口中明细单位由空字符转为None,若非空字符由字符串转为Decimal,保留两位小数 + "金额": ( + Decimal(item["total"]) + + Decimal(item["tax"]) + ).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, + ), # 深圳快瞳票据查验接口中明细的金额和税额由字符串转为Decimal,保留两位小数,并求和 + } + for item in response["data"]["details"]["items"] + ], + "备注": ( + response["data"]["details"]["remark"] + if response["data"]["details"]["remark"] + else None ), } ) - - "费项层": [ - { - "名称": item["name"], - "规格": ( - item["specification"] - if item["specification"] - else None - ), # 深圳快瞳票据查验接口中明细规则由空字符转为None - "单位": ( - item["unit"] if item["unit"] else None - ), # 深圳快瞳票据查验接口中明细单位由空字符转为None - "数量": ( - Decimal(item["quantity"]).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ) - if item["quantity"] - else None - ), # 深圳快瞳票据查验接口中明细单位由空字符转为None,若非空字符由字符串转为Decimal,保留两位小数 - "金额": ( - Decimal(item["total"]) - + Decimal(item["tax"]) - ).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), # 深圳快瞳票据查验接口中明细金额税额由字符串转为Decimal,保留两位小数,求和 - } - for item in response["data"]["details"].get( - "items", [] - ) - ], - - # 查询并获取单条购药及就医机构类型 - institution_type = master_data.query_institution_type( - institution - ) - # TODO: 若查询并获取单条购药及就医机构类型发生异常则流转至主数据人工处理 - if institution_type is None: - raise RuntimeError( - "查询并获取单条购药及就医机构类型发生异常" - ) - receipt["购药及就医机构类型"] = institution_type - - # 根据购药及就医机构类型匹配处理方法 - match institution_type: - # 若购药及就医机构类型为药店,则根据 - case "药店": - pass - case "私立医院": - - pass - case _: - raise RuntimeError("") - - # 门诊/住院收费票据 + # 医疗门诊、住院收费票据 case "003081": # noinspection PyTypeChecker receipt.update( @@ -878,19 +977,33 @@ if __name__ == "__main__": if response["data"]["flushedRed"] == "true" else "红票" ), - "票据号码": response["data"]["billNumber"], - "票据代码": ( - response["data"]["billCode"] - if response["data"]["billCode"] + "票据号": response["data"]["billNumber"], + "票据代码": response["data"]["billCode"], + "开票日期": datetime.strptime( + response["data"]["invoiceDate"], "%Y-%m-%d %H:%M:%S" + ), # 深圳快瞳票据查验接口中开票日期由字符串转为datetime对象 + "入院日期": ( + datetime.strptime( + response["data"]["hospitalizationDate"].split( + "-" + )[0], + "%Y%m%d", + ) + if response["data"]["hospitalizationDate"] else None - ), # 部分地区医疗收费票据无发票代码,深圳快瞳票据查验接口中票据代码由空字符转为None - "开票日期": parse( - response["data"]["invoiceDate"] - ).strftime( - "%Y-%m-%d" - ), # 深圳快瞳票据查验接口中开票日期由字符串(%Y-%m-%d)转为日期 + ), # 深圳快瞳票据查验接口中住院日期解析为入院日期和出院日期 + "出院日期": ( + datetime.strptime( + response["data"]["hospitalizationDate"].split( + "-" + )[1], + "%Y%m%d", + ) + if response["data"]["hospitalizationDate"] + else None + ), "校验码": response["data"]["checkCode"], - "票据金额": Decimal( + "开票金额": Decimal( response["data"]["amount"] ).quantize( Decimal("0.00"), @@ -900,546 +1013,310 @@ if __name__ == "__main__": "购药及就医机构": response["data"][ "receivablesInstitution" ], - "医保支付": format( - Decimal( - response["data"].get("medicarePay", "0.00") - ).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ), - "其它支付": format( - Decimal( - response["data"].get("otherPayment", "0.00") - ).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ), - "个人自付": format( - Decimal( - response["data"].get("personalPay", "0.00") - ).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ), - "自付一": format( - Decimal( - response["data"].get("self_pay_one", "0.00") - ).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ), # 深圳快瞳票据查验中就部分地区无自付一 - "自付二": format( - Decimal( - response["data"].get( - "classificationPays", "0.00" - ) - ).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ), # 深圳快瞳票据查验中就部分地区无自付二 - "个人自费": format( - Decimal( - response["data"].get("personalExpense", "0.00") - ).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ), - "住院日期": ( - parse(date.split("-")[0]).strftime("%Y-%m-%d") - if ( - date := response["data"].get( - "hospitalizationDate" - ) - ) - else None - ), # 深圳快瞳票据查验中就收费票据住院日期格式为%Y%m%d-%Y%m%d,即住院日期-出院日期 - "出院日期": ( - parse(date.split("-")[1]).strftime("%Y-%m-%d") - if date - else None - ), - "医疗机构类型": response["data"]["institutionsType"], - "项目": [ + "明细项": [ { "名称": item["itemName"], - "规格": item[ - "medical_level" - ], # 甲类无自付、乙类有自付、丙类全自付 - "单位": item["unit"], - "数量": format( - Decimal(item["number"]).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", + "数量": Decimal(item["number"]).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, ), - "金额": format( - Decimal(item["totalAmount"]).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", + "金额": Decimal(item["totalAmount"]).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, ), } - for item in response["data"]["feedetails"] + for item in response["data"]["feeitems"] ], - } - ) - # 若查验为假票或无法查验则 - else: - if response.get("status") == 400 and ( - response.get("code") == 10100 or response.get("code") == 10001 - ): - receipt["查验结果"] = "假票" - else: - receipt["查验结果"] = "无法查验" - - try: - - match image_type: - case "增值税发票": - try: - # 请求深圳快瞳增值税发票识别接口 - response = globals()["http_client"].post( - url=( - url := "https://ai.inspirvision.cn/s/api/ocr/vatInvoice" - ), - headers={"X-RequestId-Header": image_guid}, - data={ - "token": globals()[ - "authenticator" - ].get_token(servicer="szkt"), - "imgBase64": f"data:image/{image_format};base64,{image_base64}", - }, - guid=hashlib.md5( - (url + image_guid).encode("utf-8") - ) - .hexdigest() - .upper(), - ) - # 若深圳快瞳增值税发票识别响应非成功则返回None - if not ( - response.get("status") == 200 - and response.get("code") == 0 - ): - return None - - extraction = { - "票据类型": ( - invoice_type := ( - data := { - item["desc"]: item["value"] - for item in response["data"] - } - ).get("发票类型") - ), - "票据号码": (number := data.get("发票号码")), - "票据代码": data.get("发票代码"), - "开票日期": ( - datetime.strptime( - date, "%Y年%m月%d日" - ).strftime("%Y-%m-%d") - if re.match( - r"\d{4}年\d{1,2}月\d{1,2}日", - (date := data.get("开票日期")), - ) - else date - ), - "校验码": ( - check_code - if (check_code := data.get("校验码")) - else number - ), # 若校验码为空则默认为票据号码 - "收款方": data.get("销售方名称"), - "付款方": data.get("购买方名称"), - "票据金额": format( - Decimal( - data.get("小写金额").replace("¥", "") - if invoice_type == "电子发票(普通发票)" - else data.get("合计金额(小写)") - ).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ), - "备注": ( - remark - if (remark := data.get("备注")) - else None - ), - "项目": ( - [ - { - "名称": name, - "规格": ( - specification - if specification - else None - ), - "单位": unit if unit else None, - "数量": ( - format( - Decimal(quantity).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ) - if quantity - else None - ), - "金额": format( - ( - Decimal(amount) - + Decimal(tax) - ).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", # 价税合计,保留两位小数 - ), - } - for name, specification, unit, quantity, amount, tax in zip( - [ - component["value"] - for component in response[ - "data" - ] - if re.match( - r"^项目名称(\d+)?$", - component["desc"], - ) - ], - [ - component["value"] - for component in response[ - "data" - ] - if re.match( - r"^规格型号(\d+)?$", - component["desc"], - ) - ], - [ - component["value"] - for component in response[ - "data" - ] - if re.match( - r"^单位(\d+)?$", - component["desc"], - ) - ], - [ - component["value"] - for component in response[ - "data" - ] - if re.match( - r"^数量(\d+)?$", - component["desc"], - ) - ], - [ - component["value"] - for component in response[ - "data" - ] - if re.match( - r"^金额(\d+)?$", - component["desc"], - ) - ], - [ - component["value"] - for component in response[ - "data" - ] - if re.match( - r"^税额(\d+)?$", - component["desc"], - ) - ], - ) - ] - if invoice_type == "电子发票(普通发票)" - else [ - { - "名称": name, - "数量": format( - Decimal(quantity).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - "0.2f", - ), - "金额": format( - Decimal(amount).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ), - } - for name, quantity, amount in zip( - [ - component["value"] - for component in response[ - "data" - ] - if re.match( - r"^项目名称明细(\d+)?$", - component["desc"], - ) - ], - [ - component["value"] - for component in response[ - "data" - ] - if re.match( - r"^项目数量明细(\d+)?$", - component["desc"], - ) - ], - [ - component["value"] - for component in response[ - "data" - ] - if re.match( - r"^项目金额明细(\d+)?$", - component["desc"], - ) - ], - ) - ] - ), - "查验状态": "无法查验", - } - except: - pass - # 请求深圳快瞳收费票据识别接口 - response = globals()["http_client"].post( - url=(url := "https://ai.inspirvision.cn/s/api/ocr/medical"), - headers={"X-RequestId-Header": image_guid}, - data={ - "token": globals()["authenticator"].get_token( - servicer="szkt" - ), - "imgBase64": f"data:image/{image_format};base64,{image_base64}", - }, - guid=hashlib.md5((url + image_guid).encode("utf-8")) - .hexdigest() - .upper(), - ) - # 若深圳快瞳收费票据识别响应非成功则返回NONE - if not ( - response.get("status") == 200 and response.get("code") == 0 - ): - return None - - extraction = { - "票据类型": ( - "门诊收费票据" - if response["data"]["insured"]["receipt_outpatient"] - else "住院收费票据" - ), - "票据号码": ( - receipt := ( - response["data"]["insured"]["receipt_outpatient"] - or response["data"]["insured"][ - "receipt_hospitalization" - ] - )["receipts"][0] - )["receipt_no"][ - "value" - ], # 默认提取门诊/住院收费票据的第一张票据 - "票据代码": receipt["global_detail"]["invoice_code"][ - "value" - ], - "开票日期": receipt["global_detail"]["invoice_date"][ - "value" - ], # 深圳快瞳收费票据识别中就开票日期格式为%Y-%m-%d - "校验码": fuzzy_match( - target="校验码", - components=receipt["global_detail"]["region_specific"], - specify_key="name", - return_key="word.value", - ), - "收款方": receipt["hospital_name"]["value"], - "付款方": receipt["name"]["value"], - "票据金额": format( - Decimal(receipt["total_amount"]["value"]).quantize( + "个人自费": Decimal( + response["data"]["personalExpense"] + if response["data"]["personalExpense"] + else Decimal("0.00") + ).quantize( Decimal("0.00"), rounding=ROUND_HALF_UP, ), - ".2f", - ), - "医保支付": ( - format( - Decimal(field["value"]).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ) - if isinstance( - (field := receipt.get("medicare_pay")), dict - ) - else None - ), - "其它支付": format( - ( - Decimal(value).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, + "个人自付": Decimal( + response["data"]["personalPay"] + if response["data"]["personalPay"] + else Decimal("0.00") + ).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, + ), + "医保支付": ( + Decimal(response["data"]["medicarePay"]) + if response["data"]["medicarePay"] + else Decimal("0.00") + + Decimal( + response["data"]["otherPayment"] + if response["data"]["otherPayment"] + else Decimal("0.00") ) - if ( - value := fuzzy_match( - target="其它支付", - components=receipt.get( - "global_detail", {} - ).get("pay_list", []), - specify_key="name", - return_key="word.value", - ) + ).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, + ), # 包括医保统筹基金支付和其它支付(例如,退休补充支付) + } + ) + # 若查验结果为假票或无法查验则再请求深圳快瞳票据识别接口接整合至赔案档案 + else: + receipt["查验结果"] = ( + "假票" + if response.get("status") == 400 + and (response.get("code") == 10100 or response.get("code") == 10001) + else "无法查验" + ) # 假票:查无此票或查验成功五要素不一致 + + match image["影像件类型"]: + case "增值税发票": + # 请求深圳快瞳增值税发票识别接口 + response = http_client.post( + url=( + url := "https://ai.inspirvision.cn/s/api/ocr/vatInvoice" + ), + headers={ + "X-RequestId-Header": image["影像件唯一标识"] + }, # 以影像件唯一标识作为请求唯一标识,用于双方联查 + data={ + "token": authenticator.get_token( + servicer="szkt" + ), # 获取深圳快瞳访问令牌 + "imgBase64": f"data:image/{image["影像件格式"].lstrip(".")};base64,{image["影像件BASE64编码"]}", + }, + guid=md5((url + image["影像件唯一标识"]).encode("utf-8")) + .hexdigest() + .upper(), + ) + # TODO: 若响应非成功则流转至人工处理 + if not ( + response.get("status") == 200 and response.get("code") == 0 + ): + raise RuntimeError("请求深圳快瞳增值税发票识别接口发生异常") + + # noinspection PyTypeChecker + receipt.update( + { + "票据号": query_value(response["data"], "发票号码"), + "票据代码": query_value(response["data"], "发票代码"), + "开票日期": datetime.strptime( + query_value(response["data"], "开票日期"), + "%Y年%m月%d日", + ), + "校验码": query_value(response["data"], "校验码"), + "开票金额": Decimal( + query_value(response["data"], "小写金额").replace( + "¥", "" + ) + ).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, + ), + "姓名": query_value(response["data"], "购买方名称"), + "购药及就医机构": query_value( + response["data"], "销售方名称" + ), + "明细项": parse_items(response["data"]), + "备注": query_value(response["data"], "备注"), + } + ) + case "医疗门诊收费票据" | "医疗住院收费票据": + # 请求深圳快瞳医疗收费票据识别接口 + response = http_client.post( + url=(url := "https://ai.inspirvision.cn/s/api/ocr/medical"), + headers={ + "X-RequestId-Header": image["影像件唯一标识"] + }, # 以影像件唯一标识作为请求唯一标识,用于双方联查 + data={ + "token": authenticator.get_token( + servicer="szkt" + ), # 获取深圳快瞳访问令牌 + "imgBase64": f"data:image/{image["影像件格式"].lstrip(".")};base64,{image["影像件BASE64编码"]}", + }, + guid=md5((url + image["影像件唯一标识"]).encode("utf-8")) + .hexdigest() + .upper(), + ) + # TODO: 若响应非成功则流转至人工处理 + if not ( + response.get("status") == 200 and response.get("code") == 0 + ): + raise RuntimeError( + "请求深圳快瞳医疗收费票据识别接口发生异常" + ) + + # noinspection PyTypeChecker + receipt.update( + { + "票据号": ( + receipt := ( + response["data"]["insured"][ + ( + "receipt_hospitalization" + if image["影像件类型"] + == "医疗门诊收费票据" + else "receipt_outpatient" + ) + ] + )["receipts"][0] + )["receipt_no"][ + "value" + ], # 默认为第一张票据 + "票据代码": receipt["global_detail"]["invoice_code"][ + "value" + ], + "开票日期": datetime.strptime( + receipt["global_detail"]["invoice_date"]["value"], + "%Y-%m-%d", + ), + "校验码": query_value( + receipt["global_detail"]["region_specific"], + "校验码", + ), + "开票金额": Decimal( + receipt["total_amount"]["value"] + ).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, + ), + "姓名": receipt["name"]["value"], + "购药及就医机构": receipt["hospital_name"]["value"], + "明细项": [ + { + "名称": field["value"], + "数量": Decimal(field["value"]).quantize( + Decimal("0.00"), + rounding=( + ROUND_HALF_UP + if isinstance( + (field := item["number"]), dict + ) + else None + ), + ), + "金额": ( + format( + Decimal(field["value"]).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, + ), + ".2f", + ) + if isinstance( + (field := item["total_amount"]), dict + ) + else None + ), + } + for item in receipt["feeitems"] + ], + "医保支付": ( + format( + Decimal(field["value"]).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, + ), + ".2f", + ) + if isinstance( + (field := receipt.get("medicare_pay")), dict ) else None ), - ".2f", - ), - "个人自付": ( - format( - Decimal(field["value"]).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, + "其它支付": format( + ( + Decimal(value).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, + ) + if ( + value := fuzzy_match( + target="其它支付", + components=receipt.get( + "global_detail", {} + ).get("pay_list", []), + specify_key="name", + return_key="word.value", + ) + ) + else None ), ".2f", - ) - if isinstance((field := receipt.get("self_pay")), dict) - else None - ), - "自付一": ( - format( - Decimal(field["value"]).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ) - if isinstance( - field := (receipt.get("self_pay_one")), dict - ) - else None - ), - "自付二": ( - format( - Decimal(field["value"]).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ) - if isinstance( - field := (receipt.get("self_pay_two")), dict - ) - else None - ), - "个人自费": ( - format( - Decimal(field["value"]).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ) - if isinstance(field := (receipt.get("self_cost")), dict) - else None - ), - "住院日期": ( - datetime.strptime(field["value"], "%Y%m%d").strftime( - "%Y-%m-%d" - ) - if isinstance(field := (receipt.get("starttime")), dict) - else None - ), - "出院日期": ( - datetime.strptime(field["value"], "%Y%m%d").strftime( - "%Y-%m-%d" - ) - if isinstance(field := (receipt.get("endtime")), dict) - else None - ), - "医疗机构类型": receipt["others"][ - "medical_institution_type" - ]["value"], - "项目": [ - { - "名称": ( - field["value"] - if isinstance( - (field := item["item_name"]), dict - ) - else None - ), - "规格": ( - field["value"] - if isinstance( - (field := item["specifications"]), dict - ) - else None - ), - "单位": ( - field["value"] - if isinstance((field := item["unit"]), dict) - else None - ), - "数量": ( - format( - Decimal(field["value"]).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ) - if isinstance((field := item["number"]), dict) - else None - ), - "金额": ( - format( - Decimal(field["value"]).quantize( - Decimal("0.00"), - rounding=ROUND_HALF_UP, - ), - ".2f", - ) - if isinstance( - (field := item["total_amount"]), dict - ) - else None - ), - } - for item in receipt["feeitems"] - ], - "查验状态": "无法查验", - } - return extraction - except: - return None + ), + "个人自付": ( + format( + Decimal(field["value"]).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, + ), + ".2f", + ) + if isinstance( + (field := receipt.get("self_pay")), dict + ) + else None + ), + "自付一": ( + format( + Decimal(field["value"]).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, + ), + ".2f", + ) + if isinstance( + field := (receipt.get("self_pay_one")), dict + ) + else None + ), + "自付二": ( + format( + Decimal(field["value"]).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, + ), + ".2f", + ) + if isinstance( + field := (receipt.get("self_pay_two")), dict + ) + else None + ), + "个人自费": ( + format( + Decimal(field["value"]).quantize( + Decimal("0.00"), + rounding=ROUND_HALF_UP, + ), + ".2f", + ) + if isinstance( + field := (receipt.get("self_cost")), dict + ) + else None + ), + "住院日期": ( + datetime.strptime( + field["value"], "%Y%m%d" + ).strftime("%Y-%m-%d") + if isinstance( + field := (receipt.get("starttime")), dict + ) + else None + ), + "出院日期": ( + datetime.strptime( + field["value"], "%Y%m%d" + ).strftime("%Y-%m-%d") + if isinstance( + field := (receipt.get("endtime")), dict + ) + else None + ), + "医疗机构类型": receipt["others"][ + "medical_institution_type" + ]["value"], + } + ) # noinspection PyShadowingNames def bank_card_recognize(image) -> None: