SMMRI00400.js 88 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 통합기록조회 ( SMMRI00400_통합기록조회.xrw - JScript )
  4. - Version :
  5. 1) : Ver.1.00.01
  6. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  7. */
  8. var arrbtn = new Array("btn_all", "btn_prog", "btn_op", "btn_test", "btn_prcp", "btn_nurc", "btn_etc", "btn_img");
  9. var grdObj = "";
  10. var ref = "/root/main/recsrch/reclist";
  11. var stRef = "/root/tmp/reclist";
  12. var paramdefault = "";
  13. var isFirst = "Y";
  14. var gImgFile = "";
  15. var oprnerId = "";
  16. var srchorgcnt = 0;
  17. var srchcnt = 0;
  18. var srchendyn = "N";
  19. var gtmptreatno = "";
  20. var gtmpiformcd = "";
  21. var gemrpath = "";
  22. var gemrorddate = "";
  23. var gemrformnm = "";
  24. var gemrformcd = "";
  25. var gemrdeptnm = "";
  26. var gemrdeptcd = "";
  27. var gemrpage = "";
  28. var gemrhiddenmsg = "";
  29. /**
  30. * @desc : 화면초기화
  31. * @id :
  32. * @event : xforms-ready
  33. * @return : void
  34. * @authur : 박종훈(튜닝)
  35. */
  36. function fInitalize()
  37. {
  38. if (isPopup())
  39. {
  40. oprnerId = opener.window.javascript.getScreenID();
  41. if(oprnerId == "SPMRC03200")
  42. {
  43. btn_copyprt.visible = true; //오프너가 사본발급관리화면일때만 사본신청 버튼 보이게
  44. }
  45. else
  46. {
  47. btn_copyprt.visible = true;
  48. }
  49. }
  50. submit("TRMRI00411");
  51. trv_reclist.attribute("wallpaper") = "";
  52. fAddDateReq("today");
  53. var ordtype = "A";
  54. model.setValue("/root/init/chosflag", ordtype);
  55. if (isPopup())
  56. {
  57. var parampid = opener.window.javascript.getParameter("SMMRI00400_param_pid");
  58. var paramchosflag = opener.window.javascript.getParameter("SMMRI00400_param_chosflag");
  59. }
  60. if(parampid == "")
  61. {
  62. var pamInfoCvs = getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
  63. var pid = "";
  64. if(pamInfoCvs != null)
  65. { //cvs가 null이 아닌 경우에만 처리함.
  66. model.removeNodeSet ("/root/main/result/paminfo/list");
  67. setCSVToNode ("/root/main/result/paminfo", pamInfoCvs);
  68. pid = model.getValue ("/root/main/result/paminfo/list/pid");
  69. ordtype = model.getValue ("/root/main/result/paminfo/list/ioflag");
  70. model.setValue("/root/init/chosflag", ordtype);
  71. if ( !isNull ( pid ) )
  72. {
  73. if(oprnerId == "SPMRC03200")
  74. {
  75. opener.window.javascript.fGetCopyCmpPid(pid);
  76. }
  77. ipt_pid.value = pid;
  78. fPidKeyPress(); //등록번호로 환자 정보조회
  79. }
  80. }
  81. }
  82. else
  83. {
  84. if (paramchosflag == "")
  85. {
  86. paramchosflag = "A";
  87. }
  88. model.setValue("/root/init/chosflag", paramchosflag);
  89. ipt_pid.value = parampid;
  90. fPidKeyPress(); //등록번호로 환자 정보조회
  91. }
  92. btn_dept.selected = true;
  93. model.setValue("/root/init/viewflag", "DEPT");
  94. btn_all.dispatch("DOMActivate");
  95. }
  96. /**
  97. * @desc : 검색 날짜기간
  98. * @id :
  99. * @event : DOMActivate
  100. * @return : void
  101. * @authur : 박종훈(튜닝)
  102. */
  103. function fAddDateReq(diffFlag)
  104. {
  105. var frdd = model.getValue("/root/init/reqmedireclist/recfromdt");
  106. var todd = model.getValue("/root/init/reqmedireclist/rectodt");
  107. var srcdd = new Date();
  108. var destdd = new Date();
  109. var diffdt;
  110. if (diffFlag == "next")
  111. {
  112. srcdd = todd.toDate();
  113. srcdd = srcdd.getAddDate(1, "D");
  114. frdd = srcdd.getDateFormat();
  115. diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * 1;
  116. destdd = srcdd.getAddDate(diffdt, "M");
  117. todd = destdd.getDateFormat();
  118. }
  119. else if (diffFlag == "back")
  120. {
  121. srcdd = frdd.toDate();
  122. srcdd = srcdd.getAddDate(-1, "D");
  123. todd = srcdd.getDateFormat();
  124. diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * -1;
  125. destdd = srcdd.getAddDate(diffdt, "M");
  126. frdd = destdd.getDateFormat();
  127. }
  128. else if (diffFlag == "today")
  129. {
  130. todd = getCurrentDate();
  131. var today = new Date();
  132. var frday = new Date();
  133. var diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * -1;
  134. frday = today.getAddDate(diffdt , "M");
  135. frdd = frday.getDateFormat();
  136. }
  137. else
  138. {
  139. var today = todd.toDate();
  140. var frday = new Date();
  141. var diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * -1;
  142. frday = today.getAddDate(diffdt , "M");
  143. frdd = frday.getDateFormat();
  144. }
  145. model.setValue("/root/init/reqmedireclist/recfromdt", frdd);
  146. model.setValue("/root/init/reqmedireclist/rectodt", todd);
  147. ipt_formrecdtfr.refresh();
  148. ipt_formrecdtto.refresh();
  149. }
  150. /**
  151. * @desc : 좌측탭 버튼 클릭이벤트(서식 분류)
  152. * @id :
  153. * @event : DOMActivate
  154. * @return : void
  155. * @authur : 박종훈(튜닝)
  156. */
  157. function fSelectBtn(btnnm)
  158. {
  159. var obj = document.controls(btnnm);
  160. var indxnm = obj.attribute("indxnm");
  161. var itemindxseq = model.getValue("/root/init/lrgIndx[indxnm = '" + indxnm + "']/itemindxseq");
  162. if (itemindxseq == "")
  163. {
  164. itemindxseq = "ALL";
  165. }
  166. fBtnSelect(btnnm);
  167. model.removeNodeset(ref);
  168. model.toggle("case2");
  169. model.toggle("bit");
  170. grdObj = document.controls("trv_reclist");
  171. model.setValue("/root/init/tabflag", itemindxseq);
  172. fSelect();
  173. }
  174. /**
  175. * @desc : 좌측탭 버튼 구영상 클릭이벤트
  176. * @id :
  177. * @event : DOMActivate
  178. * @return : void
  179. * @authur : 박종훈(튜닝)
  180. */
  181. function fSelectImgBtn()
  182. {
  183. fBtnSelect("btn_img");
  184. model.removeNodeset(ref);
  185. model.toggle("case2");
  186. model.toggle("bit");
  187. grdObj = document.controls("trv_reclist");
  188. model.setValue("/root/init/tabflag", "IMG");
  189. fSelect();
  190. }
  191. /**
  192. * @desc : 좌측탭 버튼 처방기록 클릭이벤트
  193. * @id :
  194. * @event : DOMActivate
  195. * @return : void
  196. * @authur : 박종훈(튜닝)
  197. */
  198. function fSelectPrcpBtn()
  199. {
  200. fBtnSelect("btn_prcp");
  201. model.removeNodeset(ref);
  202. model.toggle("case2");
  203. model.toggle("ord");
  204. grdObj = document.controls("trv_reclist");
  205. model.setValue("/root/init/tabflag", "PRCP");
  206. fSelect();
  207. }
  208. /**
  209. * @desc : 상단 버튼클릭 이벤트(과별, 일자별)
  210. * @id :
  211. * @event : DOMActivate
  212. * @return : void
  213. * @authur : 박종훈(튜닝)
  214. */
  215. function fSelectTopBtn(btnnm)
  216. {
  217. var obj = document.controls(btnnm);
  218. var viewflag = "";
  219. obj.selected = true;
  220. if (btnnm == "btn_dept")
  221. {
  222. viewflag = "DEPT";
  223. }
  224. else
  225. {
  226. viewflag = "ORDDD";
  227. }
  228. model.setValue("/root/init/viewflag", viewflag);
  229. fSelect();
  230. }
  231. /**
  232. * @desc : 검색버튼 클릭
  233. * @id :
  234. * @event : DOMActivate
  235. * @return : void
  236. * @authur : 박종훈
  237. */
  238. function fSelect()
  239. {
  240. model.resetInstanceNode("/root/init/accresn");
  241. iviewerIemr.window.javascript.cleanViewer();
  242. if (model.getValue("/root/init/chosflag") == "")
  243. {
  244. model.setValue("/root/init/chosflag", "A");
  245. }
  246. model.removeNodeset("/root/send");
  247. model.removeNodeset("/root/main/recsrch");
  248. model.removeNodeset("/root/main/patprcpinfo/patprcplist");
  249. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  250. if(pid == "" || pid == null)
  251. {
  252. //messageBox("등록번호는", "I003");
  253. // 2008-09-28 이창록 추가
  254. var oprnerId = opener.window.javascript.getScreenID();
  255. if(oprnerId == "SPMRC03200")
  256. {
  257. activateOpener();//opener를 activate한다.
  258. }
  259. return;
  260. }
  261. else
  262. {
  263. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  264. model.makeValue("/root/send/chosflag", model.getValue("/root/init/chosflag"));
  265. model.makeValue("/root/send/tabflag", model.getValue("/root/init/tabflag"));
  266. model.makeValue("/root/send/viewflag", model.getValue("/root/init/viewflag"));
  267. model.makeNode("/root/send/condflag");
  268. model.makeValue("/root/send/fromdd", model.getValue("/root/init/reqmedireclist/recfromdt"));
  269. model.makeValue("/root/send/todd", model.getValue("/root/init/reqmedireclist/rectodt"));
  270. if(submit("TRMRI00412")) //일자별 검색
  271. {
  272. //copyNodeset("/root/main/recsrch", "/root/tmp", "replace", model, model);
  273. //grd_reclist.rebuild();
  274. //model.removeNodeset("/root/tmp");
  275. }
  276. trv_reclist.rebuild();
  277. //grdObj.resizeCells();
  278. //setTree(grdObj, grdObj.colRef("depth"), grdObj.colRef("label"), false);
  279. }
  280. }
  281. /**
  282. * @desc : 환자번호 정보조회
  283. * @id :
  284. * @event : onkeypress
  285. * @return : void
  286. * @authur : 박종훈(튜닝)
  287. */
  288. function fPidKeyPress()
  289. {
  290. model.setValue("/root/source/srchcond", "1");
  291. model.setValue("/root/source/pid", ipt_pid.currentText);
  292. //inputEnterKey("btn_search", "DOMActivate");
  293. //환자등록번호 체크
  294. if(ipt_pid.currentText.length >= 1 )
  295. {
  296. model.resetInstanceNode("/root/main/result/patinfo");
  297. model.makeNode("/root/main/result/patinfo");
  298. if(submit("TRPMC02500"))
  299. {
  300. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  301. if( getNodesetCount("/root/main/result/patinfo/patinfolist") > 0 ){
  302. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  303. model.makeValue("/root/main/patinfo/agesex", model.getValue("/root/main/patinfo/patinfolist/sex") + "/" + model.getValue("/root/main/patinfo/patinfolist/age"));
  304. model.setValue("/root/main/popupendflag", "ok");
  305. //fSelect();
  306. model.refresh();
  307. oprnerId = opener.window.javascript.getScreenID();
  308. if(oprnerId == "SPMRC03200")
  309. {
  310. var keyparam = model.getValue("/root/main/patinfo/patinfolist/pid") + "▦" + model.getValue("/root/main/patinfo/patinfolist/hngnm") + "▦" + model.getValue("/root/main/patinfo/patinfolist/sex") + "▦" + model.getValue("/root/main/patinfo/patinfolist/age") + "▩";
  311. opener.window.javascript.fEnterPatinfo(keyparam);
  312. }
  313. }
  314. else
  315. {
  316. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  317. messageBox("없는 등록번호 입니다.", "E999", "");
  318. }
  319. }
  320. }
  321. else
  322. {
  323. messageBox("등록번호를 정확히", "C001");
  324. }
  325. }
  326. /**
  327. * @desc : 환자이름 정보조회
  328. * @id :
  329. * @event : onkeypress
  330. * @return : void
  331. * @authur : 박종훈
  332. */
  333. function fPnmKeyPress()
  334. {
  335. model.setValue("/root/source/srchcond", "2");
  336. model.setValue("/root/source/hngnm", ipt_hngnm.currentText);
  337. inputEnterKey("btn_search", "DOMActivate");
  338. }
  339. /**
  340. * @desc : 환자주민번호 정보조회
  341. * @id :
  342. * @event : onkeypress
  343. * @return : void
  344. * @authur : 박종훈
  345. */
  346. function fRgstnoKeyPress()
  347. {
  348. model.setValue("/root/source/srchcond", "3");
  349. model.setValue("/root/source/rrgstno1", ipt_rrgstno1.currentText);
  350. model.setValue("/root/source/rrgstno2", ipt_rrgstno2.value);
  351. inputEnterKey("btn_search", "DOMActivate");
  352. }
  353. /**
  354. * @desc : 환자정보조회 팝업
  355. * @id :
  356. * @event : DOMActivate
  357. * @return : void
  358. * @authur : 박종훈
  359. */
  360. function fPopPtinfo()
  361. {
  362. modal("SPPMC02500", "1","150", "150", "SPPMC02500", "/root/source", "/root/send");
  363. fSelect();
  364. model.resetInstanceNode("/root/source");
  365. }
  366. /**
  367. * @desc : 버튼색 변경
  368. * @id :
  369. * @event : DOMActivate
  370. * @return : void
  371. * @authur : 박종훈(튜닝)
  372. */
  373. function fBtnSelect(btn)
  374. {
  375. var btnObj = "";
  376. for(i = 0; i <= arrbtn.length - 1; i++)
  377. {
  378. btnObj = document.controls(arrbtn[i]);
  379. if(btn == arrbtn[i])
  380. {
  381. btnObj.attribute("background-color") = "#99ccff";
  382. }
  383. else
  384. {
  385. btnObj.attribute("background-color") = "#cce8ff";
  386. }
  387. }
  388. }
  389. /**
  390. * @desc : 화면닫기(처방에서 사용)
  391. * @id :
  392. * @event : xforms-select
  393. * @return : void
  394. * @authur : 박종훈
  395. */
  396. function fClose()
  397. {
  398. window.close();
  399. }
  400. /* @group : 사용자체크
  401. * @ver : 2007.01.06
  402. * @by : 박종훈
  403. * @-----------------------------------
  404. * @type : function
  405. * @access : public
  406. * @desc :
  407. */
  408. function fCheckUser()
  409. {
  410. var sUserID = getUserInfo("userid");
  411. var sDutplceinstcd = getUserInfo("dutplceinstcd");
  412. var sDutplcecd = getUserInfo("dutplcecd");
  413. var sSignData = sUserID + "▦" + sDutplceinstcd + "▦" + sDutplcecd + "▦";
  414. var signedrecinfo = zesfSignData(sSignData, sUserID, true);
  415. if (signedrecinfo == "")
  416. {
  417. return false;
  418. }
  419. else
  420. {
  421. return true;
  422. }
  423. }
  424. /* @group : 폴더 존재여부 파악
  425. * @ver : 2007.01.06
  426. * @by : 박종훈
  427. * @-----------------------------------
  428. * @type : function
  429. * @access : public
  430. * @desc :
  431. */
  432. function fExistFolder(foldernm)
  433. {
  434. var fso, folder, s;
  435. fso = new ActiveXObject("Scripting.FileSystemObject");
  436. try
  437. {
  438. folder = fso.GetFolder(foldernm);
  439. s = folder.DateCreated;
  440. if (s != "")
  441. {
  442. fDelFolder(foldernm);
  443. fMakeFolder(foldernm);
  444. }
  445. }
  446. catch (e)
  447. {
  448. fMakeFolder(foldernm);
  449. }
  450. }
  451. /* @group : 폴더 생성
  452. * @ver : 2007.01.06
  453. * @by : 박종훈
  454. * @-----------------------------------
  455. * @type : function
  456. * @access : public
  457. * @desc :
  458. */
  459. function fMakeFolder(foldernm)
  460. {
  461. var fso = new ActiveXObject("Scripting.FileSystemObject");
  462. var a = fso.CreateFolder(foldernm);
  463. }
  464. /* @group : 폴더 삭제
  465. * @ver : 2007.01.06
  466. * @by : 박종훈
  467. * @-----------------------------------
  468. * @type : function
  469. * @access : public
  470. * @desc :
  471. */
  472. function fDelFolder(foldernm)
  473. {
  474. var fso;
  475. fso = new ActiveXObject("Scripting.FileSystemObject");
  476. fso.DeleteFolder(foldernm);
  477. }
  478. /* @group : BIT모듈로부터 키값 받아옴
  479. * @ver : 2008.01.17
  480. * @by : 박종훈
  481. * @-----------------------------------
  482. * @type : function
  483. * @access : public
  484. * @desc :
  485. */
  486. function fSetCertRecKey(key)
  487. {
  488. setParameter("SPMRI02400_certinfo", key);
  489. modal("SPMRI02400");
  490. }
  491. /**
  492. * @desc : 사본발행 신청
  493. * @id :
  494. * @event : xforms-ready
  495. * @return : void
  496. * @authur : 박종훈
  497. */
  498. function fAppcopy()
  499. {
  500. var appcopykey = iviewerIemr.window.javascript.setCopy(true); //영상뷰어에서의 리턴값
  501. if (appcopykey != "")
  502. {
  503. var item = grdObj.item(grdObj.selectedIndex);
  504. if(item == null){return;}
  505. var rowpos = item.index + 1;
  506. var copykey = appcopykey.split("|");
  507. var appkeyArr = copykey[0].split("▦");
  508. var reckind = ""; //기록, 영상구분(E/I)
  509. var chosflag = model.getValue(ref + "[" + rowpos + "]/chosflag");
  510. var sendval = "";
  511. var sendformcd = "";
  512. var tmpval = "";
  513. var tmpformcd = "";
  514. var tmptotpage = "";
  515. appkeyArr = "";
  516. var copyparam = "";
  517. var compsignno = "";
  518. for(var i = 0; i < copykey.length; i++)
  519. {
  520. appkeyArr = copykey[i].split("▦");
  521. reckind = appkeyArr[0];
  522. if (reckind == "I")
  523. {
  524. tmpval = appkeyArr[1];
  525. tmpformcd = appkeyArr[2];
  526. tmptotpage = appkeyArr[3];
  527. }
  528. else
  529. {
  530. tmpval = appkeyArr[2];
  531. tmpformcd = appkeyArr[1];
  532. tmptotpage = appkeyArr[16];
  533. if (compsignno != tmpval)
  534. {
  535. compsignno = tmpval;
  536. }
  537. else
  538. {
  539. continue;
  540. }
  541. }
  542. model.removeNodeSet ("/root/copysend");
  543. model.makeValue("/root/copysend/val", tmpval);
  544. model.makeValue("/root/copysend/formcd", tmpformcd);
  545. model.makeValue("/root/copysend/reckind", reckind);
  546. model.makeValue("/root/copysend/chosflag", chosflag);
  547. if (submit("TRMRI00407"))
  548. {
  549. var patid = model.getValue("/root/main/patinfo/patinfolist/pid");
  550. var patnm = model.getValue("/root/main/patinfo/patinfolist/hngnm");
  551. var ioflag = model.getValue("/root/tmpcopyinfo/copyinfo/ioflag");
  552. var recdd = model.getValue("/root/tmpcopyinfo/copyinfo/recdd");
  553. var formnm = model.getValue("/root/tmpcopyinfo/copyinfo/formnm");
  554. var deptnm = model.getValue("/root/tmpcopyinfo/copyinfo/deptnm");
  555. var deptcd = model.getValue("/root/tmpcopyinfo/copyinfo/deptcd");
  556. var orddd = model.getValue("/root/tmpcopyinfo/copyinfo/orddd");
  557. var dschdd = model.getValue("/root/tmpcopyinfo/copyinfo/dschdd");
  558. var atdoctnm = model.getValue("/root/tmpcopyinfo/copyinfo/atdoctnm");
  559. var atdoctcd = model.getValue("/root/tmpcopyinfo/copyinfo/atdoctcd");
  560. var sex = model.getValue("/root/main/patinfo/patinfolist/sex");
  561. var age = model.getValue("/root/main/patinfo/patinfolist/age");
  562. var cretno = model.getValue("/root/tmpcopyinfo/copyinfo/cretno");
  563. //var pagecnt = iviewerIemr.model.getValue("/root/main/chartinfo/pagetotal");
  564. }
  565. copyparam += patid + "▦" + patnm + "▦" + age + "▦" + sex + "▦" + tmptotpage + "▦" + reckind + "▦" + chosflag + "▦" + recdd + "▦" + formnm + "▦"
  566. + deptnm + "▦" + deptcd + "▦" + orddd + "▦" + dschdd + "▦" + atdoctnm + "▦" + atdoctcd + "▦" + tmpval + "▦" + tmpformcd + "▦" + cretno + "▩";
  567. }
  568. var wndobj = getOpenWindow("SPMRC03200");
  569. if(wndobj != null)
  570. {
  571. wndobj.window.javascript.fGetCopyInfo(copyparam);
  572. }
  573. else
  574. {
  575. setParameter("SMMRI00400_reqcopy", copyparam);
  576. open("SPMRC03200");
  577. }
  578. //window.close();
  579. }
  580. }
  581. /**
  582. * @desc : 질병 및 수술 인덱스 화면 연결
  583. * @id :
  584. * @event : DOMActivate
  585. * @return : void
  586. * @authur : 박종훈
  587. */
  588. function fDiagOprIndxLnk()
  589. {
  590. setParameter("SMMRD00400_pid", ipt_pid.value);
  591. open("SMMRD00700");
  592. }
  593. /**
  594. * @desc : 일자별 조회 트리리스트 클릭
  595. * @id :
  596. * @event : onclick
  597. * @return : void
  598. * @authur : 박종훈
  599. */
  600. function fClickDepth(tmp)
  601. {
  602. var item = grdObj.item(grdObj.selectedIndex);
  603. if(item == null || !trv_reclist.isCell(event.target)){return;}
  604. var rowpos = item.index + 1;
  605. var refyn = model.getValue(ref + "[" + rowpos + "]/refyn");
  606. var depth = model.getValue(ref + "[" + rowpos + "]/depth");
  607. var condflag = model.getValue(ref + "[" + rowpos + "]/condflag");
  608. var viewflag = model.getValue(ref + "[" + rowpos + "]/viewflag");
  609. var tabflag = model.getValue(ref + "[" + rowpos + "]/tabflag");
  610. var chosflag = model.getValue(ref + "[" + rowpos + "]/chosflag");
  611. model.removeNodeset("/root/send");
  612. model.makeValue("/root/send/depth", model.getValue(ref + "[" + rowpos + "]/depth"));
  613. model.makeValue("/root/send/label", model.getValue(ref + "[" + rowpos + "]/label"));
  614. model.makeValue("/root/send/val", model.getValue(ref + "[" + rowpos + "]/val"));
  615. model.makeValue("/root/send/pid", model.getValue(ref + "[" + rowpos + "]/pid"));
  616. model.makeValue("/root/send/orddd", model.getValue(ref + "[" + rowpos + "]/orddd"));
  617. model.makeValue("/root/send/cretno", model.getValue(ref + "[" + rowpos + "]/cretno"));
  618. model.makeValue("/root/send/chosflag", model.getValue(ref + "[" + rowpos + "]/chosflag"));
  619. model.makeValue("/root/send/tabflag", model.getValue(ref + "[" + rowpos + "]/tabflag"));
  620. model.makeValue("/root/send/viewflag", model.getValue(ref + "[" + rowpos + "]/viewflag"));
  621. model.makeValue("/root/send/condflag", model.getValue(ref + "[" + rowpos + "]/condflag"));
  622. model.makeValue("/root/send/fromdd", model.getValue("/root/init/reqmedireclist/recfromdt"));
  623. model.makeValue("/root/send/todd", model.getValue("/root/init/reqmedireclist/rectodt"));
  624. model.makeValue("/root/send/orddeptcd", model.getValue(ref + "[" + rowpos + "]/orddeptcd"));
  625. var orddeptcd = model.getValue(ref + "[" + rowpos + "]/orddeptcd");
  626. var orddd = model.getValue(ref + "[" + rowpos + "]/orddd");
  627. var cretno = model.getValue(ref + "[" + rowpos + "]/cretno");
  628. var comporddd = model.getValue("/root/init/accresn/orddd");
  629. var compcretno = model.getValue("/root/init/accresn/cretno");
  630. if (orddeptcd == "2011000000" || orddeptcd == "2030000000" || orddeptcd == "2100000000" || orddeptcd == "2150000000") //감염내과, 정신과, 산부인과, 비뇨기과
  631. {
  632. var sUserDeptcd = getUserInfo("dutplcecd");
  633. if ((sUserDeptcd != "3230000000") && (sUserDeptcd != orddeptcd) && (comporddd != orddd && compcretno != cretno)) //사용자 근무부서와 환자 수진부서가 틀린경우 사유창 팝업, 근무부서가 의료정보팀일경우 제외
  634. {
  635. model.resetInstanceNode("/root/init/accresn");
  636. setParameter("SPMRI03100_param_nodepath", "/root/init/accresn");
  637. setParameter("SPMRI03100_param_rsnflag", 'P');
  638. modal("SPMRI03100");
  639. var valiyn = model.getValue("/root/init/accresn/valiyn");
  640. if (valiyn != "Y")
  641. {
  642. return;
  643. }
  644. else
  645. {
  646. model.makeValue("/root/init/accresn/orddd", orddd);
  647. model.makeValue("/root/init/accresn/cretno", cretno);
  648. }
  649. }
  650. }
  651. else
  652. {
  653. model.resetInstanceNode("/root/init/accresn");
  654. }
  655. if(tmp == "one" && depth != "1")
  656. {
  657. if (refyn == "Y")
  658. return;
  659. if (condflag != "END") //계속 하위트리를 가져와야하는 경우
  660. {
  661. //영상서식일 경우
  662. if (condflag == "IMG")
  663. {
  664. var keyval = model.getValue(ref + "[" + rowpos + "]/val");
  665. if (keyval == "")
  666. return;
  667. var treatno = keyval.split("|")[0];
  668. var formcode = keyval.split("|")[1];
  669. model.resetInstanceNode("/root/imgrec/iemr");
  670. iviewerIemr.window.javascript.resetInstance_EMR();
  671. model.setValue("/root/imgrec/iemr/treatno", treatno);
  672. model.setValue("/root/imgrec/iemr/docucd", formcode);
  673. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  674. iviewerIemr.window.javascript.searchChart(iemrNode);
  675. if (iviewerIemr.window.javascript.downloadChart() == true)
  676. {
  677. // 뷰어 모드 유지 기능 추가 - 20080417
  678. var ViewMode;
  679. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  680. if (ViewMode == null || ViewMode == "")
  681. {
  682. iviewerIemr.window.javascript.setupChart("ChartView");
  683. }
  684. else
  685. {
  686. iviewerIemr.window.javascript.setupChart(ViewMode);
  687. }
  688. }
  689. }
  690. else
  691. {
  692. if(submit("TRMRI00413"))
  693. {
  694. model.setValue(ref + "[" + rowpos + "]/refyn", "Y");
  695. fMoveInstance();
  696. }
  697. }
  698. }
  699. else //기록을 가져와야하는 경우
  700. {
  701. if (tabflag == "PRCP") //처방탭일경우
  702. {
  703. var ordtype = model.getValue(ref + "[" + rowpos + "]/chosflag");
  704. if (ordtype == "I" || ordtype == "E" || ordtype == "D")
  705. {
  706. ordtype = "I";
  707. }
  708. else
  709. {
  710. ordtype = "O";
  711. }
  712. model.removeNodeset("/root/send/reqdata");
  713. model.makeValue("/root/send/reqdata/pid" , model.getValue(ref + "[" + rowpos + "]/pid"));
  714. model.makeValue("/root/send/reqdata/indd", model.getValue(ref + "[" + rowpos + "]/orddd"));
  715. model.makeValue("/root/send/reqdata/cretno", model.getValue(ref + "[" + rowpos + "]/cretno"));
  716. model.makeValue("/root/send/reqdata/ordtype", ordtype);
  717. if(submit("TRMMO14904")){
  718. var nodelist = model.instances(0).selectNodes("/root/main/prcpsrchprnt/prcpsrchprntinfo");
  719. if(nodelist.length != 0){
  720. model.makeValue("/root/main/prcpsrchprnt/prcpsrchprntinfo/orddrnm", getUserInfo("usernm"));
  721. model.makeValue("/root/main/prcpsrchprnt/prcpsrchprntinfo/dutplcenm", getUserInfo("dutplcenm"));
  722. }
  723. }
  724. model.removeNodeset("/root/send/reqdata");
  725. model.makeValue("/root/send/reqdata/fromdd", model.getValue(ref + "[" + rowpos + "]/val"));
  726. model.makeValue("/root/send/reqdata/todd", model.getValue(ref + "[" + rowpos + "]/val"));
  727. model.makeValue("/root/send/reqdata/pid", model.getValue(ref + "[" + rowpos + "]/pid"));
  728. //model.makeValue("/root/send/reqdata/prcpclsflag", "11");
  729. model.makeValue("/root/send/reqdata/prcpclsflag", "");
  730. model.makeValue("/root/send/reqdata/onlydcflag", "N");
  731. model.makeValue("/root/send/reqdata/ordtype", ordtype);
  732. model.makeValue("/root/send/reqdata/indd", model.getValue(ref + "[" + rowpos + "]/orddd"));
  733. model.makeValue("/root/send/reqdata/cretno", model.getValue(ref + "[" + rowpos + "]/cretno"));
  734. model.makeValue("/root/main/cond/fromdd", model.getValue(ref + "[" + rowpos + "]/val"));
  735. model.makeValue("/root/main/cond/todd", model.getValue(ref + "[" + rowpos + "]/val"));
  736. model.makeValue("/root/main/cond/pid", model.getValue(ref + "[" + rowpos + "]/pid"));
  737. model.makeValue("/root/main/cond/hngnm", model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  738. if(submit("TRMMO14901")){
  739. fPrcpDgn();
  740. }
  741. }
  742. else //처방탭이 아닐경우
  743. {
  744. model.removeNodeset("/root/tmpinicert");
  745. if(submit("TRMRI00415"))
  746. {
  747. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  748. if (certnodeList.length > 0)
  749. {
  750. //if(!fWarningMsg()) //비밀번호 확인창 띄우기
  751. //return;
  752. }
  753. fEmrImgRec();
  754. }
  755. }
  756. }
  757. }
  758. else if (tmp == "two")
  759. {
  760. //if(!fWarningMsg()) //비밀번호 확인창 띄우기
  761. //return;
  762. if(tabflag == "PRCP") //처방조회의경우 더블클릭시 리턴
  763. {
  764. if ((viewflag == "DEPT" && depth == "3") || (viewflag == "ORDDD" && depth == "2"))
  765. {
  766. var ordtype = model.getValue(ref + "[" + rowpos + "]/chosflag");
  767. var dschdd = "";
  768. if (ordtype == "I" || ordtype == "E" || ordtype == "D")
  769. {
  770. ordtype = "I";
  771. dschdd = model.getValue(ref + "[" + rowpos + "]/dschdd");
  772. if (dschdd == "-" || dschdd == "")
  773. {
  774. dschdd = getCurrentDate();
  775. }
  776. }
  777. else
  778. {
  779. ordtype = "O";
  780. dschdd = model.getValue(ref + "[" + rowpos + "]/val");
  781. }
  782. model.removeNodeset("/root/send/reqdata");
  783. model.makeValue("/root/send/reqdata/pid" , model.getValue(ref + "[" + rowpos + "]/pid"));
  784. model.makeValue("/root/send/reqdata/indd", model.getValue(ref + "[" + rowpos + "]/orddd"));
  785. model.makeValue("/root/send/reqdata/cretno", model.getValue(ref + "[" + rowpos + "]/cretno"));
  786. model.makeValue("/root/send/reqdata/ordtype", ordtype);
  787. if(submit("TRMMO14904")){
  788. var nodelist = model.instances(0).selectNodes("/root/main/prcpsrchprnt/prcpsrchprntinfo");
  789. if(nodelist.length != 0){
  790. model.makeValue("/root/main/prcpsrchprnt/prcpsrchprntinfo/orddrnm", getUserInfo("usernm"));
  791. model.makeValue("/root/main/prcpsrchprnt/prcpsrchprntinfo/dutplcenm", getUserInfo("dutplcenm"));
  792. }
  793. }
  794. model.removeNodeset("/root/send/reqdata");
  795. model.makeValue("/root/send/reqdata/fromdd", model.getValue(ref + "[" + rowpos + "]/val"));
  796. model.makeValue("/root/send/reqdata/todd", dschdd);
  797. model.makeValue("/root/send/reqdata/pid", model.getValue(ref + "[" + rowpos + "]/pid"));
  798. //model.makeValue("/root/send/reqdata/prcpclsflag", "11");
  799. model.makeValue("/root/send/reqdata/prcpclsflag", "");
  800. model.makeValue("/root/send/reqdata/onlydcflag", "N");
  801. model.makeValue("/root/send/reqdata/ordtype", ordtype);
  802. model.makeValue("/root/send/reqdata/indd", model.getValue(ref + "[" + rowpos + "]/orddd"));
  803. model.makeValue("/root/send/reqdata/cretno", model.getValue(ref + "[" + rowpos + "]/cretno"));
  804. model.makeValue("/root/main/cond/fromdd", model.getValue(ref + "[" + rowpos + "]/val"));
  805. model.makeValue("/root/main/cond/todd", dschdd);
  806. model.makeValue("/root/main/cond/pid", model.getValue(ref + "[" + rowpos + "]/pid"));
  807. model.makeValue("/root/main/cond/hngnm", model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  808. if(submit("TRMMO14901")){
  809. fPrcpDgn();
  810. }
  811. }
  812. else
  813. {
  814. return;
  815. }
  816. }
  817. else if (tabflag == "IMG" && condflag == "ORDDD") //이미지(구차트)수진이력 더블클릭시
  818. {
  819. model.resetInstanceNode("/root/imgrec/iemr");
  820. iviewerIemr.window.javascript.resetInstance_EMR();
  821. model.setValue("/root/imgrec/iemr/pid", model.getValue(ref + "[" + rowpos + "]/pid"));
  822. model.setValue("/root/imgrec/iemr/orddeptcd", model.getValue(ref + "[" + rowpos + "]/orddeptcd"));
  823. model.setValue("/root/imgrec/iemr/indd", model.getValue(ref + "[" + rowpos + "]/orddd"));
  824. model.setValue("/root/imgrec/iemr/ioflag", model.getValue(ref + "[" + rowpos + "]/chosflag"));
  825. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  826. iviewerIemr.window.javascript.searchChart(iemrNode);
  827. if (iviewerIemr.window.javascript.downloadChart() == true)
  828. {
  829. // 뷰어 모드 유지 기능 추가 - 20080417
  830. var ViewMode;
  831. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  832. if (ViewMode == null || ViewMode == "")
  833. {
  834. iviewerIemr.window.javascript.setupChart("ChartView");
  835. }
  836. else
  837. {
  838. iviewerIemr.window.javascript.setupChart(ViewMode);
  839. }
  840. }
  841. }
  842. else //이미지 탭의 수진이력이 아닌경우
  843. {
  844. if (condflag == "ORDDD" || condflag == "MID") //재원기간 또는 중분류 더블클릭시
  845. {
  846. model.removeNodeset("/root/tmpinicert");
  847. model.addLog("######################################");
  848. model.addLog("MRI00400조회 시작 : " + getCurrentTime());
  849. model.addLog("######################################");
  850. if(submit("TRMRI00415"))
  851. {
  852. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  853. if (certnodeList.length > 0)
  854. {
  855. //if(!fWarningMsg()) //비밀번호 확인창 띄우기
  856. // return;
  857. }
  858. model.addLog("######################################");
  859. model.addLog("MRI00400조회 끝 : " + getCurrentTime());
  860. model.addLog("######################################");
  861. fEmrImgRec();
  862. }
  863. }
  864. }
  865. }
  866. }
  867. /**
  868. * @desc : 화면표시 대상이 영상기록인경우 처리
  869. * @id :
  870. * @event : onclick
  871. * @return : void
  872. * @authur : 박종훈
  873. */
  874. function fImgRecOnly()
  875. {
  876. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  877. var signno = "";
  878. var formcd = "";
  879. if (certnodeList.length <= 0)
  880. return;
  881. for(var i = 1; i <= certnodeList.length; i++)
  882. {
  883. signno += model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signno") + ",";
  884. formcd += model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formcd") + ",";
  885. }
  886. model.resetInstanceNode("/root/imgrec/iemr");
  887. model.setValue("/root/imgrec/iemr/treatno", signno.substring(0, signno.length - 1));
  888. model.setValue("/root/imgrec/iemr/docucd", formcd.substring(0, formcd.length - 1));
  889. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  890. iviewerIemr.window.javascript.searchChart_EMR(iemrNode);
  891. if (iviewerIemr.window.javascript.downloadChart() == true)
  892. {
  893. // 뷰어 모드 유지 기능 추가 - 20080417
  894. var ViewMode;
  895. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  896. if (ViewMode == null || ViewMode == "")
  897. {
  898. iviewerIemr.window.javascript.setupChart("ChartView");
  899. }
  900. else
  901. {
  902. iviewerIemr.window.javascript.setupChart(ViewMode);
  903. }
  904. }
  905. }
  906. /**
  907. * @desc : 3depth 아이템 이동
  908. * @id :
  909. * @event : onclick
  910. * @return : void
  911. * @authur : 박종훈
  912. */
  913. function fMoveInstance()
  914. {
  915. var item = grdObj.item(grdObj.selectedIndex);
  916. if(item == null){return;}
  917. var rowpos = item.index + 1;
  918. var subNode = "";
  919. var instance = document.models(0).instances(0);
  920. var refNode = instance.selectSingleNode(ref + "[" + rowpos + "]"); //조회내용의 상위 항목
  921. var nodelistTmp = instance.selectNodes(stRef);
  922. var nodelength = nodelistTmp.length;
  923. if(nodelength > 0)
  924. {
  925. var tval = "";
  926. var node = root.main.recsrch;
  927. for(var i = nodelength; i > 0; i--)
  928. {
  929. tval = model.getValue(stRef + "[" + i + "]/val");
  930. subNode = instance.selectSingleNode(stRef + "[" + i + "]");
  931. node.insertAfter(subNode, refNode); //조회항목을 상위항목의 자식으로 삽입
  932. }
  933. grdObj.rebuild();
  934. //setTree(grdObj, grdObj.colRef("depth"), grdObj.colRef("label"), false);
  935. }
  936. }
  937. /**
  938. * @desc : 화면표시 대상이 EMR + IMG 기록인경우 처리
  939. * @id :
  940. * @event : onclick
  941. * @return : void
  942. * @authur : 박종훈
  943. */
  944. function fEmrImgRec()
  945. {
  946. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  947. var foldernm = "C:\\Certrec";
  948. if (certnodeList.length <= 0)
  949. return;
  950. var emrpath = "";
  951. var emrorddate = "";
  952. var emrformnm = "";
  953. var emrformcd = "";
  954. var emrdeptnm = "";
  955. var emrdeptcd = "";
  956. var emrpage = "";
  957. var emrhiddenmsg = "";
  958. var k = "";
  959. var pid = "";
  960. var ptnm = "";
  961. var depthngnm = "";
  962. var deptengabbr = "";
  963. var rgstno = "";
  964. var sa = "";
  965. var disporddd = "";
  966. var orddd = "";
  967. var drid = "";
  968. var roomcd = "";
  969. var ordtype = "";
  970. var chosflag = "";
  971. var orddeptcd = "";
  972. var signflag = "";
  973. var imgflag = "";
  974. var langflag = "";
  975. var tmptreatno = "";
  976. var tmpiformcd = "";
  977. var signno = 0;
  978. var formcd = "";
  979. var srcformcd = "";
  980. var formnm = "";
  981. var formprogflag = "";
  982. var recdt = "";
  983. var wardheader = "";
  984. var dateheader = "";
  985. var doctorheader = "";
  986. var printheader = "";
  987. var pageheader = "";
  988. var imgepath = "";
  989. var formrecdt = "";
  990. var fstrgstdt = "";
  991. var lastupdtdt = "";
  992. var staffconfirmdt = "";
  993. var fstrgstrusrnm = "";
  994. var lastupdtrusrnm = "";
  995. var erdt = "";
  996. var ervisittm = "";
  997. var staffnmheader = "";
  998. var staffnm = "";
  999. var emrrecusrnmheader = "";
  1000. var emrrecusrnm = "";
  1001. var indd = "";
  1002. var dschdd = "";
  1003. var inorddepthngnm = "";
  1004. var dschorddepthngnm = "";
  1005. var incnt = "";
  1006. var mainyn = "";
  1007. var prtnunm = getUserInfo("usernm");
  1008. var prtndeptnm = "";
  1009. //var getuseren = getUserInfo("userengnm");
  1010. var getdate = getCurrentDate();
  1011. var gettime = getCurrentTime();
  1012. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  1013. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  1014. var prtdt = dateprnt + " " + timeprnt;
  1015. var item = grdObj.item(grdObj.selectedIndex);
  1016. if(item == null){return;}
  1017. var rowpos = item.index + 1;
  1018. var condflag = model.getValue(ref + "[" + rowpos + "]/condflag");
  1019. var sDutplcecd = getUserInfo("dutplcecd");
  1020. srchorgcnt = certnodeList.length;
  1021. if (srchorgcnt < 15 || condflag == "END" || sDutplcecd == "3230000000")
  1022. srchcnt = srchorgcnt;
  1023. else
  1024. srchcnt = 15;
  1025. //openLoadingBar("기록정보");
  1026. fExistFolder(foldernm);
  1027. for(var i = 1; i <= srchcnt; i++)
  1028. {
  1029. signno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signno");
  1030. formcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formcd");
  1031. srcformcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/srcformcd");
  1032. formnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formnm");
  1033. formprogflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formprogflag");
  1034. recdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdt");
  1035. trans = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/trans");
  1036. pid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/pid");
  1037. ptnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ptnm");
  1038. depthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/depthngnm");
  1039. deptengabbr = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/deptengabbr");
  1040. rgstno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/rgstno");
  1041. sa = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/sa");
  1042. disporddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/disporddd");
  1043. orddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddd");
  1044. drid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/drid");
  1045. roomcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/roomcd");
  1046. ordtype = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ordtype");
  1047. chosflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/chosflag");
  1048. orddeptcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddeptcd");
  1049. signflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signflag");
  1050. imgflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/imgflag");
  1051. langflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/langflag");
  1052. formrecdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formrecdt");
  1053. formrecdt = formrecdt.toDate().getDateFormat("YYYY/MM/DD");
  1054. fstrgstdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstdt");
  1055. lastupdtdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtdt");
  1056. staffconfirmdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffconfirmdt");
  1057. fstrgstrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstrusrnm");
  1058. if(fstrgstrusrnm != "")
  1059. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  1060. lastupdtrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtrusrnm");
  1061. if(lastupdtrusrnm != "")
  1062. lastupdtrusrnm = lastupdtrusrnm + " (" + lastupdtdt + ")";
  1063. erdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/erdt");
  1064. ervisittm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ervisittm");
  1065. staffnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffnm");
  1066. emrrecusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/emrrecusrnm");
  1067. indd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/indd");
  1068. dschdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschdd");
  1069. inorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/inorddepthngnm");
  1070. dschorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschorddepthngnm");
  1071. mainyn = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/mainyn");
  1072. incnt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/incnt");
  1073. if(incnt != "")
  1074. incnt += " 회차";
  1075. var ininfo = indd + " / " + inorddepthngnm;
  1076. if(erdt != "")
  1077. ininfo += " (응급실 내원일 : " + erdt + ")";
  1078. var dschinfo = dschdd + " / " + dschorddepthngnm;
  1079. var formnmarr = formnm.split("\n");
  1080. var topformnm = "";
  1081. var botformnm = "";
  1082. if (formnmarr.length == 1)
  1083. {
  1084. topformnm = formnmarr[0];
  1085. }
  1086. else if (formnmarr.length == 2)
  1087. {
  1088. topformnm = formnmarr[0];
  1089. botformnm = formnmarr[1];
  1090. }
  1091. else
  1092. {
  1093. topformnm = formnm;
  1094. }
  1095. for(var k = pid.length; k <= 8; k++)
  1096. {
  1097. if(k < 8){
  1098. pid = "0"+pid;
  1099. }
  1100. }
  1101. //debugger;
  1102. var str1 = pid.substr(0, 3);
  1103. var str2 = pid.substr(3, 2);
  1104. var str3 = pid.substr(5, 2);
  1105. var str4 = pid.substr(7, 1);
  1106. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  1107. if (chosflag == "O" || chosflag == "S")
  1108. {
  1109. wardheader = "진료과 : ";
  1110. }
  1111. else
  1112. {
  1113. wardheader = "병실 : ";
  1114. }
  1115. if (langflag == "KO")
  1116. {
  1117. if (chosflag == "O" || chosflag == "S")
  1118. {
  1119. wardheader = "진료과 : ";
  1120. }
  1121. else
  1122. {
  1123. wardheader = "병실 : ";
  1124. }
  1125. dateheader = "진료기간 : ";
  1126. doctorheader = "주치의 : ";
  1127. printheader = "출력 : ";
  1128. prtndeptnm = getUserInfo("dutplcenm");
  1129. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + ".jpg"
  1130. pageheader = "페이지 : ";
  1131. }
  1132. else
  1133. {
  1134. if (chosflag == "O" || chosflag == "S")
  1135. {
  1136. wardheader = "Dept : ";
  1137. }
  1138. else
  1139. {
  1140. wardheader = "Room : ";
  1141. }
  1142. dateheader = "Date : ";
  1143. doctorheader = "Doctor : ";
  1144. printheader = "Print date : ";
  1145. prtndeptnm = getUserInfo("deptengnm");
  1146. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + "e.jpg"
  1147. if (prtndeptnm == "" || prtndeptnm == null)
  1148. {
  1149. prtndeptnm = getUserInfo("dutplcenm");
  1150. }
  1151. pageheader = "Page : ";
  1152. }
  1153. if (imgflag == "N")
  1154. {
  1155. model.makeValue("/root/prthist[" + i + "]/pid", pid);
  1156. model.makeValue("/root/prthist[" + i + "]/signno", signno);
  1157. model.makeValue("/root/prthist[" + i + "]/reckind", "01");
  1158. model.makeValue("/root/prthist[" + i + "]/readprtflag", "E");
  1159. model.makeValue("/root/prthist[" + i + "]/formcd", formcd);
  1160. model.makeValue("/root/prthist[" + i + "]/signflag", signflag);
  1161. model.makeValue("/root/prthist[" + i + "]/orddd", orddd);
  1162. model.makeValue("/root/prthist[" + i + "]/chosflag", chosflag);
  1163. model.makeValue("/root/prthist[" + i + "]/refusge", "");
  1164. model.makeValue("/root/prthist[" + i + "]/refremark", "");
  1165. if(trans == "")
  1166. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  1167. var ininm = "cmc";
  1168. switch(srcformcd)
  1169. {
  1170. case "0000000001"://외래초진
  1171. case "0000000002"://외래재진
  1172. case "0000000004"://입원경과
  1173. case "0000003325"://DSC기록
  1174. ininm += "_0000000001.ini";
  1175. break;
  1176. case "0000000003"://입원초진
  1177. ininm += "_0000000003.ini";
  1178. break;
  1179. case "0000000676"://수술기록
  1180. staffnmheader = "◈ Surgeon :";
  1181. if(staffnm != "")
  1182. staffnm += "(" + staffconfirmdt + ")";
  1183. emrrecusrnmheader = "";
  1184. ininm += "_0000000676.ini";
  1185. break;
  1186. case "0000003169"://Brief OP Note
  1187. staffnmheader = "";
  1188. ininm += "_0000000676.ini";
  1189. break;
  1190. case "0000000680"://입퇴원요약
  1191. staffnmheader = "◈ Staff작성 및 확인 :";
  1192. if(staffnm != "")
  1193. staffnm += "(" + staffconfirmdt + ")";
  1194. emrrecusrnmheader = "◈ 의무기록사 :";
  1195. ininm += "_0000000680.ini";
  1196. break;
  1197. case "0000000679"://응급실기록
  1198. ininm += "_0000000679.ini";
  1199. break;
  1200. default:
  1201. //ininm += "_0000000001.ini";
  1202. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y")
  1203. ininm += "_0000000001.ini";
  1204. else
  1205. ininm += ".ini";
  1206. break;
  1207. }
  1208. trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/ \n %INCLUDE emr/recmngtweb/xrw/" + ininm + " \n VAR_PAT_NUM = " + tmppid + " \n VAR_CLASS = " + ordtype + " \n VAR_CHART_NAME_TOP = " + topformnm + " \n VAR_CHART_NAME_BOTTOM = " + botformnm + " \n VAR_CHART_NAME_LINE = " + formnm + " \n VAR_PAT_AGE_SEX = " + sa + " \n VAR_TREAT_DEPT = " + deptengabbr + " \n VAR_PAT_JUMIN_NO = " + rgstno + " \n VAR_PAT_NAME = " + ptnm + " \n VAR_PRINT_NAME = " + prtnunm + " \n VAR_PRINT_DEPT = " + prtndeptnm + " \n VAR_WARD_HEAD = " + wardheader + roomcd + " \n VAR_DATE_HEADER = " + dateheader + disporddd + " \n VAR_DOCTOR_HEADER = " + doctorheader + drid + " \n VAR_PRINT_HEADER = " + printheader + prtdt + " \n SYS_PAGE_HEADER = " + pageheader + " \n VAR_HOSP_IMG = " + imgepath + " \n VAR_ORDDATE = " + formrecdt + " \n VAR_ORDDEPT = " + depthngnm + " \n VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm + " \n VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm + " \n VAR_ERDT = " + erdt + " \n VAR_ERVISITTM = " + ervisittm + " \n VAR_STAFFNM_HEADER = " + staffnmheader + " \n VAR_STAFFNM = " + staffnm + " \n VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader + " \n VAR_EMRRECUSRNM = " + emrrecusrnm + " \n VAR_ININFO = " + ininfo + " \n VAR_DSCHINFO = " + dschinfo + " \n VAR_INCNT = " + incnt + " \n VAR_INORDDEPTHNGNM = " + inorddepthngnm + "\n %-->\n" + trans;
  1209. var fso = new ActiveXObject("Scripting.FileSystemObject");
  1210. var a = fso.CreateTextFile(foldernm + "\\" + signno + "_" + formcd + ".HTML", true, true);
  1211. a.WriteLine(trans);
  1212. //a.Write(trans);
  1213. a.Close();
  1214. emrpath += foldernm + "\\" + signno + "_" + formcd + ".HTML|";
  1215. emrorddate += orddd + "|";
  1216. emrformnm += formnm + "|";
  1217. emrformcd += formcd + "|";
  1218. emrdeptnm += deptengabbr + "|";
  1219. emrdeptcd += orddeptcd + "|";
  1220. emrpage += "1|";
  1221. emrhiddenmsg += formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  1222. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  1223. }
  1224. else
  1225. {
  1226. tmptreatno += signno + ",";
  1227. tmpiformcd += formcd + ",";
  1228. emrpath += "*|";
  1229. emrorddate += "*|";
  1230. emrformnm += "*|";
  1231. emrformcd += "*|";
  1232. emrdeptnm += "*|";
  1233. emrdeptcd += "*|";
  1234. emrpage += "*|";
  1235. emrhiddenmsg += "*|";
  1236. }
  1237. }
  1238. model.removeNodeset("/root/temp/inisend");
  1239. model.resetInstanceNode("/root/imgrec/iemr");
  1240. model.setValue("/root/imgrec/iemr/treatno", tmptreatno.substring(0, tmptreatno.length - 1));
  1241. model.setValue("/root/imgrec/iemr/docucd", tmpiformcd.substring(0, tmpiformcd.length - 1));
  1242. //이미지경로
  1243. model.makeValue("/root/temp/inisend/emrpath", emrpath.substring(0, emrpath.length - 1));
  1244. iviewerIemr.model.setValue("/root/main/emrpath", model.getValue("/root/temp/inisend/emrpath"));
  1245. //진료일
  1246. model.makeValue("/root/temp/inisend/emrorddate", emrorddate.substring(0, emrorddate.length - 1));
  1247. iviewerIemr.model.setValue("/root/main/emrorddate", model.getValue("/root/temp/inisend/emrorddate"));
  1248. //서식명
  1249. model.makeValue("/root/temp/inisend/emrformnm", emrformnm.substring(0, emrformnm.length - 1));
  1250. iviewerIemr.model.setValue("/root/main/emrformnm", model.getValue("/root/temp/inisend/emrformnm"));
  1251. //서식코드
  1252. model.makeValue("/root/temp/inisend/emrformcd", emrformcd.substring(0, emrformcd.length - 1));
  1253. iviewerIemr.model.setValue("/root/main/emrformcd", model.getValue("/root/temp/inisend/emrformcd"));
  1254. //진료과
  1255. model.makeValue("/root/temp/inisend/emrdeptnm", emrdeptnm.substring(0, emrdeptnm.length - 1));
  1256. iviewerIemr.model.setValue("/root/main/emrdeptnm", model.getValue("/root/temp/inisend/emrdeptnm"));
  1257. //진료과코드
  1258. model.makeValue("/root/temp/inisend/emrdeptcd", emrdeptcd.substring(0, emrdeptcd.length - 1));
  1259. iviewerIemr.model.setValue("/root/main/emrdeptcd", model.getValue("/root/temp/inisend/emrdeptcd"));
  1260. //페이지
  1261. model.makeValue("/root/temp/inisend/emrpage", emrpage.substring(0, emrpage.length - 1));
  1262. iviewerIemr.model.setValue("/root/main/emrpage", model.getValue("/root/temp/inisend/emrpage"));
  1263. model.makeValue("/root/temp/inisend/emrhiddenmsg", emrhiddenmsg.substring(0, emrhiddenmsg.length - 1));
  1264. iviewerIemr.model.setValue("/root/main/emrhiddenmsg", model.getValue("/root/temp/inisend/emrhiddenmsg"));
  1265. gtmptreatno = tmptreatno;
  1266. gtmpiformcd = tmpiformcd;
  1267. gemrpath = emrpath;
  1268. gemrorddate = emrorddate;
  1269. gemrformnm = emrformnm;
  1270. gemrformcd = emrformcd;
  1271. gemrdeptnm = emrdeptnm;
  1272. gemrdeptcd = emrdeptcd;
  1273. gemrpage = emrpage;
  1274. gemrhiddenmsg = emrhiddenmsg;
  1275. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  1276. iviewerIemr.window.javascript.searchChart_EMR(iemrNode);
  1277. if (iviewerIemr.window.javascript.downloadChart() == true)
  1278. {
  1279. // 뷰어 모드 유지 기능 추가 - 20080417
  1280. var ViewMode;
  1281. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  1282. if (ViewMode == null || ViewMode == "")
  1283. {
  1284. iviewerIemr.window.javascript.setupChart("ChartView");
  1285. }
  1286. else
  1287. {
  1288. iviewerIemr.window.javascript.setupChart(ViewMode);
  1289. }
  1290. }
  1291. //closeLoadingBar();
  1292. }
  1293. /**
  1294. * @desc : 화면표시 대상이 EMR + IMG 기록인경우 처리
  1295. * @id :
  1296. * @event : onclick
  1297. * @return : void
  1298. * @authur : 박종훈
  1299. */
  1300. function fEmrImgRec_old20081212()
  1301. {
  1302. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  1303. var foldernm = "C:/Certrec";
  1304. if (certnodeList.length <= 0)
  1305. return;
  1306. var emrpath = "";
  1307. var emrorddate = "";
  1308. var emrformnm = "";
  1309. var emrformcd = "";
  1310. var emrdeptnm = "";
  1311. var emrdeptcd = "";
  1312. var emrpage = "";
  1313. var emrhiddenmsg = "";
  1314. var k = "";
  1315. var pid = "";
  1316. var ptnm = "";
  1317. var depthngnm = "";
  1318. var deptengabbr = "";
  1319. var rgstno = "";
  1320. var sa = "";
  1321. var disporddd = "";
  1322. var orddd = "";
  1323. var drid = "";
  1324. var roomcd = "";
  1325. var ordtype = "";
  1326. var chosflag = "";
  1327. var orddeptcd = "";
  1328. var signflag = "";
  1329. var imgflag = "";
  1330. var langflag = "";
  1331. var tmptreatno = "";
  1332. var tmpiformcd = "";
  1333. var signno = 0;
  1334. var formcd = "";
  1335. var srcformcd = "";
  1336. var formnm = "";
  1337. var formprogflag = "";
  1338. var recdt = "";
  1339. var wardheader = "";
  1340. var dateheader = "";
  1341. var doctorheader = "";
  1342. var printheader = "";
  1343. var pageheader = "";
  1344. var imgepath = "";
  1345. var formrecdt = "";
  1346. var fstrgstdt = "";
  1347. var lastupdtdt = "";
  1348. var staffconfirmdt = "";
  1349. var fstrgstrusrnm = "";
  1350. var lastupdtrusrnm = "";
  1351. var erdt = "";
  1352. var ervisittm = "";
  1353. var staffnmheader = "";
  1354. var staffnm = "";
  1355. var emrrecusrnmheader = "";
  1356. var emrrecusrnm = "";
  1357. var indd = "";
  1358. var dschdd = "";
  1359. var inorddepthngnm = "";
  1360. var dschorddepthngnm = "";
  1361. var incnt = "";
  1362. var prtnunm = getUserInfo("usernm");
  1363. var prtndeptnm = "";
  1364. //var getuseren = getUserInfo("userengnm");
  1365. var getdate = getCurrentDate();
  1366. var gettime = getCurrentTime();
  1367. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  1368. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  1369. var prtdt = dateprnt + " " + timeprnt;
  1370. var item = grdObj.item(grdObj.selectedIndex);
  1371. if(item == null){return;}
  1372. var rowpos = item.index + 1;
  1373. var condflag = model.getValue(ref + "[" + rowpos + "]/condflag");
  1374. var sDutplcecd = getUserInfo("dutplcecd");
  1375. srchorgcnt = certnodeList.length;
  1376. if (srchorgcnt < 15 || condflag == "END" || sDutplcecd == "3230000000")
  1377. srchcnt = srchorgcnt;
  1378. else
  1379. srchcnt = 15;
  1380. //openLoadingBar("기록정보");
  1381. fExistFolder(foldernm);
  1382. for(var i = 1; i <= srchcnt; i++)
  1383. {
  1384. signno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signno");
  1385. formcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formcd");
  1386. srcformcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/srcformcd");
  1387. formnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formnm");
  1388. formprogflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formprogflag");
  1389. recdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdt");
  1390. trans = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/trans");
  1391. pid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/pid");
  1392. ptnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ptnm");
  1393. depthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/depthngnm");
  1394. deptengabbr = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/deptengabbr");
  1395. rgstno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/rgstno");
  1396. sa = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/sa");
  1397. disporddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/disporddd");
  1398. orddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddd");
  1399. drid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/drid");
  1400. roomcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/roomcd");
  1401. ordtype = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ordtype");
  1402. chosflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/chosflag");
  1403. orddeptcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddeptcd");
  1404. signflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signflag");
  1405. imgflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/imgflag");
  1406. langflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/langflag");
  1407. formrecdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formrecdt");
  1408. formrecdt = formrecdt.toDate().getDateFormat("YYYY/MM/DD");
  1409. fstrgstdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstdt");
  1410. lastupdtdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtdt");
  1411. staffconfirmdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffconfirmdt");
  1412. fstrgstrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstrusrnm");
  1413. if(fstrgstrusrnm != "")
  1414. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  1415. lastupdtrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtrusrnm");
  1416. if(lastupdtrusrnm != "")
  1417. lastupdtrusrnm = lastupdtrusrnm + " (" + lastupdtdt + ")";
  1418. erdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/erdt");
  1419. ervisittm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ervisittm");
  1420. staffnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffnm");
  1421. emrrecusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/emrrecusrnm");
  1422. indd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/indd");
  1423. dschdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschdd");
  1424. inorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/inorddepthngnm");
  1425. dschorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschorddepthngnm");
  1426. incnt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/incnt");
  1427. if(incnt != "")
  1428. incnt += " 회차";
  1429. var ininfo = indd + " / " + inorddepthngnm;
  1430. if(erdt != "")
  1431. ininfo += " (응급실 내원일 : " + erdt + ")";
  1432. var dschinfo = dschdd + " / " + dschorddepthngnm;
  1433. var formnmarr = formnm.split("\n");
  1434. var topformnm = "";
  1435. var botformnm = "";
  1436. if (formnmarr.length == 1)
  1437. {
  1438. topformnm = formnmarr[0];
  1439. }
  1440. else if (formnmarr.length == 2)
  1441. {
  1442. topformnm = formnmarr[0];
  1443. botformnm = formnmarr[1];
  1444. }
  1445. else
  1446. {
  1447. topformnm = formnm;
  1448. }
  1449. for(var k = pid.length; k <= 8; k++)
  1450. {
  1451. if(k < 8){
  1452. pid = "0"+pid;
  1453. }
  1454. }
  1455. var str1 = pid.substr(0, 3);
  1456. var str2 = pid.substr(3, 2);
  1457. var str3 = pid.substr(5, 2);
  1458. var str4 = pid.substr(7, 1);
  1459. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  1460. if (chosflag == "O" || chosflag == "S")
  1461. {
  1462. wardheader = "진료과 : ";
  1463. }
  1464. else
  1465. {
  1466. wardheader = "병실 : ";
  1467. }
  1468. if (langflag == "KO")
  1469. {
  1470. if (chosflag == "O" || chosflag == "S")
  1471. {
  1472. wardheader = "진료과 : ";
  1473. }
  1474. else
  1475. {
  1476. wardheader = "병실 : ";
  1477. }
  1478. dateheader = "진료기간 : ";
  1479. doctorheader = "주치의 : ";
  1480. printheader = "출력 : ";
  1481. prtndeptnm = getUserInfo("dutplcenm");
  1482. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + ".jpg"
  1483. pageheader = "페이지 : ";
  1484. }
  1485. else
  1486. {
  1487. if (chosflag == "O" || chosflag == "S")
  1488. {
  1489. wardheader = "Dept : ";
  1490. }
  1491. else
  1492. {
  1493. wardheader = "Room : ";
  1494. }
  1495. dateheader = "Date : ";
  1496. doctorheader = "Doctor : ";
  1497. printheader = "Print date : ";
  1498. prtndeptnm = getUserInfo("deptengnm");
  1499. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + "e.jpg"
  1500. if (prtndeptnm == "" || prtndeptnm == null)
  1501. {
  1502. prtndeptnm = getUserInfo("dutplcenm");
  1503. }
  1504. pageheader = "Page : ";
  1505. }
  1506. if (imgflag == "N")
  1507. {
  1508. model.makeValue("/root/prthist[" + i + "]/pid", pid);
  1509. model.makeValue("/root/prthist[" + i + "]/signno", signno);
  1510. model.makeValue("/root/prthist[" + i + "]/reckind", "01");
  1511. model.makeValue("/root/prthist[" + i + "]/readprtflag", "E");
  1512. model.makeValue("/root/prthist[" + i + "]/formcd", formcd);
  1513. model.makeValue("/root/prthist[" + i + "]/signflag", signflag);
  1514. model.makeValue("/root/prthist[" + i + "]/orddd", orddd);
  1515. model.makeValue("/root/prthist[" + i + "]/chosflag", chosflag);
  1516. model.makeValue("/root/prthist[" + i + "]/refusge", "");
  1517. model.makeValue("/root/prthist[" + i + "]/refremark", "");
  1518. if(trans == "")
  1519. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  1520. var ininm = "cmc";
  1521. switch(srcformcd)
  1522. {
  1523. case "0000000001"://외래초진
  1524. case "0000000002"://외래재진
  1525. case "0000000003"://입원초진
  1526. case "0000000004"://입원경과
  1527. case "0000003325"://DSC기록
  1528. ininm += "_0000000001.ini";
  1529. break;
  1530. case "0000000676"://수술기록
  1531. staffnmheader = "◈ Surgeon :";
  1532. if(staffnm != "")
  1533. staffnm += "(" + staffconfirmdt + ")";
  1534. emrrecusrnmheader = "";
  1535. ininm += "_0000000676.ini";
  1536. break;
  1537. case "0000003169"://Brief OP Note
  1538. staffnmheader = "";
  1539. ininm += "_0000000676.ini";
  1540. break;
  1541. case "0000000680"://입퇴원요약
  1542. staffnmheader = "◈ Staff작성 및 확인 :";
  1543. if(staffnm != "")
  1544. staffnm += "(" + staffconfirmdt + ")";
  1545. emrrecusrnmheader = "◈ 의무기록사 :";
  1546. ininm += "_0000000680.ini";
  1547. break;
  1548. case "0000000679"://응급실기록
  1549. ininm += "_0000000679.ini";
  1550. break;
  1551. default:
  1552. //ininm += "_0000000001.ini";
  1553. if(formprogflag == "-" || formprogflag == "MAIN")
  1554. ininm += "_0000000001.ini";
  1555. else
  1556. ininm += ".ini";
  1557. break;
  1558. }
  1559. trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/ \n %INCLUDE emr/recmngtweb/xrw/" + ininm + " \n VAR_PAT_NUM = " + tmppid + " \n VAR_CLASS = " + ordtype + " \n VAR_CHART_NAME_TOP = " + topformnm + " \n VAR_CHART_NAME_BOTTOM = " + botformnm + " \n VAR_CHART_NAME_LINE = " + formnm + " \n VAR_PAT_AGE_SEX = " + sa + " \n VAR_TREAT_DEPT = " + deptengabbr + " \n VAR_PAT_JUMIN_NO = " + rgstno + " \n VAR_PAT_NAME = " + ptnm + " \n VAR_PRINT_NAME = " + prtnunm + " \n VAR_PRINT_DEPT = " + prtndeptnm + " \n VAR_WARD_HEAD = " + wardheader + roomcd + " \n VAR_DATE_HEADER = " + dateheader + disporddd + " \n VAR_DOCTOR_HEADER = " + doctorheader + drid + " \n VAR_PRINT_HEADER = " + printheader + prtdt + " \n SYS_PAGE_HEADER = " + pageheader + " \n VAR_HOSP_IMG = " + imgepath + " \n VAR_ORDDATE = " + formrecdt + " \n VAR_ORDDEPT = " + depthngnm + " \n VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm + " \n VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm + " \n VAR_ERDT = " + erdt + " \n VAR_ERVISITTM = " + ervisittm + " \n VAR_STAFFNM_HEADER = " + staffnmheader + " \n VAR_STAFFNM = " + staffnm + " \n VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader + " \n VAR_EMRRECUSRNM = " + emrrecusrnm + " \n VAR_ININFO = " + ininfo + " \n VAR_DSCHINFO = " + dschinfo + " \n VAR_INCNT = " + incnt + " \n %-->\n" + trans;
  1560. /*
  1561. if(trans == "")
  1562. {
  1563. trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/ \n %INCLUDE emr/recmngtweb/xrw/" + ininm + " \n VAR_PAT_NUM = " + tmppid + " \n VAR_CLASS = " + ordtype + " \n VAR_CHART_NAME_TOP = " + topformnm + " \n VAR_CHART_NAME_BOTTOM = " + botformnm + " \n VAR_CHART_NAME_LINE = " + formnm + " \n VAR_PAT_AGE_SEX = " + sa + " \n VAR_TREAT_DEPT = " + deptengabbr + " \n VAR_PAT_JUMIN_NO = " + rgstno + " \n VAR_PAT_NAME = " + ptnm + " \n VAR_PRINT_NAME = " + prtnunm + " \n VAR_PRINT_DEPT = " + prtndeptnm + " \n VAR_WARD_HEAD = " + wardheader + roomcd + " \n VAR_DATE_HEADER = " + dateheader + disporddd + " \n VAR_DOCTOR_HEADER = " + doctorheader + drid + " \n VAR_PRINT_HEADER = " + printheader + prtdt + " \n SYS_PAGE_HEADER = " + pageheader + " \n VAR_HOSP_IMG = " + imgepath + " \n %-->\n" + "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>"
  1564. //alert("출력용 서식 디자인이 존재하지 않습니다.");
  1565. //return;
  1566. }
  1567. else if(srcformcd == "0000000004")
  1568. {
  1569. trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/ \n %INCLUDE emr/recmngtweb/xrw/" + ininm + " \n VAR_PAT_NUM = " + tmppid + " \n VAR_CLASS = " + ordtype + " \n VAR_CHART_NAME_TOP = " + topformnm + " \n VAR_CHART_NAME_BOTTOM = " + botformnm + " \n VAR_CHART_NAME_LINE = " + formnm + " \n VAR_PAT_AGE_SEX = " + sa + " \n VAR_TREAT_DEPT = " + deptengabbr + " \n VAR_PAT_JUMIN_NO = " + rgstno + " \n VAR_PAT_NAME = " + ptnm + " \n VAR_PRINT_NAME = " + prtnunm + " \n VAR_PRINT_DEPT = " + prtndeptnm + " \n VAR_WARD_HEAD = " + wardheader + roomcd + " \n VAR_DATE_HEADER = " + dateheader + disporddd + " \n VAR_DOCTOR_HEADER = " + doctorheader + drid + " \n VAR_PRINT_HEADER = " + printheader + prtdt + " \n SYS_PAGE_HEADER = " + pageheader + " \n VAR_HOSP_IMG = " + imgepath + " \n VAR_ORDDATE = " + formrecdt + " \n VAR_ORDDEPT = " + depthngnm + " \n VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm + " \n VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm + " \n %-->\n" + trans;
  1570. }
  1571. else
  1572. {
  1573. trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/ \n %INCLUDE emr/recmngtweb/xrw/" + ininm + " \n VAR_PAT_NUM = " + tmppid + " \n VAR_CLASS = " + ordtype + " \n VAR_CHART_NAME_TOP = " + topformnm + " \n VAR_CHART_NAME_BOTTOM = " + botformnm + " \n VAR_CHART_NAME_LINE = " + formnm + " \n VAR_PAT_AGE_SEX = " + sa + " \n VAR_TREAT_DEPT = " + deptengabbr + " \n VAR_PAT_JUMIN_NO = " + rgstno + " \n VAR_PAT_NAME = " + ptnm + " \n VAR_PRINT_NAME = " + prtnunm + " \n VAR_PRINT_DEPT = " + prtndeptnm + " \n VAR_WARD_HEAD = " + wardheader + roomcd + " \n VAR_DATE_HEADER = " + dateheader + disporddd + " \n VAR_DOCTOR_HEADER = " + doctorheader + drid + " \n VAR_PRINT_HEADER = " + printheader + prtdt + " \n SYS_PAGE_HEADER = " + pageheader + " \n VAR_HOSP_IMG = " + imgepath + " \n %-->\n" + trans;
  1574. }
  1575. */
  1576. obj_cvrt.InputPath = "wide://" + trans;
  1577. obj_cvrt.SaveFile(foldernm + "/" + signno + "_" + "####.jpg");
  1578. pageno = obj_cvrt.TotalPage;
  1579. for(var j = 1; j <= pageno; j++)
  1580. {
  1581. k = ("" + j + "").getLeftPad(4, "0");
  1582. emrpath += foldernm + "/" + signno + "_" + k + ".jpg|";
  1583. emrorddate += orddd + "|";
  1584. emrformnm += formnm + "|";
  1585. emrformcd += formcd + "|";
  1586. emrdeptnm += deptengabbr + "|";
  1587. emrdeptcd += orddeptcd + "|";
  1588. emrpage += j+"|";
  1589. emrhiddenmsg += formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  1590. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E" + "▦" + pageno +"|";
  1591. }
  1592. }
  1593. else
  1594. {
  1595. tmptreatno += signno + ",";
  1596. tmpiformcd += formcd + ",";
  1597. emrpath += "*|";
  1598. emrorddate += "*|";
  1599. emrformnm += "*|";
  1600. emrformcd += "*|";
  1601. emrdeptnm += "*|";
  1602. emrdeptcd += "*|";
  1603. emrpage += "*|";
  1604. emrhiddenmsg += "*|";
  1605. }
  1606. }
  1607. model.removeNodeset("/root/temp/inisend");
  1608. model.resetInstanceNode("/root/imgrec/iemr");
  1609. model.setValue("/root/imgrec/iemr/treatno", tmptreatno.substring(0, tmptreatno.length - 1));
  1610. model.setValue("/root/imgrec/iemr/docucd", tmpiformcd.substring(0, tmpiformcd.length - 1));
  1611. //이미지경로
  1612. model.makeValue("/root/temp/inisend/emrpath", emrpath.substring(0, emrpath.length - 1));
  1613. iviewerIemr.model.setValue("/root/main/emrpath", model.getValue("/root/temp/inisend/emrpath"));
  1614. //진료일
  1615. model.makeValue("/root/temp/inisend/emrorddate", emrorddate.substring(0, emrorddate.length - 1));
  1616. iviewerIemr.model.setValue("/root/main/emrorddate", model.getValue("/root/temp/inisend/emrorddate"));
  1617. //서식명
  1618. model.makeValue("/root/temp/inisend/emrformnm", emrformnm.substring(0, emrformnm.length - 1));
  1619. iviewerIemr.model.setValue("/root/main/emrformnm", model.getValue("/root/temp/inisend/emrformnm"));
  1620. //서식코드
  1621. model.makeValue("/root/temp/inisend/emrformcd", emrformcd.substring(0, emrformcd.length - 1));
  1622. iviewerIemr.model.setValue("/root/main/emrformcd", model.getValue("/root/temp/inisend/emrformcd"));
  1623. //진료과
  1624. model.makeValue("/root/temp/inisend/emrdeptnm", emrdeptnm.substring(0, emrdeptnm.length - 1));
  1625. iviewerIemr.model.setValue("/root/main/emrdeptnm", model.getValue("/root/temp/inisend/emrdeptnm"));
  1626. //진료과코드
  1627. model.makeValue("/root/temp/inisend/emrdeptcd", emrdeptcd.substring(0, emrdeptcd.length - 1));
  1628. iviewerIemr.model.setValue("/root/main/emrdeptcd", model.getValue("/root/temp/inisend/emrdeptcd"));
  1629. //페이지
  1630. model.makeValue("/root/temp/inisend/emrpage", emrpage.substring(0, emrpage.length - 1));
  1631. iviewerIemr.model.setValue("/root/main/emrpage", model.getValue("/root/temp/inisend/emrpage"));
  1632. model.makeValue("/root/temp/inisend/emrhiddenmsg", emrhiddenmsg.substring(0, emrhiddenmsg.length - 1));
  1633. iviewerIemr.model.setValue("/root/main/emrhiddenmsg", model.getValue("/root/temp/inisend/emrhiddenmsg"));
  1634. gtmptreatno = tmptreatno;
  1635. gtmpiformcd = tmpiformcd;
  1636. gemrpath = emrpath;
  1637. gemrorddate = emrorddate;
  1638. gemrformnm = emrformnm;
  1639. gemrformcd = emrformcd;
  1640. gemrdeptnm = emrdeptnm;
  1641. gemrdeptcd = emrdeptcd;
  1642. gemrpage = emrpage;
  1643. gemrhiddenmsg = emrhiddenmsg;
  1644. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  1645. iviewerIemr.window.javascript.searchChart_EMR(iemrNode);
  1646. if (iviewerIemr.window.javascript.downloadChart() == true)
  1647. {
  1648. // 뷰어 모드 유지 기능 추가 - 20080417
  1649. var ViewMode;
  1650. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  1651. if (ViewMode == null || ViewMode == "")
  1652. {
  1653. iviewerIemr.window.javascript.setupChart("ChartView");
  1654. }
  1655. else
  1656. {
  1657. iviewerIemr.window.javascript.setupChart(ViewMode);
  1658. }
  1659. }
  1660. //closeLoadingBar();
  1661. }
  1662. /**
  1663. * @desc : 화면표시 대상이 EMR + IMG 기록인경우 처리(페이지 처리)
  1664. * @id :
  1665. * @event : onclick
  1666. * @return : void
  1667. * @authur : 박종훈
  1668. */
  1669. function fGetNextEmrImgRec()
  1670. {
  1671. //var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  1672. var foldernm = "C:/Certrec";
  1673. var emrpath = "";
  1674. var emrorddate = "";
  1675. var emrformnm = "";
  1676. var emrformcd = "";
  1677. var emrdeptnm = "";
  1678. var emrdeptcd = "";
  1679. var emrpage = "";
  1680. var emrhiddenmsg = "";
  1681. var k = "";
  1682. var pid = "";
  1683. var ptnm = "";
  1684. var deptengabbr = "";
  1685. var rgstno = "";
  1686. var sa = "";
  1687. var disporddd = "";
  1688. var orddd = "";
  1689. var drid = "";
  1690. var roomcd = "";
  1691. var ordtype = "";
  1692. var chosflag = "";
  1693. var orddeptcd = "";
  1694. var signflag = "";
  1695. var imgflag = "";
  1696. var langflag = "";
  1697. var tmptreatno = "";
  1698. var tmpiformcd = "";
  1699. var signno = 0;
  1700. var formcd = "";
  1701. var srcformcd = "";
  1702. var formnm = "";
  1703. var recdt = "";
  1704. var tmpadd = 15;
  1705. var wardheader = "";
  1706. var dateheader = "";
  1707. var doctorheader = "";
  1708. var printheader = "";
  1709. var pageheader = "";
  1710. var imgepath = "";
  1711. var formrecdt = "";
  1712. var fstrgstdt = "";
  1713. var lastupdtdt = "";
  1714. var staffconfirmdt = "";
  1715. var fstrgstrusrnm = "";
  1716. var lastupdtrusrnm = "";
  1717. var erdt = "";
  1718. var ervisittm = "";
  1719. var staffnmheader = "";
  1720. var staffnm = "";
  1721. var emrrecusrnmheader = "";
  1722. var emrrecusrnm = "";
  1723. var indd = "";
  1724. var dschdd = "";
  1725. var inorddepthngnm = "";
  1726. var dschorddepthngnm = "";
  1727. var incnt = "";
  1728. var prtnunm = getUserInfo("usernm");
  1729. var prtndeptnm = "";
  1730. //var getuseren = getUserInfo("userengnm");
  1731. var getdate = getCurrentDate();
  1732. var gettime = getCurrentTime();
  1733. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  1734. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  1735. var prtdt = dateprnt + " " + timeprnt;
  1736. var tmpgap = srchorgcnt - srchcnt;
  1737. if (tmpgap > 0)
  1738. {
  1739. if (tmpgap <= 15)
  1740. {
  1741. tmpadd = tmpgap;
  1742. }
  1743. }
  1744. else
  1745. {
  1746. return;
  1747. }
  1748. //openLoadingBar("기록정보");
  1749. for(var i = (srchcnt + 1); i <= (srchcnt + tmpadd); i++)
  1750. {
  1751. signno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signno");
  1752. formcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formcd");
  1753. srcformcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/srcformcd");
  1754. formnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formnm");
  1755. formprogflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formprogflag");
  1756. recdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdt");
  1757. trans = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/trans");
  1758. pid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/pid");
  1759. ptnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ptnm");
  1760. depthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/depthngnm");
  1761. deptengabbr = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/deptengabbr");
  1762. rgstno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/rgstno");
  1763. sa = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/sa");
  1764. disporddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/disporddd");
  1765. orddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddd");
  1766. drid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/drid");
  1767. roomcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/roomcd");
  1768. ordtype = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ordtype");
  1769. chosflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/chosflag");
  1770. orddeptcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddeptcd");
  1771. signflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signflag");
  1772. imgflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/imgflag");
  1773. langflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/langflag");
  1774. formrecdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formrecdt");
  1775. formrecdt = formrecdt.toDate().getDateFormat("YYYY/MM/DD");
  1776. fstrgstdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstdt");
  1777. lastupdtdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtdt");
  1778. staffconfirmdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffconfirmdt");
  1779. fstrgstrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstrusrnm");
  1780. if(fstrgstrusrnm != "")
  1781. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  1782. lastupdtrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtrusrnm");
  1783. if(lastupdtrusrnm != "")
  1784. lastupdtrusrnm = lastupdtrusrnm + " (" + lastupdtdt + ")";
  1785. erdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/erdt");
  1786. ervisittm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ervisittm");
  1787. staffnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffnm");
  1788. emrrecusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/emrrecusrnm");
  1789. indd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/indd");
  1790. dschdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschdd");
  1791. inorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/inorddepthngnm");
  1792. dschorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschorddepthngnm");
  1793. incnt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/incnt");
  1794. if(incnt != "")
  1795. incnt += " 회차";
  1796. var ininfo = indd + " / " + inorddepthngnm;
  1797. if(erdt != "")
  1798. ininfo += " (응급실 내원일 : " + erdt + ")";
  1799. var dschinfo = dschdd + " / " + dschorddepthngnm;
  1800. var formnmarr = formnm.split("\n");
  1801. var topformnm = "";
  1802. var botformnm = "";
  1803. if (formnmarr.length == 1)
  1804. {
  1805. topformnm = formnmarr[0];
  1806. }
  1807. else if (formnmarr.length == 2)
  1808. {
  1809. topformnm = formnmarr[0];
  1810. botformnm = formnmarr[1];
  1811. }
  1812. else
  1813. {
  1814. topformnm = formnm;
  1815. }
  1816. for(var k = pid.length; k <= 8; k++)
  1817. {
  1818. if(k < 8){
  1819. pid = "0"+pid;
  1820. }
  1821. }
  1822. var str1 = pid.substr(0, 3);
  1823. var str2 = pid.substr(3, 2);
  1824. var str3 = pid.substr(5, 2);
  1825. var str4 = pid.substr(7, 1);
  1826. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  1827. if (chosflag == "O" || chosflag == "S")
  1828. {
  1829. wardheader = "진료과 : ";
  1830. }
  1831. else
  1832. {
  1833. wardheader = "병실 : ";
  1834. }
  1835. if (langflag == "KO")
  1836. {
  1837. if (chosflag == "O" || chosflag == "S")
  1838. {
  1839. wardheader = "진료과 : ";
  1840. }
  1841. else
  1842. {
  1843. wardheader = "병실 : ";
  1844. }
  1845. dateheader = "진료기간 : ";
  1846. doctorheader = "주치의 : ";
  1847. printheader = "출력 : ";
  1848. prtndeptnm = getUserInfo("dutplcenm");
  1849. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + ".jpg"
  1850. pageheader = "페이지 : ";
  1851. }
  1852. else
  1853. {
  1854. if (chosflag == "O" || chosflag == "S")
  1855. {
  1856. wardheader = "Dept : ";
  1857. }
  1858. else
  1859. {
  1860. wardheader = "Room : ";
  1861. }
  1862. dateheader = "Date : ";
  1863. doctorheader = "Doctor : ";
  1864. printheader = "Print date : ";
  1865. prtndeptnm = getUserInfo("deptengnm");
  1866. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + "e.jpg"
  1867. if (prtndeptnm == "" || prtndeptnm == null)
  1868. {
  1869. prtndeptnm = getUserInfo("dutplcenm");
  1870. }
  1871. pageheader = "Page : ";
  1872. }
  1873. if (imgflag == "N")
  1874. {
  1875. model.makeValue("/root/prthist[" + i + "]/pid", pid);
  1876. model.makeValue("/root/prthist[" + i + "]/signno", signno);
  1877. model.makeValue("/root/prthist[" + i + "]/reckind", "01");
  1878. model.makeValue("/root/prthist[" + i + "]/readprtflag", "E");
  1879. model.makeValue("/root/prthist[" + i + "]/formcd", formcd);
  1880. model.makeValue("/root/prthist[" + i + "]/signflag", signflag);
  1881. model.makeValue("/root/prthist[" + i + "]/orddd", orddd);
  1882. model.makeValue("/root/prthist[" + i + "]/chosflag", chosflag);
  1883. model.makeValue("/root/prthist[" + i + "]/refusge", "");
  1884. model.makeValue("/root/prthist[" + i + "]/refremark", "");
  1885. if(trans == "")
  1886. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  1887. var ininm = "cmc";
  1888. switch(srcformcd)
  1889. {
  1890. case "0000000001"://외래초진
  1891. case "0000000002"://외래재진
  1892. case "0000000004"://입원경과
  1893. case "0000003325"://DSC기록
  1894. ininm += "_0000000001.ini";
  1895. break;
  1896. case "0000000003"://입원초진
  1897. ininm += "_0000000003.ini";
  1898. break;
  1899. case "0000000676"://수술기록
  1900. staffnmheader = "◈ Surgeon :";
  1901. if(staffnm != "")
  1902. staffnm += "(" + staffconfirmdt + ")";
  1903. emrrecusrnmheader = "";
  1904. ininm += "_0000000676.ini";
  1905. break;
  1906. case "0000003169"://Brief OP Note
  1907. staffnmheader = "";
  1908. ininm += "_0000000676.ini";
  1909. break;
  1910. case "0000000680"://입퇴원요약
  1911. staffnmheader = "◈ Staff작성 및 확인 :";
  1912. if(staffnm != "")
  1913. staffnm += "(" + staffconfirmdt + ")";
  1914. emrrecusrnmheader = "◈ 의무기록사 :";
  1915. ininm += "_0000000680.ini";
  1916. break;
  1917. case "0000000679"://응급실기록
  1918. ininm += "_0000000679.ini";
  1919. break;
  1920. default:
  1921. //ininm += "_0000000001.ini";
  1922. if(formprogflag == "-" || formprogflag == "MAIN")
  1923. ininm += "_0000000001.ini";
  1924. else
  1925. ininm += ".ini";
  1926. break;
  1927. }
  1928. trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/ \n %INCLUDE emr/recmngtweb/xrw/" + ininm + " \n VAR_PAT_NUM = " + tmppid + " \n VAR_CLASS = " + ordtype + " \n VAR_CHART_NAME_TOP = " + topformnm + " \n VAR_CHART_NAME_BOTTOM = " + botformnm + " \n VAR_CHART_NAME_LINE = " + formnm + " \n VAR_PAT_AGE_SEX = " + sa + " \n VAR_TREAT_DEPT = " + deptengabbr + " \n VAR_PAT_JUMIN_NO = " + rgstno + " \n VAR_PAT_NAME = " + ptnm + " \n VAR_PRINT_NAME = " + prtnunm + " \n VAR_PRINT_DEPT = " + prtndeptnm + " \n VAR_WARD_HEAD = " + wardheader + roomcd + " \n VAR_DATE_HEADER = " + dateheader + disporddd + " \n VAR_DOCTOR_HEADER = " + doctorheader + drid + " \n VAR_PRINT_HEADER = " + printheader + prtdt + " \n SYS_PAGE_HEADER = " + pageheader + " \n VAR_HOSP_IMG = " + imgepath + " \n VAR_ORDDATE = " + formrecdt + " \n VAR_ORDDEPT = " + depthngnm + " \n VAR_FSTRGSTRUSRNM = " + fstrgstrusrnm + " \n VAR_LASTUPDTRUSRNM = " + lastupdtrusrnm + " \n VAR_ERDT = " + erdt + " \n VAR_ERVISITTM = " + ervisittm + " \n VAR_STAFFNM_HEADER = " + staffnmheader + " \n VAR_STAFFNM = " + staffnm + " \n VAR_EMRRECUSRNM_HEADER = " + emrrecusrnmheader + " \n VAR_EMRRECUSRNM = " + emrrecusrnm + " \n VAR_ININFO = " + ininfo + " \n VAR_DSCHINFO = " + dschinfo + " \n VAR_INCNT = " + incnt + " \n VAR_INORDDEPTHNGNM = " + inorddepthngnm + " \n %-->\n" + trans;
  1929. var fso = new ActiveXObject("Scripting.FileSystemObject");
  1930. var a = fso.CreateTextFile(foldernm + "\\" + signno + "_" + formcd + ".HTML", true, true);
  1931. a.WriteLine(trans);
  1932. a.Close();
  1933. emrpath += foldernm + "\\" + signno + "_" + formcd + ".HTML|";
  1934. emrorddate += orddd + "|";
  1935. emrformnm += formnm + "|";
  1936. emrformcd += formcd + "|";
  1937. emrdeptnm += deptengabbr + "|";
  1938. emrdeptcd += orddeptcd + "|";
  1939. //emrpage += j+"|";
  1940. emrpage += "1|";
  1941. emrhiddenmsg += formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  1942. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  1943. }
  1944. else
  1945. {
  1946. tmptreatno += signno + ",";
  1947. tmpiformcd += formcd + ",";
  1948. emrpath += "*|";
  1949. emrorddate += "*|";
  1950. emrformnm += "*|";
  1951. emrformcd += "*|";
  1952. emrdeptnm += "*|";
  1953. emrdeptcd += "*|";
  1954. emrpage += "*|";
  1955. emrhiddenmsg += "*|";
  1956. }
  1957. }
  1958. srchcnt = srchcnt + tmpadd;
  1959. gtmptreatno += tmptreatno;
  1960. gtmpiformcd += tmpiformcd;
  1961. gemrpath += emrpath;
  1962. gemrorddate += emrorddate;
  1963. gemrformnm += emrformnm;
  1964. gemrformcd += emrformcd;
  1965. gemrdeptnm += emrdeptnm;
  1966. gemrdeptcd += emrdeptcd;
  1967. gemrpage += emrpage;
  1968. gemrhiddenmsg += emrhiddenmsg;
  1969. model.removeNodeset("/root/temp/inisend");
  1970. model.resetInstanceNode("/root/imgrec/iemr");
  1971. model.setValue("/root/imgrec/iemr/treatno", gtmptreatno.substring(0, gtmptreatno.length - 1));
  1972. model.setValue("/root/imgrec/iemr/docucd", gtmpiformcd.substring(0, gtmpiformcd.length - 1));
  1973. //이미지경로
  1974. model.makeValue("/root/temp/inisend/emrpath", gemrpath.substring(0, gemrpath.length - 1));
  1975. iviewerIemr.model.setValue("/root/main/emrpath", model.getValue("/root/temp/inisend/emrpath"));
  1976. //진료일
  1977. model.makeValue("/root/temp/inisend/emrorddate", gemrorddate.substring(0, gemrorddate.length - 1));
  1978. iviewerIemr.model.setValue("/root/main/emrorddate", model.getValue("/root/temp/inisend/emrorddate"));
  1979. //서식명
  1980. model.makeValue("/root/temp/inisend/emrformnm", gemrformnm.substring(0, gemrformnm.length - 1));
  1981. iviewerIemr.model.setValue("/root/main/emrformnm", model.getValue("/root/temp/inisend/emrformnm"));
  1982. //서식코드
  1983. model.makeValue("/root/temp/inisend/emrformcd", gemrformcd.substring(0, gemrformcd.length - 1));
  1984. iviewerIemr.model.setValue("/root/main/emrformcd", model.getValue("/root/temp/inisend/emrformcd"));
  1985. //진료과
  1986. model.makeValue("/root/temp/inisend/emrdeptnm", gemrdeptnm.substring(0, gemrdeptnm.length - 1));
  1987. iviewerIemr.model.setValue("/root/main/emrdeptnm", model.getValue("/root/temp/inisend/emrdeptnm"));
  1988. //진료과코드
  1989. model.makeValue("/root/temp/inisend/emrdeptcd", gemrdeptcd.substring(0, gemrdeptcd.length - 1));
  1990. iviewerIemr.model.setValue("/root/main/emrdeptcd", model.getValue("/root/temp/inisend/emrdeptcd"));
  1991. //페이지
  1992. model.makeValue("/root/temp/inisend/emrpage", gemrpage.substring(0, gemrpage.length - 1));
  1993. iviewerIemr.model.setValue("/root/main/emrpage", model.getValue("/root/temp/inisend/emrpage"));
  1994. model.makeValue("/root/temp/inisend/emrhiddenmsg", gemrhiddenmsg.substring(0, gemrhiddenmsg.length - 1));
  1995. iviewerIemr.model.setValue("/root/main/emrhiddenmsg", model.getValue("/root/temp/inisend/emrhiddenmsg"));
  1996. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  1997. iviewerIemr.window.javascript.searchChart_EMR(iemrNode);
  1998. if (iviewerIemr.window.javascript.downloadChart() == true)
  1999. {
  2000. // 뷰어 모드 유지 기능 추가 - 20080417
  2001. var ViewMode;
  2002. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  2003. if (ViewMode == null || ViewMode == "")
  2004. {
  2005. iviewerIemr.window.javascript.setupChart("ChartView");
  2006. }
  2007. else
  2008. {
  2009. iviewerIemr.window.javascript.setupChart(ViewMode);
  2010. }
  2011. }
  2012. //closeLoadingBar();
  2013. }
  2014. /**
  2015. * @desc : 특정과의 기록일 경우 비밀번호 확인창 띄움
  2016. * @id :
  2017. * @event : onclick
  2018. * @return : void
  2019. * @authur : 박종훈
  2020. */
  2021. function fWarningMsg()
  2022. {
  2023. return;
  2024. var item = grdObj.item(grdObj.selectedIndex);
  2025. if(item == null){return;}
  2026. var rowpos = item.index + 1;
  2027. var comporddeptcd = model.getValue(ref + "[" + rowpos + "]/orddeptcd");
  2028. if (comporddeptcd == "2030000000" || comporddeptcd == "2100000000" || comporddeptcd == "2150000000" || comporddeptcd == "2100600000" || comporddeptcd == "2100700000")
  2029. {
  2030. if (comporddeptcd != getUserInfo("dutplcecd"))
  2031. {
  2032. if(openPasswordValidate("기록열람", "- 조회시에는 조회자의 부서와 성명, 조회장소가 함께 조회되고\n 해당내용이 서버에 기록 되어, 사후 관리 됩니다.\n- 또한 진료 이외의 목적으로 조회할 경우 환자개인정보 탐지에\n 대한 법적인 책임을 지실 수도 있으므로유의하시기 바랍니다.\n- 조회하시려면 password를 입력하신 후 [예]를 클릭하십시오.") != "Y")
  2033. {
  2034. return false;
  2035. }
  2036. }
  2037. }
  2038. return true;
  2039. }
  2040. /**
  2041. * @desc : 기록형태 처방 조회 후 그리드 디자인
  2042. * @id :
  2043. * @event : onclick
  2044. * @return : void
  2045. * @authur : 박종훈
  2046. */
  2047. function fPrcpDgn()
  2048. {
  2049. if(model.getValue("/root/main/cond/prcpclsflag") == 11)
  2050. {
  2051. grd_prcplist.autoResize = true;
  2052. }
  2053. for(var currow = 1; currow < grd_prcplist.rows; currow++)
  2054. {
  2055. var rowstyle = model.getValue("/root/main/patprcpinfo/patprcplist[" + currow + "]/rowstyle");
  2056. var prcphistcd = model.getValue("/root/main/patprcpinfo/patprcplist[" + currow + "]/prcphistcd");
  2057. grd_prcplist.rowStyle(currow, "data", "font-weight") = "normal";
  2058. grd_prcplist.rowStyle(currow, "data", "color") = "#000000";
  2059. if(rowstyle == 0){ //header인 경우 rowStyle이 merge
  2060. grd_prcplist.mergeByFree(currow, 0, currow, 5);
  2061. grd_prcplist.rowStyle(currow, "data", "font-weight") = "bold";
  2062. }else if(rowstyle == 2){ //header인 경우 color를 red로
  2063. grd_prcplist.mergeByFree(currow, 0, currow, 5);
  2064. grd_prcplist.rowStyle(currow, "data", "font-weight") = "bold";
  2065. grd_prcplist.rowStyle(currow, "data", "color") = "#ff0000";
  2066. }else if(rowstyle == 3){ //DC row인 경우 color를 red로
  2067. grd_prcplist.rowStyle(currow, "data", "color") = "#ff0000";
  2068. }else if(rowstyle == 4){ //간호header인 경우 rowStyle이 merge, 그 이외는 일반적용
  2069. grd_prcplist.mergeByFree(currow, 0, currow, 5);
  2070. }
  2071. if(prcphistcd == "D"){ //D/C인 경우는 color를 red로
  2072. grd_prcplist.rowStyle(currow, "data", "color") = "#ff0000";
  2073. }
  2074. }
  2075. grd_prcplist.resizeCells();
  2076. }