SMMRI05000.js 119 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429
  1. /*
  2. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  3. 통합기록조회 ( SMMRI03000_통합기록조회2.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. var multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  30. var nodeposcnt = 1;
  31. var prevflag = "N";
  32. /**
  33. * @desc : 화면초기화
  34. * @id :
  35. * @event : xforms-ready
  36. * @return : void
  37. * @authur : 박종훈(튜닝)
  38. */
  39. function fInitalize()
  40. {
  41. var chkPidRtn = "";
  42. iviewerIemr.window.javascript.setChartViewerSize(parseInt(iviewerIemr.attribute("width")), parseInt(iviewerIemr.attribute("height")));
  43. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/pidynhcd", 3801);
  44. //2009-10-27 오후 4:37:13 강지훈 추가 : 북마크 사용여부를 기관별로 관리한다.
  45. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/bmkuseyn", 9909);
  46. var bmkuseyn = model.getValue("/root/init/bmkuseyn/hardcd/hardcd");
  47. if (bmkuseyn == "Y")
  48. {
  49. btn_setbmk.visible = true;
  50. btn_mark.visible = true;
  51. }
  52. else{
  53. btn_setbmk.visible = false;
  54. btn_mark.visible = false;
  55. }
  56. var sUserDeptcd = getUserInfo("dutplcecd");
  57. var sJobkind = getUserInfo("jobkindcd").substring(0, 2);
  58. //2010-02-05 오전 9:17:04 강지훈 추가 : 요청번호 10612, Task 40877 병원,과별로 출력부서를 제한한다.
  59. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/prntuseyn", 9920);
  60. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/init/prntdept", 9921);
  61. var prntuseyn = model.getValue("/root/init/prntuseyn/hardcd/hardcd");
  62. if (prntuseyn == "Y")
  63. {
  64. if(model.getValue("/root/init/prntdept/hardcd[hardcd='" + sUserDeptcd + "']/hardcd") != ""){
  65. btn_prnt.visible = true;
  66. }
  67. else{
  68. btn_prnt.visible = false;
  69. }
  70. }
  71. else{
  72. btn_prnt.visible = true;
  73. }
  74. if(sJobkind == "03" || sUserDeptcd == "3230000000")
  75. {
  76. btn_copyprt.visible = true;
  77. }
  78. if (isPopup())
  79. {
  80. var parampid = opener.window.javascript.getParameter("SMMRI00400_param_pid");
  81. var paramchosflag = opener.window.javascript.getParameter("SMMRI00400_param_chosflag");
  82. var authflag = opener.window.javascript.getParameter("SMMRI00400_param_authflag");
  83. if (authflag == "N")
  84. {
  85. ipt_pid.disabled = true;
  86. ipt_hngnm.disabled = true;
  87. btn_search.disabled = true;
  88. ipt_rrgstno1.disabled = true;
  89. ipt_rrgstno2.disabled = true;
  90. button14.disabled = true;
  91. btn_prnt.disabled = true;
  92. }
  93. else
  94. {
  95. ipt_pid.disabled = false;
  96. ipt_hngnm.disabled = false;
  97. btn_search.disabled = false;
  98. ipt_rrgstno1.disabled = false;
  99. ipt_rrgstno2.disabled = false;
  100. button14.disabled = false;
  101. btn_prnt.disabled = false;
  102. }
  103. }
  104. if(parampid == "")
  105. {
  106. var pamInfoCvs = getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
  107. var pid = "";
  108. if(pamInfoCvs != null)
  109. { //cvs가 null이 아닌 경우에만 처리함.
  110. model.removeNodeSet ("/root/main/result/paminfo/list");
  111. setCSVToNode ("/root/main/result/paminfo", pamInfoCvs);
  112. pid = model.getValue ("/root/main/result/paminfo/list/pid");
  113. ordtype = model.getValue ("/root/main/result/paminfo/list/ioflag");
  114. if ( !isNull ( pid ) )
  115. {
  116. if(oprnerId == "SPMRC03200")
  117. {
  118. opener.window.javascript.fGetCopyCmpPid(pid);
  119. }
  120. ipt_pid.value = pid;
  121. chkPidRtn = fPidKeyPress(); //등록번호로 환자 정보조회
  122. }
  123. }
  124. }
  125. else
  126. {
  127. ipt_pid.value = parampid;
  128. chkPidRtn = fPidKeyPress(); //등록번호로 환자 정보조회
  129. }
  130. model.setValue("/root/init/ioflag", "ALL");
  131. model.removeNodeset("/root/send");
  132. model.makeValue("/root/send/trgtno", 1100);
  133. model.makeValue("/root/send/exno", 1110);
  134. submit("TRMRI05006");
  135. //2009-11-17 오후 5:48:29 강지훈 수정 : 휠스크롤 메세지박스 사용여부 개인별 환경설정으로 관리
  136. model.removeNode("/root/send/interqestcd");
  137. model.makeNode("/root/send/interqestcd");
  138. var AnswData = fGetIntefeAnsw("017");
  139. model.setValue("/root/tmp/wheelmsg", AnswData);
  140. //2009-10-20 오후 2:01:30 강지훈 수정
  141. btn_all.selected = true;
  142. model.toggle("grd");
  143. if (chkPidRtn)
  144. {
  145. fGetPatOrddept();
  146. btn_all.dispatch("DOMActivate");
  147. }
  148. }
  149. /**
  150. * @desc : 환자 수진부서 조회
  151. * @id :
  152. * @event : DOMActivate
  153. * @return : void
  154. * @authur : 박종훈
  155. */
  156. function fGetPatOrddept()
  157. {
  158. model.removeNodeset("/root/send");
  159. model.removeNodeset("/root/initinfo/lrgIndx");
  160. model.removeNodeset("/root/initinfo/dplist");
  161. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  162. if (submit("TRMRI05001"))
  163. {
  164. addComboInstance("/root/initinfo", "itemindxseq^indxnm", "ALL^전체", "lrgIndx");
  165. addComboInstance("/root/initinfo", "deptcd^deptnm", "ALL^전체", "dplist");
  166. model.setValue("/root/init/orddept", "ALL");
  167. model.setValue("/root/init/tabflag", "ALL");
  168. cmb_dept.refresh();
  169. rdo_lindx.refresh();
  170. }
  171. }
  172. /**
  173. * @desc : 환자 수진이력 조회
  174. * @id :
  175. * @event : DOMActivate
  176. * @return : void
  177. * @authur : 박종훈(튜닝)
  178. */
  179. function fGetPatOrdHist(ioflag)
  180. {
  181. model.toggle("grd");
  182. iviewerIemr.window.javascript.cleanViewer();
  183. var orddept = model.getValue("/root/init/orddept");
  184. var tmpioflag = "" ;
  185. if (ioflag == null || ioflag == "")
  186. {
  187. tmpioflag = model.getValue("/root/init/ioflag");
  188. }
  189. else
  190. {
  191. model.setValue("/root/init/ioflag", ioflag);
  192. tmpioflag = ioflag;
  193. }
  194. model.setValue("/root/init/totcnt", "");
  195. lbl_totcnt.refresh();
  196. model.removeNodeset("/root/send");
  197. model.removeNodeset("/root/main/pathist/patordhist");
  198. model.removeNodeset("/root/main/midindx/midindxlist");
  199. model.resetInstanceNode("/root/init/accresn");
  200. model.resetInstanceNode("/root/init/prtresn");
  201. model.resetInstanceNode("/root/init/itemindxseq");
  202. model.resetInstanceNode("/root/init/linkcd");
  203. model.resetInstanceNode("/root/init/midreccnt");
  204. model.resetInstanceNode("/root/init/reccurpos");
  205. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  206. model.makeValue("/root/send/ioflag", tmpioflag);
  207. model.makeValue("/root/send/orddeptcd", model.getValue("/root/init/orddept"));
  208. submit("TRMRI05002");
  209. if (ioflag == "I" || ioflag == "E")
  210. {
  211. grd_pathist.colhidden(grd_pathist.colref("centcd")) = true; //센터 컬럼 안보이게
  212. grd_pathist.attribute("scroll") = "autovscroll";
  213. }
  214. else
  215. {
  216. grd_pathist.colhidden(grd_pathist.colref("centcd")) = false; //센터 컬럼 보이게
  217. grd_pathist.attribute("scroll") = "auto";
  218. }
  219. grd_pathist.rebuild();
  220. }
  221. /**
  222. * @desc : 환자 기록 중분류 조회
  223. * @id :
  224. * @event : ondblclick
  225. * @return : void
  226. * @authur : 박종훈
  227. */
  228. function fGetRecMidIndx( grow )
  229. {
  230. //p alert("fGetRecMidIndx( "+grow+" )"); //p
  231. var row = grow;
  232. if ( grow == null )
  233. row = grd_pathist.row;
  234. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  235. nodeposcnt = 1;
  236. prevflag = "N";
  237. var pid = "";
  238. var orddd = "";
  239. var cretno = "";
  240. var orddeptcd = "";
  241. var tabflag = "";
  242. var bfopentest = ""; //2009-10-31 오후 2:39:16 강지훈 추가 : nU 오픈전 검사처방이 있는 수진여부
  243. var emrflag = grd_pathist.valueMatrix(row, grd_pathist.colref("emrflag"));
  244. model.resetInstanceNode("/root/init/itemindxseq");
  245. model.resetInstanceNode("/root/init/linkno");
  246. model.resetInstanceNode("/root/init/midreccnt");
  247. model.resetInstanceNode("/root/init/reccurpos");
  248. model.setValue("/root/init/emrflag", emrflag);
  249. if((grd_pathist.isCell(event.target) && grd_pathist.mouserow >= grd_pathist.fixedrows))
  250. {
  251. pid = grd_pathist.valueMatrix(row, grd_pathist.colref("formrecseq"));
  252. orddd = grd_pathist.valueMatrix(row, grd_pathist.colref("orddd"));
  253. cretno = grd_pathist.valueMatrix(row, grd_pathist.colref("cretno"));
  254. orddeptcd = grd_pathist.valueMatrix(row, grd_pathist.colref("orddeptcd"));
  255. bfopentest = grd_pathist.valueMatrix(row, grd_pathist.colref("bfopentest"));
  256. tabflag = model.getValue("/root/init/tabflag");
  257. }
  258. else
  259. {
  260. if (row > 0)
  261. {
  262. pid = grd_pathist.valueMatrix(row, grd_pathist.colref("formrecseq"));
  263. orddd = grd_pathist.valueMatrix(row, grd_pathist.colref("orddd"));
  264. cretno = grd_pathist.valueMatrix(row, grd_pathist.colref("cretno"));
  265. orddeptcd = grd_pathist.valueMatrix(row, grd_pathist.colref("orddeptcd"));
  266. bfopentest = grd_pathist.valueMatrix(row, grd_pathist.colref("bfopentest"));
  267. tabflag = model.getValue("/root/init/tabflag");
  268. }
  269. else
  270. {
  271. messageBox("환자의 수진이력을 ", "C002");
  272. return;
  273. }
  274. }
  275. var comporddd = model.getValue("/root/init/accresn/orddd");
  276. var compcretno = model.getValue("/root/init/accresn/cretno");
  277. if (compcretno == "")
  278. {
  279. compcretno = "-";
  280. }
  281. var itrgtNodeCnt = getNodesetCnt(model, "/root/hardcd/trgtdept[trgtcd = '" + orddeptcd + "']"); //사유대상부서
  282. if (itrgtNodeCnt > 0) //감염내과, 정신과, 산부인과, 비뇨기과
  283. {
  284. var sUserDeptcd = getUserInfo("dutplcecd");
  285. var iexNodeCnt = getNodesetCnt(model, "/root/hardcd/exdept[trgtcd = '" + sUserDeptcd + "']"); //사유제외부서
  286. if ((iexNodeCnt <= 0) && (sUserDeptcd != orddeptcd) && (comporddd != orddd && compcretno != cretno)) //사용자 근무부서와 환자 수진부서가 틀린경우 사유창 팝업, 근무부서가 의료정보팀일경우 제외
  287. {
  288. model.resetInstanceNode("/root/init/accresn");
  289. setParameter("SPMRI03100_param_nodepath", "/root/init/accresn");
  290. setParameter("SPMRI03100_param_rsnflag", 'R');
  291. // p modal("SPMRI03100");
  292. // p var valiyn = model.getValue("/root/init/accresn/valiyn");
  293. // p if (valiyn != "Y")
  294. // p {
  295. // p return;
  296. // p }
  297. // p else
  298. // p {
  299. // p
  300. // p }
  301. }
  302. model.makeValue("/root/init/accresn/orddd", orddd);
  303. model.makeValue("/root/init/accresn/cretno", cretno);
  304. }
  305. else
  306. {
  307. model.resetInstanceNode("/root/init/accresn/resncd");
  308. model.resetInstanceNode("/root/init/accresn/resnnm");
  309. model.resetInstanceNode("/root/init/accresn/etc");
  310. model.resetInstanceNode("/root/init/accresn/valiyn");
  311. model.resetInstanceNode("/root/init/accresn/orddd");
  312. model.resetInstanceNode("/root/init/accresn/cretno");
  313. }
  314. var ViewMode;
  315. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  316. if (ViewMode == null || ViewMode == "" || ViewMode != "ChartView")
  317. {
  318. iviewerIemr.window.javascript.setupChart("ChartView");
  319. }
  320. /*s if (ViewMode == null || ViewMode == "" || ViewMode != "ThumbView")
  321. {
  322. iviewerIemr.window.javascript.setupChart("ThumbView");
  323. }
  324. */
  325. iviewerIemr.window.javascript.cleanViewer();
  326. var ioflag = model.getValue("/root/send/ioflag");
  327. var refdata = "";
  328. var sizedata = "";
  329. if (emrflag == "I")
  330. {
  331. grd_midindx.caption = "lisflag^reckind^emrflag^정렬순번^상위아이템코드^아이템코드^중분류명^페이지수";
  332. }
  333. else if (emrflag == "E")
  334. {
  335. grd_midindx.caption = "lisflag^reckind^emrflag^정렬순번^상위아이템코드^아이템코드^중분류명^기록수";
  336. }
  337. model.setValue("/root/init/totcnt", "");
  338. lbl_totcnt.refresh();
  339. model.removeNodeset("/root/send");
  340. model.removeNodeset("/root/main/midindx/midindxlist");
  341. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  342. model.makeValue("/root/send/orddd", orddd);
  343. model.makeValue("/root/send/cretno", cretno);
  344. model.makeValue("/root/send/orddeptcd", orddeptcd);
  345. model.makeValue("/root/send/tabflag", tabflag);
  346. model.makeValue("/root/send/emrflag", emrflag);
  347. model.makeValue("/root/send/chosflag", grd_pathist.valueMatrix(row, grd_pathist.colref("ordtype")));
  348. model.makeValue("/root/send/refusge", model.getValue("/root/init/accresn/resncd"));
  349. model.makeValue("/root/send/refremark", model.getValue("/root/init/accresn/etc"));
  350. model.makeValue("/root/send/readprtflag", 'R');
  351. //2010.02.04 안치원 - 통합기록조회 검사파트 처방일자로 조회조건 추가
  352. model.makeValue("/root/send/fromprcpdd", grd_pathist.valueMatrix(row, grd_pathist.colref("orddd")));
  353. model.makeValue("/root/send/toprcpdd", grd_pathist.valueMatrix(row, grd_pathist.colref("dschdd")));
  354. //2009-10-31 오후 2:36:09 강지훈 수정 :
  355. model.makeValue("/root/send/bfopentest", bfopentest);
  356. if(submit("TRMRI05003"))
  357. {
  358. var midindxNodelist = model.instances(0).selectNodes("/root/main/midindx/midindxlist");
  359. var itemindxseq = 0;
  360. var midreccnt = 0;
  361. var linkcd = "";
  362. if (midindxNodelist.length > 0)
  363. {
  364. grd_midindx.resizeCells();
  365. var subNode = midindxNodelist.item(0);
  366. itemindxseq = parseInt(subNode.selectSingleNode("itemindxseq").text);
  367. linkcd = subNode.selectSingleNode("linkcd").text;
  368. midreccnt = parseInt(subNode.selectSingleNode("cnt").text);
  369. model.setValue("/root/init/itemindxseq", itemindxseq);
  370. model.setValue("/root/init/linkcd", linkcd);
  371. model.setValue("/root/init/midreccnt", midreccnt);
  372. model.setValue("/root/init/reccurpos", 1);
  373. model.setValue("/root/init/bfopentest", bfopentest);
  374. grd_midindx.row = 1;
  375. fGetDetlRec(1, row); //pjh
  376. }
  377. }
  378. }
  379. /**
  380. * @desc : 키 이벤트
  381. * @id :
  382. * @event : DOMActivate
  383. * @return : void
  384. * @authur : 박종훈
  385. */
  386. function fGetRec(val)
  387. {
  388. //p alert("fGetRec("+val+")"); //p
  389. var selIndx = switch1.selectedIndex;
  390. //북마크모드가 아닐때
  391. if(selIndx == 0){
  392. var midnodeList = instance1.selectNodes("/root/main/midindx/midindxlist");
  393. if (midnodeList.length < 1)
  394. {
  395. messageBox("서식분류를", "C002");
  396. iviewerIemr.window.javascript.setupChart("ChartView");
  397. return;
  398. }
  399. var ViewMode = "-";
  400. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  401. if (ViewMode == "ThumbView")
  402. {
  403. iviewerIemr.window.javascript.setupChart("ChartView");
  404. }
  405. var emrflag = model.getValue("/root/init/emrflag");
  406. //2009-11-02 오후 7:16:41 강지훈 수정
  407. var reckind = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("reckind"))
  408. var wheelMsgFlag = model.getValue("/root/tmp/wheelmsg");
  409. //p alert("fGetRec("+val+")-1"); //p
  410. if (emrflag == "I" && reckind != "EMR")
  411. {
  412. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  413. nodeposcnt = 1;
  414. prevflag = "N";
  415. switch(val)
  416. {
  417. case "first" :
  418. if (grd_midindx.row == 1)
  419. {
  420. messageBox("처음", "I009");
  421. return;
  422. }
  423. else
  424. {
  425. grd_midindx.row = 1;
  426. break;
  427. }
  428. case "prev" :
  429. if (grd_midindx.row == 1)
  430. {
  431. //messageBox("처음", "I009");
  432. //return;
  433. if(wheelMsgFlag == "Y"){
  434. var rtnmsg = messageBox("처음 기록입니다. 이전 수진이력으로", "Q003");
  435. if (rtnmsg == 6)
  436. {
  437. fPrevRecHist();
  438. return;
  439. }
  440. else
  441. {
  442. return;
  443. }
  444. }
  445. else{
  446. fPrevRecHist();
  447. return;
  448. }
  449. }
  450. else
  451. {
  452. grd_midindx.row = grd_midindx.row - 1;
  453. break;
  454. }
  455. case "next" :
  456. if (grd_midindx.row + 1 == grd_midindx.rows)
  457. {
  458. if(wheelMsgFlag == "Y"){
  459. var rtnmsg = messageBox("마지막 기록입니다. 다음 수진이력으로", "Q003");
  460. if (rtnmsg == 6)
  461. {
  462. fNextRecHist();
  463. return;
  464. }
  465. else
  466. {
  467. return;
  468. }
  469. }
  470. else{
  471. if(model.getValue("/root/init/pageindex") == "1"){
  472. grd_midindx.row = grd_midindx.row + 1;
  473. }
  474. fNextRecHist();
  475. return;
  476. }
  477. }
  478. else
  479. {
  480. grd_midindx.row = grd_midindx.row + 1;
  481. break;
  482. }
  483. case "end" :
  484. if (grd_midindx.row + 1 == grd_midindx.rows)
  485. {
  486. messageBox("마지막", "I009");
  487. return;
  488. }
  489. else
  490. {
  491. grd_midindx.row = grd_midindx.rows - 1;
  492. break;
  493. }
  494. case "all" :
  495. model.setValue("/root/init/recall", "Y");
  496. }
  497. }
  498. else
  499. {
  500. var reccurpos = parseInt(model.getValue("/root/init/reccurpos"));
  501. var midreccnt = parseInt(model.getValue("/root/init/midreccnt"));
  502. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  503. switch(val)
  504. {
  505. case "first" :
  506. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  507. nodeposcnt = 1;
  508. prevflag = "N";
  509. if (grd_midindx.row == 1 && reccurpos == 1)
  510. {
  511. messageBox("처음", "I009");
  512. return;
  513. }
  514. else
  515. {
  516. model.setValue("/root/init/recall", "N");
  517. grd_midindx.row = 1;
  518. var curmidcnt = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")));
  519. model.setValue("/root/init/midreccnt", curmidcnt);
  520. model.setValue("/root/init/reccurpos", 1);
  521. model.setValue("/root/init/itemindxseq", parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq"))));
  522. model.setValue("/root/init/linkcd", grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("linkcd")));
  523. break;
  524. }
  525. case "prev" :
  526. prevflag = "Y";
  527. if (certnodeList.length > 1 && nodeposcnt > 1)
  528. {
  529. multirecyn = "Y";
  530. }
  531. else
  532. {
  533. multirecyn = "N";
  534. nodeposcnt = 1;
  535. }
  536. if (multirecyn == "N")
  537. {
  538. if (grd_midindx.row == 1 && reccurpos == 1)
  539. {
  540. if(wheelMsgFlag == "Y"){
  541. var rtnmsg = messageBox("처음 기록입니다. 이전 수진이력으로", "Q003");
  542. if (rtnmsg == 6)
  543. {
  544. fPrevRecHist();
  545. return;
  546. }
  547. else
  548. {
  549. return;
  550. }
  551. }
  552. else{
  553. fPrevRecHist();
  554. return;
  555. }
  556. }
  557. else
  558. {
  559. model.setValue("/root/init/recall", "N");
  560. if (reccurpos == 1) //해당중분류의 첫기록일 경우 전 중분류로 이동 후 해당 중분류의 정보를 셋팅한다.
  561. {
  562. grd_midindx.row = grd_midindx.row - 1;
  563. var curmidcnt = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")));
  564. model.setValue("/root/init/midreccnt", curmidcnt);
  565. model.setValue("/root/init/reccurpos", curmidcnt);
  566. model.setValue("/root/init/itemindxseq", parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq"))));
  567. model.setValue("/root/init/linkcd", grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("linkcd")));
  568. break;
  569. }
  570. else
  571. {
  572. model.setValue("/root/init/reccurpos", reccurpos - 1);
  573. break;
  574. }
  575. }
  576. }
  577. else //하나의 기록이나 이미지가 포함된경우
  578. {
  579. if (nodeposcnt <= 1)
  580. {
  581. if (grd_midindx.row == 1 && reccurpos == 1)
  582. {
  583. if(wheelMsgFlag == "Y"){
  584. var rtnmsg = messageBox("처음 기록입니다. 이전 수진이력으로", "Q003");
  585. if (rtnmsg == 6)
  586. {
  587. fPrevRecHist();
  588. return;
  589. }
  590. else
  591. {
  592. return;
  593. }
  594. }
  595. else{
  596. fPrevRecHist();
  597. return;
  598. }
  599. }
  600. else
  601. {
  602. model.setValue("/root/init/reccurpos", reccurpos - 1);
  603. break;
  604. }
  605. }
  606. else
  607. {
  608. nodeposcnt--;
  609. break;
  610. }
  611. }
  612. case "next" :
  613. alert("next2");
  614. prevflag = "N";
  615. if (certnodeList.length > 1 && certnodeList.length > nodeposcnt)
  616. {
  617. multirecyn = "Y";
  618. }
  619. else
  620. {
  621. multirecyn = "N";
  622. nodeposcnt = 1;
  623. }
  624. if (reccurpos == midreccnt && grd_midindx.row + 1 == grd_midindx.rows)
  625. {
  626. if(wheelMsgFlag == "Y"){
  627. var rtnmsg = messageBox("마지막 기록입니다. 다음 수진이력으로", "Q003");
  628. if (rtnmsg == 6)
  629. {
  630. fNextRecHist();
  631. return;
  632. }
  633. else
  634. {
  635. return;
  636. }
  637. }
  638. else{
  639. alert("next3");
  640. if(model.getValue("/root/init/pageindex") == "1"){
  641. grd_midindx.row = grd_midindx.row + 1;
  642. }
  643. fNextRecHist();
  644. return;
  645. }
  646. }
  647. else
  648. {
  649. model.setValue("/root/init/recall", "Y");
  650. /* if (reccurpos == midreccnt)
  651. {
  652. if(model.getValue("/root/init/pageindex") == "1"){
  653. grd_midindx.row = grd_midindx.row + 1;
  654. }
  655. var curmidcnt = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")));
  656. model.setValue("/root/init/midreccnt", curmidcnt);
  657. model.setValue("/root/init/reccurpos", 1);
  658. model.setValue("/root/init/itemindxseq", parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq"))));
  659. model.setValue("/root/init/linkcd", grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("linkcd")));
  660. break;
  661. }
  662. else
  663. {
  664. model.setValue("/root/init/reccurpos", reccurpos + 1);
  665. break;
  666. }
  667. */
  668. alert("next4");
  669. if(model.getValue("/root/init/pageindex") == "1"){
  670. grd_midindx.row = grd_midindx.row + 1;
  671. var curmidcnt = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")));
  672. model.setValue("/root/init/midreccnt", curmidcnt);
  673. model.setValue("/root/init/reccurpos", 1);
  674. model.setValue("/root/init/itemindxseq", parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq"))));
  675. model.setValue("/root/init/linkcd", grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("linkcd")));
  676. break;
  677. }
  678. else
  679. {
  680. model.setValue("/root/init/reccurpos", reccurpos + 1);
  681. break;
  682. }
  683. }
  684. case "end" :
  685. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  686. nodeposcnt = 1;
  687. prevflag = "N";
  688. if (reccurpos == midreccnt && grd_midindx.row + 1 == grd_midindx.rows)
  689. {
  690. messageBox("마지막", "I009");
  691. return;
  692. }
  693. else
  694. {
  695. model.setValue("/root/init/recall", "N");
  696. grd_midindx.row = grd_midindx.rows - 1;
  697. var curmidcnt = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")));
  698. model.setValue("/root/init/midreccnt", curmidcnt);
  699. model.setValue("/root/init/reccurpos", curmidcnt);
  700. model.setValue("/root/init/itemindxseq", parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq"))));
  701. model.setValue("/root/init/linkcd", grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("linkcd")));
  702. break;
  703. }
  704. case "midfirst" :
  705. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  706. nodeposcnt = 1;
  707. prevflag = "N";
  708. if (grd_midindx.row == 1 && reccurpos == 1)
  709. {
  710. messageBox("처음", "I009");
  711. return;
  712. }
  713. else
  714. {
  715. model.setValue("/root/init/recall", "N");
  716. model.setValue("/root/init/reccurpos", 1);
  717. break;
  718. }
  719. case "midend" :
  720. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  721. nodeposcnt = 1;
  722. prevflag = "N";
  723. if (reccurpos == midreccnt && grd_midindx.row + 1 == grd_midindx.rows)
  724. {
  725. messageBox("마지막", "I009");
  726. return;
  727. }
  728. else
  729. {
  730. model.setValue("/root/init/recall", "N");
  731. model.setValue("/root/init/reccurpos", midreccnt);
  732. break;
  733. }
  734. case "all" :
  735. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  736. nodeposcnt = 1;
  737. prevflag = "N";
  738. model.setValue("/root/init/recall", "Y");
  739. }
  740. //p alert("fGetRec("+val+")-2"); //p
  741. model.refresh(); //pjh
  742. }
  743. }
  744. //p alert("edn fGetRec"); //p
  745. fGetDetlRec(); //pjh
  746. }
  747. /**
  748. * @desc : 다음 수진이력으로 자동 이동
  749. * @id :
  750. * @event : DOMActivate
  751. * @return : void
  752. * @authur : 박종훈
  753. */
  754. function fNextRecHist()
  755. {
  756. //p alert("fNextRecHist"); //p
  757. var histrow = grd_pathist.row + 1;
  758. if ( histrow == grd_pathist.rows )
  759. {
  760. messageBox("마지막 이력", "I009");
  761. return;
  762. }
  763. else
  764. {
  765. grd_pathist.row = histrow;
  766. fGetRecMidIndx();
  767. }
  768. var ctrl = document.controls("grd_midindx");
  769. if (ctrl != null)
  770. {
  771. model.setFocus(ctrl.attribute("id"));
  772. ctrl.dispatch("onkeyup");
  773. }
  774. }
  775. /**
  776. * @desc : 이전 수진이력으로 자동 이동
  777. * @id :
  778. * @event :
  779. * @return : void
  780. * @authur : 주희경
  781. */
  782. function fPrevRecHist()
  783. {
  784. //p alert("fPrevRecHist"); //p
  785. var histrow = grd_pathist.row - 1;
  786. if (histrow <= 0)
  787. {
  788. messageBox("처음 이력", "I009");
  789. return;
  790. }
  791. else
  792. {
  793. grd_pathist.row = histrow;
  794. fGetRecMidIndx();
  795. }
  796. var ctrl = document.controls("grd_midindx");
  797. if (ctrl != null)
  798. {
  799. model.setFocus(ctrl.attribute("id"));
  800. ctrl.dispatch("onkeyup");
  801. }
  802. }
  803. /**
  804. * @desc : 중분류 더블클릭
  805. * @id :
  806. * @event : DOMActivate
  807. * @return : void
  808. * @authur : 박종훈
  809. */
  810. function fDbClickMidIndx(col,cleanYn)
  811. {
  812. model.setValue("/root/init/pageindex",1);
  813. if((grd_midindx.isCell(event.target) && grd_midindx.mouserow >= grd_midindx.fixedrows))
  814. {
  815. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  816. nodeposcnt = 1;
  817. prevflag = "N";
  818. if(cleanYn=="Y"){
  819. iviewerIemr.window.javascript.cleanViewer();
  820. }
  821. if (grd_midindx.row >= 1)
  822. {
  823. var linkcd = "";
  824. var curmidcnt = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")));
  825. var itemindxseq = parseInt(grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq")));
  826. if(col =="8" && col !=""){
  827. linkcd = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("linkcd"));
  828. }
  829. if(col !=""){ // 여러장 한 화면에 보여주기
  830. multirecyn = "N"; //다수의 기록 여부(ex.기록+이미지)
  831. nodeposcnt = 1;
  832. prevflag = "N";
  833. model.setValue("/root/init/recall", "Y"); //p
  834. }
  835. model.setValue("/root/init/midreccnt", curmidcnt);
  836. model.setValue("/root/init/reccurpos", 1);
  837. model.setValue("/root/init/itemindxseq", itemindxseq);
  838. model.setValue("/root/init/linkcd", linkcd);
  839. model.refresh(); //pjh
  840. fGetDetlRec(grd_midindx.row); //pjh
  841. var ViewMode;
  842. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  843. if (ViewMode == null || ViewMode == "" || ViewMode != "ChartView")
  844. {
  845. iviewerIemr.window.javascript.setupChart("ChartView");
  846. }
  847. }
  848. }
  849. }
  850. /**
  851. * @desc : 기록조회
  852. * @id :
  853. * @event : DOMActivate
  854. * @return : void
  855. * @authur : 박종훈
  856. */
  857. function fGetDetlRec( row1, row2 )
  858. {
  859. // p alert("fGetDetlRec"); //p
  860. var grd_midindxrow = row1;
  861. var grd_pathistrow = row2;
  862. if ( row1 == null )
  863. grd_midindxrow = grd_midindx.row;
  864. if ( row2 == null )
  865. grd_pathistrow = grd_pathist.row;
  866. var itemindxseq = parseInt(model.getValue("/root/init/itemindxseq")); //선택중분류 인덱스순번
  867. var linkcd = model.getValue("/root/init/linkcd"); //선택중분류 인덱스순번
  868. var reccurpos = parseInt(model.getValue("/root/init/reccurpos")); //현재선택된기록 순번
  869. var midreccnt = parseInt(model.getValue("/root/init/midreccnt")); //선택중분류 기록수
  870. var bfopentest = model.getValue("/root/init/bfopentest"); //오픈 이전 검사처방 수진이력
  871. var reckind = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("reckind"));
  872. var rowfocus = "";
  873. var emrflag = model.getValue("/root/init/emrflag");
  874. var selIndx = switch1.selectedIndex; //2009-10-20 오후 10:00:57 강지훈 추가
  875. if(selIndx == 1){
  876. fGetBookmarkItem();
  877. }
  878. else if(selIndx == 0){
  879. //2009-11-18 오후 10:14:11 강지훈 추가
  880. if (emrflag == "I" && (reckind != "EMR" && reckind != "CDIS"))
  881. {
  882. var totcnt = "[ " + 1 + " / " + grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("cnt")) + " / " + model.getValue("/root/init/reccnt") + " ]";
  883. model.setValue("/root/init/totcnt", totcnt);
  884. lbl_totcnt.refresh();
  885. var treatno = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("itemindxseq"));
  886. var formcd = grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("supitemindxseq"));
  887. iviewerIemr.window.javascript.cleanViewer();
  888. iviewerIemr.window.javascript.refreshFalse();
  889. model.makeValue("/root/imgrec/iemr/treatno", parseInt(treatno));
  890. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  891. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  892. alert("iemrNode"+iemrNode);
  893. var chartinfo;
  894. chartinfo = "I";
  895. var hiddenmsg;
  896. hiddenmsg = "I";
  897. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  898. iviewerIemr.window.javascript.refreshTrue();
  899. }
  900. else
  901. {
  902. var calcReccurpos = parseInt(model.getValue("/root/init/reccurpos"));
  903. var itemindxseq = parseInt(model.getValue("/root/init/itemindxseq"));
  904. var linkcd = model.getValue("/root/init/linkcd");
  905. var isLis = "";
  906. // for (var j = 1; j < grd_midindx.row; j++)
  907. // {
  908. // isLis = grd_midindx.valueMatrix(j, grd_midindx.colref("reckind"));
  909. //
  910. // if (isLis == "LIS")
  911. // {
  912. // calcReccurpos -= 1;
  913. // }
  914. // }
  915. model.removeNodeset("/root/send");
  916. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  917. model.makeValue("/root/send/orddd", grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("orddd")));
  918. model.makeValue("/root/send/cretno", grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("cretno")));
  919. model.makeValue("/root/send/chosflag", grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("ordtype")));
  920. model.makeValue("/root/send/orddeptcd", grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("orddeptcd")));
  921. model.makeValue("/root/send/tabflag", model.getValue("/root/init/tabflag"));
  922. model.makeValue("/root/send/reccurpos", calcReccurpos);
  923. model.makeValue("/root/send/recall", model.getValue("/root/init/recall"));
  924. model.makeValue("/root/send/reckind", reckind);
  925. model.makeValue("/root/send/itemindxseq", itemindxseq);
  926. model.makeValue("/root/send/lisflag", grd_midindx.valueMatrix(grd_midindxrow, grd_midindx.colref("lisflag")));
  927. model.makeValue("/root/send/linkcd", linkcd);
  928. //2010.02.04 안치원 - 통합기록조회 검사파트 처방일자로 조회조건 추가
  929. model.makeValue("/root/send/fromprcpdd", grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("orddd")));
  930. model.makeValue("/root/send/toprcpdd", grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("dschdd")));
  931. //2009-11-02 오후 2:18:45 강지훈 수정
  932. model.makeValue("/root/send/bfopentest", bfopentest);
  933. pathistEmrFlag = grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("emrflag"))
  934. if(bfopentest == "Y" && emrflag != "E"){
  935. model.makeValue("/root/send/midbftest", "Y");
  936. }
  937. else{
  938. model.makeValue("/root/send/midbftest", "N");
  939. }
  940. // if (multirecyn == "N")
  941. // {
  942. model.makeValue("/root/send/pageindex", model.getValue("/root/init/pageindex"));
  943. model.makeValue("/root/send/pagepercnt",model.getValue("/root/init/pagepercnt"));
  944. if(submit("TRMRI05004"))
  945. {
  946. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  947. if (certnodeList.length > 1 && certnodeList.length >= nodeposcnt)
  948. {
  949. multirecyn = "Y";
  950. if (prevflag == "Y")
  951. nodeposcnt = certnodeList.length;
  952. else
  953. nodeposcnt = 1;
  954. }
  955. else
  956. {
  957. multirecyn = "N";
  958. nodeposcnt = 1;
  959. }
  960. // iviewerIemr.window.javascript.cleanViewer();
  961. if (model.getValue("/root/init/recall") == "Y")
  962. {
  963. fGetNextEmrImgRec(); //중분류 전체는 기존대로
  964. }
  965. else
  966. {
  967. fGetNextEmrImgRec();
  968. //fGetNextEmrImgRecOne(); //기록조회 결과가 여러개인 경우 한개씩 조회
  969. }
  970. model.setValue("/root/init/recall", "N");
  971. }
  972. // }
  973. // else
  974. // {
  975. // //iviewerIemr.window.javascript.cleanViewer();
  976. // fGetNextEmrImgRec();
  977. // //fGetNextEmrImgRecOne(); //기록조회 결과가 여러개인 경우 한개씩 조회
  978. // }
  979. }
  980. }
  981. }
  982. function goNext()
  983. {
  984. if(model.getValue("/root/init/pageindex") == model.getValue("/root/tmpinicert/iniinfo/totpage"))
  985. {
  986. model.setValue("/root/init/pageindex", 1);
  987. fGetRec("next");
  988. }
  989. else
  990. {
  991. model.setValue("/root/init/pageindex", parseInt(model.getValue("/root/init/pageindex"))+1);
  992. fGetRec("next");
  993. }
  994. }
  995. /**
  996. * @desc : 환자번호 정보조회
  997. * @id :
  998. * @event : onkeypress
  999. * @return : void
  1000. * @authur : 박종훈(튜닝)
  1001. */
  1002. function fPidKeyPress()
  1003. {
  1004. model.removeNodeSet("/root/main/result/inform");
  1005. model.setValue("/root/source/srchcond", "1");
  1006. model.setValue("/root/source/pid", ipt_pid.currentText);
  1007. model.setValue("/root/main/patinfo/patinfolist/pid", ipt_pid.currentText);
  1008. //inputEnterKey("btn_search", "DOMActivate");
  1009. //환자등록번호 체크
  1010. if(ipt_pid.currentText.length >= 1 )
  1011. {
  1012. model.resetInstanceNode("/root/main/result/patinfo");
  1013. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  1014. //model.makeNode("/root/main/result/patinfo");
  1015. if(submit("TRMRC00501"))
  1016. {
  1017. var sBindPid = model.getValue("/root/main/result/inform/item/bindpid");
  1018. if( sBindPid != '-' && sBindPid != '' && sBindPid != ' ' )
  1019. {
  1020. var sPid = model.getValue("/root/main/result/inform/item/pid");
  1021. var sHngnm = model.getValue("/root/main/result/inform/item/hngnm");
  1022. var retValue = messageBox(sPid + "(" + sHngnm + ") 환자의 등록번호가 [ " + sBindPid + " ] 로 합번 되었습니다. 합번된 등록번호로 재조회 하시겠습니까?", "Q999", "");
  1023. if( retValue == '6' )
  1024. {
  1025. ipt_pid.currentText = sBindPid;
  1026. model.setValue("/root/source/srchcond", "1");
  1027. model.setValue("/root/source/pid", ipt_pid.currentText);
  1028. model.setValue("/root/main/patinfo/patinfolist/pid", ipt_pid.currentText);
  1029. if (submit("TRPMC02500"))
  1030. {
  1031. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  1032. if( getNodesetCount("/root/main/result/patinfo/patinfolist") > 0 ){
  1033. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  1034. model.makeValue("/root/main/patinfo/agesex", model.getValue("/root/main/patinfo/patinfolist/sex") + "/" + model.getValue("/root/main/patinfo/patinfolist/age"));
  1035. model.setValue("/root/main/popupendflag", "ok");
  1036. model.refresh();
  1037. oprnerId = opener.window.javascript.getScreenID();
  1038. if(oprnerId == "SPMRC03200")
  1039. {
  1040. 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") + "▩";
  1041. opener.window.javascript.fEnterPatinfo(keyparam);
  1042. }
  1043. //2009-10-21 오전 11:40:01 강지훈 추가 : 환자의 기록이 북마크에 있을때 탭색 변경
  1044. fChkBookmark();
  1045. return true;
  1046. }
  1047. else
  1048. {
  1049. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  1050. messageBox("없는 등록번호 입니다.", "E999", "");
  1051. return false;
  1052. }
  1053. }
  1054. }
  1055. else
  1056. {
  1057. var pAge = getFullAge(model.getValue("/root/main/result/inform/item/rrgstno1")+model.getValue("/root/main/result/inform/item/rrgstno2"));
  1058. var pGender = getGender(model.getValue("/root/main/result/inform/item/rrgstno1")+model.getValue("/root/main/result/inform/item/rrgstno2"));
  1059. model.makeValue("/root/main/patinfo/patinfolist/pid", sPid);
  1060. model.makeValue("/root/main/patinfo/agesex", pGender + "/" + pAge);
  1061. model.makeValue("/root/main/patinfo/patinfolist/hngnm", sHngnm);
  1062. model.makeValue("/root/main/patinfo/patinfolist/rrgstno1", model.getValue("/root/main/result/inform/item/rrgstno1"));
  1063. model.makeValue("/root/main/patinfo/patinfolist/rrgstno2", model.getValue("/root/main/result/inform/item/rrgstno2"));
  1064. ipt_pid.refresh();
  1065. ipt_hngnm.refresh();
  1066. opt_age.refresh();
  1067. ipt_rrgstno1.refresh();
  1068. ipt_rrgstno2.refresh();
  1069. //화면 초기화!!
  1070. //btn_init.dispatch("DOMActivate");
  1071. return true;
  1072. }
  1073. }
  1074. else
  1075. {
  1076. if (submit("TRPMC02500"))
  1077. {
  1078. //fSearch는 인적사항 화면을 임포트 해간 화면에서 구현해 주어야 하는 함수이다.
  1079. if( getNodesetCount("/root/main/result/patinfo/patinfolist") > 0 ){
  1080. model.copyNode("/root/main/patinfo", "/root/main/result/patinfo");
  1081. model.makeValue("/root/main/patinfo/agesex", model.getValue("/root/main/patinfo/patinfolist/sex") + "/" + model.getValue("/root/main/patinfo/patinfolist/age"));
  1082. model.setValue("/root/main/popupendflag", "ok");
  1083. model.refresh();
  1084. oprnerId = opener.window.javascript.getScreenID();
  1085. if(oprnerId == "SPMRC03200")
  1086. {
  1087. 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") + "▩";
  1088. opener.window.javascript.fEnterPatinfo(keyparam);
  1089. }
  1090. //2009-10-21 오전 11:40:01 강지훈 추가 : 환자의 기록이 북마크에 있을때 탭색 변경
  1091. fChkBookmark();
  1092. return true;
  1093. }
  1094. else
  1095. {
  1096. model.resetInstanceNode("/root/main/patinfo/patinfolist");
  1097. messageBox("없는 등록번호 입니다.", "E999", "");
  1098. return false;
  1099. }
  1100. }
  1101. }
  1102. }
  1103. }
  1104. else
  1105. {
  1106. messageBox("등록번호를 정확히", "C001");
  1107. return false;
  1108. }
  1109. }
  1110. /**
  1111. * @desc : 환자이름 정보조회
  1112. * @id :
  1113. * @event : onkeypress
  1114. * @return : void
  1115. * @authur : 박종훈
  1116. */
  1117. function fPnmKeyPress()
  1118. {
  1119. model.setValue("/root/source/srchcond", "2");
  1120. model.setValue("/root/source/hngnm", ipt_hngnm.currentText);
  1121. inputEnterKey("btn_search", "DOMActivate");
  1122. }
  1123. /**
  1124. * @desc : 환자주민번호 정보조회
  1125. * @id :
  1126. * @event : onkeypress
  1127. * @return : void
  1128. * @authur : 박종훈
  1129. */
  1130. function fRgstnoKeyPress()
  1131. {
  1132. model.setValue("/root/source/srchcond", "3");
  1133. model.setValue("/root/source/rrgstno1", ipt_rrgstno1.currentText);
  1134. model.setValue("/root/source/rrgstno2", ipt_rrgstno2.value);
  1135. model.makeValue("/root/source/autoflag", "Y");
  1136. inputEnterKey("btn_search", "DOMActivate");
  1137. }
  1138. /**
  1139. * @desc : 환자주민번호 뒷자리 정보조회
  1140. * @id :
  1141. * @event : onkeypress
  1142. * @return : void
  1143. * @authur : 강지훈
  1144. */
  1145. function fRgstno2KeyPress(){
  1146. if(event.keyCode == "13") {
  1147. model.setValue("/root/source/srchcond", "3");
  1148. model.setValue("/root/source/rrgstno1", ipt_rrgstno1.currentText);
  1149. model.setValue("/root/source/rrgstno2", ipt_rrgstno2.formattedText);
  1150. model.makeValue("/root/source/autoflag", "Y");
  1151. fPopPtinfo();
  1152. }
  1153. }
  1154. /**
  1155. * @desc : 환자정보조회 팝업
  1156. * @id :
  1157. * @event : DOMActivate
  1158. * @return : void
  1159. * @authur : 박종훈
  1160. */
  1161. function fPopPtinfo()
  1162. {
  1163. modal("SPPMC02500", "1","150", "150", "SPPMC02500", "/root/source", "/root/send");
  1164. model.resetInstanceNode("/root/source");
  1165. //2009-11-14 오전 11:57:20 강지훈 추가
  1166. model.makeValue("/root/main/patinfo/agesex", model.getValue("/root/main/patinfo/patinfolist/sex") + "/" + model.getValue("/root/main/patinfo/patinfolist/age"));
  1167. opt_age.refresh();
  1168. }
  1169. /**
  1170. * @desc : 화면닫기(처방에서 사용)
  1171. * @id :
  1172. * @event : xforms-select
  1173. * @return : void
  1174. * @authur : 박종훈
  1175. */
  1176. function fClose()
  1177. {
  1178. window.close();
  1179. }
  1180. /* @group : 폴더 존재여부 파악
  1181. * @ver : 2007.01.06
  1182. * @by : 박종훈
  1183. * @-----------------------------------
  1184. * @type : function
  1185. * @access : public
  1186. * @desc :
  1187. */
  1188. function fExistFolder(foldernm)
  1189. {
  1190. //p alert("fExistFolder("+foldernm+")"); //p
  1191. var fso, folder, s;
  1192. fso = new ActiveXObject("Scripting.FileSystemObject");
  1193. try
  1194. {
  1195. folder = fso.GetFolder(foldernm);
  1196. s = folder.DateCreated;
  1197. if (s != "")
  1198. {
  1199. fDelFolder(foldernm);
  1200. fMakeFolder(foldernm);
  1201. }
  1202. }
  1203. catch (e)
  1204. {
  1205. fMakeFolder(foldernm);
  1206. }
  1207. }
  1208. /* @group : 폴더 생성
  1209. * @ver : 2007.01.06
  1210. * @by : 박종훈
  1211. * @-----------------------------------
  1212. * @type : function
  1213. * @access : public
  1214. * @desc :
  1215. */
  1216. function fMakeFolder(foldernm)
  1217. {
  1218. var fso = new ActiveXObject("Scripting.FileSystemObject");
  1219. var a = fso.CreateFolder(foldernm);
  1220. }
  1221. /* @group : 폴더 삭제
  1222. * @ver : 2007.01.06
  1223. * @by : 박종훈
  1224. * @-----------------------------------
  1225. * @type : function
  1226. * @access : public
  1227. * @desc :
  1228. */
  1229. function fDelFolder(foldernm)
  1230. {
  1231. var fso;
  1232. fso = new ActiveXObject("Scripting.FileSystemObject");
  1233. fso.DeleteFolder(foldernm);
  1234. }
  1235. /* @group : BIT모듈로부터 키값 받아옴
  1236. * @ver : 2008.01.17
  1237. * @by : 박종훈
  1238. * @-----------------------------------
  1239. * @type : function
  1240. * @access : public
  1241. * @desc :
  1242. */
  1243. function fSetCertRecKey(key)
  1244. {
  1245. setParameter("SPMRI02400_certinfo", key);
  1246. modal("SPMRI02400");
  1247. }
  1248. /**
  1249. * @desc : 사본발행 신청
  1250. * @id :
  1251. * @event : xforms-ready
  1252. * @return : void
  1253. * @authur : 박종훈
  1254. */
  1255. function fAppcopy()
  1256. {
  1257. setParameter("SMMRC03000_pid", ipt_pid.value);
  1258. open("SMMRC03000");
  1259. }
  1260. /**
  1261. * @desc : 질병 및 수술 인덱스 화면 연결
  1262. * @id :
  1263. * @event : DOMActivate
  1264. * @return : void
  1265. * @authur : 박종훈
  1266. */
  1267. function fDiagOprIndxLnk()
  1268. {
  1269. setParameter("SMMRD00400_pid", ipt_pid.value);
  1270. open("SMMRD00700");
  1271. }
  1272. /**
  1273. * @desc : 기록 조회영역 최대 최소화
  1274. * @id :
  1275. * @event : DOMActivate
  1276. * @return : void
  1277. * @authur : 박종훈
  1278. */
  1279. function fMaxMin()
  1280. {
  1281. var leftwidth = grup_left.attribute("width");
  1282. if (leftwidth == 0)
  1283. {
  1284. btn_minmax.attribute("class") = "icon_left";
  1285. grup_right.attribute("width") = 906;
  1286. grup_right.attribute("left") = 345;
  1287. grup_left.attribute("width") = 340;
  1288. iviewerIemr.attribute("width") = 902;
  1289. iviewerIemr.window.javascript.setChartViewerSize(parseInt(iviewerIemr.attribute("width")), parseInt(iviewerIemr.attribute("height")));
  1290. btn_minmax.hint = "최대화";
  1291. }
  1292. else
  1293. {
  1294. btn_minmax.attribute("class") = "icon_right";
  1295. grup_left.attribute("width") = 0;
  1296. grup_right.attribute("left") = 0;
  1297. grup_right.attribute("width") = 1251;
  1298. iviewerIemr.attribute("width") = 1247;
  1299. iviewerIemr.window.javascript.setChartViewerSize(parseInt(iviewerIemr.attribute("width")), parseInt(iviewerIemr.attribute("height")));
  1300. btn_minmax.hint = "이전크기로";
  1301. }
  1302. }
  1303. //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1304. /**
  1305. * @desc : 화면표시 대상이 EMR + IMG 기록인경우 처리
  1306. * @id :
  1307. * @event : onclick
  1308. * @return : void
  1309. * @authur : 박종훈
  1310. */
  1311. function fGetNextEmrImgRec()
  1312. {
  1313. //p alert("fGetNextEmrImgRec()"); //p
  1314. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  1315. var foldernm = "C:\\Certrec";
  1316. var recall = model.getValue("/root/init/recall");
  1317. if (certnodeList.length <= 0)
  1318. {
  1319. return;
  1320. }
  1321. else if(certnodeList.length > 1)
  1322. {
  1323. model.setValue("/root/init/recall", "N");
  1324. }
  1325. var emrpath = "";
  1326. var emrorddate = "";
  1327. var emrformnm = "";
  1328. var emrformcd = "";
  1329. var emrdeptnm = "";
  1330. var emrdeptcd = "";
  1331. var emrpage = "";
  1332. var emrhiddenmsg = "";
  1333. var recrowno = "";
  1334. var k = "";
  1335. var pid = "";
  1336. var ptnm = "";
  1337. var depthngnm = "";
  1338. var deptengabbr = "";
  1339. var rgstno = "";
  1340. var sa = "";
  1341. var disporddd = "";
  1342. var orddd = "";
  1343. var drid = "";
  1344. var roomcd = "";
  1345. var ordtype = "";
  1346. var chosflag = "";
  1347. var orddeptcd = "";
  1348. var signflag = "";
  1349. var imgflag = "";
  1350. var langflag = "";
  1351. var tmptreatno = "";
  1352. var tmpiformcd = "";
  1353. var signno = 0;
  1354. var formcd = "";
  1355. var srcformcd = "";
  1356. var formnm = "";
  1357. var formprogflag = "";
  1358. var recdt = "";
  1359. var recdd = "";
  1360. var wardheader = "";
  1361. var dateheader = "";
  1362. var doctorheader = "";
  1363. var printheader = "";
  1364. var pageheader = "";
  1365. var imgepath = "";
  1366. var formrecdt = "";
  1367. var fstrgstdt = "";
  1368. var lastupdtdt = "";
  1369. var staffconfirmdt = "";
  1370. var fstrgstrusrnm = "";
  1371. var lastupdtrusrnm = "";
  1372. var erdt = "";
  1373. var ervisittm = "";
  1374. var staffnmheader = "";
  1375. var staffnm = "";
  1376. var emrrecusrnmheader = "";
  1377. var emrrecusrnm = "";
  1378. var indd = "";
  1379. var dschdd = "";
  1380. var inorddepthngnm = "";
  1381. var dschorddepthngnm = "";
  1382. var incnt = "";
  1383. var mainyn = "";
  1384. var rowno = "";
  1385. var rk = "";
  1386. var dk = "";
  1387. var prtnunm = getUserInfo("usernm");
  1388. var prtndeptnm = "";
  1389. //var getuseren = getUserInfo("userengnm");
  1390. var getdate = getCurrentDate();
  1391. var gettime = getCurrentTime();
  1392. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  1393. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  1394. var prtdt = dateprnt + " " + timeprnt;
  1395. fExistFolder(foldernm);
  1396. iviewerIemr.window.javascript.refreshFalse();
  1397. model.setValue("/root/init/midreccnt",model.getValue("/root/tmpinicert/iniinfo["+certnodeList.length+"]/rowno"));
  1398. for(var i = 1; i <= certnodeList.length; i++)
  1399. {
  1400. signno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signno");
  1401. formcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formcd");
  1402. srcformcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/srcformcd");
  1403. formnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formnm");
  1404. formprogflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formprogflag");
  1405. recdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdt");
  1406. recdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdd");
  1407. trans = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/trans");
  1408. pid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/pid");
  1409. ptnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ptnm");
  1410. depthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/depthngnm");
  1411. deptengabbr = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/deptengabbr");
  1412. rgstno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/rgstno");
  1413. sa = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/sa");
  1414. disporddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/disporddd");
  1415. orddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddd");
  1416. drid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/drid");
  1417. roomcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/roomcd");
  1418. ordtype = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ordtype");
  1419. chosflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/chosflag");
  1420. orddeptcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddeptcd");
  1421. signflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signflag");
  1422. imgflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/imgflag");
  1423. langflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/langflag");
  1424. formrecdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formrecdt");
  1425. formrecdt = formrecdt.toDate().getDateFormat("YYYY/MM/DD");
  1426. fstrgstdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstdt");
  1427. lastupdtdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtdt");
  1428. staffconfirmdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffconfirmdt");
  1429. fstrgstrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstrusrnm");
  1430. /* 20100209-kys-등록일자 수정일자 뺌
  1431. if(fstrgstrusrnm != "")
  1432. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  1433. */
  1434. lastupdtrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtrusrnm");
  1435. /* 20100209-kys-등록일자 수정일자 뺌
  1436. if(lastupdtrusrnm != "")
  1437. lastupdtrusrnm = lastupdtrusrnm + " (" + lastupdtdt + ")";
  1438. */
  1439. erdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/erdt");
  1440. ervisittm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ervisittm");
  1441. staffnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffnm");
  1442. emrrecusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/emrrecusrnm");
  1443. indd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/indd");
  1444. dschdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschdd");
  1445. inorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/inorddepthngnm");
  1446. dschorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschorddepthngnm");
  1447. mainyn = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/mainyn");
  1448. rowno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/rowno");
  1449. incnt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/incnt");
  1450. rk = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/rk");
  1451. dk = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dk");
  1452. if(incnt != "")
  1453. incnt += " 회차";
  1454. var ininfo = indd + " / " + inorddepthngnm;
  1455. if(erdt != "")
  1456. ininfo += " (응급실 내원일 : " + erdt + ")";
  1457. var dschinfo = dschdd + " / " + dschorddepthngnm;
  1458. var formnmarr = formnm.split("\n");
  1459. var topformnm = "";
  1460. var botformnm = "";
  1461. if (formnmarr.length == 1)
  1462. {
  1463. topformnm = formnmarr[0];
  1464. }
  1465. else if (formnmarr.length == 2)
  1466. {
  1467. topformnm = formnmarr[0];
  1468. botformnm = formnmarr[1];
  1469. }
  1470. else
  1471. {
  1472. topformnm = formnm;
  1473. }
  1474. //2009-06-02 등록번호 "-" 병원별 제거
  1475. var pidynhcd = model.getValue("/root/init/pidynhcd/hardcd/hardcd");
  1476. if (pidynhcd == "Y")
  1477. {
  1478. for(var k = pid.length; k <= 8; k++)
  1479. {
  1480. if(k < 8){
  1481. pid = "0"+pid;
  1482. }
  1483. }
  1484. var str1 = pid.substr(0, 3);
  1485. var str2 = pid.substr(3, 2);
  1486. var str3 = pid.substr(5, 2);
  1487. var str4 = pid.substr(7, 1);
  1488. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  1489. }
  1490. else
  1491. {
  1492. tmppid = pid;
  1493. }
  1494. if (chosflag == "O" || chosflag == "S")
  1495. {
  1496. wardheader = "진료과 : ";
  1497. }
  1498. else
  1499. {
  1500. wardheader = "병실 : ";
  1501. }
  1502. if (langflag == "KO")
  1503. {
  1504. if (chosflag == "O" || chosflag == "S")
  1505. {
  1506. wardheader = "진료과 : ";
  1507. }
  1508. else
  1509. {
  1510. wardheader = "병실 : ";
  1511. }
  1512. dateheader = "진료기간 : ";
  1513. doctorheader = "주치의 : ";
  1514. printheader = "출력 : ";
  1515. prtndeptnm = getUserInfo("dutplcenm");
  1516. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + ".jpg"
  1517. pageheader = "페이지 : ";
  1518. }
  1519. else
  1520. {
  1521. if (chosflag == "O" || chosflag == "S")
  1522. {
  1523. wardheader = "Dept : ";
  1524. }
  1525. else
  1526. {
  1527. wardheader = "Room : ";
  1528. }
  1529. dateheader = "Date : ";
  1530. doctorheader = "Doctor : ";
  1531. printheader = "Print date : ";
  1532. prtndeptnm = getUserInfo("deptengnm");
  1533. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + "e.jpg"
  1534. if (prtndeptnm == "" || prtndeptnm == null)
  1535. {
  1536. prtndeptnm = getUserInfo("dutplcenm");
  1537. }
  1538. pageheader = "Page : ";
  1539. }
  1540. if (imgflag == "N")
  1541. {
  1542. if(trans == "")
  1543. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  1544. var ininm = "cmc";
  1545. switch(srcformcd)
  1546. {
  1547. case "0000000001"://외래초진
  1548. case "0000000002"://외래재진
  1549. case "0000000004"://입원경과
  1550. case "0000003325"://DSC기록
  1551. ininm += "_0000000001.ini";
  1552. break;
  1553. case "0000000003"://입원초진
  1554. ininm += "_0000000003.ini";
  1555. break;
  1556. case "0000000676"://수술기록
  1557. staffnmheader = "◈ Surgeon :";
  1558. /* 20100212-kys-등록일자 수정일자 뺌
  1559. if(staffnm != "")
  1560. staffnm += "(" + staffconfirmdt + ")";
  1561. */
  1562. emrrecusrnmheader = "";
  1563. ininm += "_0000000676.ini";
  1564. break;
  1565. case "0000003169"://Brief OP Note
  1566. ininm += "_0000000676.ini";
  1567. break;
  1568. case "0000000680"://입퇴원요약
  1569. staffnmheader = "◈ Staff작성 및 확인 :";
  1570. /* 20100212-kys-등록일자 수정일자 뺌
  1571. if(staffnm != "")
  1572. staffnm += "(" + staffconfirmdt + ")";
  1573. */
  1574. emrrecusrnmheader = "◈ 의무기록사 :";
  1575. ininm += "_0000000680.ini";
  1576. break;
  1577. case "0000000679"://응급실기록
  1578. ininm += "_0000000679.ini";
  1579. break;
  1580. default:
  1581. //ininm += "_0000000001.ini";
  1582. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y")
  1583. ininm += "_0000000001.ini";
  1584. else
  1585. ininm += ".ini";
  1586. break;
  1587. }
  1588. 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;
  1589. var fso = new ActiveXObject("Scripting.FileSystemObject");
  1590. var a = fso.CreateTextFile(foldernm + "\\" + signno + "_" + formcd + ".HTML", true, true);
  1591. a.WriteLine(trans);
  1592. //a.Write(trans);
  1593. a.Close();
  1594. emrpath = foldernm + "\\" + signno + "_" + formcd + ".HTML|";
  1595. //emrorddate += orddd + "|";
  1596. emrorddate = recdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  1597. emrformnm = formnm + "|";
  1598. emrformcd = formcd + "|";
  1599. emrdeptnm = deptengabbr + "|";
  1600. emrdeptcd = orddeptcd + "|";
  1601. emrpage = "1|";
  1602. emrhiddenmsg = formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  1603. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  1604. recrowno = rowno;
  1605. //영상-EMR구분|파일경로|입원일|서식지코드|서식지이름|진료과코드|진료과이름
  1606. var chartinfo = "";
  1607. chartinfo = "E|" + emrpath + emrorddate + emrformcd + emrformnm + emrdeptcd + emrdeptnm;
  1608. model.makeValue("/root/send/iemr/treatno", "");
  1609. model.makeValue("/root/send/iemr/docucd", "");
  1610. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  1611. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, emrhiddenmsg, recrowno);
  1612. //iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, emrhiddenmsg);
  1613. }
  1614. else
  1615. {
  1616. tmptreatno = signno + ",";
  1617. tmpiformcd = formcd + ",";
  1618. emrpath = "*|";
  1619. emrorddate = "*|";
  1620. emrformnm = "*|";
  1621. emrformcd = "*|";
  1622. emrdeptnm = "*|";
  1623. emrdeptcd = "*|";
  1624. emrpage = "*|";
  1625. emrhiddenmsg = "*|";
  1626. recrowno = rowno;
  1627. model.makeValue("/root/imgrec/iemr/treatno", signno);
  1628. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  1629. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  1630. var chartinfo;
  1631. chartinfo = "I";
  1632. var hiddenmsg;
  1633. hiddenmsg = "I";
  1634. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg, recrowno);
  1635. //iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  1636. }
  1637. } // fro
  1638. iviewerIemr.window.javascript.refreshTrue();
  1639. }
  1640. /**
  1641. * @desc : 미비확인 화면 오픈
  1642. * @id :
  1643. * @event : DOMActivate
  1644. * @return : void
  1645. * @authur : 박종훈
  1646. */
  1647. function fOpenUnprep()
  1648. {
  1649. var pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  1650. var orddd = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddd"));
  1651. var cretno = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("cretno"));
  1652. setParameter("SPMRI03000_pid", pid);
  1653. setParameter("SPMRI03000_indd", orddd);
  1654. setParameter("SPMRI03000_cretno", cretno);
  1655. var wndobj = getOpenWindow("SPMRI03000");
  1656. if(wndobj != null)
  1657. {
  1658. wndobj.window.javascript.fInitialize_SPMRI03000();
  1659. activateChild("SPMRI03000");
  1660. }
  1661. else
  1662. {
  1663. open("SPMRI03000");
  1664. }
  1665. }
  1666. /**
  1667. * @desc : 출력버튼 클릭
  1668. * @id :
  1669. * @event : DOMActivate
  1670. * @return : void
  1671. * @authur : 박종훈
  1672. */
  1673. function fClickPrint()
  1674. {
  1675. var orddd = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddd"));
  1676. var cretno = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("cretno"));
  1677. var orddeptcd = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddeptcd"));
  1678. var comporddd = model.getValue("/root/init/prtresn/orddd");
  1679. var compcretno = model.getValue("/root/init/prtresn/cretno");
  1680. var itrgtNodeCnt = getNodesetCnt(model, "/root/hardcd/trgtdept[trgtcd = '" + orddeptcd + "']"); //사유대상부서
  1681. if (itrgtNodeCnt > 0) //감염내과, 정신과, 산부인과, 비뇨기과
  1682. {
  1683. var sUserDeptcd = getUserInfo("dutplcecd");
  1684. var iexNodeCnt = getNodesetCnt(model, "/root/hardcd/exdept[trgtcd = '" + sUserDeptcd + "']"); //사유제외부서
  1685. if ((iexNodeCnt <= 0) && (sUserDeptcd != orddeptcd) && (comporddd != orddd && compcretno != cretno)) //사용자 근무부서와 환자 수진부서가 틀린경우 사유창 팝업, 근무부서가 의료정보팀일경우 제외
  1686. {
  1687. model.resetInstanceNode("/root/init/prtresn");
  1688. setParameter("SPMRI03100_param_nodepath", "/root/init/prtresn");
  1689. setParameter("SPMRI03100_param_rsnflag", 'P');
  1690. // modal("SPMRI03100");
  1691. // var valiyn = model.getValue("/root/init/prtresn/valiyn");
  1692. // if (valiyn != "Y")
  1693. // {
  1694. // return;
  1695. // }
  1696. // else
  1697. // {
  1698. // }
  1699. }
  1700. model.makeValue("/root/init/prtresn/orddd", orddd);
  1701. model.makeValue("/root/init/prtresn/cretno", cretno);
  1702. }
  1703. else
  1704. {
  1705. model.resetInstanceNode("/root/init/prtresn");
  1706. }
  1707. var appcopykey = iviewerIemr.window.javascript.setCopy(true); //영상뷰어에서의 리턴값
  1708. if (appcopykey != "")
  1709. {
  1710. var copykey = appcopykey.split("|");
  1711. var appkeyArr = copykey[0].split("▦");
  1712. var reckind = ""; //기록, 영상구분(E/I)
  1713. var tmpval = "";
  1714. var tmpformcd = "";
  1715. var tmptotpage = "";
  1716. appkeyArr = "";
  1717. var copyparam = "";
  1718. var compsignno = "";
  1719. var compformcd = "";
  1720. var tmpreckind = "";
  1721. var tmpdeptcd = getUserInfo("dutplcecd");
  1722. var tmppid = model.getValue("/root/main/patinfo/patinfolist/pid")
  1723. var tmporddd = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddd"));
  1724. var tmpcretno = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("cretno"));
  1725. var tmpchosflag = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("ordtype"));
  1726. model.removeNodeSet("/root/prthist");
  1727. model.makeNode("/root/prthist");
  1728. var leng = 1;
  1729. for(var i = 0; i < copykey.length; i = i + 2)
  1730. {
  1731. appkeyArr = copykey[i].split("▦");
  1732. reckind = appkeyArr[0];
  1733. if (reckind == "I")
  1734. {
  1735. tmpval = appkeyArr[1];
  1736. tmpformcd = appkeyArr[2];
  1737. tmpreckind = "02";
  1738. if (compsignno != tmpval || compformcd != tmpformcd)
  1739. {
  1740. compsignno = tmpval;
  1741. compformcd = tmpformcd;
  1742. }
  1743. else
  1744. {
  1745. continue;
  1746. }
  1747. }
  1748. else
  1749. {
  1750. tmpval = appkeyArr[1];
  1751. tmpformcd = appkeyArr[0];
  1752. tmpreckind = "01";
  1753. if (compsignno != tmpval)
  1754. {
  1755. compsignno = tmpval;
  1756. }
  1757. else
  1758. {
  1759. continue;
  1760. }
  1761. }
  1762. if (tmpcretno == "")
  1763. tmpcretno = 0;
  1764. model.makeValue("/root/prthist[" + leng + "]/pid", tmppid);
  1765. model.makeValue("/root/prthist[" + leng + "]/orddd", tmporddd);
  1766. model.makeValue("/root/prthist[" + leng + "]/cretno", tmpcretno);
  1767. model.makeValue("/root/prthist[" + leng + "]/chosflag", tmpchosflag);
  1768. model.makeValue("/root/prthist[" + leng + "]/signno", tmpval);
  1769. model.makeValue("/root/prthist[" + leng + "]/formcd", tmpformcd);
  1770. model.makeValue("/root/prthist[" + leng + "]/reckind", tmpreckind);
  1771. model.makeValue("/root/prthist[" + leng + "]/userdeptcd", tmpdeptcd);
  1772. model.makeValue("/root/prthist[" + leng + "]/readprtflag", "P");
  1773. model.makeValue("/root/prthist[" + leng + "]/refusge", model.getValue("/root/init/prtresn/resncd"));
  1774. model.makeValue("/root/prthist[" + leng + "]/refremark", model.getValue("/root/init/prtresn/etc"));
  1775. leng++;
  1776. }
  1777. datagrid1.rebuild();
  1778. for(var j = 1; j < datagrid1.rows; j++)
  1779. {
  1780. datagrid1.rowstatus(j) = 1;
  1781. }
  1782. model.removeNodeset("/root/send");
  1783. model.makeValue("/root/send/prtlist", datagrid1.getUpdateData());
  1784. submit("TXMRI03001");
  1785. if(iviewerIemr.window.javaScript.printChart("SMMRC03000"))
  1786. {
  1787. messageBox("출력", "I001");
  1788. }
  1789. else
  1790. {
  1791. messageBox("출력에", "E009");
  1792. }
  1793. model.removeNodeSet("/root/prthist");
  1794. model.makeNode("/root/prthist");
  1795. datagrid1.refresh();
  1796. }
  1797. }
  1798. /**
  1799. * @desc : 중분류 그리드 메뉴
  1800. * @id :
  1801. * @event : DOMActivate
  1802. * @return : void
  1803. * @authur : 박종훈
  1804. */
  1805. function fMidindxMouseRight()
  1806. {
  1807. //2010-02-05 오전 9:17:04 강지훈 추가 : 요청번호 10612, Task 40877 병원,과별로 출력부서를 제한한다.
  1808. var prntuseyn = model.getValue("/root/init/prntuseyn/hardcd/hardcd");
  1809. var sUserDeptcd = getUserInfo("dutplcecd");
  1810. if(grd_midindx.isCell(event.target) && (grd_midindx.mouserow >= grd_midindx.fixedrows)){
  1811. if (prntuseyn == "Y")
  1812. {
  1813. if(model.getValue("/root/init/prntdept/hardcd[hardcd='" + sUserDeptcd + "']/hardcd") != ""){
  1814. setPopupMenu("grd_midindx", false, "/root/midmsrght/mouserght", "label", "func");
  1815. }
  1816. }
  1817. else{
  1818. setPopupMenu("grd_midindx", false, "/root/midmsrght/mouserght", "label", "func");
  1819. }
  1820. }
  1821. }
  1822. /**
  1823. * @desc : 분류출력 클릭
  1824. * @id :
  1825. * @event : DOMActivate
  1826. * @return : void
  1827. * @authur : 박종훈
  1828. */
  1829. function fMidPrint()
  1830. {
  1831. model.setValue("/root/init/recall", "Y");
  1832. iviewerIemrprt.window.javascript.setupChart("ThumbView");
  1833. fGetDetlRecForPrt();
  1834. var appcopykey = iviewerIemrprt.window.javascript.setCopy(true); //영상뷰어에서의 리턴값
  1835. if (appcopykey != "")
  1836. {
  1837. var copykey = appcopykey.split("|");
  1838. var appkeyArr = copykey[0].split("▦");
  1839. var reckind = ""; //기록, 영상구분(E/I)
  1840. var tmpval = "";
  1841. var tmpformcd = "";
  1842. var tmptotpage = "";
  1843. appkeyArr = "";
  1844. var copyparam = "";
  1845. var compsignno = "";
  1846. var compformcd = "";
  1847. var tmpreckind = "";
  1848. var tmpdeptcd = getUserInfo("dutplcecd");
  1849. var tmppid = model.getValue("/root/main/patinfo/patinfolist/pid")
  1850. var tmporddd = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddd"));
  1851. var tmpcretno = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("cretno"));
  1852. var tmpchosflag = grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("ordtype"));
  1853. model.removeNodeSet("/root/prthist");
  1854. model.makeNode("/root/prthist");
  1855. var leng = 1;
  1856. for(var i = 0; i < copykey.length; i = i + 2)
  1857. {
  1858. appkeyArr = copykey[i].split("▦");
  1859. reckind = appkeyArr[0];
  1860. if (reckind == "I")
  1861. {
  1862. tmpval = appkeyArr[1];
  1863. tmpformcd = appkeyArr[2];
  1864. tmpreckind = "02";
  1865. if (compsignno != tmpval || compformcd != tmpformcd)
  1866. {
  1867. compsignno = tmpval;
  1868. compformcd = tmpformcd;
  1869. }
  1870. else
  1871. {
  1872. continue;
  1873. }
  1874. }
  1875. else
  1876. {
  1877. tmpval = appkeyArr[1];
  1878. tmpformcd = appkeyArr[0];
  1879. tmpreckind = "01";
  1880. if (compsignno != tmpval)
  1881. {
  1882. compsignno = tmpval;
  1883. }
  1884. else
  1885. {
  1886. continue;
  1887. }
  1888. }
  1889. if (tmpcretno == "")
  1890. tmpcretno = 0;
  1891. model.makeValue("/root/prthist[" + leng+ "]/pid", tmppid);
  1892. model.makeValue("/root/prthist[" + leng + "]/orddd", tmporddd);
  1893. model.makeValue("/root/prthist[" + leng + "]/cretno", tmpcretno);
  1894. model.makeValue("/root/prthist[" + leng + "]/chosflag", tmpchosflag);
  1895. model.makeValue("/root/prthist[" + leng + "]/signno", tmpval);
  1896. model.makeValue("/root/prthist[" + leng + "]/formcd", tmpformcd);
  1897. model.makeValue("/root/prthist[" + leng + "]/reckind", tmpreckind);
  1898. model.makeValue("/root/prthist[" + leng + "]/userdeptcd", tmpdeptcd);
  1899. model.makeValue("/root/prthist[" + leng + "]/readprtflag", "P");
  1900. model.makeValue("/root/prthist[" + leng + "]/refusge", "");
  1901. model.makeValue("/root/prthist[" + leng + "]/refremark", "");
  1902. leng++;
  1903. }
  1904. datagrid1.rebuild();
  1905. for(var j = 1; j < datagrid1.rows; j++)
  1906. {
  1907. datagrid1.rowstatus(j) = 1;
  1908. }
  1909. model.removeNodeset("/root/send");
  1910. model.makeValue("/root/send/prtlist", datagrid1.getUpdateData());
  1911. submit("TXMRI03001");
  1912. if(iviewerIemr.window.javaScript.printChart("SMMRC03000"))
  1913. {
  1914. messageBox("출력", "I001");
  1915. }
  1916. else
  1917. {
  1918. messageBox("출력에", "E009");
  1919. }
  1920. model.removeNodeSet("/root/prthist");
  1921. model.makeNode("/root/prthist");
  1922. datagrid1.refresh();
  1923. }
  1924. }
  1925. /**
  1926. * @desc : 기록조회
  1927. * @id :
  1928. * @event : DOMActivate
  1929. * @return : void
  1930. * @authur : 박종훈
  1931. */
  1932. function fGetDetlRecForPrt()
  1933. {
  1934. var reccurpos = parseInt(model.getValue("/root/init/reccurpos"));
  1935. var rowfocus = "";
  1936. var midreccurpos = 1;
  1937. var midpos = 0; //중분류중 몇번째 기록계산
  1938. var emrflag = model.getValue("/root/init/emrflag");
  1939. //2009-11-02 오후 4:44:56 강지훈 수정
  1940. var reckind = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("reckind"));
  1941. if (emrflag == "I" && (reckind != "EMR" && reckind != "CDIS"))
  1942. {
  1943. var totcnt = "[ " + 1 + " / " + grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")) + " / " + model.getValue("/root/init/reccnt") + " ]";
  1944. model.setValue("/root/init/totcnt", totcnt);
  1945. lbl_totcnt.refresh();
  1946. var treatno = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq"));
  1947. var formcd = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("supitemindxseq"));
  1948. iviewerIemrprt.window.javascript.cleanViewer();
  1949. iviewerIemrprt.window.javascript.refreshFalse();
  1950. model.makeValue("/root/imgrec/iemr/treatno", parseInt(treatno));
  1951. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  1952. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  1953. var chartinfo;
  1954. chartinfo = "I";
  1955. var hiddenmsg;
  1956. hiddenmsg = "I";
  1957. iviewerIemrprt.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  1958. iviewerIemrprt.window.javascript.refreshTrue();
  1959. }
  1960. else
  1961. {
  1962. for (var i = 1; i <= grd_midindx.rows; i++)
  1963. {
  1964. midcnt = grd_midindx.valueMatrix(i, grd_midindx.colref("cnt"));
  1965. midreccurpos += parseInt(midcnt);
  1966. if (midreccurpos > reccurpos)
  1967. {
  1968. //grd_midindx.row = i;
  1969. break;
  1970. }
  1971. }
  1972. var reckind = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("reckind"));
  1973. var calcReccurpos = parseInt(model.getValue("/root/init/reccurpos"));
  1974. var bfopentest = model.getValue("/root/init/bfopentest");
  1975. var isLis = "";
  1976. for (var j = 1; j < grd_midindx.row; j++)
  1977. {
  1978. isLis = grd_midindx.valueMatrix(j, grd_midindx.colref("reckind"));
  1979. if (isLis == "LIS")
  1980. {
  1981. calcReccurpos -= 1;
  1982. }
  1983. }
  1984. model.removeNodeset("/root/send");
  1985. model.makeValue("/root/send/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  1986. model.makeValue("/root/send/orddd", grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddd")));
  1987. model.makeValue("/root/send/cretno", grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("cretno")));
  1988. model.makeValue("/root/send/chosflag", grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("ordtype")));
  1989. model.makeValue("/root/send/orddeptcd", grd_pathist.valueMatrix(grd_pathist.row, grd_pathist.colref("orddeptcd")));
  1990. model.makeValue("/root/send/tabflag", model.getValue("/root/init/tabflag"));
  1991. model.makeValue("/root/send/reccurpos", calcReccurpos);
  1992. model.makeValue("/root/send/recall", model.getValue("/root/init/recall"));
  1993. model.makeValue("/root/send/reckind", reckind);
  1994. model.makeValue("/root/send/itemindxseq", grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("itemindxseq")));
  1995. model.makeValue("/root/send/linkcd", grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("linkcd")));
  1996. model.makeValue("/root/send/lisflag", grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("lisflag")));
  1997. //2009-11-02 오후 2:18:45 강지훈 수정
  1998. model.makeValue("/root/send/bfopentest", bfopentest);
  1999. grd_pathistrow = grd_pathist.row;
  2000. pathistEmrFlag = grd_pathist.valueMatrix(grd_pathistrow, grd_pathist.colref("emrflag"))
  2001. if(bfopentest == "Y" && emrflag != "E"){
  2002. model.makeValue("/root/send/midbftest", "Y");
  2003. }
  2004. else{
  2005. model.makeValue("/root/send/midbftest", "N");
  2006. }
  2007. model.makeValue("/root/send/pageindex", model.getValue("/root/init/pageindex"));
  2008. model.makeValue("/root/send/pagepercnt",model.getValue("/root/init/pagepercnt"));
  2009. if(submit("TRMRI05004"))
  2010. {
  2011. iviewerIemrprt.window.javascript.cleanViewer();
  2012. fGetNextEmrImgRecPrt();
  2013. }
  2014. if (grd_midindx.row > 1)
  2015. {
  2016. var prevmidcnt = grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt"));
  2017. midpos = reccurpos - midreccurpos + parseInt(prevmidcnt) + 1;
  2018. }
  2019. else
  2020. {
  2021. midpos = reccurpos;
  2022. }
  2023. var totcnt = "[ " + midpos + " / " + grd_midindx.valueMatrix(grd_midindx.row, grd_midindx.colref("cnt")) + " / " + model.getValue("/root/init/reccnt") + " ]";
  2024. model.setValue("/root/init/totcnt", totcnt);
  2025. lbl_totcnt.refresh();
  2026. }
  2027. }
  2028. function fGetNextEmrImgRecPrt()
  2029. {
  2030. //p alert("fGetNextEmrImgRecPrt()"); //p
  2031. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  2032. var foldernm = "C:\\Certrec";
  2033. if (certnodeList.length <= 0)
  2034. return;
  2035. var emrpath = "";
  2036. var emrorddate = "";
  2037. var emrformnm = "";
  2038. var emrformcd = "";
  2039. var emrdeptnm = "";
  2040. var emrdeptcd = "";
  2041. var emrpage = "";
  2042. var emrhiddenmsg = "";
  2043. var k = "";
  2044. var pid = "";
  2045. var ptnm = "";
  2046. var depthngnm = "";
  2047. var deptengabbr = "";
  2048. var rgstno = "";
  2049. var sa = "";
  2050. var disporddd = "";
  2051. var orddd = "";
  2052. var drid = "";
  2053. var roomcd = "";
  2054. var ordtype = "";
  2055. var chosflag = "";
  2056. var orddeptcd = "";
  2057. var signflag = "";
  2058. var imgflag = "";
  2059. var langflag = "";
  2060. var tmptreatno = "";
  2061. var tmpiformcd = "";
  2062. var signno = 0;
  2063. var formcd = "";
  2064. var srcformcd = "";
  2065. var formnm = "";
  2066. var formprogflag = "";
  2067. var recdt = "";
  2068. var recdd = "";
  2069. var wardheader = "";
  2070. var dateheader = "";
  2071. var doctorheader = "";
  2072. var printheader = "";
  2073. var pageheader = "";
  2074. var imgepath = "";
  2075. var formrecdt = "";
  2076. var fstrgstdt = "";
  2077. var lastupdtdt = "";
  2078. var staffconfirmdt = "";
  2079. var fstrgstrusrnm = "";
  2080. var lastupdtrusrnm = "";
  2081. var erdt = "";
  2082. var ervisittm = "";
  2083. var staffnmheader = "";
  2084. var staffnm = "";
  2085. var emrrecusrnmheader = "";
  2086. var emrrecusrnm = "";
  2087. var indd = "";
  2088. var dschdd = "";
  2089. var inorddepthngnm = "";
  2090. var dschorddepthngnm = "";
  2091. var incnt = "";
  2092. var mainyn = "";
  2093. var prtnunm = getUserInfo("usernm");
  2094. var prtndeptnm = "";
  2095. //var getuseren = getUserInfo("userengnm");
  2096. var getdate = getCurrentDate();
  2097. var gettime = getCurrentTime();
  2098. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  2099. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  2100. var prtdt = dateprnt + " " + timeprnt;
  2101. fExistFolder(foldernm);
  2102. iviewerIemrprt.window.javascript.refreshFalse();
  2103. for(var i = 1; i <= certnodeList.length; i++)
  2104. {
  2105. signno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signno");
  2106. formcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formcd");
  2107. srcformcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/srcformcd");
  2108. formnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formnm");
  2109. formprogflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formprogflag");
  2110. recdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdt");
  2111. recdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdd");
  2112. trans = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/trans");
  2113. pid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/pid");
  2114. ptnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ptnm");
  2115. depthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/depthngnm");
  2116. deptengabbr = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/deptengabbr");
  2117. rgstno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/rgstno");
  2118. sa = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/sa");
  2119. disporddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/disporddd");
  2120. orddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddd");
  2121. drid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/drid");
  2122. roomcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/roomcd");
  2123. ordtype = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ordtype");
  2124. chosflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/chosflag");
  2125. orddeptcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddeptcd");
  2126. signflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signflag");
  2127. imgflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/imgflag");
  2128. langflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/langflag");
  2129. formrecdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formrecdt");
  2130. formrecdt = formrecdt.toDate().getDateFormat("YYYY/MM/DD");
  2131. fstrgstdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstdt");
  2132. lastupdtdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtdt");
  2133. staffconfirmdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffconfirmdt");
  2134. fstrgstrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/fstrgstrusrnm");
  2135. /* 20100209-kys-최초작성일
  2136. if(fstrgstrusrnm != "")
  2137. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  2138. */
  2139. lastupdtrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/lastupdtrusrnm");
  2140. /* 20100209-kys-최종작성일 뺌
  2141. if(lastupdtrusrnm != "")
  2142. lastupdtrusrnm = lastupdtrusrnm + " (" + lastupdtdt + ")";
  2143. */
  2144. erdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/erdt");
  2145. ervisittm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ervisittm");
  2146. staffnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/staffnm");
  2147. emrrecusrnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/emrrecusrnm");
  2148. indd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/indd");
  2149. dschdd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschdd");
  2150. inorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/inorddepthngnm");
  2151. dschorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/dschorddepthngnm");
  2152. mainyn = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/mainyn");
  2153. incnt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/incnt");
  2154. if(incnt != "")
  2155. incnt += " 회차";
  2156. var ininfo = indd + " / " + inorddepthngnm;
  2157. if(erdt != "")
  2158. ininfo += " (응급실 내원일 : " + erdt + ")";
  2159. var dschinfo = dschdd + " / " + dschorddepthngnm;
  2160. var formnmarr = formnm.split("\n");
  2161. var topformnm = "";
  2162. var botformnm = "";
  2163. if (formnmarr.length == 1)
  2164. {
  2165. topformnm = formnmarr[0];
  2166. }
  2167. else if (formnmarr.length == 2)
  2168. {
  2169. topformnm = formnmarr[0];
  2170. botformnm = formnmarr[1];
  2171. }
  2172. else
  2173. {
  2174. topformnm = formnm;
  2175. }
  2176. //2009-06-02 등록번호 "-" 병원별 제거
  2177. var pidynhcd = model.getValue("/root/init/pidynhcd/hardcd/hardcd");
  2178. if (pidynhcd == "Y")
  2179. {
  2180. for(var k = pid.length; k <= 8; k++)
  2181. {
  2182. if(k < 8){
  2183. pid = "0"+pid;
  2184. }
  2185. }
  2186. var str1 = pid.substr(0, 3);
  2187. var str2 = pid.substr(3, 2);
  2188. var str3 = pid.substr(5, 2);
  2189. var str4 = pid.substr(7, 1);
  2190. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  2191. }
  2192. else
  2193. {
  2194. tmppid = pid;
  2195. }
  2196. if (chosflag == "O" || chosflag == "S")
  2197. {
  2198. wardheader = "진료과 : ";
  2199. }
  2200. else
  2201. {
  2202. wardheader = "병실 : ";
  2203. }
  2204. if (langflag == "KO")
  2205. {
  2206. if (chosflag == "O" || chosflag == "S")
  2207. {
  2208. wardheader = "진료과 : ";
  2209. }
  2210. else
  2211. {
  2212. wardheader = "병실 : ";
  2213. }
  2214. dateheader = "진료기간 : ";
  2215. doctorheader = "주치의 : ";
  2216. printheader = "출력 : ";
  2217. prtndeptnm = getUserInfo("dutplcenm");
  2218. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + ".jpg"
  2219. pageheader = "페이지 : ";
  2220. }
  2221. else
  2222. {
  2223. if (chosflag == "O" || chosflag == "S")
  2224. {
  2225. wardheader = "Dept : ";
  2226. }
  2227. else
  2228. {
  2229. wardheader = "Room : ";
  2230. }
  2231. dateheader = "Date : ";
  2232. doctorheader = "Doctor : ";
  2233. printheader = "Print date : ";
  2234. prtndeptnm = getUserInfo("deptengnm");
  2235. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + "e.jpg"
  2236. if (prtndeptnm == "" || prtndeptnm == null)
  2237. {
  2238. prtndeptnm = getUserInfo("dutplcenm");
  2239. }
  2240. pageheader = "Page : ";
  2241. }
  2242. if (imgflag == "N")
  2243. {
  2244. if(trans == "")
  2245. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  2246. var ininm = "cmc";
  2247. switch(srcformcd)
  2248. {
  2249. case "0000000001"://외래초진
  2250. case "0000000002"://외래재진
  2251. case "0000000004"://입원경과
  2252. ininm += "_N000000004.ini";
  2253. break;
  2254. case "0000003325"://DSC기록
  2255. ininm += "_0000000001.ini";
  2256. break;
  2257. case "0000000003"://입원초진
  2258. ininm += "_0000000003.ini";
  2259. break;
  2260. case "0000000676"://수술기록
  2261. staffnmheader = "◈ Surgeon :";
  2262. /* 20100212-kys-승인일자 삭제
  2263. if(staffnm != "")
  2264. staffnm += "(" + staffconfirmdt + ")";
  2265. */
  2266. emrrecusrnmheader = "";
  2267. ininm += "_0000000676.ini";
  2268. break;
  2269. case "0000003169"://Brief OP Note
  2270. ininm += "_0000000676.ini";
  2271. break;
  2272. case "0000000680"://입퇴원요약
  2273. staffnmheader = "◈ Staff작성 및 확인 :";
  2274. /* 20100212-kys-승인일자 삭제
  2275. if(staffnm != "")
  2276. staffnm += "(" + staffconfirmdt + ")";
  2277. */
  2278. emrrecusrnmheader = "◈ 의무기록사 :";
  2279. ininm += "_0000000680.ini";
  2280. break;
  2281. case "0000000679"://응급실기록
  2282. ininm += "_0000000679.ini";
  2283. break;
  2284. default:
  2285. //ininm += "_0000000001.ini";
  2286. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y")
  2287. ininm += "_0000000001.ini";
  2288. else
  2289. ininm += ".ini";
  2290. break;
  2291. }
  2292. 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;
  2293. var fso = new ActiveXObject("Scripting.FileSystemObject");
  2294. var a = fso.CreateTextFile(foldernm + "\\" + signno + "_" + formcd + ".HTML", true, true);
  2295. a.WriteLine(trans);
  2296. //a.Write(trans);
  2297. a.Close();
  2298. emrpath += foldernm + "\\" + signno + "_" + formcd + ".HTML|";
  2299. //emrorddate += orddd + "|";
  2300. emrorddate += recdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  2301. emrformnm += formnm + "|";
  2302. emrformcd += formcd + "|";
  2303. emrdeptnm += deptengabbr + "|";
  2304. emrdeptcd += orddeptcd + "|";
  2305. emrpage += "1|";
  2306. emrhiddenmsg += formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  2307. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  2308. //영상-EMR구분|파일경로|입원일|서식지코드|서식지이름|진료과코드|진료과이름
  2309. var chartinfo = "E|" + emrpath + emrorddate + emrformcd + emrformnm + emrdeptcd + emrdeptnm;
  2310. model.makeValue("/root/send/iemr/treatno", "");
  2311. model.makeValue("/root/send/iemr/docucd", "");
  2312. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  2313. iviewerIemrprt.window.javascript.appendChart(iemrNode, chartinfo, emrhiddenmsg);
  2314. }
  2315. else
  2316. {
  2317. tmptreatno += signno + ",";
  2318. tmpiformcd += formcd + ",";
  2319. emrpath += "*|";
  2320. emrorddate += "*|";
  2321. emrformnm += "*|";
  2322. emrformcd += "*|";
  2323. emrdeptnm += "*|";
  2324. emrdeptcd += "*|";
  2325. emrpage += "*|";
  2326. emrhiddenmsg += "*|";
  2327. model.makeValue("/root/imgrec/iemr/treatno", signno);
  2328. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  2329. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  2330. var chartinfo;
  2331. chartinfo = "I";
  2332. var hiddenmsg;
  2333. hiddenmsg = "I";
  2334. iviewerIemrprt.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  2335. }
  2336. }
  2337. iviewerIemrprt.window.javascript.refreshTrue();
  2338. }
  2339. /**
  2340. * @desc : 연속보기 더블클릭시 기록 rowno 리턴 인터페이스
  2341. * @id :
  2342. * @event : DOMActivate
  2343. * @return : void
  2344. * @authur : 박종훈
  2345. */
  2346. function fReturnRecRowno(rowno)
  2347. {
  2348. if (rowno != null && rowno != "" && rowno > 0)
  2349. {
  2350. model.setValue("/root/init/reccurpos", parseInt(rowno));
  2351. }
  2352. model.refresh(); //pjh
  2353. }
  2354. /**
  2355. * @desc : 화면표시 대상이 EMR + IMG 기록인경우 처리
  2356. * @id :
  2357. * @event : onclick
  2358. * @return : void
  2359. * @authur : 박종훈
  2360. */
  2361. function fGetNextEmrImgRecOne()
  2362. {
  2363. //p alert("fGetNextEmrImgRecOne()");
  2364. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  2365. var foldernm = "C:\\Certrec";
  2366. var recall = model.getValue("/root/init/recall");
  2367. if (certnodeList.length <= 0)
  2368. {
  2369. return;
  2370. }
  2371. else if(certnodeList.length > 1)
  2372. {
  2373. model.setValue("/root/init/recall", "N");
  2374. }
  2375. var emrpath = "";
  2376. var emrorddate = "";
  2377. var emrformnm = "";
  2378. var emrformcd = "";
  2379. var emrdeptnm = "";
  2380. var emrdeptcd = "";
  2381. var emrpage = "";
  2382. var emrhiddenmsg = "";
  2383. var recrowno = "";
  2384. var k = "";
  2385. var pid = "";
  2386. var ptnm = "";
  2387. var depthngnm = "";
  2388. var deptengabbr = "";
  2389. var rgstno = "";
  2390. var sa = "";
  2391. var disporddd = "";
  2392. var orddd = "";
  2393. var drid = "";
  2394. var roomcd = "";
  2395. var ordtype = "";
  2396. var chosflag = "";
  2397. var orddeptcd = "";
  2398. var signflag = "";
  2399. var imgflag = "";
  2400. var langflag = "";
  2401. var tmptreatno = "";
  2402. var tmpiformcd = "";
  2403. var signno = 0;
  2404. var formcd = "";
  2405. var srcformcd = "";
  2406. var formnm = "";
  2407. var formprogflag = "";
  2408. var recdt = "";
  2409. var recdd = "";
  2410. var wardheader = "";
  2411. var dateheader = "";
  2412. var doctorheader = "";
  2413. var printheader = "";
  2414. var pageheader = "";
  2415. var imgepath = "";
  2416. var formrecdt = "";
  2417. var fstrgstdt = "";
  2418. var lastupdtdt = "";
  2419. var staffconfirmdt = "";
  2420. var fstrgstrusrnm = "";
  2421. var lastupdtrusrnm = "";
  2422. var erdt = "";
  2423. var ervisittm = "";
  2424. var staffnmheader = "";
  2425. var staffnm = "";
  2426. var emrrecusrnmheader = "";
  2427. var emrrecusrnm = "";
  2428. var indd = "";
  2429. var dschdd = "";
  2430. var inorddepthngnm = "";
  2431. var dschorddepthngnm = "";
  2432. var incnt = "";
  2433. var mainyn = "";
  2434. var rowno = "";
  2435. var prtnunm = getUserInfo("usernm");
  2436. var prtndeptnm = "";
  2437. //var getuseren = getUserInfo("userengnm");
  2438. var getdate = getCurrentDate();
  2439. var gettime = getCurrentTime();
  2440. var dateprnt = getdate.substr(0, 4) + "/" + getdate.substr(4, 2) + "/" + getdate.substr(6, 2);
  2441. var timeprnt = gettime.substr(0, 2) + ":" + gettime.substr(2, 2) + ":" + gettime.substr(4, 2);
  2442. var prtdt = dateprnt + " " + timeprnt;
  2443. fExistFolder(foldernm);
  2444. iviewerIemr.window.javascript.refreshFalse();
  2445. //for(var i = 1; i <= certnodeList.length; i++)
  2446. //{
  2447. signno = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/signno");
  2448. formcd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/formcd");
  2449. srcformcd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/srcformcd");
  2450. formnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/formnm");
  2451. formprogflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/formprogflag");
  2452. recdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/recdt");
  2453. recdd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/recdd");
  2454. trans = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/trans");
  2455. pid = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/pid");
  2456. ptnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/ptnm");
  2457. depthngnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/depthngnm");
  2458. deptengabbr = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/deptengabbr");
  2459. rgstno = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/rgstno");
  2460. sa = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/sa");
  2461. disporddd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/disporddd");
  2462. orddd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/orddd");
  2463. drid = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/drid");
  2464. roomcd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/roomcd");
  2465. ordtype = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/ordtype");
  2466. chosflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/chosflag");
  2467. orddeptcd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/orddeptcd");
  2468. signflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/signflag");
  2469. imgflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/imgflag");
  2470. langflag = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/langflag");
  2471. formrecdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/formrecdt");
  2472. formrecdt = formrecdt.toDate().getDateFormat("YYYY/MM/DD");
  2473. fstrgstdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/fstrgstdt");
  2474. lastupdtdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/lastupdtdt");
  2475. staffconfirmdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/staffconfirmdt");
  2476. fstrgstrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/fstrgstrusrnm");
  2477. /* 20100209-kys-최초작성일 삭제
  2478. if(fstrgstrusrnm != "")
  2479. fstrgstrusrnm = fstrgstrusrnm + " (" + fstrgstdt + ")";
  2480. */
  2481. lastupdtrusrnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/lastupdtrusrnm");
  2482. /* 20100209-kys-최종작성일 삭제
  2483. if(lastupdtrusrnm != "")
  2484. lastupdtrusrnm = lastupdtrusrnm + " (" + lastupdtdt + ")";
  2485. */
  2486. erdt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/erdt");
  2487. ervisittm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/ervisittm");
  2488. staffnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/staffnm");
  2489. emrrecusrnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/emrrecusrnm");
  2490. indd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/indd");
  2491. dschdd = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/dschdd");
  2492. inorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/inorddepthngnm");
  2493. dschorddepthngnm = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/dschorddepthngnm");
  2494. mainyn = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/mainyn");
  2495. rowno = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/rowno");
  2496. incnt = model.getValue("/root/tmpinicert/iniinfo[" + nodeposcnt + "]/incnt");
  2497. if(incnt != "")
  2498. incnt += " 회차";
  2499. var ininfo = indd + " / " + inorddepthngnm;
  2500. if(erdt != "")
  2501. ininfo += " (응급실 내원일 : " + erdt + ")";
  2502. var dschinfo = dschdd + " / " + dschorddepthngnm;
  2503. var formnmarr = formnm.split("\n");
  2504. var topformnm = "";
  2505. var botformnm = "";
  2506. if (formnmarr.length == 1)
  2507. {
  2508. topformnm = formnmarr[0];
  2509. }
  2510. else if (formnmarr.length == 2)
  2511. {
  2512. topformnm = formnmarr[0];
  2513. botformnm = formnmarr[1];
  2514. }
  2515. else
  2516. {
  2517. topformnm = formnm;
  2518. }
  2519. //2009-06-02 등록번호 "-" 병원별 제거
  2520. var pidynhcd = model.getValue("/root/init/pidynhcd/hardcd/hardcd");
  2521. if (pidynhcd == "Y")
  2522. {
  2523. for(var k = pid.length; k <= 8; k++)
  2524. {
  2525. if(k < 8){
  2526. pid = "0"+pid;
  2527. }
  2528. }
  2529. var str1 = pid.substr(0, 3);
  2530. var str2 = pid.substr(3, 2);
  2531. var str3 = pid.substr(5, 2);
  2532. var str4 = pid.substr(7, 1);
  2533. var tmppid = str1 + " " + str2 + " " + str3 + "-" + str4;
  2534. }
  2535. else
  2536. {
  2537. tmppid = pid;
  2538. }
  2539. if (chosflag == "O" || chosflag == "S")
  2540. {
  2541. wardheader = "진료과 : ";
  2542. }
  2543. else
  2544. {
  2545. wardheader = "병실 : ";
  2546. }
  2547. if (langflag == "KO")
  2548. {
  2549. if (chosflag == "O" || chosflag == "S")
  2550. {
  2551. wardheader = "진료과 : ";
  2552. }
  2553. else
  2554. {
  2555. wardheader = "병실 : ";
  2556. }
  2557. dateheader = "진료기간 : ";
  2558. doctorheader = "주치의 : ";
  2559. printheader = "출력 : ";
  2560. prtndeptnm = getUserInfo("dutplcenm");
  2561. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + ".jpg"
  2562. pageheader = "페이지 : ";
  2563. }
  2564. else
  2565. {
  2566. if (chosflag == "O" || chosflag == "S")
  2567. {
  2568. wardheader = "Dept : ";
  2569. }
  2570. else
  2571. {
  2572. wardheader = "Room : ";
  2573. }
  2574. dateheader = "Date : ";
  2575. doctorheader = "Doctor : ";
  2576. printheader = "Print date : ";
  2577. prtndeptnm = getUserInfo("deptengnm");
  2578. imgepath = "com/commonweb/images/biglogo" + getUserInfo("dutplceinstcd") + "e.jpg"
  2579. if (prtndeptnm == "" || prtndeptnm == null)
  2580. {
  2581. prtndeptnm = getUserInfo("dutplcenm");
  2582. }
  2583. pageheader = "Page : ";
  2584. }
  2585. if (imgflag == "N")
  2586. {
  2587. if(trans == "")
  2588. trans = "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>";
  2589. var ininm = "cmc";
  2590. switch(srcformcd)
  2591. {
  2592. case "0000000001"://외래초진
  2593. case "0000000002"://외래재진
  2594. case "0000000004"://입원경과
  2595. case "0000003325"://DSC기록
  2596. ininm += "_0000000001.ini";
  2597. break;
  2598. case "0000000003"://입원초진
  2599. ininm += "_0000000003.ini";
  2600. break;
  2601. case "0000000676"://수술기록
  2602. staffnmheader = "◈ Surgeon :";
  2603. /* 20100212-kys-승인일자 삭제
  2604. if(staffnm != "")
  2605. staffnm += "(" + staffconfirmdt + ")";
  2606. */
  2607. emrrecusrnmheader = "";
  2608. ininm += "_0000000676.ini";
  2609. break;
  2610. case "0000003169"://Brief OP Note
  2611. ininm += "_0000000676.ini";
  2612. break;
  2613. case "0000000680"://입퇴원요약
  2614. staffnmheader = "◈ Staff작성 및 확인 :";
  2615. /* 20100212-kys-승인일자 삭제
  2616. if(staffnm != "")
  2617. staffnm += "(" + staffconfirmdt + ")";
  2618. */
  2619. emrrecusrnmheader = "◈ 의무기록사 :";
  2620. ininm += "_0000000680.ini";
  2621. break;
  2622. case "0000000679"://응급실기록
  2623. ininm += "_0000000679.ini";
  2624. break;
  2625. default:
  2626. //ininm += "_0000000001.ini";
  2627. if(formprogflag == "-" || formprogflag == "MAIN" || mainyn == "Y")
  2628. ininm += "_0000000001.ini";
  2629. else
  2630. ininm += ".ini";
  2631. break;
  2632. }
  2633. 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;
  2634. var fso = new ActiveXObject("Scripting.FileSystemObject");
  2635. var a = fso.CreateTextFile(foldernm + "\\" + signno + "_" + formcd + ".HTML", true, true);
  2636. a.WriteLine(trans);
  2637. //a.Write(trans);
  2638. a.Close();
  2639. emrpath = foldernm + "\\" + signno + "_" + formcd + ".HTML|";
  2640. //emrorddate += orddd + "|";
  2641. emrorddate = recdd + "|"; //기록일을 보여달라는 의료정보팀 요청
  2642. emrformnm = formnm + "|";
  2643. emrformcd = formcd + "|";
  2644. emrdeptnm = deptengabbr + "|";
  2645. emrdeptcd = orddeptcd + "|";
  2646. emrpage = "1|";
  2647. emrhiddenmsg = formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  2648. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E|";
  2649. recrowno = rowno;
  2650. //영상-EMR구분|파일경로|입원일|서식지코드|서식지이름|진료과코드|진료과이름
  2651. var chartinfo = "";
  2652. chartinfo = "E|" + emrpath + emrorddate + emrformcd + emrformnm + emrdeptcd + emrdeptnm;
  2653. model.makeValue("/root/send/iemr/treatno", "");
  2654. model.makeValue("/root/send/iemr/docucd", "");
  2655. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  2656. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, emrhiddenmsg, recrowno);
  2657. //iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, emrhiddenmsg);
  2658. }
  2659. else
  2660. {
  2661. tmptreatno = signno + ",";
  2662. tmpiformcd = formcd + ",";
  2663. emrpath = "*|";
  2664. emrorddate = "*|";
  2665. emrformnm = "*|";
  2666. emrformcd = "*|";
  2667. emrdeptnm = "*|";
  2668. emrdeptcd = "*|";
  2669. emrpage = "*|";
  2670. emrhiddenmsg = "*|";
  2671. recrowno = rowno;
  2672. model.makeValue("/root/imgrec/iemr/treatno", signno);
  2673. model.makeValue("/root/imgrec/iemr/docucd", formcd);
  2674. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  2675. var chartinfo;
  2676. chartinfo = "I";
  2677. var hiddenmsg;
  2678. hiddenmsg = "I";
  2679. iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg, recrowno);
  2680. //iviewerIemr.window.javascript.appendChart(iemrNode, chartinfo, hiddenmsg);
  2681. }
  2682. /*
  2683. if (certnodeList.length > 1 && certnodeList.length > nodeposcnt)
  2684. {
  2685. multirecyn = "Y";
  2686. }
  2687. else
  2688. {
  2689. multirecyn = "N";
  2690. nodeposcnt = 1;
  2691. }*/
  2692. //}
  2693. //p alert("fGetNextEmrImgRecOne() END");
  2694. iviewerIemr.window.javascript.refreshTrue();
  2695. }
  2696. /**
  2697. * @desc : 북마크 등록 클릭시 모달창 호출
  2698. * @id :
  2699. * @event : DOMActivate
  2700. * @return : void
  2701. * @authur : 강지훈
  2702. */
  2703. function fSetBookmark()
  2704. {
  2705. var ViewMode;
  2706. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  2707. var appcopykey = iviewerIemr.window.javascript.SetMarkPage(ViewMode); //영상뷰어에서의 리턴값
  2708. var selPid = model.getValue("/root/main/patinfo/patinfolist/pid");
  2709. if(selPid != ""){
  2710. if(appcopykey != null && appcopykey != "" ){
  2711. appcopykey = appcopykey.getTrim();
  2712. var copykey = appcopykey.split("|");
  2713. var appkeyArr = "";
  2714. var imageCnt = 0;
  2715. //1차적으로 영상EMR만 등록가능. 선택된 영상EMR의 갯수를 파악한다.
  2716. for(var i = 0; i < copykey.length; i++){
  2717. appkeyArr = copykey[i].split("▦");
  2718. reckind = appkeyArr[0];
  2719. if (reckind == "I"){
  2720. imageCnt++;
  2721. }
  2722. }
  2723. if(imageCnt > 0){ //선택된 이미지중에 영상EMR이 있을경우
  2724. setParameter("SPMRI01500_reckey", appcopykey);
  2725. setParameter("SPMRI01500_setflag", "A");
  2726. modal("SPMRI01500");
  2727. //북마크 treeview 재조회
  2728. fGetTreeView();
  2729. }
  2730. else{
  2731. messageBox("현재 영상EMR만 등록 ","I006");
  2732. return;
  2733. }
  2734. }
  2735. else{
  2736. var ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  2737. if (ViewMode == null || ViewMode == "" || ViewMode != "ChartView")
  2738. {
  2739. messageBox("선택된 기록이","I004");
  2740. return;
  2741. }
  2742. }
  2743. }
  2744. else{
  2745. messageBox("선택된 환자가","I004");
  2746. model.toggle("grd");
  2747. btn_all.selected = true;
  2748. model.setFocus("ipt_pid");
  2749. return;
  2750. }
  2751. }
  2752. /**
  2753. * @group :
  2754. * @ver :
  2755. * @by : 2009-10-16 오전 10:13:04 강지훈
  2756. * @---------------------------------------------------
  2757. * @type : function
  2758. * @access : public
  2759. * @desc : 트리뷰 조회
  2760. * @param :
  2761. * @return :
  2762. * @---------------------------------------------------
  2763. */
  2764. function fGetTreeView(){
  2765. //북마크 트리뷰는 환자가 조회되어있어야만 조회된다. 환자가없을경우 전체창 모드
  2766. var selPid = model.getValue("/root/main/patinfo/patinfolist/pid");
  2767. if(selPid == ""){
  2768. messageBox("선택된 환자가","I004");
  2769. model.toggle("grd");
  2770. btn_mid.selected = true;
  2771. model.setFocus("ipt_pid");
  2772. return;
  2773. }
  2774. else{
  2775. //북마크가 선택되어야만 조회를 한다.
  2776. var selIndx = switch1.selectedIndex;
  2777. var bmkAll = chk_allbmk.value;
  2778. if(selIndx == 1){
  2779. //Instance초기화
  2780. model.removenode("/root/main/treeview");
  2781. model.makeNode("/root/main/treeview");
  2782. //send Node 설정
  2783. model.removenode("/root/send/bmkpara");
  2784. model.makeValue("/root/send/bmkpara/pid", selPid);
  2785. model.makeValue("/root/send/bmkpara/bmkall", bmkAll);
  2786. if(submit("TRMRI05500")){
  2787. trv_bookmark.rebuild();
  2788. }
  2789. }
  2790. }
  2791. }
  2792. /**
  2793. * @group :
  2794. * @ver :
  2795. * @by : 2009-10-16 오전 10:13:04 강지훈
  2796. * @---------------------------------------------------
  2797. * @type : function
  2798. * @access : public
  2799. * @desc : 북마크 항목을 더블클릭한다.
  2800. * @param :
  2801. * @return :
  2802. * @---------------------------------------------------
  2803. */
  2804. function fGetBookmarkItem(){
  2805. var selFolder = new SELFOLDER();
  2806. itemno = selFolder.itemno;
  2807. linkflag = selFolder.linkflag;
  2808. if(linkflag == "Y"){
  2809. model.removeNode("/root/send/bookmark");
  2810. model.makeValue("/root/send/bookmark/itemno", itemno);
  2811. submit("TRMRI05408");
  2812. var recinfos = instance1.selectNodes("/root/tmp/recinfos/recinfo");
  2813. if(recinfos.length > 0){
  2814. //초기화
  2815. iviewerIemr.window.javascript.cleanViewer();
  2816. iviewerIemr.window.javascript.refreshFalse();
  2817. model.removenode("/root/tmp/imgrec");
  2818. //통합기록조회 환자정보 셋팅
  2819. var selPid = "";
  2820. //북마크에 등록된 정보를 가져온다.
  2821. for(var i = 0 ; i < recinfos.length; i++){
  2822. var recinfo = recinfos.item(i);
  2823. var emrflag = recinfo.selectSingleNode("emrflag").text;
  2824. //영상일때
  2825. if(emrflag == "I"){
  2826. var nodePos = i+1;
  2827. var treatno = recinfo.selectSingleNode("recno").text;
  2828. var docucd = recinfo.selectSingleNode("formcd").text;
  2829. var pageno = recinfo.selectSingleNode("pageno").text;
  2830. var pid = recinfo.selectSingleNode("pid").text;
  2831. selPid = pid;
  2832. model.makeValue("/root/tmp/imgrec/iemr[" + nodePos + "]/treatno", parseInt(treatno));
  2833. model.makeValue("/root/tmp/imgrec/iemr[" + nodePos + "]/pid", pid);
  2834. model.makeNode("/root/tmp/imgrec/iemr[" + nodePos + "]/orddeptcd");
  2835. model.makeNode("/root/tmp/imgrec/iemr[" + nodePos + "]/indd");
  2836. model.makeValue("/root/tmp/imgrec/iemr[" + nodePos + "]/docucd", docucd);
  2837. model.makeNode("/root/tmp/imgrec/iemr[" + nodePos + "]/ioflag");
  2838. model.makeNode("/root/tmp/imgrec/iemr[" + nodePos + "]/cmc_cretno");
  2839. model.makeNode("/root/tmp/imgrec/iemr[" + nodePos + "]/cmc_spcid");
  2840. model.makeNode("/root/tmp/imgrec/iemr[" + nodePos + "]/cmc_orddate");
  2841. model.makeNode("/root/tmp/imgrec/iemr[" + nodePos + "]/cmc_orderseqno");
  2842. model.makeValue("/root/tmp/imgrec/iemr[" + nodePos + "]/pageno", parseInt(pageno));
  2843. }
  2844. }
  2845. //통합기록조회 환자정보입력란 Setting
  2846. if(chk_allbmk.value == "A"){
  2847. ipt_pid.value = selPid;
  2848. chkPidRtn = fPidKeyPress();
  2849. }
  2850. var iemrNode = instance1.selectSingleNode("/root/tmp/imgrec");
  2851. //chart추가
  2852. var chartinfo;
  2853. chartinfo = "I";
  2854. var hiddenmsg;
  2855. hiddenmsg = "I";
  2856. iviewerIemr.window.javascript.append_BmarkChart(iemrNode, chartinfo, hiddenmsg);
  2857. iviewerIemr.window.javascript.refreshTrue();
  2858. //ViewMode를 여러페이지 보기로 Setting
  2859. var ViewMode;
  2860. ViewMode = iviewerIemr.model.getValue("/root/hidden/currentViewMode");
  2861. if (ViewMode == null || ViewMode == "" || ViewMode != "ChartView")
  2862. {
  2863. iviewerIemr.window.javascript.setupChart("ChartView");
  2864. }
  2865. }
  2866. else{
  2867. messageBox("등록된 기록이 ", "I004");
  2868. return;
  2869. }
  2870. }
  2871. }
  2872. /**
  2873. * @group :
  2874. * @ver :
  2875. * @by : 2009-10-16 오전 10:13:04 강지훈
  2876. * @---------------------------------------------------
  2877. * @type : function
  2878. * @access : public
  2879. * @desc : 선택한 폴더의 정보
  2880. * @param :
  2881. * @return :
  2882. * @---------------------------------------------------
  2883. */
  2884. function SELFOLDER(){
  2885. var item = trv_bookmark.item(trv_bookmark.selectedIndex);
  2886. if(item == null) return;
  2887. var currow = item.index + 1;
  2888. this.level = model.getValue("/root/main/treeview/item["+currow+"]/level");
  2889. this.itemno = model.getValue("/root/main/treeview/item["+currow+"]/itemno");
  2890. this.supitemno = model.getValue("/root/main/treeview/item["+currow+"]/supitemno");
  2891. this.itemnm = model.getValue("/root/main/treeview/item["+currow+"]/itemnm");
  2892. this.linkflag = model.getValue("/root/main/treeview/item["+currow+"]/linkflag");
  2893. this.pid = model.getValue("/root/main/treeview/item["+currow+"]/pid");
  2894. }
  2895. /**
  2896. * @group :
  2897. * @ver :
  2898. * @by : 2009-10-16 오전 10:13:04 강지훈
  2899. * @---------------------------------------------------
  2900. * @type : function
  2901. * @access : public
  2902. * @desc : 폴더를 수정함
  2903. * @param :
  2904. * @return :
  2905. * @---------------------------------------------------
  2906. */
  2907. function fModiFolder(){
  2908. setParameter("SPMRI01500_setflag", "M");
  2909. open("SPMRI01500");
  2910. fGetTreeView();
  2911. }
  2912. /**
  2913. * @group :
  2914. * @ver :
  2915. * @by : 2009-10-16 오전 10:13:04 강지훈
  2916. * @---------------------------------------------------
  2917. * @type : function
  2918. * @access : public
  2919. * @desc : 북마크에 해당환자 기록이 있으면 북마크 탭 색을 변경.
  2920. * @param :
  2921. * @return :
  2922. * @---------------------------------------------------
  2923. */
  2924. function fChkBookmark(){
  2925. var selPid = model.getValue("/root/main/patinfo/patinfolist/pid");
  2926. model.removeNode("/root/send/selpid");
  2927. model.makeValue("/root/send/selpid", selPid);
  2928. if(submit("TRMRI05409")){
  2929. var itemNodes = instance1.selectNodes("/root/tmp/chkitem/itemno");
  2930. if(0 < itemNodes.length){
  2931. btn_mark.attribute("color") = "#ff0000";
  2932. }
  2933. else{
  2934. btn_mark.attribute("color") = "";
  2935. }
  2936. }
  2937. }
  2938. function fUpKeyBtn()
  2939. {
  2940. if ( (grd_pathist.row-1) >= grd_pathist.fixedRows )
  2941. {
  2942. fGetRecMidIndx(grd_pathist.row-1);
  2943. grd_pathist.row = grd_pathist.row - 1;
  2944. }
  2945. }
  2946. function fDownKeyBtn()
  2947. {
  2948. if ( (grd_pathist.row+1) != grd_pathist.rows )
  2949. {
  2950. fGetRecMidIndx(grd_pathist.row+1);
  2951. grd_pathist.row = grd_pathist.row + 1;
  2952. }
  2953. }
  2954. /**
  2955. * @group :
  2956. * @ver :
  2957. * @by : 2009-10-30 주희경
  2958. * @---------------------------------------------------
  2959. * @type : function
  2960. * @access : public
  2961. * @desc : xrw화면내에서 방향키(↑ , ↓) 이벤트 발생 시 다음/이전의 수진이력 조회
  2962. * @param :
  2963. * @return :
  2964. * @---------------------------------------------------
  2965. */
  2966. function onkeydown()
  2967. {
  2968. /*
  2969. if (event.keyCode == 38) //↑
  2970. {
  2971. if ( (grd_pathist.row-1) >= grd_pathist.fixedRows )
  2972. {
  2973. fGetRecMidIndx(grd_pathist.row-1);
  2974. grd_pathist.row = grd_pathist.row - 1;
  2975. }
  2976. }
  2977. else if ( event.keyCode == 40 ) //↓
  2978. {
  2979. if ( (grd_pathist.row+1) != grd_pathist.rows )
  2980. {
  2981. fGetRecMidIndx(grd_pathist.row+1);
  2982. grd_pathist.row = grd_pathist.row + 1;
  2983. }
  2984. }
  2985. else {
  2986. event.preventDefault();
  2987. }
  2988. event.stopPropagation();*/
  2989. }