SMLRR01700_판독결과관리2.xrw 109 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 : SMLLR00400_판독결과관리.xrw
  4. * 설 명 : 판독결과관리
  5. * 설 계 자 : (주)에이씨케이 -
  6. * 작 성 자 : (주)에이씨케이 - 윤재한
  7. * 작 성 일 : 2007.11.05
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet href="../../../com/commonweb/css/common.css" ztype="text/css" ?>
  12. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  13. <xhtml:head>
  14. <xhtml:title>판독결과관리</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root xmlns="">
  18. <main>
  19. <testinfo>
  20. <spcltestinfo>
  21. <extrtestinstcd/>
  22. <pid/>
  23. <patnm/>
  24. <orddeptnm/>
  25. <orddrnm/>
  26. <bcno/>
  27. <bcolldt/>
  28. <spcacptdt/>
  29. <lastreptdt/>
  30. <medispcdt/>
  31. <testcd/>
  32. <tclsscrnm/>
  33. <descrslt/>
  34. <testlrgkind/>
  35. <tclscd/>
  36. <prcpdd/>
  37. </spcltestinfo>
  38. <detailtestinfo>
  39. <testcd/>
  40. <tclsscrnnm/>
  41. <inptrslt/>
  42. </detailtestinfo>
  43. </testinfo>
  44. <imglist>
  45. <rsltseqno/>
  46. <lastupdtrdt/>
  47. <imght/>
  48. <imgwidt/>
  49. </imglist>
  50. <view>
  51. <imgnm/>
  52. <imgrslt/>
  53. <imgwidt/>
  54. <imght/>
  55. <rsltseqno/>
  56. <savdelflag/>
  57. </view>
  58. <rsltcode>
  59. <cd/>
  60. <nm/>
  61. </rsltcode>
  62. <rslt>
  63. <desc>
  64. <rslt>
  65. <refflag/>
  66. <readrslt/>
  67. <bm/>
  68. <comment/>
  69. <inter/>
  70. </rslt>
  71. </desc>
  72. </rslt>
  73. <getUsernm>
  74. <usernm/>
  75. </getUsernm>
  76. </main>
  77. <send>
  78. <data1/>
  79. <data2/>
  80. <bcno/>
  81. <testcd/>
  82. <pid/>
  83. </send>
  84. <init/>
  85. <hidden>
  86. <TestData>
  87. <bcno/>
  88. <testcd/>
  89. <spccd/>
  90. <inptrslt/>
  91. <rsltstat/>
  92. <testlrgkind/>
  93. <descrslt/>
  94. <inter/>
  95. </TestData>
  96. <default/>
  97. <rsltseqno/>
  98. <rsltseqnold/>
  99. <RelationParm>
  100. <pid/>
  101. <tclsscrnnm/>
  102. <testcd/>
  103. <spccd/>
  104. </RelationParm>
  105. <testid/>
  106. <testnm/>
  107. <readid/>
  108. <readnm/>
  109. <ref>
  110. <refgbn/>
  111. <text/>
  112. <spclno/>
  113. </ref>
  114. <refparam>
  115. <refflag/>
  116. <refflag2/>
  117. </refparam>
  118. <spcltestkind/>
  119. <readexmp/>
  120. <readexmpadd/>
  121. <xslt>
  122. <signno/>
  123. <form/>
  124. </xslt>
  125. </hidden>
  126. </root>
  127. </instance>
  128. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  129. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  130. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  131. <script type="javascript" src="../../../lis/commonweb/js/LLZ001.js"/>
  132. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  133. <script type="javascript" src="../../../emr/carecomweb/js/ENRSignEngine.js"/>
  134. <script type="javascript" ev:event="xforms-model-construct-done">
  135. <![CDATA[
  136. fSetClear();
  137. ]]>
  138. </script>
  139. <script type="javascript" ev:event="xforms-ready">
  140. <![CDATA[
  141. fBaseInfoRef("0901|0109|");
  142. var op = open("SPLRR90700", "", "", "", "", "/root/properties/menu/menuparam", "/root/hidden/testgroup/formkind"); //환자리스트
  143. model.setFocus("ipt_reftext");
  144. model.refresh();
  145. ]]>
  146. </script>
  147. <script type="javascript" ev:event="xforms-model-destruct">
  148. <![CDATA[
  149. setCloseChildWindow(); //화면전환시 child가 close되도록 저장
  150. closeChildWindow(); //화면전환시 child닫기로 지정된 경우 해당 child를 모두 닫는다.
  151. ]]>
  152. </script>
  153. <submission id="TRLZZ00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init"/>
  154. <submission id="TRLZZ00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/LB0103"/>
  155. <submission id="TRLZZ00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getUsernm"/>
  156. <submission id="TXLRR00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  157. <submission id="TXLRR00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance"/>
  158. <submission id="TRLRR00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/patlist"/>
  159. <submission id="TRLRR00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/testinfo"/>
  160. <submission id="TRLRR00401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/rslt/desc/rslt/cbcrslt"/>
  161. <submission id="TRLRR00402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/init/readrslt"/>
  162. <submission id="TRLRR00403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/rslt"/>
  163. <submission id="TRLRR00404" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/rslt/desc/rslt/detltclsinfo"/>
  164. <submission id="TRLRR00405" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/rslt/desc/rslt/mal1"/>
  165. <submission id="TRLRR00406" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/getUsernm"/>
  166. <submission id="TRLRR00407" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/rslt/desc/rslt/bm"/>
  167. <submission id="TRLRR00408" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/rslt/desc/rslt/fishrslt"/>
  168. <submission id="TRLRR00409" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/rslt/desc/rslt/proteinEP"/>
  169. <submission id="TRLRP00702" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/rslt/desc/patinfo"/>
  170. <submission id="TRLRR01501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/imglist"/>
  171. <submission id="TRLRR01502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/view"/>
  172. <submission id="TRLRR90401" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/rslt/desc/rslt/testlist"/>
  173. <submission id="TRLRR90402" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/rslt/desc/rslt/bfbm"/>
  174. <submission id="TRLRR90403" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/rslt/desc/patinfo"/>
  175. <submission id="TRLRR01505" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" replace="instance" resultref="/root/main/testinfo/spcltestinfo/address"/>
  176. </model>
  177. <script type="javascript">
  178. <![CDATA[
  179. //초기화
  180. function fSetClear(flag) {
  181. model.resetInstanceNode("/root/");
  182. if(flag != "P") { //화면 열었을 경우 또는 초기화 눌렀을때.
  183. fBaseInfoRef("0901|0109|"); // 0901 : 특수검사 그룹, 0109 : 결과코드
  184. model.setvalue("/root/hidden/ref/refgbn" , "1");
  185. model.setvalue("/root/hidden/ref/text" , "");
  186. model.setValue("/root/hidden/readexmpadd", "Y");
  187. var param = model.getValue("/root/properties/menu/menuparam");
  188. model.setValue("/root/main/rslt/desc/rslt/refflag", param); //메뉴파람 or 특수결과양식유형 에 따른..
  189. fTranscrn();//화면전환
  190. }else { //결과저장 후 화면초기화(flag = 'P')
  191. model.removenode("/root/main/rslt/desc/rslt"); //서술결과 지움
  192. model.removeNodeset("/root/main/rslt/desc/rslt/osmotic"); //osmotic 경우 입력했던 OD값 및 %값 지움
  193. if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "05") { //osmotic 인 경우
  194. fGridMake(); //그리드 생성
  195. }
  196. }
  197. model.setFocus("ipt_reftext");
  198. model.removeNodeset("/root/main/rsltcode"); //결과코드 지움
  199. model.removeNodeset("/root/main/rslt/desc/rslt/cbcrslt"); //CBC결과
  200. model.removeNodeset("/root/main/rslt/desc/rslt/testlist");//연관검사
  201. model.removeNodeset("/root/main/testinfo/spcltestinfo");//환자정보
  202. model.removenode("/root/main/imglist"); //이미지 콤보 지움
  203. model.removenode("/root/main/view"); //이미지 지움
  204. model.removenode("/root/main/imglistld"); //LD 이미지 콤보 지움
  205. model.removenode("/root/main/viewld"); //LD 이미지 지움
  206. model.removenode("/root/main/testinfo"); //grd_rslt 지움
  207. model.refresh();
  208. }
  209. //화면 전환
  210. function fTranscrn() {
  211. if(model.getValue("/root/main/rslt/desc/rslt/refflag") != "05") {
  212. model.removenode("/root/main/rslt/desc/rslt/osmotic");
  213. }
  214. var yy = getCurrentDate(); //특수검사연번호때문
  215. yy = yy.substr(2, 2);
  216. import1.visible = false;
  217. import2.visible = false;
  218. import3.visible = false;
  219. import4.visible = false;
  220. import5.visible = false;
  221. import6.visible = false;
  222. import7.visible = false;
  223. import8.visible = false;
  224. import9.visible = false;
  225. import10.visible = false;
  226. import11.visible = false;
  227. import12.visible = false;
  228. import13.visible = false;
  229. import14.visible = false;
  230. import15.visible = false;
  231. import1.disabled = true;
  232. import2.disabled = true;
  233. import3.disabled = true;
  234. import4.disabled = true;
  235. import5.disabled = true;
  236. import6.disabled = true;
  237. import7.disabled = true;
  238. import8.disabled = true;
  239. import9.disabled = true;
  240. import10.disabled = true;
  241. import11.disabled = true;
  242. import12.disabled = true;
  243. import13.disabled = true;
  244. import14.disabled = true;
  245. import15.disabled = true;
  246. if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "01") { //Bone Marrow
  247. //model.toggle("bm");
  248. import1.disabled = false;
  249. import1.visible = true;
  250. btn_bm_desc.dispatch("DOMActivate");
  251. btn_bm_desc.selected = true;
  252. cpt_title.attribute("text") = "Bone Marrow 결과관리";
  253. model.setValue("/root/main/rslt/desc/rslt/refflag", "01");
  254. model.setValue("/root/hidden/ref/spclno", "B" + yy + "-"); //특수검사연번호
  255. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "02") { //분자유전
  256. //model.toggle("mole");
  257. import2.disabled = false;
  258. import2.visible = true;
  259. btn_mole_desc.dispatch("DOMActivate");
  260. btn_mole_desc.selected = true;
  261. cpt_title.attribute("text") = "분자유전 결과관리";
  262. model.setValue("/root/main/rslt/desc/rslt/refflag", "02");
  263. model.setValue("/root/hidden/ref/spclno", yy + "-"); //특수검사연번호
  264. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "03") { //세포유전
  265. //model.toggle("cell");
  266. import3.visible = true;
  267. import3.disabled = false;
  268. btn_cell_desc.dispatch("DOMActivate");
  269. btn_cell_desc.selected = true;
  270. cpt_title.attribute("text") = "세포유전 결과관리";
  271. model.setValue("/root/main/rslt/desc/rslt/refflag", "03");
  272. model.setValue("/root/hidden/ref/spclno", yy + "-"); //특수검사연번호
  273. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "04") { //Immunophenotyping
  274. //model.toggle("im");
  275. import4.visible = true;
  276. import4.disabled = false;
  277. cpt_title.attribute("text") = "Immunophenotyping 결과관리";
  278. model.setValue("/root/main/rslt/desc/rslt/refflag", "04");
  279. model.setValue("/root/hidden/ref/spclno", yy + "-"); //특수검사연번호
  280. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "05") { //Osmotic
  281. //model.toggle("of");
  282. import5.visible = true;
  283. import5.disabled = false;
  284. cpt_title.attribute("text") = "Osmotic Fragility 결과관리";
  285. if(getNodesetCount("/root/main/rslt/desc/rslt/osmotic") < 1) {
  286. model.makeNode("/root/main/rslt/desc/rslt/osmotic/f1con");
  287. model.makeNode("/root/main/rslt/desc/rslt/osmotic/e1con");
  288. model.makeNode("/root/main/rslt/desc/rslt/osmotic/f24con");
  289. model.makeNode("/root/main/rslt/desc/rslt/osmotic/e24con");
  290. model.makeNode("/root/main/rslt/desc/rslt/osmotic/f1pat");
  291. model.makeNode("/root/main/rslt/desc/rslt/osmotic/e1pat");
  292. model.makeNode("/root/main/rslt/desc/rslt/osmotic/f24pat");
  293. model.makeNode("/root/main/rslt/desc/rslt/osmotic/e24pat");
  294. }
  295. model.setValue("/root/hidden/ref/spclno", "OFT" + yy + "-"); //특수검사연번호
  296. fGridMake();
  297. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "06") { //ICG
  298. //model.toggle("icg");
  299. import6.visible = true;
  300. import6.disabled = false;
  301. cpt_title.attribute("text") = "ICG 결과관리";
  302. model.setValue("/root/main/rslt/desc/rslt/refflag", "06");
  303. model.setValue("/root/hidden/ref/spclno", yy + "-"); //특수검사연번호
  304. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "07") { //PB
  305. //model.toggle("pb");
  306. import7.visible = true;
  307. import7.disabled = false;
  308. cpt_title.attribute("text") = "PB 결과관리";
  309. model.setValue("/root/main/rslt/desc/rslt/refflag", "07");
  310. model.setValue("/root/hidden/ref/spclno", "PB" + yy + "-"); //특수검사연번호
  311. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "08") { //EP
  312. //model.toggle("ep");
  313. import8.visible = true;
  314. import8.disabled = false;
  315. cpt_title.attribute("text") = "EP 결과관리";
  316. model.setValue("/root/main/rslt/desc/rslt/refflag", "08");
  317. model.setValue("/root/hidden/ref/spclno", yy + "-"); //특수검사연번호
  318. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "09") { //산전기형
  319. //model.toggle("befchildbrth");
  320. import9.visible = true;
  321. import9.disabled = false;
  322. cpt_title.attribute("text") = "산전기형 결과관리";
  323. model.setValue("/root/main/rslt/desc/rslt/refflag", "09");
  324. model.setValue("/root/hidden/ref/spclno", yy + "-"); //특수검사연번호
  325. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "10") { //PRA
  326. //model.toggle("pra");
  327. import10.visible = true;
  328. import10.disabled = false;
  329. cpt_title.attribute("text") = "PRA 결과관리";
  330. model.setValue("/root/main/rslt/desc/rslt/refflag", "10");
  331. model.setValue("/root/hidden/ref/spclno", yy + "-"); //특수검사연번호
  332. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "11") { //교차시험
  333. //model.toggle("cm");
  334. import11.visible = true;
  335. import11.disabled = false;
  336. cpt_title.attribute("text") = "교차시험 결과관리";
  337. model.setValue("/root/main/rslt/desc/rslt/refflag", "11");
  338. model.setValue("/root/hidden/ref/spclno", yy + "-"); //특수검사연번호
  339. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "12") { //TDM
  340. //model.toggle("tdm");
  341. import12.visible = true;
  342. import12.disabled = false;
  343. cpt_title.attribute("text") = "TDM 결과관리";
  344. model.setValue("/root/main/rslt/desc/rslt/refflag", "12");
  345. model.setValue("/root/hidden/ref/spclno", yy + "-"); //특수검사연번호
  346. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "13") { //CKLD
  347. //model.toggle("ckld");
  348. import13.visible = true;
  349. import13.disabled = false;
  350. cpt_title.attribute("text") = "CKLD 결과관리";
  351. model.setValue("/root/main/rslt/desc/rslt/refflag", "13");
  352. model.setValue("/root/hidden/ref/spclno", yy + "-"); //특수검사연번호
  353. }else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "14") { //CKLD
  354. //model.toggle("fish");
  355. import14.visible = true;
  356. import14.disabled = false;
  357. btn_fish_desc.dispatch("DOMActivate");
  358. btn_fish_desc.selected = true;
  359. cpt_title.attribute("text") = "fish&염색체 결과관리";
  360. model.setValue("/root/main/rslt/desc/rslt/refflag", "14");
  361. model.setValue("/root/hidden/ref/spclno", yy + "-"); //특수검사연번호
  362. }else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "99") { //범용보고서
  363. //model.toggle("wideuse");
  364. import15.visible = true;
  365. import15.disabled = false;
  366. cpt_title.attribute("text") = "범용보고서 결과관리";
  367. model.setValue("/root/main/rslt/desc/rslt/refflag", "99");
  368. model.setValue("/root/hidden/ref/spclno", yy + "-"); //특수검사연번호
  369. }
  370. model.refresh();
  371. }
  372. //환자정보 조회
  373. function fOnclick_grd_patList(flag){
  374. model.makeValue("/root/main/rslt/desc/rslt/readrslt", "");
  375. if(flag != "R") { //PB 처럼 판독에서 결과 저장을 하지 않고 검체별에서 결과저장을 한 경우 다시 조회 (flag = "R")가 아니다.
  376. model.resetInstanceNode("/root/main/testinfo");
  377. model.resetInstanceNode("/root/main/imglist");
  378. model.resetInstanceNode("/root/main/imglistld");
  379. model.resetInstanceNode("/root/main/view");
  380. model.resetInstanceNode("/root/main/viewld");
  381. model.removeNodeset("/root/main/rslt/desc/rslt/bfbm");
  382. model.removeNodeset("/root/main/rslt/desc/rslt/beforerslt");
  383. model.removeNodeset("/root/main/rslt/desc/rslt/pra");
  384. model.removeNodeset("/root/main/rslt/desc/rslt/cm");
  385. model.removeNodeset("/root/main/rslt/desc/rslt/sst");
  386. model.removeNodeset("/root/main/rslt/desc/rslt/diff");
  387. model.removeNodeset("/root/main/rslt/desc/rslt/ihc");
  388. model.removeNodeset("/root/main/rslt/desc/rslt/testlist");
  389. model.removeNodeset("/root/main/rslt/desc/rslt/cbcrslt");
  390. model.removeNodeset("/root/main/rslt/desc/rslt/mal1");
  391. model.removeNodeset("/root/main/rslt/desc/rslt/mal2");
  392. model.removeNodeset("/root/main/rslt/desc/rslt/mal3");
  393. model.removeNodeset("/root/main/rslt/desc/rslt/ckld");
  394. model.removeNodeset("/root/main/rslt/desc/rslt/proteinEP");
  395. model.removeNodeset("/root/main/rslt/desc/rslt/bm");
  396. model.removeNodeset("/root/main/rslt/desc/rslt/fishinfo");
  397. model.removeNodeset("/root/main/rslt/desc/rslt/fishrslt");
  398. model.removeNodeset("/root/main/rslt/desc/rslt/address");
  399. model.makeValue("/root/send/bcno" , model.getvalue("/root/hidden/refflag/bcno"));
  400. model.makeValue("/root/send/testcd" , model.getvalue("/root/hidden/refflag/testcd"));
  401. model.makeValue("/root/send/prcpgenrflag" , model.getvalue("/root/hidden/refflag/prcpgenrflag"));
  402. model.makeValue("/root/send/spclrsltformkind" , model.getvalue("/root/hidden/refflag/spclrsltformkind"));
  403. submit("TRLRR00102"); //환자정보 & 검사리스트
  404. if(model.getValue("/root/main/testinfo/spcltestinfo/lastreptid" ) !== ""){
  405. model.setValue("/root/hidden/testid",model.getValue("/root/main/testinfo/spcltestinfo/lastreptid"));
  406. fUserNMRef("t");
  407. }
  408. if(model.getValue("/root/main/testinfo/spcltestinfo/medireptid" ) !== ""){
  409. model.setValue("/root/hidden/readid",model.getValue("/root/main/testinfo/spcltestinfo/medireptid"));
  410. fUserNMRef("r");
  411. }
  412. // if(model.getValue("/root/main/testinfo/spcltestinfo/lastreptid") == "" ){
  413. // //alert(1111111);
  414. // model.setValue("/root/hidden/testid","");
  415. // model.setValue("/root/hidden/testnm","");
  416. //
  417. // }
  418. // if(model.getValue("/root/main/testinfo/spcltestinfo/medispclid") == "" ){
  419. // //alert(1111111);
  420. // model.setValue("/root/hidden/readid","");
  421. // model.setValue("/root/hidden/readnm","");
  422. //
  423. // }
  424. model.refresh();
  425. submit("TRLRR00402"); //판독예문
  426. model.removeNodeset("/root/send/bcno");
  427. model.removeNodeset("/root/send/testcd");
  428. model.removeNodeset("/root/send/prcpgenrflag");
  429. }
  430. if(getNodesetCount("/root/main/testinfo/spcltestinfo") > 0) { //환자정보가 있을경우
  431. if(getNodesetCount("/root/main/testinfo/spcltestinfo/reqcnts/reqfrminfo") > 0) { //의뢰지가 있을 경우 의뢰서 조회 버튼 보이게
  432. btn_reqref.attribute("visibility") = "visible";
  433. } else { //의뢰지가 없을 경우 의뢰서 조회 버튼 안 보이게
  434. btn_reqref.attribute("visibility") = "hidden";
  435. }
  436. if(flag != "R") { //PB 처럼 판독에서 결과 저장을 하지 않고 검체별에서 결과저장을 한 경우 다시 조회 (flag = "R")가 아니다.
  437. fUpPatinfo();
  438. fRsltCode("");
  439. }
  440. var refNo = model.getValue("/root/main/rslt/desc/rslt/refflag");
  441. if(model.getValue("/root/main/testinfo/spcltestinfo/rsltstat") == "-" || flag == "R") { //재조회이거나 결과플래그가 '-'일 때
  442. //alert("A");
  443. if(refNo == "01") { //Bone Marrow 결과입력
  444. model.makeNode("/root/main/rslt/desc/rslt/ssr");
  445. model.makeNode("/root/main/rslt/desc/rslt/inter");
  446. model.makeNode("/root/main/rslt/desc/rslt/comments");
  447. fGetCBCRslt("01"); //CBC 결과
  448. fGetRelRslt(); //연관검사
  449. fGetBInterRslt(); //이전검사
  450. fGetSD(); //Special stain과 BM Diff.count
  451. fImgRslt("cmb_bm_seq", "cpt_bm_noimg", "img_bm");
  452. } else if(refNo == "02") { // 분자유전
  453. fGetBInterRslt("D"); //Bone Marrow 이전결과와 이전결과
  454. fGetDetlTcls(); //세부검사
  455. fImgRslt("cmb_mole_seq", "cpt_mole_noimg", "img_mole"); //이미지
  456. } else if(refNo == "03") { //세포유전
  457. model.makeNode("/root/main/rslt/desc/rslt/inter");
  458. model.makeNode("/root/main/rslt/desc/rslt/comments");
  459. //model.setValue("/root/main/rslt/desc/rslt/comments","aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
  460. fGetBInterRslt("D"); //Bone Marrow 이전결과와 이전결과
  461. fGetRelRslt();// 연관검사
  462. fImgRslt("cmb_cell_seq", "cpt_cell_noimg", "img_cell"); //이미지
  463. fAddress();
  464. model.makeValue("/root/main/rslt/desc/rslt/address/basecd",model.getValue("/root/main/testinfo/spcltestinfo/address/basecd"));
  465. model.makeValue("/root/main/rslt/desc/rslt/address/basecdidnm",model.getValue("/root/main/testinfo/spcltestinfo/address/basecdidnm"));
  466. model.makeValue("/root/main/rslt/desc/rslt/address/basecdnm",model.getValue("/root/main/testinfo/spcltestinfo/address/basecdnm"));
  467. model.makeValue("/root/main/rslt/desc/rslt/address/basecddesc",model.getValue("/root/main/testinfo/spcltestinfo/address/basecddesc"));
  468. } else if(refNo == "04") { //Immunophenotyping
  469. fGetBInterRslt("D"); //Bone Marrow 이전결과와 이전결과
  470. fGetDetlTcls(); //세부검사
  471. if(getNodesetCount("/root/main/rslt/desc/rslt/detltclsinfo") > 0) {
  472. for(i = 9; i <= getNodesetCount("/root/main/rslt/desc/rslt/detltclsinfo"); i++) {
  473. model.makeNode("/root/main/rslt/desc/rslt/detltclsinfo2");
  474. if(getNodesetCount("/root/main/rslt/desc/rslt/detltclsinfo2/testcd") < 1) {
  475. copyNodesetType("/root/main/rslt/desc/rslt/detltclsinfo2", "/root/main/rslt/desc/rslt/detltclsinfo["+ i +"]");
  476. } else {
  477. copyNodesetType("/root/main/rslt/desc/rslt/detltclsinfo2", "/root/main/rslt/desc/rslt/detltclsinfo["+ i +"]", "after");
  478. }
  479. model.removeNodeset("/root/main/rslt/desc/rslt/detltclsinfo["+ i +"]");
  480. i = i - 1;
  481. }
  482. }
  483. model.refresh();
  484. } else if(refNo == "05") { //Osmotic
  485. fImgRslt("cmb_of_seq", "cpt_of_noimg", "img_of"); //이미지
  486. } else if(refNo == "06") { //ICG
  487. model.makeNode("/root/main/rslt/desc/rslt/icg/min5");
  488. model.makeNode("/root/main/rslt/desc/rslt/icg/min10");
  489. model.makeNode("/root/main/rslt/desc/rslt/icg/min15");
  490. model.makeNode("/root/main/rslt/desc/rslt/icg/sosil");
  491. model.makeNode("/root/main/rslt/desc/rslt/icg/vangam");
  492. model.makeNode("/root/main/rslt/desc/rslt/icg/r15");
  493. fImgRslt("cmb_icg_seq", "cpt_icg_noimg", "img_icg"); //이미지
  494. } else if(refNo == "07") { //PB 결과입력
  495. fGetCBCRslt("07");
  496. model.removeNodeset("/root/main/rslt/desc/rslt/cbc2");
  497. var count = getNodesetCount("/root/main/rslt/desc/rslt/cbcrslt");
  498. var val = model.getValue("/root/main/rslt/desc/rslt/cbcrslt["+ count +"]/testcd");
  499. var i = 0;
  500. if(count > 0) {
  501. for(j = 1; j <= count; j++) {
  502. tcls = model.getValue("/root/main/rslt/desc/rslt/cbcrslt["+ j +"]/testcd");
  503. if(tcls.substr(3, 3) == "105") { //diff결과는 다른 그리드에 표현
  504. if(i == 0) {
  505. model.makeNode("/root/main/rslt/desc/rslt/cbc2");
  506. }
  507. if(getNodesetCount("/root/main/rslt/desc/rslt/cbc2/testcd") < 1) {
  508. copyNodesetType("/root/main/rslt/desc/rslt/cbc2", "/root/main/rslt/desc/rslt/cbcrslt["+ j +"]");
  509. } else {
  510. copyNodesetType("/root/main/rslt/desc/rslt/cbc2", "/root/main/rslt/desc/rslt/cbcrslt["+ j +"]", "after");
  511. }
  512. if(model.getValue("/root/main/rslt/desc/rslt/cbcrslt["+ j +"]/testcd") == val) {
  513. model.removeNodeset("/root/main/rslt/desc/rslt/cbcrslt["+ j +"]");
  514. break;
  515. } else {
  516. model.removeNodeset("/root/main/rslt/desc/rslt/cbcrslt["+ j +"]");
  517. }
  518. j = j - 1;
  519. i++;
  520. }
  521. }
  522. model.refresh();
  523. }
  524. fGetMalRslt();
  525. } else if(refNo == "08") { //EP
  526. //alert(tclscd);
  527. var tclscd = model.getValue("/root/main/testinfo/spcltestinfo/tclscd");
  528. //alert(tclscd);
  529. model.makeValue("/root/main/rslt/desc/rslt/tclscd",tclscd);
  530. if( tclscd == "LSI103" || tclscd == "LSI102"){
  531. //alert("!@$@#$$!@$");
  532. fGetproteinEP();//proteinEP검사
  533. for (i=1;i <= grd_proteinEP.rows;i++){
  534. //alert("!!!!!!!!!!!!!!!!!!!!!!");
  535. var vJudg1 = model.getvalue("/root/main/rslt/desc/rslt/proteinEP["+i+"]/judgmarkorigin");
  536. if(vJudg1 == "H"){
  537. grd_proteinEP.cellStyle ("background-color",i,3,i,3) = "#f7a08b";
  538. }
  539. else if(vJudg1 == "L"){
  540. grd_proteinEP.cellStyle ("background-color",i,3,i,3) = "#b9e5fb";
  541. }
  542. else{
  543. grd_proteinEP.cellStyle ("background-color",i,3,i,3) = "#ffffff";
  544. }
  545. var vJudg2 = model.getvalue("/root/main/rslt/desc/rslt/proteinEP["+i+"]/judgmarkpersent");
  546. if(vJudg2 == "H"){
  547. grd_proteinEP.cellStyle ("background-color",i,5,i,5) = "#f7a08b";
  548. }
  549. else if(vJudg2 == "L"){
  550. grd_proteinEP.cellStyle ("background-color",i,5,i,5) = "#b9e5fb";
  551. }
  552. else{
  553. grd_proteinEP.cellStyle ("background-color",i,5,i,5) = "#ffffff";
  554. }
  555. }
  556. }
  557. else{
  558. //alert("$#@$@#$@#$@#$@#$@#$@#");
  559. fGetDetlTcls(); //세부검사
  560. }
  561. if( tclscd == "LSI103" || tclscd == "LSI102"){
  562. grd_proteinEP.attribute("visibility") = "visible"
  563. grd_ep_dtcl.attribute("visibility") = "hidden"
  564. }
  565. else{
  566. grd_proteinEP.attribute("visibility") = "hidden"
  567. grd_ep_dtcl.attribute("visibility") = "visible"
  568. }
  569. if(tclscd == "LSI103"){
  570. grd_proteinEP.caption = "^검사명^정량(mg/dL)^참고치(mg/dL)^결과(%)^참고치(%)^이전결과^";
  571. }
  572. if(tclscd == "LSI102"){
  573. grd_proteinEP.caption = "^검사명^정량(g/dL)^참고치(g/dL)^결과(%)^참고치(%)^이전결과^";
  574. }
  575. fGetRelRslt(); //연관검사
  576. fImgRslt("cmb_ep_seq", "cpt_ep_noimg", "img_ep"); //이미지
  577. } else if(refNo == "09") { //산전기형
  578. fGetRelRslt(); //연관검사
  579. } else if(refNo == "10") { //PRA
  580. fGetPRA(); //PRA 검사항목
  581. } else if(refNo == "11") { //교차시험
  582. fGetCM(); //교차시험 검사항목
  583. } else if(refNo == "12") { //TDM
  584. fGetRelRslt(); //연관검사
  585. } else if(refNo == "13") { //CKLD
  586. fGetCKLD(); //CKLD 검사항목
  587. var testcd = model.getValue("/root/main/testinfo/spcltestinfo/testcd");
  588. model.setValue("/root/main/testinfo/spcltestinfo/testcd", "LSI113"); //LD 이미지 조회하기 위해 임시로 LD 코드로 박음.
  589. fImgRslt("cmb_ld_seq", "cpt_ld_noimg", "img_ld"); //이미지
  590. model.setValue("/root/main/testinfo/spcltestinfo/testcd", testcd); //원상복귀..
  591. fImgRslt("cmb_ck_seq", "cpt_ck_noimg", "img_ck"); //이미지
  592. } else if(refNo == "14"){
  593. model.makeNode("/root/main/rslt/desc/rslt/inter");
  594. model.makeNode("/root/main/rslt/desc/rslt/comments");
  595. model.makenode("/root/main/rslt/desc/rslt/fishrslt/reptrslt1");
  596. model.makenode("/root/main/rslt/desc/rslt/fishrslt/reptrslt2");
  597. fGetFishRslt();
  598. fAddress();
  599. model.makeValue("/root/main/rslt/desc/rslt/address/basecd",model.getValue("/root/main/testinfo/spcltestinfo/address/basecd"));
  600. model.makeValue("/root/main/rslt/desc/rslt/address/basecdidnm",model.getValue("/root/main/testinfo/spcltestinfo/address/basecdidnm"));
  601. model.makeValue("/root/main/rslt/desc/rslt/address/basecdnm",model.getValue("/root/main/testinfo/spcltestinfo/address/basecdnm"));
  602. model.makeValue("/root/main/rslt/desc/rslt/address/basecddesc",model.getValue("/root/main/testinfo/spcltestinfo/address/basecddesc"));
  603. model.makeValue("/root/main/rslt/desc/rslt/tclscd",model.getValue("/root/main/testinfo/spcltestinfo/tclscd"));
  604. if(model.getValue("/root/main/testinfo/spcltestinfo/tclscd") == "LDR113") {
  605. grd_fishrslt1.attribute("visibility") = "hidden"
  606. grd_fishrslt2.attribute("visibility") = "visible"
  607. }else {
  608. grd_fishrslt1.attribute("visibility") = "visible"
  609. grd_fishrslt2.attribute("visibility") = "hidden"
  610. }
  611. model.refresh();
  612. } else if(refNo == "99") { //범용
  613. fGetDetlTcls(); //세부검사
  614. if(getNodesetCount("/root/main/rslt/desc/rslt/detltclsinfo") > 0) {
  615. for(i = 13; i <= getNodesetCount("/root/main/rslt/desc/rslt/detltclsinfo"); i++) {
  616. model.makeNode("/root/main/rslt/desc/rslt/detltclsinfo2");
  617. if(getNodesetCount("/root/main/rslt/desc/rslt/detltclsinfo2/testcd") < 1) {
  618. copyNodesetType("/root/main/rslt/desc/rslt/detltclsinfo2", "/root/main/rslt/desc/rslt/detltclsinfo["+ i +"]");
  619. } else {
  620. copyNodesetType("/root/main/rslt/desc/rslt/detltclsinfo2", "/root/main/rslt/desc/rslt/detltclsinfo["+ i +"]", "after");
  621. }
  622. model.removeNodeset("/root/main/rslt/desc/rslt/detltclsinfo["+ i +"]");
  623. i = i - 1;
  624. }
  625. }
  626. model.refresh();
  627. fImgRslt("cmb_wideuse_seq", "cpt_wideuse_noimg", "img_wideuse"); //이미지
  628. }
  629. } else { //결과저장 및 결과보고 되어있을 경우 서술결과(판독결과)만 조회
  630. fGetRead();
  631. // alert("B");
  632. refNo = model.getValue("/root/main/rslt/desc/rslt/refflag");
  633. if(refNo == "01") {
  634. fImgRslt("cmb_bm_seq", "cpt_bm_noimg", "img_bm");
  635. } else if(refNo == "02") {
  636. fImgRslt("cmb_mole_seq", "cpt_mole_noimg", "img_mole");
  637. } else if(refNo == "03") {
  638. fImgRslt("cmb_cell_seq", "cpt_cell_noimg", "img_cell");
  639. } else if(refNo == "05") { //Osmotic Fragility
  640. fImgRslt("cmb_of_seq", "cpt_of_noimg", "img_of"); //이미지
  641. } else if(refNo == "06") { //ICG
  642. fImgRslt("cmb_icg_seq", "cpt_icg_noimg", "img_icg"); //이미지
  643. } else if(refNo == "07") { //PB
  644. setRowStyle("grd_pb_mal1", "0", "", "testcd");
  645. setRowStyle("grd_pb_mal2", "0", "", "testcd");
  646. setRowStyle("grd_pb_mal3", "0", "", "testcd");
  647. } else if(refNo == "08") { //EP
  648. fGetRelRslt(); //연관검사
  649. var tclscd = model.getValue("/root/main/testinfo/spcltestinfo/tclscd");
  650. model.makeValue("/root/main/rslt/desc/rslt/tclscd",tclscd);
  651. if( tclscd == "LSI103" || tclscd == "LSI102"){
  652. grd_proteinEP.attribute("visibility") = "visible";
  653. grd_ep_dtcl.attribute("visibility") = "hidden";
  654. }
  655. else{
  656. grd_proteinEP.attribute("visibility") = "hidden";
  657. grd_ep_dtcl.attribute("visibility") = "visible";
  658. }
  659. if(tclscd == "LSI103"){
  660. grd_proteinEP.caption = "^검사명^정량(mg/dL)^참고치(mg/dL)^결과(%)^참고치(%)^이전결과^";
  661. }
  662. if(tclscd == "LSI102"){
  663. grd_proteinEP.caption = "^검사명^정량(g/dL)^참고치(g/dL)^결과(%)^참고치(%)^이전결과^";
  664. }
  665. fImgRslt("cmb_ep_seq", "cpt_ep_noimg", "img_ep"); //이미지
  666. if( tclscd == "LSI103" || tclscd == "LSI102"){
  667. //alert("!@$@#$$!@$");
  668. fGetproteinEP();//proteinEP검사
  669. for (i=1;i <= grd_proteinEP.rows;i++){
  670. //alert("!!!!!!!!!!!!!!!!!!!!!!");
  671. var vJudg1 = model.getvalue("/root/main/rslt/desc/rslt/proteinEP["+i+"]/judgmarkorigin");
  672. if(vJudg1 == "H"){
  673. grd_proteinEP.cellStyle ("background-color",i,3,i,3) = "#f7a08b";
  674. }
  675. else if(vJudg1 == "L"){
  676. grd_proteinEP.cellStyle ("background-color",i,3,i,3) = "#b9e5fb";
  677. }
  678. else{
  679. grd_proteinEP.cellStyle ("background-color",i,3,i,3) = "#ffffff";
  680. }
  681. var vJudg2 = model.getvalue("/root/main/rslt/desc/rslt/proteinEP["+i+"]/judgmarkpersent");
  682. if(vJudg2 == "H"){
  683. grd_proteinEP.cellStyle ("background-color",i,5,i,5) = "#f7a08b";
  684. }
  685. else if(vJudg2 == "L"){
  686. grd_proteinEP.cellStyle ("background-color",i,5,i,5) = "#b9e5fb";
  687. }
  688. else{
  689. grd_proteinEP.cellStyle ("background-color",i,5,i,5) = "#ffffff";
  690. }
  691. }
  692. }
  693. } else if(refNo == "13") { //CKLD
  694. var testcd = model.getValue("/root/main/testinfo/spcltestinfo/testcd");
  695. model.setValue("/root/main/testinfo/spcltestinfo/testcd", "LSI113"); //LD 이미지 조회하기 위해 임시로 LD 코드로 박음.
  696. fImgRslt("cmb_ld_seq", "cpt_ld_noimg", "img_ld"); //이미지
  697. model.setValue("/root/main/testinfo/spcltestinfo/testcd", testcd); //원상복귀..
  698. fImgRslt("cmb_ck_seq", "cpt_ck_noimg", "img_ck"); //이미지
  699. } else if(refNo == "14") { //CKLD
  700. if(model.getValue("/root/main/testinfo/spcltestinfo/tclscd") == "LDR113") {
  701. grd_fishrslt1.attribute("visibility") = "hidden"
  702. grd_fishrslt2.attribute("visibility") = "visible"
  703. }else {
  704. grd_fishrslt1.attribute("visibility") = "visible"
  705. grd_fishrslt2.attribute("visibility") = "hidden"
  706. }
  707. }else if(refNo == "99") { //범용보고서
  708. fImgRslt("cmb_wideuse_seq", "cpt_wideuse_noimg", "img_wideuse"); //이미지
  709. }
  710. }
  711. model.removeNodeset("/root/send/bcno");
  712. model.removeNodeset("/root/send/testcd");
  713. }
  714. model.refresh();
  715. }
  716. //CBC 결과
  717. function fGetCBCRslt(viewflag) {
  718. model.makeValue("/root/send/pid", model.getValue("/root/main/testinfo/spcltestinfo/pid"));
  719. model.makeValue("/root/send/bcno", model.getValue("/root/main/testinfo/spcltestinfo/bcno"));
  720. model.makeValue("/root/send/tclsflag", viewflag);
  721. submit("TRLRR00401");
  722. model.removeNodeset("/root/send/pid");
  723. model.refresh();
  724. }
  725. //연관결과
  726. function fGetRelRslt() {
  727. model.makeValue("/root/send/pid", model.getValue("/root/main/testinfo/spcltestinfo/pid"));
  728. model.makeValue("/root/send/spccd", model.getValue("/root/main/testinfo/spcltestinfo/spccd"));
  729. model.makeValue("/root/send/testcd", model.getValue("/root/main/testinfo/spcltestinfo/testcd"));
  730. submit("TRLRR90401");
  731. model.removeNodeset("/root/send/pid");
  732. model.removeNodeset("/root/send/testcd");
  733. model.removeNodeset("/root/send/spccd");
  734. model.refresh();
  735. }
  736. //BM 이전결과, 이전검사결과
  737. function fGetBInterRslt(flag) {
  738. model.makeValue("/root/send/pid", model.getValue("/root/main/testinfo/spcltestinfo/pid"));
  739. if(flag == "D") { //Bone Marrow에서의 이전결과 조회가 아닐 때 코드픽스
  740. model.makeValue("/root/send/testcd", "LHB001");
  741. }else {
  742. model.makeValue("/root/send/testcd", model.getValue("/root/main/testinfo/spcltestinfo/testcd"));
  743. }
  744. model.makeValue("/root/send/tclscd", model.getValue("/root/main/testinfo/spcltestinfo/testcd"));
  745. model.makeValue("/root/send/spclrsltformkind", model.getValue("/root/main/rslt/desc/rslt/refflag"));
  746. submit("TRLRR90402");
  747. if(getNodesetCount("/root/main/rslt/desc/rslt/bfbm") > 0) { //Bone Marrow 이전결과
  748. //model.setValue("/root/main/rslt/desc/rslt/bfbm/inter", model.getValue("/root/main/rslt/desc/rslt/bfbm/descrslt/rslt/inter"));
  749. //model.removeNodeset("/root/main/rslt/desc/rslt/bfbm/descrslt");
  750. }
  751. if(getNodesetCount("/root/main/rslt/desc/rslt/beforerslt") > 0) { //이전검사결과
  752. if(getNodesetCount("/root/main/rslt/desc/rslt/beforerslt/inter/inter") > 0) {
  753. //model.setValue("/root/main/rslt/desc/rslt/beforerslt/inter", model.getValue("/root/main/rslt/desc/rslt/beforerslt/descrslt/rslt/inter"));
  754. } else {
  755. //model.setValue("/root/main/rslt/desc/rslt/beforerslt/inter", model.getValue("/root/main/rslt/desc/rslt/beforerslt/descrslt/rslt/readrslt"));
  756. model.makeValue("/root/main/rslt/desc/rslt/beforerslt/inter/inter", model.getValue("/root/main/rslt/desc/rslt/beforerslt/readrslt/readrslt"));
  757. }
  758. //model.removeNodeset("/root/main/rslt/desc/rslt/beforerslt/descrslt");
  759. }
  760. model.removeNodeset("/root/send/pid");
  761. model.removeNodeset("/root/send/testcd");
  762. model.removeNodeset("/root/send/tclscd");
  763. model.refresh();
  764. }
  765. //Special Stain, Diff조회
  766. function fGetSD() {
  767. submit("TRLRR00407");
  768. }
  769. function fGetFishRslt(){
  770. model.makeValue("/root/send/bcno", model.getValue("/root/main/testinfo/spcltestinfo/bcno"));
  771. model.makeValue("/root/send/testcd", model.getValue("/root/main/testinfo/spcltestinfo/testcd"));
  772. //alert(model.getValue("/root/send/testcd"));
  773. submit("TRLRR00408");
  774. }
  775. //말초도말검사
  776. function fGetMalRslt() {
  777. model.removeNodeset("/root/main/rslt/desc/rslt/mal1");
  778. model.removeNodeset("/root/main/rslt/desc/rslt/mal2");
  779. model.removeNodeset("/root/main/rslt/desc/rslt/mal3");
  780. model.makeValue("/root/send/bcno", model.getValue("/root/main/testinfo/spcltestinfo/bcno"));
  781. submit("TRLRR00405");
  782. count = getNodesetCount("/root/main/rslt/desc/rslt/mal1");
  783. var ref1 = false;
  784. var ref2 = false;
  785. var val1 = model.getValue("/root/main/rslt/desc/rslt/mal1[12]/testcd");
  786. var val2 = model.getValue("/root/main/rslt/desc/rslt/mal1[24]/testcd");
  787. var val3 = model.getValue("/root/main/rslt/desc/rslt/mal1["+ count +"]/testcd");
  788. tCount = 1;
  789. if(count > 0) {
  790. model.makeNode("/root/main/rslt/desc/rslt/mal2");
  791. model.makeNode("/root/main/rslt/desc/rslt/mal3");
  792. for(i=1; i<=count; i++) {
  793. if(model.getValue("/root/main/rslt/desc/rslt/mal1["+ i +"]/testcd") == "") {
  794. if(tCount == 1) {
  795. } else {
  796. model.setValue("/root/main/rslt/desc/rslt/mal1["+ i +"]/reptrslt", "");
  797. model.setValue("/root/main/rslt/desc/rslt/mal1["+ i +"]/bfrslt", "");
  798. }
  799. tCount++;
  800. }
  801. if(!ref1 && !ref2) {
  802. if(model.getValue("/root/main/rslt/desc/rslt/mal1["+ i +"]/testcd") == val1) {
  803. ref1 = true;
  804. }
  805. } else if(ref1 && !ref2) {
  806. if(getNodesetCount("/root/main/rslt/desc/rslt/mal2/testcd") < 1) {
  807. copyNodesetType("/root/main/rslt/desc/rslt/mal2", "/root/main/rslt/desc/rslt/mal1["+ i +"]");
  808. } else {
  809. copyNodesetType("/root/main/rslt/desc/rslt/mal2", "/root/main/rslt/desc/rslt/mal1["+ i +"]", "after");
  810. }
  811. if(model.getValue("/root/main/rslt/desc/rslt/mal1["+ i +"]/testcd") == val2) {
  812. model.removeNodeset("/root/main/rslt/desc/rslt/mal1["+ i +"]");
  813. ref2 = true;
  814. } else {
  815. model.removeNodeset("/root/main/rslt/desc/rslt/mal1["+ i +"]");
  816. }
  817. i = i - 1;
  818. } else if(ref1 && ref2) {
  819. if(getNodesetCount("/root/main/rslt/desc/rslt/mal3/testcd") < 1) {
  820. copyNodesetType("/root/main/rslt/desc/rslt/mal3", "/root/main/rslt/desc/rslt/mal1["+ i +"]");
  821. } else {
  822. copyNodesetType("/root/main/rslt/desc/rslt/mal3", "/root/main/rslt/desc/rslt/mal1["+ i +"]", "after");
  823. }
  824. if(model.getValue("/root/main/rslt/desc/rslt/mal1["+ i +"]/testcd") == val3) {
  825. model.removeNodeset("/root/main/rslt/desc/rslt/mal1["+ i +"]");
  826. break;
  827. } else {
  828. model.removeNodeset("/root/main/rslt/desc/rslt/mal1["+ i +"]");
  829. }
  830. i = i - 1;
  831. }
  832. }
  833. }
  834. model.refresh();
  835. setRowStyle("grd_pb_mal1", "0", "", "testcd");
  836. setRowStyle("grd_pb_mal2", "0", "", "testcd");
  837. setRowStyle("grd_pb_mal3", "0", "", "testcd");
  838. model.removeNodeset("/root/send/bcno");
  839. model.refresh();
  840. }
  841. //of그리드 만들기
  842. function fGridMake() {
  843. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1con[1]");
  844. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1con[1]/nacl");
  845. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1con[1]/od");
  846. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1con[1]/hm");
  847. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1pat[1]");
  848. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1pat[1]/nacl");
  849. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1pat[1]/od");
  850. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1pat[1]/hm");
  851. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24con[1]");
  852. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24con[1]/nacl");
  853. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24con[1]/od");
  854. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24con[1]/hm");
  855. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24pat[1]");
  856. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24pat[1]/nacl");
  857. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24pat[1]/od");
  858. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24pat[1]/hm");
  859. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu1con[1]/nacl", fCOMLIS_RstRound(1, 2, 1)); //ex) 0.3 -> 0.30
  860. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu1pat[1]/nacl", fCOMLIS_RstRound(1, 2, 1));
  861. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu24con[1]/nacl", fCOMLIS_RstRound(1, 2, 1));
  862. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu24pat[1]/nacl", fCOMLIS_RstRound(1, 2, 1));
  863. val = 0.90;
  864. for(i = 2; i <= 15; i++) {
  865. val = val - 0.05 ;
  866. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1con["+ i +"]");
  867. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1con["+ i +"]/nacl");
  868. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1con["+ i +"]/od");
  869. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1con["+ i +"]/hm");
  870. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1pat["+ i +"]");
  871. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1pat["+ i +"]/nacl");
  872. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1pat["+ i +"]/od");
  873. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1pat["+ i +"]/hm");
  874. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24con["+ i +"]");
  875. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24con["+ i +"]/nacl");
  876. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24con["+ i +"]/od");
  877. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24con["+ i +"]/hm");
  878. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24pat["+ i +"]");
  879. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24pat["+ i +"]/nacl");
  880. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24pat["+ i +"]/od");
  881. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24pat["+ i +"]/hm");
  882. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu1con["+ i +"]/nacl", fCOMLIS_RstRound(val, 2, 1)); //ex) 0.3 -> 0.30
  883. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu1pat["+ i +"]/nacl", fCOMLIS_RstRound(val, 2, 1));
  884. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu24con["+ i +"]/nacl", fCOMLIS_RstRound(val, 2, 1));
  885. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu24pat["+ i +"]/nacl", fCOMLIS_RstRound(val, 2, 1));
  886. }
  887. for(i = 16; i <= 17; i++) {
  888. val = val - 0.1 ;
  889. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1con["+ i +"]");
  890. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1con["+ i +"]/nacl");
  891. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1con["+ i +"]/od");
  892. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1con["+ i +"]/hm");
  893. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1pat["+ i +"]");
  894. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1pat["+ i +"]/nacl");
  895. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1pat["+ i +"]/od");
  896. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu1pat["+ i +"]/hm");
  897. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24con["+ i +"]");
  898. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24con["+ i +"]/nacl");
  899. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24con["+ i +"]/od");
  900. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24con["+ i +"]/hm");
  901. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24pat["+ i +"]");
  902. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24pat["+ i +"]/nacl");
  903. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24pat["+ i +"]/od");
  904. model.makeNode("/root/main/rslt/desc/rslt/osmotic/incu24pat["+ i +"]/hm");
  905. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu1con["+ i +"]/nacl", fCOMLIS_RstRound(val, 2, 1)); //ex) 0.3 -> 0.30
  906. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu1pat["+ i +"]/nacl", fCOMLIS_RstRound(val, 2, 1));
  907. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu24con["+ i +"]/nacl", fCOMLIS_RstRound(val, 2, 1));
  908. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu24pat["+ i +"]/nacl", fCOMLIS_RstRound(val, 2, 1));
  909. }
  910. model.refresh();
  911. }
  912. //hemolysis 계산하기
  913. function fCalc() {
  914. L1c = model.getValue("/root/main/rslt/desc/rslt/osmotic/incu1con[17]/od"); //1시간 Control 0 OD값
  915. N1c = model.getValue("/root/main/rslt/desc/rslt/osmotic/incu1con[1]/od"); //1시간 Control 1 OD값
  916. L1p = model.getValue("/root/main/rslt/desc/rslt/osmotic/incu1pat[17]/od"); //1시간 Control 0 OD값
  917. N1p = model.getValue("/root/main/rslt/desc/rslt/osmotic/incu1pat[1]/od"); //1시간 Patient 1 OD값
  918. L24c = model.getValue("/root/main/rslt/desc/rslt/osmotic/incu24con[17]/od"); //24시간 Control 0 OD값
  919. N24c = model.getValue("/root/main/rslt/desc/rslt/osmotic/incu24con[1]/od"); //24시간 Control 1 OD값
  920. L24p = model.getValue("/root/main/rslt/desc/rslt/osmotic/incu24pat[17]/od"); //24시간 Patient 0 OD값
  921. N24p = model.getValue("/root/main/rslt/desc/rslt/osmotic/incu24pat[1]/od"); //24시간 Patient 1 OD값
  922. for(i = 2; i<= 16; i++) {
  923. var val1c = model.getValue("/root/main/rslt/desc/rslt/osmotic/incu1con["+ i +"]/od"); //1시간 Control OD값
  924. var val1p = model.getValue("/root/main/rslt/desc/rslt/osmotic/incu1pat["+ i +"]/od"); //1시간 Control OD값
  925. var val24c = model.getValue("/root/main/rslt/desc/rslt/osmotic/incu24con["+ i +"]/od"); //24시간 Control OD값
  926. var val24p = model.getValue("/root/main/rslt/desc/rslt/osmotic/incu24pat["+ i +"]/od"); //24시간 Patient OD값
  927. if(val1c != "") {
  928. if(L1c != "" && N1c != "") {
  929. var rslt = ((parseFloat(val1c) - parseFloat(N1c)) / parseFloat(L1c)) * 100;
  930. rslt = fCOMLIS_RstRound(rslt, "2", "1");
  931. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu1con["+ i +"]/hm", rslt);
  932. } else if(L1c == "" || N1c == "") { //'0' 이나 '1' OD값이 없을때
  933. if(L1c == "") {
  934. messageBox("1시간 incubation (Control)의 0(Lysis (C))을", "C001");
  935. return;
  936. } else {
  937. messageBox("1시간 incubation (Control)의 1(Non-L (C))을", "C001");
  938. return;
  939. }
  940. }
  941. }
  942. if(val1p != "") {
  943. if(L1p != "" && N1p != "") {
  944. var rslt = ((parseFloat(val1p) - parseFloat(N1p)) / parseFloat(L1p)) * 100;
  945. rslt = fCOMLIS_RstRound(rslt, "2", "1");
  946. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu1pat["+ i +"]/hm", rslt);
  947. }else if(L1p == "" || N1p == "") { //'0' 이나 '1' OD값이 없을때
  948. if(L1p == "") {
  949. messageBox("1시간 incubation (Patient)의 0(Lysis (C))을", "C001");
  950. return;
  951. } else {
  952. messageBox("1시간 incubation (Patient)의 1(Non-L (C))을", "C001");
  953. return;
  954. }
  955. }
  956. }
  957. if(val24c != "") {
  958. if(L24c != "" && N24c != "") {
  959. var rslt = ((parseFloat(val24c) - parseFloat(N24c)) / parseFloat(L24c)) * 100;
  960. rslt = fCOMLIS_RstRound(rslt, "2", "1");
  961. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu24con["+ i +"]/hm", rslt);
  962. }else if(L24c == "" || N24c == "") { //'0' 이나 '1' OD값이 없을때
  963. if(L24c == "") {
  964. messageBox("24시간 incubation (Control)의 0(Lysis (C))을", "C001");
  965. return;
  966. } else {
  967. messageBox("24시간 incubation (Control)의 1(Non-L (C))을", "C001");
  968. return;
  969. }
  970. }
  971. }
  972. if(val24p != "") {
  973. if(L24p != "" && N24p != "") {
  974. var rslt = ((parseFloat(val24p) - parseFloat(N24p)) / parseFloat(L24p)) * 100;
  975. rslt = fCOMLIS_RstRound(rslt, "2", "1");
  976. model.setValue("/root/main/rslt/desc/rslt/osmotic/incu24pat["+ i +"]/hm", rslt);
  977. }else if(L24p == "" || N24p == "") { //'0' 이나 '1' OD값이 없을때
  978. if(L24p == "") {
  979. messageBox("24시간 incubation (Patient)의 0(Lysis (C))을", "C001");
  980. return;
  981. } else {
  982. messageBox("24시간 incubation (Patient)의 1(Non-L (C))을", "C001");
  983. return;
  984. }
  985. }
  986. }
  987. }
  988. model.refresh();
  989. }
  990. //PRA Screening & Identification 조회
  991. function fGetPRA() {
  992. Scount = 1;
  993. Icount = 1;
  994. for(i = 1; i <= getNodesetCount("/root/main/testinfo/detailtestinfo"); i++) {
  995. var testcd = model.getValue("/root/main/testinfo/detailtestinfo["+ i +"]/testcd");
  996. if(testcd.substr(0, 6) == "LIP162" || testcd.substr(0, 6) == "LIP163") {
  997. model.makeNode("/root/main/rslt/desc/rslt/pra/prascreening["+ Scount +"]");
  998. copyNodesetType("/root/main/rslt/desc/rslt/pra/prascreening["+ Scount +"]", "/root/main/testinfo/detailtestinfo["+ i +"]");
  999. Scount++;
  1000. } else if(testcd.substr(0, 6) == "LIP165" || testcd.substr(0, 6) == "LIP166") {
  1001. model.makeNode("/root/main/rslt/desc/rslt/pra/iden["+ Icount +"]");
  1002. copyNodesetType("/root/main/rslt/desc/rslt/pra/iden["+ Icount +"]", "/root/main/testinfo/detailtestinfo["+ i +"]");
  1003. Icount++;
  1004. }
  1005. }
  1006. model.refresh();
  1007. }
  1008. //Cytotoxicity, Flow cyrometric 조회
  1009. function fGetCM() {
  1010. Ccount = 1;
  1011. Fcount = 1;
  1012. Dcount = 1;
  1013. model.makeValue("/root/main/rslt/desc/rslt/cm/dnorpid", model.getValue("/root/main/testinfo/spcltestinfo/reqfrmtbl/reqfrminfo/inptitem01/dnorpid"));
  1014. model.makeValue("/root/main/rslt/desc/rslt/cm/dnornm", model.getValue("/root/main/testinfo/spcltestinfo/reqfrmtbl/reqfrminfo/inptitem01/dnornm"));
  1015. for(i = 1; i <= getNodesetCount("/root/main/testinfo/detailtestinfo"); i++) {
  1016. var testcd = model.getValue("/root/main/testinfo/detailtestinfo["+ i +"]/testcd");
  1017. if(testcd.substr(0, 6) == "LIP153" || testcd.substr(0, 6) == "LIP154") {
  1018. model.makeNode("/root/main/rslt/desc/rslt/cm/cytoto["+ Ccount +"]");
  1019. copyNodesetType("/root/main/rslt/desc/rslt/cm/cytoto["+ Ccount +"]", "/root/main/testinfo/detailtestinfo["+ i +"]");
  1020. Ccount++;
  1021. } else if(testcd.substr(0, 6) == "LIP156" || testcd.substr(0, 6) == "LIP157") {
  1022. model.makeNode("/root/main/rslt/desc/rslt/cm/flow["+ Fcount +"]");
  1023. copyNodesetType("/root/main/rslt/desc/rslt/cm/flow["+ Fcount +"]", "/root/main/testinfo/detailtestinfo["+ i +"]");
  1024. Fcount++;
  1025. }else if(testcd.substr(0, 6) == "LIP158" || testcd.substr(0, 6) == "LIP159") {
  1026. model.makeNode("/root/main/rslt/desc/rslt/cm/dshla["+ Dcount +"]");
  1027. copyNodesetType("/root/main/rslt/desc/rslt/cm/dshla["+ Dcount +"]", "/root/main/testinfo/detailtestinfo["+ i +"]");
  1028. model.makeNode("/root/main/rslt/desc/rslt/cm/dshla["+ Dcount +"]/scratio");
  1029. Dcount++;
  1030. }
  1031. }
  1032. model.refresh();
  1033. }
  1034. //CKLD 조회
  1035. function fGetCKLD() {
  1036. Ccount = 1;
  1037. Lcount = 1;
  1038. for(i = 1; i <= getNodesetCount("/root/main/testinfo/detailtestinfo"); i++) {
  1039. var testcd = model.getValue("/root/main/testinfo/detailtestinfo["+ i +"]/testcd");
  1040. if(testcd.substr(0, 6) == "LSI112") { //CK 검사항목
  1041. model.makeNode("/root/main/rslt/desc/rslt/ckld/ck["+ Ccount +"]");
  1042. copyNodesetType("/root/main/rslt/desc/rslt/ckld/ck["+ Ccount +"]", "/root/main/testinfo/detailtestinfo["+ i +"]");
  1043. Ccount++;
  1044. } else if(testcd.substr(0, 6) == "LSI113") { //LD 검사항목
  1045. model.makeNode("/root/main/rslt/desc/rslt/ckld/ld["+ Lcount +"]");
  1046. copyNodesetType("/root/main/rslt/desc/rslt/ckld/ld["+ Lcount +"]", "/root/main/testinfo/detailtestinfo["+ i +"]");
  1047. Lcount++;
  1048. }
  1049. }
  1050. model.refresh();
  1051. }
  1052. function fGetFish() {
  1053. Ccount = 1;
  1054. Lcount = 1;
  1055. for(i = 1; i <= getNodesetCount("/root/main/testinfo/detailtestinfo"); i++) {
  1056. var testcd = model.getValue("/root/main/testinfo/detailtestinfo["+ i +"]/testcd");
  1057. if(testcd.substr(0, 6) == "LSI112") { //CK 검사항목
  1058. model.makeNode("/root/main/rslt/desc/rslt/fish/ck["+ Ccount +"]");
  1059. copyNodesetType("/root/main/rslt/desc/rslt/fish/ck["+ Ccount +"]", "/root/main/testinfo/detailtestinfo["+ i +"]");
  1060. Ccount++;
  1061. } else if(testcd.substr(0, 6) == "LSI113") { //LD 검사항목
  1062. model.makeNode("/root/main/rslt/desc/rslt/fish/ld["+ Lcount +"]");
  1063. copyNodesetType("/root/main/rslt/desc/rslt/fish/ld["+ Lcount +"]", "/root/main/testinfo/detailtestinfo["+ i +"]");
  1064. Lcount++;
  1065. }
  1066. }
  1067. model.refresh();
  1068. }
  1069. //판독예문 조회
  1070. function fRsltCode(gridID){
  1071. gridObj = document.all(gridID);
  1072. model.removeNodeset("/root/main/rsltcode");
  1073. model.refresh();
  1074. var vTestcd = model.getvalue("/root/main/testinfo/spcltestinfo/testcd");
  1075. if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "01") { //Bone Marrow는 콤보
  1076. cmb_exmp.choices.itemset.attribute("nodeset") = "/root/init/readrslt[etc03='" + vTestcd + "']";
  1077. } else { //나머지는 그리드이므로.
  1078. if(gridID != "") { //판독예문 창을 띄어 수정한 후
  1079. var cdNodes = instance1.selectNodes("/root/init/readrslt[etc03='" + vTestcd + "']/cd");
  1080. var cdNodes2 = instance1.selectNodes("/root/init/readrslt[etc03='" + vTestcd + "']/nm");
  1081. var vRstcontLower ="";
  1082. var vRstcontUpper = "";
  1083. for (i = 1; i <= cdNodes.length; i++) {
  1084. var cd = cdNodes.item(i - 1).text;
  1085. var nm = cdNodes2.item(i - 1).text;
  1086. gridObj.addRow(false);
  1087. model.setvalue("/root/main/rsltcode["+i+"]/cd" , cd);
  1088. model.setvalue("/root/main/rsltcode["+i+"]/nm" , nm);
  1089. }
  1090. if(cdNodes.length > 0)
  1091. model.refresh();
  1092. } else { //특수검사 조회시에는 그리드아이디를 보내지 않는다. 어느 검사인지 알수 없기에..
  1093. var cdNodes = instance1.selectNodes("/root/init/readrslt[etc03='" + vTestcd + "']/cd");
  1094. var cdNodes2 = instance1.selectNodes("/root/init/readrslt[etc03='" + vTestcd + "']/nm");
  1095. var vRstcontLower ="";
  1096. var vRstcontUpper = "";
  1097. for (i = 1; i <= cdNodes.length; i++) {
  1098. var cd = cdNodes.item(i - 1).text;
  1099. var nm = cdNodes2.item(i - 1).text;
  1100. model.makeValue("/root/main/rsltcode["+ i +"]/cd" , cd);
  1101. model.makeValue("/root/main/rsltcode["+ i +"]/nm" , nm);
  1102. }
  1103. if(cdNodes.length > 0)
  1104. model.refresh();
  1105. }
  1106. }
  1107. }
  1108. //판독예문코드 더블 클릭시
  1109. function fRsltCodeDBClick(gridID){
  1110. gridObj = document.all(gridID);
  1111. if(gridObj.rows < 2) { //판독예문이 있을경우에만 이벤트 타도록.
  1112. return;
  1113. }
  1114. var vTestcd = model.getvalue("/root/main/testinfo/spcltestinfo/testcd");
  1115. var cd = model.getValue("/root/main/rsltcode["+ gridObj.row +"]/cd");
  1116. var vDescrsltN = instance1.selectNodes("/root/init/readrslt[etc03='" + vTestcd + "' and cd='"+ cd +"']/etc01");
  1117. var vInterN = instance1.selectNodes("/root/init/readrslt[etc03='" + vTestcd + "' and cd='"+ cd +"']/etc02");
  1118. var vCMTN = instance1.selectNodes("/root/init/readrslt[etc03='" + vTestcd + "' and cd='"+ cd +"']/etc04");
  1119. var vDescrslt = vDescrsltN.item(0).text; //판독예문
  1120. var vInter = vInterN.item(0).text; //Interpretation
  1121. var vCMT = vCMTN.item(0).text; //Interpretation
  1122. if(model.getValue("/root/hidden/readexmpadd") == "Y") {
  1123. var read = model.getValue("/root/main/rslt/desc/rslt/readrslt");
  1124. model.setValue("/root/main/rslt/desc/rslt/readrslt", read + vDescrslt);
  1125. if(vInter != "") {
  1126. var inter = model.getValue("/root/main/rslt/desc/rslt/inter");
  1127. model.setvalue("/root/main/rslt/desc/rslt/inter", inter + vInter);
  1128. }
  1129. if(vCMT != "") {
  1130. var cmt = model.getValue("/root/main/rslt/desc/rslt/comments");
  1131. model.setvalue("/root/main/rslt/desc/rslt/comments", cmt + vCMT);
  1132. }
  1133. } else {
  1134. model.setvalue("/root/main/rslt/desc/rslt/readrslt" , vDescrslt);
  1135. if(vInter != "") {
  1136. model.setvalue("/root/main/rslt/desc/rslt/inter", vInter);
  1137. }
  1138. if(vCMT != "") {
  1139. model.setvalue("/root/main/rslt/desc/rslt/comments", vCMT);
  1140. }
  1141. }
  1142. model.refresh();
  1143. }
  1144. //세부검사목록
  1145. function fGetDetlTcls() {
  1146. model.removenode("/root/main/rslt/desc/rslt/detltclsinfo");
  1147. model.removenode("/root/main/rslt/desc/rslt/detltclsinfo2");
  1148. model.makeValue("/root/send/tclscd", model.getValue("/root/main/testinfo/spcltestinfo/tclscd"));
  1149. model.makeValue("/root/send/bcno", model.getValue("/root/main/testinfo/spcltestinfo/bcno"));
  1150. submit("TRLRR00404");
  1151. model.removeNodeset("/root/send/tclscd");
  1152. model.removeNodeset("/root/send/bcno");
  1153. }
  1154. //proteinEP 검사
  1155. function fGetproteinEP() {
  1156. model.removenode("/root/main/rslt/desc/rslt/proteinEP");
  1157. model.makeValue("/root/send/tclscd", model.getValue("/root/main/testinfo/spcltestinfo/tclscd"));
  1158. model.makeValue("/root/send/bcno", model.getValue("/root/main/testinfo/spcltestinfo/bcno"));
  1159. submit("TRLRR00409");
  1160. model.removeNodeset("/root/send/tclscd");
  1161. model.removeNodeset("/root/send/bcno");
  1162. }
  1163. //탑정보
  1164. function fUpPatinfo(){
  1165. if(getPatientInfo("pid") != model.getValue("/root/main/testinfo/spcltestinfo/pid")) {
  1166. if(getNodesetCount("/root/main/testinfo/spcltestinfo") > 0){
  1167. setParameter("errflag", "Y"); // exception error창을 띄우지 않음
  1168. setParameter("condparam", "S" + "▦" + model.getvalue("/root/main/testinfo/spcltestinfo/prcpdd")+ "▦"
  1169. + model.getvalue("/root/main/testinfo/spcltestinfo/execprcpuniqno") + "▦"
  1170. + model.getvalue("/root/main/testinfo/spcltestinfo/extrtestinstcd") );
  1171. modal("SPMMO08900");
  1172. }
  1173. var paminfo = getGlobalVariable("paminfo");
  1174. if(paminfo.length < 0){ //상단정보가 없는 경우
  1175. delPatientInfos(); //환자정보 전체 삭제
  1176. var pid = model.getValue("/root/main/testinfo/spcltestinfo/pid");
  1177. var hngnm = model.getValue("/root/main/testinfo/spcltestinfo/patnm");
  1178. //상단에 올릴 수 있는 정보가 있으면 아래와 같이 설정해 주시면 됩니다. 없으면 안 해주셔도 되구요..
  1179. setPatientInfo("pid" , pid); //등록번호
  1180. setPatientInfo("pname" , pid + "|" + hngnm); //환자명
  1181. }
  1182. }
  1183. }
  1184. function fReMake(){
  1185. for(i=1;i<datagrid3.rows;i++){
  1186. datagrid3.cellstyle("background-color" , i,4) = "#EEFFFF";
  1187. datagrid3.cellstyle("background-color" , i,5) = "#FFFFFA";
  1188. if(model.getvalue("/root/main/testinfo/detailtestinfo["+i+"]/rstcdexists") == "Y"){
  1189. datagrid3.cellstyle("background-image", i, 4) = "../../../lis/commonweb/images/icnRstCDExists.gif";
  1190. datagrid3.cellstyle("background-position", i, 4) = "right";
  1191. }
  1192. }
  1193. }
  1194. //결과저장, 결과보고, 전문의확인
  1195. function fInsRsltSave(flag){
  1196. var node = instance1.selectSingleNode("/root/main/rslt/desc/rslt");
  1197. //alert(node.xml);
  1198. if(model.getvalue("/root/main/testinfo/spcltestinfo/bcno") == "") {
  1199. messageBox("환자가 선택되지", "E007");
  1200. model.setFocus("ipt_reftext");
  1201. model.refresh();
  1202. return;
  1203. }
  1204. if(flag == "6") {
  1205. if(model.getValue("/root/hidden/readnm") == "") {
  1206. messageBox("판독자를", "C001");
  1207. model.setFocus("ipt_readpsn");
  1208. model.refresh();
  1209. return;
  1210. }
  1211. } else if(model.getValue("/root/hidden/testnm") == "") {
  1212. messageBox("입력자를", "C001");
  1213. model.setFocus("ipt_testpsn");
  1214. model.refresh();
  1215. return;
  1216. }
  1217. model.setvalue("/root/hidden/TestData/bcno" , model.getvalue("/root/main/testinfo/spcltestinfo/bcno"));
  1218. model.setvalue("/root/hidden/TestData/testcd", model.getValue("/root/main/testinfo/spcltestinfo/testcd"));
  1219. model.makevalue("/root/hidden/TestData/tclscd", model.getValue("/root/main/testinfo/spcltestinfo/tclscd"));
  1220. model.setvalue("/root/hidden/TestData/spccd", model.getvalue("/root/main/testinfo/spcltestinfo/spccd"));
  1221. model.setvalue("/root/hidden/TestData/inptrslt", "");
  1222. model.setvalue("/root/hidden/TestData/rsltstat" , flag);
  1223. model.setvalue("/root/hidden/TestData/testlrgkind" , model.getvalue("/root/main/testinfo/spcltestinfo/testlrgkind"));
  1224. model.setValue("/root/hidden/TestData/descrslt", node.xml, true);
  1225. model.setValue("/root/hidden/TestData/inter", model.getValue("/root/main/rslt/desc/rslt/inter"));
  1226. model.makevalue("/root/hidden/TestData/readid" , model.getvalue("/root/hidden/readid"));
  1227. model.makevalue("/root/hidden/TestData/testid" , model.getvalue("/root/hidden/testid"));
  1228. model.makevalue("/root/hidden/TestData/formkind" , model.getvalue("/root/main/rslt/desc/rslt/refflag"));
  1229. model.copyNode("/root/send/data1" ,"/root/hidden/TestData" );
  1230. if((model.getValue("/root/main/rslt/desc/rslt/refflag") == "01")//Bone Marrow
  1231. || (model.getValue("/root/main/rslt/desc/rslt/refflag") == "05")) { //osmo
  1232. for(i = 1; i <= getNodesetCount("/root/main/testinfo/detailtestinfo"); i++) {
  1233. model.setValue("/root/main/testinfo/detailtestinfo["+ i +"]/chk", "Y");
  1234. }
  1235. }
  1236. //if((model.getValue("/root/main/rslt/desc/rslt/refflag") == "02") //분자유전
  1237. // || (model.getValue("/root/main/rslt/desc/rslt/refflag") == "03") //세포유전
  1238. // || (model.getValue("/root/main/rslt/desc/rslt/refflag") == "04") //Immunophenotyping
  1239. // || (model.getValue("/root/main/rslt/desc/rslt/refflag") == "06") //ICG
  1240. // || (model.getValue("/root/main/rslt/desc/rslt/refflag") == "08") //EP
  1241. /// || (model.getValue("/root/main/rslt/desc/rslt/refflag") == "09")/*산전기형*/) {
  1242. var testcd = model.getValue("/root/main/testinfo/spcltestinfo/testcd");
  1243. var find = grd_rslt.findRow(testcd, 0, 1);
  1244. model.setValue("/root/main/testinfo/detailtestinfo["+ find +"]/chk", "Y");
  1245. //}
  1246. //if(model.getValue("/root/main/testinfo/spcltestinfo/rsltstat") != "-") {
  1247. for(i = 1; i <= getNodesetCount("/root/main/testinfo/detailtestinfo"); i++) {
  1248. if(model.getValue("/root/main/testinfo/spcltestinfo/rsltstat") != "-") {
  1249. if((model.getValue("/root/main/testinfo/detailtestinfo["+ i +"]/reptrslt") != "")
  1250. || (model.getValue("/root/main/testinfo/detailtestinfo["+ i +"]/rsltstat") != "-")) {
  1251. model.setValue("/root/main/testinfo/detailtestinfo["+ i +"]/chk", "Y");
  1252. }
  1253. }
  1254. var testcd = model.getValue("/root/main/testinfo/detailtestinfo["+ i +"]/testcd").substring(0, 6);
  1255. var count = getNodesetCount("/root/main/rslt/desc/rslt/detailtestinfo");
  1256. if((model.getValue("/root/main/rslt/desc/rslt/refflag") == "02") //분자유전
  1257. || (model.getValue("/root/main/rslt/desc/rslt/refflag") == "03")) {//세포유전
  1258. if(testcd == model.getValue("/root/main/testinfo/spcltestinfo/testcd")) {
  1259. if(model.getValue("/root/main/testinfo/detailtestinfo["+ i +"]/chk") == "Y") {
  1260. model.makeNode("/root/main/rslt/desc/rslt/detailtestinfo["+ count +"]");
  1261. copyNodeType("/root/main/rslt/desc/rslt/detailtestinfo["+ count +"]", "/root/main/testinfo/detailtestinfo["+ i +"]");
  1262. }
  1263. }
  1264. }
  1265. }
  1266. //}
  1267. if(getNodesetCount("/root/main/testinfo/detailtestinfo") > 0){
  1268. for(i = 0; i < grd_rslt.rows; i++) {
  1269. var find = grd_rslt.findRow("Y", i, 0, false, false);
  1270. if(find < 0) {
  1271. break;
  1272. }
  1273. grd_rslt.addStatus(find,"update");
  1274. i = find;
  1275. }
  1276. var sSendData = grd_rslt.getUpdateData();
  1277. } else {
  1278. var sSendData = "m▦rownum▦chk▦testcd▦bufinptrslt▦reptrslt▦inptrslt▦bcno▩";
  1279. sSendData = sSendData + "u▦100▦Y▦"+model.getValue("/root/hidden/TestData/testcd") +"▦" + model.getvalue("/root/main/testinfo/spcltestinfo/tclsscrnnm") +"▦▦▦" + model.getValue("/root/main/testinfo/spcltestinfo/bcno") + "▩";
  1280. }
  1281. model.setvalue("/root/send/data2" , sSendData);
  1282. if(flag == "6") {
  1283. model.makeValue("/root/send/bcno", model.getValue("/root/main/testinfo/spcltestinfo/bcno"));
  1284. model.makeValue("/root/send/spccd", model.getValue("/root/main/testinfo/spcltestinfo/spccd"));
  1285. model.makeValue("/root/send/prcpgenrflag", model.getValue("/root/main/testinfo/spcltestinfo/prcpgenrflag"));
  1286. submit("TRLRP00702"); //주진단명
  1287. model.removenode("/root/send/bcno");
  1288. model.removenode("/root/send/spccd");
  1289. model.removenode("/root/send/prcpgenrflag");
  1290. model.makeValue("/root/main/rslt/desc/detltestlist/tclsnm", model.getValue("/root/main/testinfo/spcltestinfo/prcpnm")); //처방명
  1291. model.makeValue("/root/main/rslt/desc/detltestlist/spcnm", model.getValue("/root/main/testinfo/spcltestinfo/spcprntnm")); //검체명
  1292. model.makeValue("/root/send/tclscd", model.getValue("/root/main/testinfo/spcltestinfo/tclscd"));
  1293. model.makeValue("/root/send/testcd", model.getValue("/root/main/testinfo/spcltestinfo/testcd"));
  1294. model.makeValue("/root/send/instcd", getUserInfo("dutplceinstcd"));
  1295. model.makeValue("/root/send/pid", model.getValue("/root/main/testinfo/spcltestinfo/pid"));
  1296. submit("TRLRR90403"); //인증에 필요한 환자정보
  1297. model.removenode("/root/send/tclscd");
  1298. model.removenode("/root/send/testcd");
  1299. model.removenode("/root/send/instcd");
  1300. model.removenode("/root/send/pid");
  1301. model.makeValue("/root/main/rslt/desc/patinfo/medispcdt", getCurrentDate()); //판독시간
  1302. model.makevalue("/root/main/rslt/desc/patinfo/bcolldt",model.getValue("/root/main/testinfo/spcltestinfo/bcolldt"));//채취일자
  1303. model.makevalue("/root/main/rslt/desc/patinfo/workno",model.getValue("/root/main/testinfo/spcltestinfo/workno"));//접수번호
  1304. model.makeValue("/root/main/rslt/desc/patinfo/testid", model.getValue("/root/hidden/testnm"));// 입력자
  1305. model.makeValue("/root/main/rslt/desc/patinfo/medispclid", model.getValue("/root/hidden/readnm")); //판독자
  1306. model.makeValue("/root/main/rslt/desc/patinfo/specdrid", model.getValue("/root/hidden/specdrid")); //특진의
  1307. model.makeValue("/root/main/rslt/desc/patinfo/userflag", model.getValue("/root/hidden/userflag")); //사용자구분
  1308. model.makeValue("/root/main/rslt/desc/patinfo/server", getDomain()); //이미지불러오기 위해 현 서버를 server 노드에 넣는다.
  1309. if(getNodesetCount("/root/main/imglist/rsltseqno") > 0){ //이미지가 있을 경우..
  1310. count = 1
  1311. for(i = model.getValue("/root/main/imglist/minseqno"); i <= model.getValue("/root/main/imglist/maxseqno"); i++) {
  1312. model.makeValue("/root/main/rslt/desc/patinfo/rsltseq["+ count +"]/rsltseq", i);
  1313. count++;
  1314. }
  1315. }
  1316. if(getNodesetCount("/root/main/imglistld/rsltseqno") > 0){ //LD 이미지가 있을 경우..
  1317. count = 1
  1318. for(i = model.getValue("/root/main/imglistld/minseqno"); i <= model.getValue("/root/main/imglistld/maxseqno"); i++) {
  1319. model.makeValue("/root/main/rslt/desc/patinfo/rsltseqld["+ count +"]/rsltseq", i);
  1320. count++;
  1321. }
  1322. }
  1323. model.makeNode("/root/main/rslt/desc/patinfo/reqcnts"); //의뢰지 내용 담을
  1324. copyNodesetType("/root/main/rslt/desc/patinfo/reqcnts", "/root/main/testinfo/spcltestinfo/reqcnts"); //의뢰지 내용을 인증 노드에 카피
  1325. if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "01") { //Bone Marrow
  1326. model.makeNode("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem01/rslt"); //의뢰지 표현을 위해 의뢰지 결과 담을 노드 생성
  1327. //골수 의뢰서 내용
  1328. if(model.getValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem01/initial") == "Initial") {
  1329. model.setValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem01/initial", "Initial");
  1330. model.setValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem01/rslt", model.getValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem02/initial"));
  1331. } else if(model.getValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem01/fu") == "F/U") {
  1332. model.setValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem01/initial", "F/U");
  1333. if(model.getValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem02/chemo") != "") {
  1334. model.setValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem01/rslt", model.getValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem02/chemo") + "\n");
  1335. } else if(model.getValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem02/bmt") != "") {
  1336. model.setValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem01/rslt", model.getValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem02/bmt") + "\n");
  1337. } else if(model.getValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem02/ro") != "") {
  1338. model.setValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem01/rslt", model.getValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem02/ro") + "\n");
  1339. }
  1340. } else if(model.getValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem01/others") == "Others") {
  1341. model.setValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem01/initial", "Others");
  1342. model.setValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem01/rslt", model.getValue("/root/main/rslt/desc/patinfo/reqcnts/reqfrminfo/inptitem02/othersl"));
  1343. }
  1344. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "06") { //ICG
  1345. var sfind = grd_rslt.findRow("LSS18101", 1, 1, true, true);
  1346. var rfind = grd_rslt.findRow("LSS18102", 1, 1, true, true);
  1347. model.makeValue("/root/main/rslt/desc/rslt/icg/sref", model.getValue("/root/main/testinfo/detailtestinfo["+ sfind +"]/refval"));
  1348. model.makeValue("/root/main/rslt/desc/rslt/icg/rref", model.getValue("/root/main/testinfo/detailtestinfo["+ rfind +"]/refval"));
  1349. }
  1350. //인증
  1351. if(Sign.signprocess()){
  1352. model.makeNode("/root/send/signdata");
  1353. model.makeValue("/root/send/signdata/bcno", model.getValue("/root/main/testinfo/spcltestinfo/bcno")); //결과테이블에 생성번호 넣기위해.
  1354. model.makeValue("/root/send/signdata/pid", model.getValue("/root/main/testinfo/spcltestinfo/pid")); //등록번호
  1355. model.makeValue("/root/send/signdata/orddd", model.getValue("/root/main/testinfo/spcltestinfo/orddd")); //입원, 응급 : 입원일자, 외래 : 진료일자
  1356. model.makeValue("/root/send/signdata/signno", model.getValue("/root/main/testinfo/spcltestinfo/signno")); //서명번호
  1357. model.makeValue("/root/send/signdata/cretno", model.getValue("/root/main/testinfo/spcltestinfo/cretno")); //생성번호
  1358. model.makeValue("/root/send/signdata/recdd", getCurrentDate()); // 실제기록이 이루어진 기록일자
  1359. model.makeValue("/root/send/signdata/rectm", getCurrentTime()); //실제기록이 이루어진 기록시간
  1360. model.makeValue("/root/send/signdata/recsaveflag", "Y"); // 전자서명 인적정보 변경여부(기록일시 변경되는 경우 : Y, 그외 : N)
  1361. model.makeValue("/root/send/signdata/signflag", "30"); // 서명자료구분(01 : 진료, 02 : 간호, 30:검사)
  1362. model.makeValue("/root/send/signdata/signgenrflag", model.getValue("/root/main/testinfo/spcltestinfo/prcpgenrflag")); //입원, 외래구분
  1363. model.makeValue("/root/send/signdata/formcd", model.getValue("/root/main/testinfo/spcltestinfo/formcd")); //각 기록지별 서식코드 0000002916 : BM
  1364. model.makeValue("/root/send/signdata/orddeptcd", model.getValue("/root/main/testinfo/spcltestinfo/orddeptcd")); //진료과
  1365. model.makeValue("/root/send/signdata/orddrid", model.getValue("/root/main/testinfo/spcltestinfo/orddrid")); //진료의ID
  1366. model.makeValue("/root/send/signdata/signbfcnts", Sign.signedInfos[3]); // 인증할 데이터 정보(미기록 노드 제거된 정보), 미기록 노드 제거전 원본 노드 정보 : Sign.signedInfos[3]
  1367. model.makeValue("/root/send/signdata/signaftcnts", Sign.signedInfos[2]); //공인인증 처리후 데이터
  1368. if(model.getValue("/root/main/testinfo/spcltestinfo/basecdid") == "LL010") {
  1369. model.makeValue("/root/send/signdata/dispyn", "N"); //통합기록조회(통합결과조회)에 기록 보여질 여부(LL010이면 보이지 않는다)
  1370. }
  1371. }else{
  1372. alert("인증실패");
  1373. model.removeNodeset("/root/send/data1");
  1374. model.removeNodeset("/root/send/data2");
  1375. model.removeNodeset("/root/send/signdata");
  1376. model.makeNode("/root/send/data1");
  1377. model.makeNode("/root/send/data2");
  1378. model.resetInstanceNode("/root/hidden/TestData");
  1379. return false;
  1380. }
  1381. //submit("TXLRR00401");
  1382. }
  1383. if(submit("TXLRR00101")) {
  1384. var rsltYN = true;
  1385. }
  1386. if(rsltYN) {
  1387. fSetClear("P");
  1388. }else {
  1389. alert("저장실패");
  1390. }
  1391. model.removeNodeset("/root/send/data1");
  1392. model.removeNodeset("/root/send/data2");
  1393. model.removeNodeset("/root/send/signdata");
  1394. model.makeNode("/root/send/data1");
  1395. model.makeNode("/root/send/data2");
  1396. model.resetInstanceNode("/root/hidden/TestData");
  1397. model.resetInstanceNode("/root/send");
  1398. fchildsearch("SPLRR90700");
  1399. activateChild("SPLRR90700");
  1400. model.refresh();
  1401. }
  1402. //인증데이터 만들기
  1403. function fMake_SignData(){
  1404. Sign.addnode("/root/main/rslt/desc");
  1405. }
  1406. //이미지 결과 조회, 이미지 표현
  1407. function fImgRef(img){
  1408. var img = document.controls.item(img);
  1409. model.copyNode("/root/send/data1" , "/root/main/testinfo/spcltestinfo");
  1410. model.removeNodeset("/root/send/data2");
  1411. if(model.getValue("/root/main/testinfo/spcltestinfo/testcd") == "LSI113") { //ld이미지
  1412. model.makeValue("/root/send/data1/rsltseqno" , model.getValue("/root/hidden/rsltseqnold"));
  1413. submit("TRLRR01502", false);
  1414. model.makeNode("/root/main/viewld"); //ld 이미지 노드 생성
  1415. copyNodeType("/root/main/viewld", "/root/main/view"); //이미지 이동
  1416. model.removenode("/root/main/view"); //이전 이미지 노드 삭제
  1417. setImageRefInstance("/root/main/viewld/imgrslt"); //이미지 셋팅
  1418. img.attribute("width")= model.getValue("/root/main/viewld/imgwidt");
  1419. img.attribute("height")= model.getValue("/root/main/viewld/imght");
  1420. } else {
  1421. model.makeValue("/root/send/data1/rsltseqno" , model.getValue("/root/hidden/rsltseqno"));
  1422. submit("TRLRR01502", false);
  1423. setImageRefInstance("/root/main/view/imgrslt");//이미지 셋팅
  1424. img.attribute("width")= model.getValue("/root/main/view/imgwidt");
  1425. img.attribute("height")= model.getValue("/root/main/view/imght");
  1426. }
  1427. model.removeNodeset("/root/send/data1");
  1428. model.makeNode("/root/send/data1");
  1429. model.makeNode("/root/send/data2");
  1430. model.refresh();
  1431. }
  1432. //이미지 콤보 박스 조회
  1433. function fImgRslt(cmb, cpt, img){
  1434. cmb = document.controls.item(cmb);
  1435. cpt = document.controls.item(cpt);
  1436. fimg = document.controls.item(img);
  1437. model.copyNode("/root/send/data1" , "/root/main/testinfo/spcltestinfo");
  1438. if(model.getValue("/root/main/testinfo/spcltestinfo/testcd") == "LSI113") { //ld 이미지
  1439. submit("TRLRR01501");
  1440. model.makeNode("/root/main/imglistld"); //ld history 노드 생성
  1441. copyNodeType("/root/main/imglistld", "/root/main/imglist"); //history 이동
  1442. model.removenode("/root/main/imglist"); //이전 history 노드 삭제
  1443. if(getNodesetCount("/root/main/imglistld/rsltseqno") > 0){ //history가 존재하면 이미지 조회
  1444. cmb.value = model.getvalue("/root/main/imglistld/rsltseqno");
  1445. fImgRef(img);
  1446. fimg.attribute("visibility") = "visible";
  1447. cpt.attribute("visibility") = "hidden";
  1448. }else { //history가 없으면 no_img 띄움.
  1449. fimg.attribute("visibility") = "hidden";
  1450. cpt.attribute("visibility") = "visible";
  1451. }
  1452. } else {
  1453. submit("TRLRR01501");
  1454. if(getNodesetCount("/root/main/imglist/rsltseqno") > 0){ //history가 존재하면 이미지 조회
  1455. cmb.value = model.getvalue("/root/main/imglist/rsltseqno");
  1456. fImgRef(img);
  1457. fimg.attribute("visibility") = "visible";
  1458. cpt.attribute("visibility") = "hidden";
  1459. }else { //history가 없으면 no_img 띄움.
  1460. fimg.attribute("visibility") = "hidden";
  1461. cpt.attribute("visibility") = "visible";
  1462. }
  1463. }
  1464. model.removeNodeset("/root/send/data1");
  1465. model.makeNode("/root/send/data1");
  1466. model.refresh();
  1467. }
  1468. //그리드 키이벤트
  1469. function fGridKeyEvent(grd, pRef){
  1470. gridObj = document.all(grd);
  1471. var row = gridObj.row;
  1472. var col = gridObj.col;
  1473. if(col == 1 || col == 4){
  1474. var vBufInptRslt = model.getvalue(pRef +"["+row+"]/bufinptrslt");
  1475. var vReptRslt = model.getValue(pRef +"["+row+"]/reptrslt");
  1476. var InptRslt = model.getvalue(pRef +"["+row+"]/inptrslt");
  1477. /* if(vReptRslt != "") {
  1478. if(vReptRslt == "" && InptRslt==""){
  1479. model.setvalue(pRef +"["+row+"]/inptrslt",vReptRslt);
  1480. return;
  1481. }
  1482. else{
  1483. if(vReptRslt == InptRslt){
  1484. fCvtViewResult(gridObj, pRef,true);
  1485. return;
  1486. }
  1487. }
  1488. }else {
  1489. if(vBufInptRslt == "" && InptRslt==""){
  1490. model.setvalue(pRef +"["+row+"]/inptrslt",vBufInptRslt);
  1491. return;
  1492. }
  1493. else{
  1494. if(vBufInptRslt == InptRslt){
  1495. fCvtViewResult(gridObj, pRef,true);
  1496. return;
  1497. }
  1498. }
  1499. }*/
  1500. fCvtResultCode(row, pRef); //결과코드
  1501. fCvtViewResult(gridObj, pRef); //결과판정
  1502. } else{
  1503. }
  1504. }
  1505. //그리드 EndEdit (PB만)
  1506. function fGridEndEdit(grd, pRef){
  1507. gridObj = document.all(grd);
  1508. var row = gridObj.row;
  1509. var col = gridObj.col;
  1510. if(model.getValue(pRef +"["+row+"]/lvl") == "1") { //RBC, WBC, Platelet일때.
  1511. return;
  1512. }
  1513. if(col == 1 || col == 4){
  1514. var vBufInptRslt = model.getvalue(pRef +"["+row+"]/bufinptrslt");
  1515. var vReptRslt = model.getValue(pRef +"["+row+"]/reptrslt");
  1516. var InptRslt = model.getvalue(pRef +"["+row+"]/inptrslt");
  1517. /* if(vReptRslt != "") {//말초도말검사
  1518. if(vReptRslt == "" && InptRslt==""){
  1519. model.setvalue(pRef +"["+row+"]/inptrslt",vReptRslt);
  1520. return;
  1521. }
  1522. else{
  1523. if(vReptRslt == InptRslt){
  1524. fCvtViewResult(gridObj, pRef,true);
  1525. return;
  1526. }
  1527. }
  1528. }else {
  1529. if(vBufInptRslt == "" && InptRslt==""){
  1530. model.setvalue(pRef +"["+row+"]/inptrslt",vBufInptRslt);
  1531. return;
  1532. }
  1533. else{
  1534. if(vBufInptRslt == InptRslt){
  1535. fCvtViewResult(gridObj, pRef,true);
  1536. return;
  1537. }
  1538. }
  1539. }*/
  1540. fCvtResultCode(row, pRef); //결과코드
  1541. fCvtViewResult(gridObj, pRef); //결과판정
  1542. } else{
  1543. }
  1544. }
  1545. // 결과판정
  1546. function fCvtViewResult(gridObj, pRef, pMatch, pMulty, pRow){
  1547. var vRow = gridObj.row;
  1548. var vCol = gridObj.col;
  1549. var vMaxRow = gridObj.rows-1;
  1550. if (typeof(pMatch) == "undefined") pMatch = false;
  1551. if (typeof(pMulty) == "undefined") pMulty = false;
  1552. if (typeof(pRow) != "undefined") vRow = pRow;
  1553. var vBufinptrslt = model.getvalue(pRef +"["+vRow+"]/bufinptrslt");
  1554. var vReptrslt = model.getvalue(pRef +"["+vRow+"]/reptrslt");
  1555. if(vReptrslt != "") {//말초도말검사
  1556. model.setvalue(pRef +"["+vRow+"]/inptrslt",vReptrslt);
  1557. var testcd = model.getValue(pRef + "[" + vRow + "]/testcd");
  1558. var find = grd_rslt.findRow(testcd, 1, 1, true, true);
  1559. model.setValue("/root/main/testinfo/detailtestinfo["+ find +"]/reptrslt", vReptrslt);
  1560. model.setValue("/root/main/testinfo/detailtestinfo["+ find +"]/inptrslt", vReptrslt);
  1561. }else {
  1562. model.setvalue(pRef +"["+vRow+"]/inptrslt",vReptrslt);
  1563. model.setvalue (pRef +"["+vRow+"]/reptrslt",vReptrslt);
  1564. var testcd = model.getValue(pRef + "[" + vRow + "]/testcd");
  1565. var find = grd_rslt.findRow(testcd, 1, 1, true, true);
  1566. model.setValue("/root/main/testinfo/detailtestinfo["+ find +"]/reptrslt", vReptrslt);
  1567. model.setValue("/root/main/testinfo/detailtestinfo["+ find +"]/inptrslt", vReptrslt);
  1568. }
  1569. //if(model.getvalue("/root/main/testinfo/detailtestinfo["+ find +"]/reptrslt") != ""){ PB 때문에 20080919 윤재한 막음
  1570. model.setvalue("/root/main/testinfo/detailtestinfo["+ find +"]/chk", "Y");
  1571. //}
  1572. if (pMulty) {
  1573. model.setvalue(pRef +"["+vRow+"]/bufinptrslt", "");
  1574. } else {
  1575. var vMoveRow = "";
  1576. if(vMaxRow == parseInt(vRow))
  1577. vMoveRow = 1;
  1578. else
  1579. vMoveRow = parseInt(vRow) + 1;
  1580. if( vMaxRow >= vMoveRow ) {
  1581. } else {
  1582. vMoveRow -= 1;
  1583. }
  1584. model.setvalue(pRef +"["+vRow+"]/bufinptrslt", "");
  1585. gridObj.row = vMoveRow;
  1586. gridObj.col = vCol;
  1587. model.setvalue(pRef +"["+vMoveRow+"]/bufinptrslt", model.getvalue(pRef +"["+vMoveRow+"]/inptrslt"));
  1588. }
  1589. }
  1590. function fCvtResultCode(row, pRef){
  1591. var vTestcd = model.getValue(pRef + "["+row+"]/tclscd");
  1592. var vInptRslt = model.getValue(pRef + "["+row+"]/bufinptrslt");
  1593. var cdNodes = instance1.selectNodes("/root/init/LB0109[etc01='" + vTestcd + "']/cd");
  1594. var cdNodes2 = instance1.selectNodes("/root/init/LB0109[etc01='" + vTestcd + "']/nm");
  1595. var vRstcontLower ="";
  1596. var vRstcontUpper = "";
  1597. for (i = 1; i <= cdNodes.length; i++) {
  1598. var cd = cdNodes.item(i - 1).text;
  1599. var nm = cdNodes2.item(i - 1).text;
  1600. if(vInptRslt.toLowerCase() == cd) vRstcontLower = nm;
  1601. if(vInptRslt.toUpperCase() == cd) vRstcontUpper = nm;
  1602. }
  1603. if (vRstcontLower.getTrim() != "" || vRstcontUpper.getTrim() != "" ) {
  1604. var vRstcont = (vRstcontLower.getTrim() != "") ? vRstcontLower.getTrim() : vRstcontUpper.getTrim();
  1605. model.setValue(pRef + "["+row+"]/bufinptrslt", vRstcont);
  1606. model.setValue(pRef + "["+row+"]/inptrslt", vRstcont);
  1607. }
  1608. }
  1609. //의뢰서 조회
  1610. function fRefREQSHT() {
  1611. if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "01") { //Bone Marrow
  1612. modal("SPLRR90100","","","","","/root/main/testinfo/spcltestinfo", "/root/hidden/reqfrminfo");
  1613. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "02") { //분자유전
  1614. modal("SPLRR90200","","","","","/root/main/testinfo/spcltestinfo", "/root/hidden/reqfrminfo");
  1615. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "03") { //세포유전
  1616. if(model.getValue("/root/main/testinfo/spcltestinfo/reqfrmcd") =="04" ){
  1617. modal("SPLRR90400","","","","","/root/main/testinfo/spcltestinfo", "/root/hidden/reqfrminfo");
  1618. }
  1619. else{
  1620. modal("SPLRR91300","","","","","/root/main/testinfo/spcltestinfo", "/root/hidden/reqfrminfo");
  1621. }
  1622. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "10" || model.getValue("/root/main/rslt/desc/rslt/refflag") == "11") { //PRA, 교차시험
  1623. modal("SPLRR90500","","","","","/root/main/testinfo/spcltestinfo", "/root/hidden/reqfrminfo");
  1624. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "09") {//산전기형
  1625. modal("SPLRR90300","","","","","/root/main/testinfo/spcltestinfo", "/root/hidden/reqfrminfo");
  1626. } else if(model.getValue("/root/main/rslt/desc/rslt/refflag") == "12") { //TDM
  1627. modal("SPLRR90600","","","","","/root/main/testinfo/spcltestinfo", "/root/hidden/reqfrminfo");
  1628. }
  1629. }
  1630. //키이벤트
  1631. function fKeyEvent(){
  1632. if(event.keyCode == "13"){
  1633. if(event.target == "ipt_testpsn"){ //입력자
  1634. model.setvalue("/root/hidden/testid",ipt_testpsn.currentText.toUpperCase());
  1635. model.refresh();
  1636. fUserNMRef("t");
  1637. ipt_testpsn.selBegin = 0;
  1638. ipt_testpsn.selEnd = ipt_testpsn.currentText.length;
  1639. model.setFocus("ipt_readpsn");
  1640. }
  1641. if(event.target == "ipt_readpsn"){ //판독자
  1642. model.setvalue("/root/hidden/readid",ipt_readpsn.currentText.toUpperCase());
  1643. model.refresh();
  1644. fUserNMRef("r");
  1645. ipt_readpsn.selBegin = 0;
  1646. ipt_readpsn.selEnd = ipt_readpsn.currentText.length;
  1647. model.setFocus("ipt_testpsn");
  1648. }
  1649. if(event.target == "ipt_reftext"){ //검색
  1650. model.setvalue("/root/hidden/ref/text",ipt_reftext.currentText.toUpperCase());
  1651. model.refresh();
  1652. Onclick_btnRef();
  1653. ipt_reftext.selBegin = 0;
  1654. ipt_reftext.selEnd = ipt_reftext.currentText.length;
  1655. model.setFocus("ipt_reftext");
  1656. }
  1657. }
  1658. }
  1659. //환자조회
  1660. function Onclick_btnRef(flag){
  1661. if(flag != "R") {
  1662. model.removeNodeset("/root/main/patlist");
  1663. model.resetInstanceNode("/root/main/testinfo/spcltestinfo");
  1664. model.removeNodeset("/root/main/testinfo/detailtestinfo");
  1665. }
  1666. model.setvalue("/root/hidden/refparam/refflag", "3");
  1667. if(flag == "R") {
  1668. model.copyNode("/root/send/data1","/root/hidden/ref");
  1669. model.setValue("/root/send/data1/refgbn", "2");
  1670. model.setValue("/root/send/data1/text", model.getValue("/root/main/testinfo/spcltestinfo/bcno"));
  1671. model.copyNode("/root/send/data2","/root/hidden/refparam");
  1672. } else {
  1673. model.copyNode("/root/send/data1","/root/hidden/ref");
  1674. if(model.getValue("/root/send/data1/refgbn") == "1") {
  1675. model.setValue("/root/send/data1/text", model.getValue("/root/send/data1/spclno") + model.getValue("/root/send/data1/text"));
  1676. }
  1677. model.copyNode("/root/send/data2","/root/hidden/refparam");
  1678. }
  1679. submit("TRLRR00101");
  1680. if(getNodesetCount("/root/main/patlist") > 0) {
  1681. var grup = model.getValue("/root/main/rslt/desc/rslt/refflag");
  1682. var ngrup = model.getValue("/root/main/patlist/spclrsltformkind");
  1683. if(grup != ngrup) {
  1684. model.makeValue("/root/main/rslt/desc/rslt/refflag", ngrup);
  1685. fTranscrn();
  1686. }else {
  1687. model.resetInstanceNode("/root/main/rslt");
  1688. model.makeValue("/root/main/rslt/desc/rslt/refflag", grup);
  1689. fTranscrn();
  1690. }
  1691. model.makeValue("/root/hidden/refflag/bcno", model.getValue("/root/main/patlist/bcno"));
  1692. model.makeValue("/root/hidden/refflag/testcd", model.getValue("/root/main/patlist/testcd"));
  1693. model.makeValue("/root/hidden/refflag/prcpgenrflag", model.getValue("/root/main/patlist/prcpgenrflag"));
  1694. // if(model.getValue("/root/main/patlist/descrsltyn") != "Y") {
  1695. //alert("!@$#!@$");
  1696. fOnclick_grd_patList(flag);
  1697. // }
  1698. }else {
  1699. messageBox("해당", "E013");
  1700. }
  1701. model.removeNodeset("/root/send/data1");
  1702. model.makeNode("/root/send/data1");
  1703. model.removeNodeset("/root/send/data2");
  1704. model.makeNode("/root/send/data2");
  1705. model.refresh();
  1706. }
  1707. //판독 불러오기
  1708. function fGetRead() {
  1709. model.makeValue("/root/send/bcno" , model.getvalue("/root/hidden/refflag/bcno"));
  1710. model.makeValue("/root/send/testcd" , model.getValue("/root/main/testinfo/spcltestinfo/testcd"));
  1711. submit("TRLRR00403");
  1712. if(model.getValue("/root/main/rslt/desc/rslt/refflag") != "") {
  1713. fTranscrn();
  1714. }
  1715. if(getNodesetCount("/root/main/rslt/desc/rslt") < 1) {
  1716. Onclick_btnRef("R");
  1717. }
  1718. model.removeNodeset("/root/send/bcno");
  1719. model.removeNodeset("/root/send/testcd");
  1720. model.refresh();
  1721. }
  1722. //사용자 이름 검색
  1723. function fUserNMRef(flag){
  1724. if(flag == "t") { //입력자
  1725. if(model.getvalue("/root/hidden/testid") != ""){
  1726. model.makeValue("/root/send/userid" , model.getvalue("/root/hidden/testid"));
  1727. submit("TRLZZ00104");
  1728. model.setValue("/root/hidden/testnm", model.getValue("/root/main/getUsernm/usernm"));
  1729. }
  1730. } else if(flag == "r") { //판독자
  1731. if(model.getvalue("/root/hidden/readid") != ""){
  1732. model.makeValue("/root/send/userid" , model.getvalue("/root/hidden/readid"));
  1733. submit("TRLRR00406");
  1734. model.setValue("/root/hidden/readnm", model.getValue("/root/main/getUsernm/usernm"));
  1735. model.makeValue("/root/hidden/userflag", model.getValue("/root/main/getUsernm/userflag"));
  1736. if(model.getValue("/root/main/getUsernm/userflag") == "2"){
  1737. model.setValue("/root/main/getUsernm/specdrid","");
  1738. model.makeValue("/root/hidden/specdrid","");
  1739. }
  1740. else{
  1741. model.makeValue("/root/hidden/specdrid",model.getValue("/root/main/getUsernm/specdrid"));
  1742. }
  1743. }
  1744. }
  1745. model.removeNodeset("/root/send/userid");
  1746. model.refresh();
  1747. }
  1748. //오른쪽 마우스 눌렀을 때 결과코드 보여주기.
  1749. function fGetMouseDown(gridid, pRef){
  1750. gridObj = document.all(gridid);
  1751. model.removeNodeset("/root/hidden/popupmenu");
  1752. if(event.button == 3){ // 라이트클릭 메뉴만들기...
  1753. model.makeNode("/root/hidden/popupmenu/grid");
  1754. model.makeNode("/root/hidden/popupmenu/grid/item");
  1755. if(gridObj.mouseCol== 1){
  1756. var testcd = model.getvalue(pRef + "["+ gridObj.mouseRow +"]/testcd");
  1757. //결과코드관련
  1758. var n = getNodesetCount("/root/init/LB0109[etc01='" + testcd + "']");
  1759. if (n > 0) {
  1760. var cdNodes = instance1.selectNodes("/root/init/LB0109[etc01='" + testcd + "']/cd");
  1761. var cdNodes2 = instance1.selectNodes("/root/init/LB0109[etc01='" + testcd + "']/nm");
  1762. var dispyn = instance1.selectNodes("/root/init/LB0109[etc01='" + testcd + "']/etc03");
  1763. for (i = 1; i <= n; i++) {
  1764. var cd = cdNodes.item(i - 1).text;
  1765. var nm = cdNodes2.item(i - 1).text;
  1766. var yn = dispyn.item(i - 1).text;
  1767. if(yn == "Y"){
  1768. model.makeValue("/root/hidden/popupmenu/grid/item["+ i +"]/name" , "["+ cd +"] "+ nm);
  1769. model.makeValue("/root/hidden/popupmenu/grid/item["+ i +"]/func" , nm + "▦" + gridObj.mouseRow + "▦" + pRef + "▦" + gridObj);
  1770. }
  1771. }
  1772. }
  1773. }
  1774. if(gridObj.isCell(event.target) && gridObj.mouseRow >= gridObj.fixedrows){
  1775. window.setPopupMenu(true , "/root/hidden/popupmenu/grid/item" , "name", "func" , true);
  1776. //setPopupMenu("grd_TestInfoCnts" , true, "/root/hidden/popupmenu/grid/item", "name", "func");
  1777. }else{
  1778. window.setPopupMenu(false);
  1779. }
  1780. }
  1781. }
  1782. function fOnmenu(popupParam){
  1783. var aL = popupParam.split("▦");
  1784. fRsltCode2(aL[0] , aL[1], aL[2], aL[3]);
  1785. }
  1786. function fRsltCode2(nm , pRow, pRef, gridObj){
  1787. model.setvalue(pRef + "["+ pRow +"]/reptrslt", nm);
  1788. model.refresh();
  1789. fCvtViewResult(gridObj, pRef, true, true, pRow);
  1790. model.removeNodeset("/root/hidden/popupmenu");
  1791. }
  1792. function fXERslt(){
  1793. modal("SPLLR91500 ","","","","","/root/main/rslt/desc/rslt/cbcrslt/bcno","/root/send/bcno");
  1794. }
  1795. function fAddress(){//세포유전및FISH검사관리 주소 조회
  1796. //model.makeValue("/root/send/instcd","012");
  1797. submit("TRLRR01505");
  1798. }
  1799. ]]>
  1800. </script>
  1801. </xhtml:head>
  1802. <xhtml:body style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  1803. <group id="group3" scroll="auto" style="left:0px; top:40px; width:1195px; height:744px; ">
  1804. <switch id="switch3" style="left:0px; top:85px; width:1192px; height:655px; "/>
  1805. <line id="line6" class="line_3" style="x1:414px; y1:83px; x2:1192px; y2:83px; "/>
  1806. <line id="line9" class="line_2" style="x1:414px; y1:58px; x2:1192px; y2:58px; "/>
  1807. <caption id="caption21" class="tit_2" style="left:0px; top:15px; width:115px; height:14px; background-image:../../../com/commonweb/images/tit_bullet2.gif; ">특수검사 정보</caption>
  1808. <line id="line7" class="line_1" style="x1:0px; y1:31px; x2:405px; y2:31px; "/>
  1809. <caption id="caption20" class="cell_1" style="left:414px; top:60px; width:56px; height:23px; vertical-align:middle; ">채취일시</caption>
  1810. <caption id="caption24" class="cell_1" style="left:1009px; top:60px; width:59px; height:23px; vertical-align:middle; ">보고일시</caption>
  1811. <output id="output1" ref="/root/main/testinfo/spcltestinfo/extrtestinstcd" class="output_fix" style="left:473px; top:36px; width:112px; height:19px; "/>
  1812. <output id="opt_pid" ref="/root/main/testinfo/spcltestinfo/pid" class="output_fix" style="left:663px; top:36px; width:70px; height:19px; "/>
  1813. <output id="opt_patnm" ref="/root/main/testinfo/spcltestinfo/patnm" class="output_fix" style="left:809px; top:36px; width:80px; height:19px; "/>
  1814. <output id="opt_orddept" ref="/root/main/testinfo/spcltestinfo/orddeptnm" class="output_fix" style="left:965px; top:36px; width:50px; height:19px; "/>
  1815. <output id="opt_orddr" ref="/root/main/testinfo/spcltestinfo/orddrnm" class="output_fix" style="left:1091px; top:36px; width:100px; height:19px; "/>
  1816. <output id="opt_bcolldt" ref="/root/main/testinfo/spcltestinfo/bcolldt" class="output_fix" format="9999-99-99 99:99:99" style="left:473px; top:62px; width:115px; height:19px; "/>
  1817. <output id="opt_testdt" ref="/root/main/testinfo/spcltestinfo/rsltrgstdt" class="output_fix" style="left:853px; top:62px; width:153px; height:19px; "/>
  1818. <output id="opt_resddt" ref="/root/main/testinfo/spcltestinfo/lastreptdt" class="output_fix" format="9999-99-99 99:99:99" style="left:1071px; top:62px; width:120px; height:19px; "/>
  1819. <caption id="caption1" class="cell_1" style="left:590px; top:35px; width:70px; height:23px; vertical-align:middle; ">등록번호</caption>
  1820. <caption id="caption13" class="cell_1" style="left:736px; top:35px; width:70px; height:23px; vertical-align:middle; ">성명</caption>
  1821. <caption id="caption14" class="cell_1" style="left:414px; top:35px; width:56px; height:23px; vertical-align:middle; ">병원명</caption>
  1822. <caption id="caption15" class="cell_1" style="left:892px; top:35px; width:70px; height:23px; vertical-align:middle; ">진료과명</caption>
  1823. <caption id="caption19" class="cell_1" style="left:1018px; top:35px; width:70px; height:23px; vertical-align:middle; ">진료의명</caption>
  1824. <output id="opt_acptdt" ref="/root/main/testinfo/spcltestinfo/spcacptdt" class="output_fix" format="9999-99-99 99:99:99" style="left:653px; top:62px; width:115px; height:19px; "/>
  1825. <caption id="caption2" class="cell_1" style="left:591px; top:60px; width:59px; height:23px; vertical-align:middle; ">접수일시</caption>
  1826. <caption id="caption3" class="cell_1" style="left:771px; top:60px; width:79px; height:23px; vertical-align:middle; ">결과입력일시</caption>
  1827. <input id="ipt_readpsn" ref="/root/hidden/readid" class="input_essential" style="left:948px; top:5px; width:76px; height:19px; "/>
  1828. <output id="opt_readpsn" ref="/root/hidden/readnm" class="output_fix" style="left:1026px; top:5px; width:82px; height:19px; "/>
  1829. <caption id="caption16" class="tit_2" style="left:892px; top:9px; width:60px; height:13px; ">판독자</caption>
  1830. <input id="ipt_testpsn" ref="/root/hidden/testid" class="input_essential" style="left:730px; top:6px; width:76px; height:19px; "/>
  1831. <output id="opt_testpsn" ref="/root/hidden/testnm" class="output_fix" style="left:808px; top:6px; width:82px; height:19px; "/>
  1832. <output id="output12" ref="/root/hidden/specdrid" class="output_fix" style="left:1110px; top:5px; width:82px; height:19px; "/>
  1833. <caption id="caption7" class="tit_2" style="left:674px; top:9px; width:60px; height:13px; ">입력자</caption>
  1834. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:5px; top:35px; width:305px; height:48px; "/>
  1835. <caption id="caption127" class="search_name" style="left:15px; top:39px; width:94px; height:17px; ">검색구분 :</caption>
  1836. <select1 id="cmb_refflag" ref="/root/hidden/ref/refgbn" class="combo_search" appearance="minimal" style="left:105px; top:38px; width:195px; height:19px; ">
  1837. <choices>
  1838. <item>
  1839. <label>특수검사번호</label>
  1840. <value>1</value>
  1841. </item>
  1842. <item>
  1843. <label>바코드번호</label>
  1844. <value>2</value>
  1845. </item>
  1846. </choices>
  1847. <script type="javascript" ev:event="xforms-value-changed">
  1848. <![CDATA[
  1849. if(model.getValue("/root/hidden/ref/refgbn") == "1") {
  1850. input1.attribute("visibility") = "visible"
  1851. }else {
  1852. input1.attribute("visibility") = "hidden"
  1853. }
  1854. ]]>
  1855. </script>
  1856. </select1>
  1857. <input id="ipt_reftext" ref="/root/hidden/ref/text" class="input_button" navindex="1" imemode="alpha" inputtype="button" style="left:105px; top:62px; width:195px; height:19px; ">
  1858. <script type="javascript" ev:event="onbuttonclick">
  1859. <![CDATA[
  1860. model.setvalue("/root/hidden/ref/text",ipt_reftext.currentText.toUpperCase());
  1861. model.setValue("/root/hidden/ref/spclno", input1.currentText.toUpperCase());
  1862. model.refresh();
  1863. Onclick_btnRef();
  1864. ]]>
  1865. </script>
  1866. </input>
  1867. <button id="button24" class="btn2_letter4" style="left:341px; top:10px; width:64px; height:19px; background-image:../../../com/commonweb/images/btn2_letter6.gif; ">
  1868. <caption>환자조회</caption>
  1869. <script type="javascript" ev:event="DOMActivate">
  1870. <![CDATA[
  1871. //window.load("SPLRR90700.xrw","mdichild","","left:100; top:100; width:400; height:400; sysmenu:visible; min:visible; max:true; resize:true; caption:visible;");
  1872. //window.children.item("SPLRR90700").activate();
  1873. open("SPLRR90700");
  1874. ]]>
  1875. </script>
  1876. </button>
  1877. <datagrid id="grd_rslt" nodeset="/root/main/testinfo/detailtestinfo" visibility="hidden" caption="chk^검사코드^검사명^결과^결과^inptrslt^bcno" colsep="^" colwidth="50, 100, 100, 100, 100, 10, 100" mergecellsfixedrows="bycolrec" rowsep="|" style="left:185px; top:380px; width:480px; height:120px; ">
  1878. <col checkvalue="Y,N" ref="chk" type="checkbox"/>
  1879. <col ref="testcd"/>
  1880. <col ref="tclsscrnnm"/>
  1881. <col ref="bufinptrslt" type="input"/>
  1882. <col ref="reptrslt"/>
  1883. <col ref="inptrslt"/>
  1884. <col ref="bcno"/>
  1885. </datagrid>
  1886. <datagrid id="grd_lb0901" nodeset="/root/init/LB0901" visibility="hidden" caption="caption1^caption2^caption3" colsep="^" mergecellsfixedrows="bycolrec" rowsep="|" style="left:355px; top:180px; width:350px; height:150px; ">
  1887. <col ref="cd"/>
  1888. <col ref="nm"/>
  1889. <col ref="etc04"/>
  1890. </datagrid>
  1891. <line id="line12" class="line_1" style="x1:414px; y1:31px; x2:1192px; y2:31px; "/>
  1892. <input id="input1" ref="/root/hidden/ref/spclno" style="left:45px; top:62px; width:60px; height:19px; font-weight:bold; text-align:right; "/>
  1893. <output id="output2" ref="/root/main/testinfo/spcltestinfo/medispclid" class="output_fix" style="left:493px; top:7px; width:47px; height:19px; "/>
  1894. <caption id="caption11" class="cell_1" style="left:415px; top:5px; width:75px; height:23px; vertical-align:middle; ">판독자/일시</caption>
  1895. <caption id="caption18" style="left:544px; top:7px; width:10px; height:20px; ">/</caption>
  1896. <output id="output3" ref="/root/main/testinfo/spcltestinfo/medispcdt" class="output_fix" format="9999-99-99 99:99:99" style="left:555px; top:7px; width:115px; height:19px; "/>
  1897. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:315px; top:36px; width:90px; height:48px; "/>
  1898. <caption id="caption170" class="cell_1" style="left:325px; top:39px; width:70px; height:22px; text-align:center; vertical-align:middle; ">처방일자</caption>
  1899. <output id="output10" ref="/root/main/testinfo/spcltestinfo/prcpdd" class="output_fix" format="9999-99-99" style="left:325px; top:63px; width:70px; height:19px; text-align:center; "/>
  1900. </group>
  1901. <group id="group1" style="left:0px; top:0px; width:1195px; height:13px; ">
  1902. <caption id="cpt_title" class="tit_1" style="left:0px; top:0px; width:475px; height:13px; background-image:../../../com/commonweb/images/tit_bullet1.gif; "/>
  1903. </group>
  1904. <group id="group5" scroll="auto" style="left:0px; top:13px; width:1195px; height:27px; ">
  1905. <button id="button29" class="btn3_letter6" style="left:166px; top:3px; width:104px; height:22px; background-image:../../../com/commonweb/images/btn3_letter6.gif; ">
  1906. <caption>통합결과조회</caption>
  1907. <script type="javascript" ev:event="DOMActivate">
  1908. <![CDATA[
  1909. modal("SMAER00800 ","","","","","/root/main/testinfo/spcltestinfo/pid","/root/send/data/singdata/srchpid");
  1910. ]]>
  1911. </script>
  1912. </button>
  1913. <button id="btn_reqref" class="btn3_letter5" visibility="hidden" style="left:273px; top:3px; width:92px; height:22px; background-image:../../../com/commonweb/images/btn3_letter5.gif; ">
  1914. <caption>의뢰서조회</caption>
  1915. <script type="javascript" ev:event="onclick">
  1916. <![CDATA[
  1917. fRefREQSHT();
  1918. ]]>
  1919. </script>
  1920. </button>
  1921. <button id="button38" class="btn3_letter6" style="left:59px; top:3px; width:104px; height:22px; background-image:../../../com/commonweb/images/btn3_letter6.gif; ">
  1922. <caption>수진이력조회</caption>
  1923. <script type="javascript" ev:event="DOMActivate">
  1924. <![CDATA[
  1925. setParameter ("SMMMO02500_cond", model.getvalue("/root/main/testinfo/spcltestinfo/pid")+ "▩");
  1926. open ("SMMMO02500");
  1927. ]]>
  1928. </script>
  1929. </button>
  1930. <line id="line17" class="line_6" style="x1:0px; y1:25px; x2:1194px; y2:25px; "/>
  1931. <button id="btn_rsltsave" class="btn4_letter4" disable.background-image="../../../com/commonweb/images/dis_btn4_letter4.gif" style="left:783px; top:3px; width:80px; height:22px; background-image:../../../com/commonweb/images/btn4_letter4.gif; ">
  1932. <caption>결과입력</caption>
  1933. <script type="javascript" ev:event="onclick">
  1934. <![CDATA[
  1935. fInsRsltSave("1");
  1936. ]]>
  1937. </script>
  1938. </button>
  1939. <button id="button45" class="btn4_letter4" disable.background-image="../../../com/commonweb/images/dis_btn4_letter4.gif" style="left:866px; top:3px; width:80px; height:22px; background-image:../../../com/commonweb/images/btn4_letter4.gif; ">
  1940. <caption>중간보고</caption>
  1941. <script type="javascript" ev:event="onclick">
  1942. <![CDATA[
  1943. fInsRsltSave("2");
  1944. ]]>
  1945. </script>
  1946. </button>
  1947. <button id="btn_LstRept" class="btn4_letter4" disable.background-image="../../../com/commonweb/images/dis_btn4_letter4.gif" style="left:949px; top:3px; width:82px; height:22px; background-image:../../../com/commonweb/images/btn4_letter4.gif; ">
  1948. <caption>결과보고</caption>
  1949. <script type="javascript" ev:event="onclick">
  1950. <![CDATA[
  1951. fInsRsltSave("4");
  1952. ]]>
  1953. </script>
  1954. </button>
  1955. <button id="btn_cle" class="btn4_letter3" disable.background-image="../../../com/commonweb/images/dis_btn4_letter3.gif" style="left:1127px; top:3px; width:68px; height:22px; background-image:../../../com/commonweb/images/btn4_letter3.gif; ">
  1956. <caption>초기화</caption>
  1957. <script type="javascript" ev:event="onclick">
  1958. <![CDATA[
  1959. fSetClear();
  1960. ]]>
  1961. </script>
  1962. </button>
  1963. <button id="button39" class="btn4_letter5" disable.background-image="../../../com/commonweb/images/dis_btn4_letter5.gif" style="left:1032px; top:3px; width:92px; height:22px; background-image:../../../com/commonweb/images/btn4_letter5.gif; ">
  1964. <caption>전문의확인</caption>
  1965. <script type="javascript" ev:event="onclick">
  1966. <![CDATA[
  1967. fInsRsltSave("6");
  1968. ]]>
  1969. </script>
  1970. </button>
  1971. <button id="button40" class="btn4_letter4" visibility="hidden" disable.background-image="../../../com/commonweb/images/dis_btn4_letter4.gif" style="left:700px; top:3px; width:80px; height:22px; background-image:../../../com/commonweb/images/btn4_letter4.gif; ">
  1972. <caption>검사완료</caption>
  1973. <script type="javascript" ev:event="onclick">
  1974. <![CDATA[
  1975. var testcd = model.getValue("/root/main/testinfo/spcltestinfo/testcd")
  1976. var find = grd_rslt.findRow(testcd, 0, 1);
  1977. model.setValue("/root/main/testinfo/detailtestinfo["+ find +"]/chk", "Y");
  1978. fInsRsltSave("4");
  1979. ]]>
  1980. </script>
  1981. </button>
  1982. <button id="button43" class="btn6_letter2" style="left:0px; top:3px; width:56px; height:22px; ">
  1983. <caption>출력</caption>
  1984. <script type="javascript" ev:event="DOMActivate">
  1985. <![CDATA[
  1986. /* model.setValue("/root/hidden/xslt/signno", model.getValue("/root/main/testinfo/spcltestinfo/signno"));
  1987. model.setValue("/root/hidden/xslt/form", "0000002916");
  1988. modal("SPLRR90900 ","","","","","/root/hidden/xslt","/root/init");*/
  1989. var signno = model.getValue("/root/main/testinfo/spcltestinfo/signno");
  1990. var formcd = model.getValue("/root/main/testinfo/spcltestinfo/formcd");//"0000002916";
  1991. if(signno != 0) {
  1992. setParameter("SPMRI02400_prtrecinfo","E▦" + signno + "▦" + formcd + "▩");
  1993. modal("SPMRI02400");
  1994. } else {
  1995. messageBox("전문의 확인이 되지", "E007");
  1996. }
  1997. ]]>
  1998. </script>
  1999. </button>
  2000. </group>
  2001. <script type="javascript" ev:event="onkeypress">
  2002. <![CDATA[
  2003. fKeyEvent();
  2004. ]]>
  2005. </script>
  2006. <script type="javascript" ev:event="onmenu">
  2007. <![CDATA[
  2008. var popupParam = event.description;
  2009. fOnmenu(popupParam);
  2010. ]]>
  2011. </script>
  2012. <group id="group2" style="left:0px; top:125px; width:1190px; height:655px; ">
  2013. <import id="import1" disabled="true" visibility="hidden" src="SMLRR01600_Bonemarrow결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2014. <import id="import2" disabled="true" visibility="hidden" src="SMLRR01800_분자유전결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2015. <import id="import3" disabled="true" visibility="hidden" src="SMLRR01900_세포유전결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2016. <import id="import4" disabled="true" visibility="hidden" src="SMLRR02000_Immunophenotyping결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2017. <import id="import5" disabled="true" visibility="hidden" src="SMLRR02100_Osmotic Fragility결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2018. <import id="import6" disabled="true" visibility="hidden" src="SMLRR02200_ICG 결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2019. <import id="import7" disabled="true" visibility="hidden" src="SMLRR02300_PB 결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2020. <import id="import8" disabled="true" visibility="hidden" src="SMLRR02400_EP 결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2021. <import id="import9" disabled="true" visibility="hidden" src="SMLRR02500_산전기형 결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2022. <import id="import10" disabled="true" visibility="hidden" src="SMLRR02600_PRA 결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2023. <import id="import11" disabled="true" visibility="hidden" src="SMLRR02700_교차시험 결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2024. <import id="import12" disabled="true" visibility="hidden" src="SMLRR02800_TDM 결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2025. <import id="import13" disabled="true" visibility="hidden" src="SMLRR02900_CKLD 결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2026. <import id="import14" disabled="true" visibility="hidden" src="SMLRR03000_FISH 결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2027. <import id="import15" disabled="true" visibility="hidden" src="SMLRR03100_범용보고서 결과관리.xrw" style="left:0px; top:0px; width:1190px; height:655px; "/>
  2028. </group>
  2029. </xhtml:body>
  2030. </xhtml:html>