From 17ce41209fdb8018fb688653882c3957336376cb Mon Sep 17 00:00:00 2001 From: he <109787524@qq.com> Date: Thu, 25 Sep 2025 13:33:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E6=A8=A1=E6=9D=BF=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TumorEvaluation_IRECIST1.1_CN_V1.docx | Bin 25473 -> 25981 bytes .../IRaCIS.Core.Application.xml | 5 ++ .../Reading/Dto/ExportTumorEvaluationDto.cs | 11 ++++ .../IRECIST1Point1CalculateService.cs | 52 +++++++++++++++--- IRaCIS.Core.Domain/Allocation/VisitTask.cs | 2 +- 5 files changed, 60 insertions(+), 10 deletions(-) diff --git a/IRaCIS.Core.API/wwwroot/ReadReoprtTemplate/TumorEvaluation_IRECIST1.1_CN_V1.docx b/IRaCIS.Core.API/wwwroot/ReadReoprtTemplate/TumorEvaluation_IRECIST1.1_CN_V1.docx index b42cbdbb8ff650629c14b74824b9b6770d6487c3..f0e240a9332d194b6910e9415516433918d08c7a 100644 GIT binary patch delta 14073 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 afws*A!5cvM=Dgq=APsX`XjGH`#QYyCF~BMS delta 13600 zcmZX*b8sh7*DV~|wylXhv2EM7F&*2#m=oLf#MZ=iGMN|?Px8(CJYU_n>fZjNtE>9# zQ(d*s>Alw4XZ@W74;}+g;)4Gva0_Px4hH6zEQAjXD4nyS^$14;QEti(w2E{#_8NnS z55v_`&FtRK<^kXRC@^|}_rp?5*D zz4ZbqKGsL)QT$0EKePAzMYc^d)|*ZJ+Sx!Hjkj<>{gVHeId*E3hVgebjee?TMy;-YSh!RDEKMpASf9sr_Ew!V|{xfDNZ|+duosr77&QCk2m$R zDzYk=ayP1A&ape_lH$yZ@{0(s?IRj7d4TVogwWyeGv||bSK_v~9VZ9rU%+U?F3gbg z<*)dhf?U6%sYa%niL7|HIe@E~(20iLqAa41?CPOvbqm98%toj&_E(9Q&0f*y$9TG{ z2=j8mWlSC0WVLaJ05M;b6XrH58rf$I;YECDB)b#f5w}9)AcAUF|K!C!+*D*13j*XG zJY}3pqtN)x9)ob5lP>kYPYCz2HP_$o&yElO-2T1nOhzuB0i|xefNuO&5sn5Jb~E&{ zkUpIrHq@&XTyO=c4l_$!#Sl}P@_Jh%o$7Frvpm}OcU6#GFx1tO;N`_CCZsAzl6Zue zwyICwj$1tWQyu@@CmtLBH!01Qke^5h9JBR2m~dcV5_ljdG(2z}P$U`$fDz{O@Zt%1 zvHR^)^~n0E&Z()YCvzUx!tG?TMbGm1a^z^SHOmjwT-JI#d7^p7LW5eD_5N|U`}yi9 zY;Uj$q3;euF=?e$f(ugIbh17@RqS#NcQn$_*M@L4Tn=~KcMkM7T6=YB&nwexY;|m# zzN-o3wGOM85LNJGTVFl~F38OEENl(Amb)$!rmOz&%Wv;n3#xu%_YO^T$a#k|ZW zUb;0DGUO<>IZD}%?54r6I7yK|^}8MPjZ61^rS3lv?C7rly?hwmZ)W6eqOV&x`9aND{3GC&OGZ(yi-X{NopTxZbhh4UEnwiBY>Z^Eg$EM#s#O!lV`#%yB% zo~jdrwV(^dE)hc;aB}qa^>@sOZQDrr4JANluvqp74Y)RDV@_T;ciEj&bn1qg$Vz=p?in_qYULHe-cE6aA^Jo&fLZeXB@M-perT~pXa+e zHbn2bmlfOWc)l)HP2H3>Ke4o&8G<&gFg=KCXs_?6ZBIEM~UK+!N+Se@3AB*h^ z;s5k_{UIjv%SyXyopR#2%)wyKEFkKxynNjFYvbJHwJ6}a^jYZ|?YQxM!U2C}b|-M_ zxDH>zCRdgPxD;=-FSzNa*9Ob}-noG-uN@i-+w-6xzG{FJhzp^!0l_MKLE?ATqt^+a zXx%HHU9_Mga`=5W)$+Wxn*2V?ahqsE zLQDHiXja_&wcKy+shPao@T=(5tHb$8hhVsx>VP5W6w?#vG0^H|+&-Z6_=P?drZNLj z2208RJ6Vhll}nsHq=IgMUXCqBEx;D3j&^||u90JDRjSA@Gb#VJk%K8IT3;hgv8?Vh)wwI#XEI2F^N@vzS6soJu&=O<4lGD3YC~ zGEx$Vbi+hQBjb|xtVxSOSGFZXR>f+JmnxixIme2#RrV#CfH>?Uixy*@q#~o;iz-*} z4SUnU$wc@XY?f+!rb@wTD-;jEkm)Ft7)E>M-qZNQXIP%qmRvJNu7tKJ?3rnhA6ouE z1{$jp+N#3}eZ+wyTDn5CDhv~x#)it>z=j+klbrjzPZ2QzyW-!;N`ku#NF)pIWrOqCz!MuC7_Ua+&`T)k!Q*qy4e@_~dw+eTh_EiD zA&<@<6M>evrxLMKqW-xk6v2~5M=2AR#}KV%GK8nw(XXNK$vdDawUkG<7^=NQApPVe4?i#SLJwr zR@>bB^N%Tj;C>DJT~k1B>_@9i;G1+hAYq|uK5 zocpZrtoyge`y5BdV+}Uu<@xH;yWe`Yk_(o_g};FryR(^MZ59LiTAj8M9;%u7G`q8O zv$StUZ*To?y3XCET2@3@-4k4$UlUdqzK&*^qS`nV$QIWrfpfQrx>9_txVQiiW(239a;-YBh%(j2z@o zWZMCE@Y$VYht@i~szAiq-hV$ka}9Yz^<6KPUm^aY&&iJ8L}$O;!n^OWQ1oR0cb3*r zYdl7r*vNGQ^R?+4w@#F2>w7r*2PsO@+rzf{nAhi?lZ24Fr#o)B);CS`fA&;;Xo+|Y z|6%y&$PEHg*nqwrb>srJS@=+Ev{Og z4&UDTnjq!vvZ3#)Y&`_7jy;ynX4}dOI!*`Ez7C|-I-+c4b1lHbtbCZt|EBx*x+bsA zlJGKvTHkGM^ZbvNKe4^$N?!bM`|IR6?mqRkcxhT&Pw(myvU-)hi*xVYs9b%3Ei`~D zQwig*y=}8KxJ&$a*cIKsldSExS)QWBJkd~1Z*@jN!u1k+!WiMCe-n{jwYi)^q5G&Q zpC;!b(PV+0Ka#wmRg(r;+U_=FBhRY7->dD(_=4tQQXH&i2;};;hdF;eJ>aW7{ct)cb%xPduK~9Gb(Is%&|LSUK zdHmk|8CEdY--jq%@bv}eB!50-qgLZ|08XLi|=5UW@- z>oU(JkRbf^h4rRokE<=Ax?% z8x1qB1ytO2UhjC61^I8X!kziU%v$odp}_w6%?3v414k5dgMJnr$}2v3j_n-dqz*)}~Y<5d=NQ4=vay5Tp>vo}KQMP+D^bC2Zs zLLGFow{y_B6+Kx8ZU`tLvsydrb8|xW2vyn>K9_qEt`NOROQ-DLtsM;@-p`JF9N?Zv zCw*--eeeRK%Z?a5DTJkWMZevTkwR%675C8(nt=S}HfDx9;-nq7Nbr_uydG`Vb$D8X zhZ>unS9&~FbfDwL)FlJi_Jch5h1|;Z@zu4NW*QDW2SzzjK1p5nn7PJSm;l& z-7I`!T}T%~Q}+Z-lV4XdFt{&ZKl5m{?qwIlKZF`n5;qbo!$s;EC)EADLk@@}1UCL)YHzHfjhU{H{GD`&Y;%FP{ss-x>>NyKbNC8g>s+>G~Po>TQ z+@IJ8+)3!Y{7@l2o&hmC_5TbPXb4jgu-P{JYTtL?-f&=C>e7io3DcF*b=`u!MGX}C7YyRI*_a;xuT5KGPZaMI_@A*cM%VX18yG#r%O%1P^xW@l6IYA@8 zGDrUB+|%DL!oPRlGH|ayk<%&BBcfU3I^rD%dQ32R_SP85!-H!r@*T+GhWuX}U2Sr} zAr&;;c!_4i+U=8T2o1<7_a_v1hnzO%jcu<<6clZpAlPq^CvS}h4q^w(W z)Tl^ijj&;3D^Hd=dB7N@Lm8!$cuiLs)u4kMfU$I;o!y%x%5%)!~VO&n*2CGeFzvwViqjmeQTfVVv_Frpn0 z5PG{R{_x(-2Y}D_MB@SX#PxNS?!>+oC){gtY40DQwyf+Ky}F%o3gwwW%Zkcx#Kcb~ zc7k|KiEG;4Ff*gWG$G@)tY_zyKhCXE+um4je%BG{DT(X9FozQeS$n8e9D7K)aPaN3 zQ$X^F=G62d2xknoL){^B_7_S)G-jSfhlvp}GsBvVP*-@1S=H8foU1{zj0@v+ATCktIC zIfedI!6-5DB{PA`P34pG$0yOJU1%>dt*u-1^fZS%v<#dy+~h$hD^N@K`RFMl@UfDF zN~(Pa>Q6HJS|LI>W{^#h-gj2i!^M*J%8xFmWLs-I4yfl5u0PYKLE>17q1z&kV2$9~ z^(?LbQ0B(R)#e-E4_hxV6H0rpt=@Cz>c^U8^b6=-bt3T?3Zr3T>Gm5U#vYBFdq-oM z@55Nm)MVtPn&7f#h6#9~R;e6!6ZZEbZSU}CF;s3NnE)LV-mXblBE+jS(UP=nW${RS ztDteX?JMHB)Y=iTZGz1oFQx8d)6>1NtGBaLk5tUx(mw*+6^1h=XVPV*QsSs)zeVa5 zNY=2LP!(o4mJI35Q|C|1s9}TS%f^6n9DpB7a5xaB@Zr2XQ4PqX(9*joi(#KAGEjrv zV8gAXsLS%HH)U9SX(my`_h3++P1>5YWj>)vgA*N2`HP0?)CliTNwl9rb!{du_(ek)Nr zJ;w7FHMdkCasF3I4#C{7!C$JSXozd^XAuN0I)Qo>$$GpR^ut6OI$@{B44jh@R+$i_ zN2g4_@-<& zg7B~wyYIeq-;?M=3sKGwYo()iax-^==$TuqlLmy{Fbo9nRkgOQzOPIJLg#tTcLAic z*0d(E9DGw6nG?<=jzAxu$y-b*0spP#t!({?Bi=hYWQF>{v4d~-ghlmh!=}>cI|biK z7HdCnkhS4Ep*pis6BAAoNBxli4iPOW<9^nbF-vdkitt|1mK&sv1V0mWnslr;toeQO z7&#pd6vUAglyO6Nsb{t)=^&P=7JM|_;vhC?viy@q)u|!nt7U3Vz?=d@xy0dkQM4{9 z{cEjY_)kH`{>cvdurn#Sy;GR}!~u^e{WUkh``b$E`N@@HI&QVSKulRL`E5o#N+!j8 zgXODg&!O&N*|2Y7!jG@&9e-LYT#UUXFCqhWJf4%qm4a4(b>n@M`)4Vw3~?K)zjMla z<<$}zB8Syc`IEMu6QSM6G0=vl0=jU@){^QF7T2{>9LEk%|$0Yo_l)PRjtUL zP_(rC!v=*T^maZYEuN?CtWF(`s}KbTd?h( z+`E$R>^u*}0^TSHDncTTzNSTpdYXOqo|Vk?Z@HM*XBefle5Ka;qpU=unbrQ1R>{+5 zQ7CMjcm;%XsrK-Q3x|mwK-pKK)N!GdR}F&Y^6|TGukq4r<8EIC_)7LW71CE{_2@Hq zH*wN4hRe!Zd#Fg$!d8~m38kFJ<{cO3*G`AtrkKRrj!J3Hxsny4;vFn~SU|PYeYGVt z-7Lq17&)yLMhvRoC$#wgJUAqlM6pPE&==*4hZOsnwN?Fh52B@#R`q@pNcIEMp3&ELK9$|H zVNy*^Z#D%7Q3b9V5DhwbAAmi*{)z(Ux+l^wBirJ1ET7o@%_x5R)v_SQMcQhxxA(HF zk{d-JrFvCse~t!ChhPqx7fh923nYC+bt28*T}^Rd|;SjzrE7~9~j#uEo>v&bj< zM>`?eRSB2X@XaZ@mS7B@?BBYbudj)Fj9A>&ld451IH3a-`882ejgFAe#ha@sEe;`v zxPMQ;kSkP#y7OIJMQKaG{kRN8x;9GnF>b0gPrVL};3WVw+PGa)ZdqXY#z^IZ-uL6i znBa?`bWIKbb{&3w%S-}MoYYO#2SjI*gPlFc@OFJ%FO+u;x;5SkHolvIW-X26>A|C3 z;S)L}F_odnLy%Z}EuM;bpht!I&ztbY`sgh9m?#O^?|z%z+J8FeN*Hs+W1@n{EwhlM zsx5>MQY0vHGXy)iysuOwO6YEiEE(kT3%J4KGKEF}x*+hjkh>1S%zGRk>zZVXV>PHI zgd?L-%UGHb%}QAYX7UP5J#V6OAX2CFkvQPyf+ZFQ@OGbBYMnBqRCx2*!ni4L7E;c+5B{O^WMMp zvC&h3Y~>wa20BRw>S^ZOsRQx`uD8sQTvh6>>p%#7s5UqUNsLc!>%ygE<-}Yw^$?68 z*>K&_J)8+03z)tCK(f{TCquHzDDcSJG`<{6%_Cf2YBYWdkCH>JWTg#wCU4cCCb#BV zM}1=1h!6z3?|;odBfCeWq*=M5xNlpMq0~n6H>?w;E+kg3eOU`YgkI8q)3(V8t3Sk!_{6MRi7NfP!lI& z9V*=SLui@sRkg`8C(`zHksl0ha8!Ivf{Pr!=> z>etm1CC(d)UL78qv<7;3Hrn>Fjo!jp4;Ch<&J_z1^TwVRf;v!7z1Y#-*iG~bd1N5nUXzP zWokr9+Qf#~u~j`4pz1(z^u-F77D>uvK_q32?&Q%X5nU>AGQMKVCi+R#PeG$j&YE4e{|H_KWOJT5F)>6z7yu-tA*nNTaM(zZyh?r_vg3M0qf5fhJyvU99A#dXVvAeqAb{D$mHibMh|IK?;o;YS_o$t(w zT+I~HEwgC8Vin%6$A+u0$A(i(m-&#oixwrADwMpeVw4%ay*z+$tA$wjs%JjI_&XX^ z4ss_;wID^fHZ6Ll!dU{Ak$)&vO2d`*K#?Y22%d?crlHwxP9 z%NSL1+Y8MC?U;UFA&Do81Jrb(#LN85*TO2>j?wy?Ql!d4gf^5J3wKSgA!$vbjct7*b-{nUbUYo zDe2)S?J3dI&Cyi#Z27BjQ7KDCzOMY5q|BwSbVj9b^K>g0Q%1UAeL~j6Z6&#taXTzc zC9kA{SHgau7X$rIfDi8buX|Y1-2NwC6{FD5!TDaa(-@6-x_aY23{~u1&gD^4>7SBH z-GiVla9~7b^H)^Hc9)MLpBG_f7i_a0Q^9ADmd4qJl*C!~{WGn&Z?mzX`;L^0Vcyqw z)`l3rO;vLbTbH;xs>;*JX*BBUJN~ze_EX>+7Qq~aLeV(#dX8MTAEcL3t12_!Ou-1z zy-`Q%`PmU_@5jT@z1ehX4WVnXb4j1DLZSci5KqzQH=t1tnBGKERu3e znAVHx`SK3EuI(l=eL>oCqDJRK7DBRHg>xMK1-k5&U3>3gfrbSa`(;$#bLGaaJtQo{KPDC zGd<@-tmwkW}@a~wX?#>P^Olnq-$n3xG{OOhvC4mP}NPn>xCMVn_D zp%%rMr}_^67xzF37b1HEJe!Ujz>BF+vihP%LLoUSC_3Y)_%o-uWR^11?0)z~ceO63 zn+N~4yzY`N`!QnJ*ouPjAB~KDxC4(Q#o@3@6Jz+cLN{)dV_aEsVDrB9?)efJxB}9dyPPdxt~8jBRh4oCp9j>8Z8L7Gx_gELWk&wDBjzll z=`kkn5Kcn6cusP-^!E3})}u%*PEBr`6DPwS5WKqhgbhOwaH~N8Fere!rBYL81$)t2 zK^U`1DaiO#;NTQC_~=Vaw0oq}xxNzC{gVw_o=rJT&5@c_nzzjShm((BzKR@Jx^EzV zq?;m5LD4grRD&9OymcRy45mDNFqvYC+-g8ht!BebFmX3nM75U*T19lLd6)>Yt~<^H z-iFzm1lzVrd{ilr#C7e+;lq*77b`?Zm4nbu+<8-q=6z+h%GRZXm7iTKBC915Ket_S zv&2i?VrIryDs7VRV+%oJxOR(mBPBuBW3Gjl-jJ6@e_4&88QENnqf@q$@8)U**Qh4~ zEb+^VQcxrqDhnLXi`WaVGihS#H{{bpiQDFWwcIpGD8>;WqkJ@3?k)7~&IC&(u2fs5 z?^s0$$9TCb$n?HmAP57CJXb0(>n>1-{<^7Z5EOJa~v?NW@ zl&sB7DsE{HozvVmB$aWU4X*CepeOX-K~hWgY)){NvWp}-n6q)aY)l+#{_`9L`4$%; zhPfZw1%F6^j~Vs2ZS$1I+dpQeH@u(18M9;q3?Z5he)?={gx{7#(7V~nnvxpqzVm0H zEoa(_MKOS)s^U6V$%@Pd@5Bec;M3%F%bZ<+oC_`Rs&xy(qU|9({LmlVvQ$8Z#e%fQ ze2|SeVv6R|rsS$1M%P}%hy6N>>IkI{+i8gjD5puFVjWiaOF6a&(a=9te(SS;7vxHF zs4$A}S#)4`hW(S*SU^)jc5$4HmTlZbRw5R@to(%TW$jLXPpEiF*E04`Ga`IEmuTf_ z17#<+750?^j78VzS>jpM{2ZIZrcErXb7R;DP92X(6fN{{0Fb*=+d7sXS#@&nyum z!sY5WWdz8{_jw0h!w%ub98s^QqAZ;>RwOMAW73RkgD%YEFupbUf+J9BU{(`&+gr^e zvXV453ZfujSF1K|h&1Yi%m`4w(E=nbJrVW4-%Z2+cqu2VoQuwQjM4{V)^9d&eyvL0;Sd#w4DbGr9+B z`|2=dYmH{ z(w5PuB$318t1)2gp^dA7no#NADlP@b8rV@G|9+254Gfs34H1G0oS(tJT*eFyh-+@} z(-_|(wtY)#Q--&XuKS%1=rK!j!al4h!tl09BK&=j-GrUaFSb0KQ5zHwi-bdMGQnVnYctcyacF;+B2$b19m5Py@ z7#ntOLedj@dHjb8{`!+XeO^CVLX+!cwV|*Pj4syF5|E5R%%CIVj0oq`|{mJTGZ-!gd^eQegV(2mHjaM4M8C8 z(5J_j#Ul%?&42w!rJ)e8|CG9HHRgZ)NU0y;R*BDH(@u-3H;u>b!^|2izEAVX>tlNe zM;S=Xg_!`(8yX?<;+U6w5ey-FKaf@%=%LoD)PQQ zPpuDCCoLyQUb zMSJ^r@O&vKTst^la;E!FgAWJJ#+BVVxVFJaz7;z_QP8EQ8^3|CcS>pIKggC`Uhn@1 zEYU0(8x`r3*u&TV1Qy`S@qcvqe=>Z=OVB<40NOZ-U4R>h-Ri>`7OXli+6VMq6ZvL@ zFI-XExD64zxR>X{ZSKne&b0-IJcNmlFP^iV&Uq*tw&{uQcXh~9vy zQfz%XRr56#NQ*=ZY083RE*h`F8LLrZ78k!-mf)vJ4MG&4B55Bu6dBiQm8ijqL>GjV zGijPfTnBH0+y|3O{}~Q(V%oJ@Y?Bn4Ha#FFjF{{AuDLp>aEB>*MnuPx3_fB&5?L1) z`J_qQ_P%$UzrpG!5aE;)FapnwR3O3!4u@2s(jf;IdmgW`>VikT zjcHb(yYB31EXj<`YixX8&+D(XSH-1-)@9!-N#S|Q%L{S~_KlFcNV>HXOg1hpJ1D%( zG?`H-yqMw|o(g*pLLOPi3QR~QLg~0ZTZ3bKcb{HpF`IL=;ea5rYX#4CRLOP7 zC%F~{u)RE74qw9kdftg?|6;;N*x9{)D?DA#Z$+i{T`jfB1UkZqFcf*Tk4^48widaC|(fIrmtIaOsu8*-3X~;1#khbTX_I zGH6@^FchLwh+WS`jE!Oxpa@ZkB6BO%B6=2`8soSUSvSU@;}P>Fto4(HI`g3*n+@b+ z9X4!3EiDDDQL8I19orO2qrQVa zu&uf6w8)CpCw)LnvFq&G z#JpShJUdlu!z;L0Yhr>=`Z44BZFYSG*2u42!a6#vV{0`&o`#b(-1kp_*8u|S|}YG`=%)=21G!zJbWtA zTc9c3d4yfL9+g&;|3*GqZnGeDxhRPPJ#~hdHOGtHTKj~}Tv&|dH_6a@v2w9kn`~!5 zpQT>AKi%W;m)F#6nFfezBXCV;th7`m9Wo7Qr`&A`xdYo2Frr924b8wL$Hq?!GQ^bl z6#$;QiUhTf)?=D$ca81XvzmfwipfAxQU-psmBKE`8+MLWut$=xhdXE(7O+TPfKh7O zD>uwyfHph%!d~TIoMYU`U%+zMF2UB!rd_-aWi{Y_hJ+Ky29K4N^@gcp$=<+$iBu&>^6N?i0^1jH|R$EHvkAKHEz| zM50CvzixR8mjD7!*=X_(dho6pQg4_C7(RM!MQ8_%d*T+*W)c`)@RT;2;@ z!w$)^Pal|i`I1KLp?k2Ua*R~4r>_r0^8-18XN2~Sf)MmO z(=Re@vBj{>6kuQwM38J^J~7*!SIY5PvA?njy0?F-tnm$E`VS|iI+WWU#9HEK)1{s4--@eVb|rQ06~A`9yF>E9X8T{>RbqZ?XTo z{@F}GeKg3;rFv=55Do?)K@(w!L>*9|2|Gly4ye(D2f|n#^xK3RVqF(>tB(b;Ge-eQ zm=Zw1>VZs5LlPzxd2k3Uu>bYI{O`$5NHFyOd@>jqI2hT# zCkw5YhD9T_P + + + 是否为转变任务 + + 医生签名时间 diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs b/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs index 0a783ab17..3b4e2162d 100644 --- a/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs +++ b/IRaCIS.Core.Application/Service/Reading/Dto/ExportTumorEvaluationDto.cs @@ -283,6 +283,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string OneDoctorSign { get; set; } = string.Empty; + public bool OneIsConvertedTask { get; set; } = false; + public string TwoVisitName { get; set; } = string.Empty; public string TwoCheckDate { get; set; } = string.Empty; @@ -339,6 +341,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string TwoDoctorSign { get; set; } = string.Empty; + public bool TwoIsConvertedTask { get; set; } = false; + public string ThreeVisitName { get; set; } = string.Empty; public string ThreeCheckDate { get; set; } = string.Empty; @@ -393,6 +397,8 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto public string ThreeDoctorSignTime { get; set; } = string.Empty; public string ThreeDoctorSign { get; set; } = string.Empty; + + public bool ThreeIsConvertedTask { get; set; } = false; } public class ExportVisitData @@ -488,6 +494,11 @@ namespace IRaCIS.Core.Application.Service.Reading.Dto /// public string SignTime { get; set; } = string.Empty; + /// + /// 是否为转变任务 + /// + public bool IsConvertedTask { get; set; } = false; + /// /// 医生签名时间 /// diff --git a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs index 4a53cae18..7559633f2 100644 --- a/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs +++ b/IRaCIS.Core.Application/Service/ReadingCalculate/IRECIST1Point1CalculateService.cs @@ -101,6 +101,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate .Include(x => x.SourceSubjectVisit).Include(x => x.SourceSubjectVisit.StudyList) .Include(x => x.DoctorUser).ToListAsync(); + var isConvertedTaskList= await _visitTaskRepository.Where(x => relatedTaskIds.Contains(x.Id)).Select(x => new { x.Id, x.IsConvertedTask }).ToListAsync(); + string getHavePreviousNewLesions(Guid visitId) @@ -134,8 +136,8 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate HaveNewLesion = _generalCalculateService.GetTaskanswer(answerList, dictionList, unitDictionary, x.Id, QuestionType.NewLesions), // 是否有明确既往新病灶 // 结果为IPUD就是有 其他的是无 HavePreviousNewLesions = getHavePreviousNewLesions(x.Id), - - // 是否有明确既往新病灶 + IsConvertedTask= isConvertedTaskList.Where(y=>y.Id==x.Id).Select(x=>x.IsConvertedTask).FirstOrDefault(), + // 是否有触发iRECIST后新病灶 HaveTriggeringIRECSITNewLesions = _generalCalculateService.GetTaskanswer(answerList, dictionList, unitDictionary, x.Id, QuestionType.IRECISTNewTargetLesion), NewTargetResult = _generalCalculateService.GetTaskanswer(answerList, dictionList, unitDictionary, x.Id, QuestionType.NewTargetLesion), @@ -232,6 +234,19 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate var subjectName = subjectInfo.ShortName; var subjectCode = string.Join(",", patientIdStrList); //患者编号; + foreach (var item in exportVisitDatas) + { + if (!item.IsConvertedTask) + { + item.HavePreviousNewLesions = "NA"; + item.HaveTriggeringIRECSITNewLesions = "NA"; + item.NewTargetResult = "NA"; + item.NewNoTargetResult = "NA"; + item.OtherPreviousNewLesionResult = "NA"; + item.TriggeringIRECSITResult = "NA"; + item.NewLesionEvaluationResult = "NA"; + } + } List resultdata = new List(); @@ -252,6 +267,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate "OtherPreviousNewLesionResult", "TriggeringIRECSITResult", "NewLesionEvaluationResult", + "IsConvertedTask", }; var forCount = (int)Math.Ceiling((double)exportVisitDatas.Count() / 3); @@ -518,6 +534,14 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate new ExportReportQuestion (){QuestionType=QuestionType.LowVisit}, }; + var evaluationList= new List() + { new ExportReportQuestion (){QuestionType=QuestionType.TargetLesion}, + new ExportReportQuestion (){ QuestionType=QuestionType.NoTargetLesion}, + new ExportReportQuestion (){ QuestionType=QuestionType.NewLesions}, + new ExportReportQuestion (){ QuestionType=QuestionType.ExistDisease}, + new ExportReportQuestion (){ QuestionType=QuestionType.Tumor } + }; + var isConvertedTask = await _visitTaskRepository.Where(x => x.Id == inDto.VisitTaskId).Select(x => x.IsConvertedTask).FirstOrDefaultAsync(); if (isConvertedTask) @@ -529,6 +553,22 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate }); + evaluationList = new List() + { + new ExportReportQuestion (){QuestionType=QuestionType.TargetLesion}, + new ExportReportQuestion (){ QuestionType=QuestionType.NoTargetLesion}, + new ExportReportQuestion (){ QuestionType=QuestionType.NewLesions}, + + new ExportReportQuestion (){ QuestionType=QuestionType.NewTargetLesion}, + new ExportReportQuestion (){ QuestionType=QuestionType.NewNoTargetLesion}, + new ExportReportQuestion (){ QuestionType=QuestionType.OtherNewTargetLesion}, + new ExportReportQuestion (){ QuestionType=QuestionType.IRECISTNewTargetLesion}, + new ExportReportQuestion (){ QuestionType=QuestionType.NewLesionEvaluation}, + + new ExportReportQuestion (){ QuestionType=QuestionType.ExistDisease}, + new ExportReportQuestion (){ QuestionType=QuestionType.Tumor } + }; + } var assessmentResult = string.Empty; @@ -585,13 +625,7 @@ namespace IRaCIS.Core.Application.Service.ReadingCalculate { "TNMValue",taskinfo.TNMValue}, // TNM分期 { "Result",getQuestionAnswerList(resultList)}, // 评估结果 - { "Curative",getQuestionAnswerList(new List() - { new ExportReportQuestion (){QuestionType=QuestionType.TargetLesion}, - new ExportReportQuestion (){ QuestionType=QuestionType.NoTargetLesion}, - new ExportReportQuestion (){ QuestionType=QuestionType.NewLesions}, - new ExportReportQuestion (){ QuestionType=QuestionType.ExistDisease}, - new ExportReportQuestion (){ QuestionType=QuestionType.Tumor}, - })}, // 疗效结果 + { "Curative",getQuestionAnswerList(evaluationList)}, // 疗效结果 { "ReportNo",await _generalCalculateService.GetReportExportNo(taskinfo) } , }; diff --git a/IRaCIS.Core.Domain/Allocation/VisitTask.cs b/IRaCIS.Core.Domain/Allocation/VisitTask.cs index 3d19b26b4..0b1bf7a90 100644 --- a/IRaCIS.Core.Domain/Allocation/VisitTask.cs +++ b/IRaCIS.Core.Domain/Allocation/VisitTask.cs @@ -255,7 +255,7 @@ public class VisitTask : BaseFullAuditEntity [Projectable] [JsonIgnore] public bool IsConvertedTask => BeforeConvertedTaskId != null || IsHistoryConvertedTask || Subject.SubjectVisitTaskList.Where(t => t.TrialReadingCriterionId == TrialReadingCriterionId - && t.DoctorUserId == DoctorUserId && t.BeforeConvertedTaskId != null + && t.BeforeConvertedTaskId != null && t.TaskState == TaskState.Effect && t.VisitTaskNum < VisitTaskNum && t.IsSelfAnalysis == IsSelfAnalysis