MMR00100.xjs 86 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/**
  3. * @desc : 초기 화면 설정
  4. * @id :
  5. * @event : xforms-ready
  6. * @return : void
  7. * @authur : 박종훈
  8. */
  9. function fReadyForm_old()
  10. {
  11. ivw_loader.attribute("top") = 30;
  12. ivw_loader.attribute("height") = 740;
  13. ivw_loader.src = "../../../emr/medirecweb/xrw/SSMMR01100_서식로더.xrw";
  14. ivw_patsmm.src = "../../../emr/medirecweb/xrw/SSMMR04800_진료요약기록.xrw";
  15. ivw_loader.window.javascript.gMediRecMain = true;
  16. ivw_loader.window.javascript.gIsCashedFormDegn = true;
  17. //ivw_patsmm.window.javascript.fResizeGrup("1", parseInt(ivw_patsmm.attribute("height")), parseInt(ivw_patsmm.attribute("width")));
  18. ivw_loader.window.javascript.fInitPage(true, true, parseInt(ivw_loader.attribute("height")));
  19. ivw_loader.window.javascript.afterSaveExeFuncNm = "fRefMediRecList";
  20. grd_medireclist.mergecol(grd_medireclist.colref("formrecdd")) = true;
  21. fReadyFormInitData();
  22. model.setValue("/root/init/reqmedireclist/diffdt", 12); //검색 디폴트 12개월
  23. fAddDateReq("today");
  24. model.setValue("/root/send/reqmedireclist/formrecdeptcd", getUserInfo("dutplcecd"));
  25. model.setValue("/root/send/reqmedireclist/chosflag", "A");
  26. model.setValue("/root/hidden/openform/degnid", getUserInfo("usernm"));
  27. model.refresh();
  28. // if (window.document.location == "C:/CMCProject/application/webapps/emr/medirecweb/xrw/" || window.document.location == "D:/CMCProject/application/webapps/emr/medirecweb/xrw/")
  29. // {// TFViewer로 생성시에 환자세팅을 위하여...
  30. // fTmpInitPamInfo("O");
  31. // //fOpenNewForm("0000000532");
  32. // }
  33. // else
  34. // {
  35. // fInitRecPamInfo();
  36. // }
  37. fInitRecPamInfo();
  38. var nodeList = model.instances(0).selectNodes("/root/main/mainlist/medireclist");
  39. if (nodeList.length > 0)
  40. {
  41. fShowMediRecCnt(grd_medireclist.valueMatrix(1, grd_medireclist.colref("formrecseq")));
  42. }
  43. }
  44. /**
  45. * @desc : 환자요약 화면 설정
  46. * @id :
  47. * @event :
  48. * @return : void
  49. * @authur : 박종훈
  50. */
  51. gIsSmmFst = "Y";
  52. function fSetPatSmm(visible)
  53. {
  54. if (visible)
  55. {
  56. ivw_patsmm.window.javascript.fInitalize();
  57. if (! ivw_patsmm.visible)
  58. {
  59. ivw_loader.attribute("top") = 215;
  60. ivw_loader.attribute("height") = 553;
  61. }
  62. }
  63. else
  64. {
  65. //ivw_patsmm.visible = false;
  66. ivw_loader.attribute("top") = 30;
  67. ivw_loader.attribute("height") = 740;
  68. }
  69. if (ivw_patsmm.visible != visible)
  70. {
  71. ivw_patsmm.visible = visible;
  72. ivw_loader.window.javascript.fInitPage(true, true, parseInt(ivw_loader.attribute("height")));
  73. if (gIsSmmFst == "Y") //처음 오픈시에만 사이즈 조절
  74. {
  75. ivw_patsmm.window.javascript.fResizeGrup("1", parseInt(ivw_patsmm.attribute("height")), parseInt(ivw_patsmm.attribute("width")));
  76. gIsSmmFst = "N";
  77. }
  78. }
  79. }
  80. function fSetRecItemValueBydegnitemlevlcd(reciteminfo)
  81. {
  82. return ivw_loader.window.javascript.fSetRecItemValue_MMR01100(reciteminfo);
  83. }
  84. /**
  85. * @desc : 진료기록 리스트 조회조건의 진료과 조회 및 서식즐겨찾기 조회
  86. * 2010.04.13 dhkim 기간옵션 조회 추가
  87. * @id :
  88. * @event :
  89. * @return : void
  90. * @authur : 박종훈
  91. */
  92. function fReadyFormInitData()
  93. {
  94. mmbfGetDeptCodeComboList("/root/send/reqdeptlist", "/root/init/deptlist", "A");
  95. sortNodeList("/root/init/deptlist/dept", "depthngnm", "asc"); // 가나다 순으로 정리되도록 수정.
  96. addComboItem("cbo_deptlist", "- 전체 -", "ALL", "above" );
  97. fFavorRefresh("refresh"); //즐겨찾기 조회
  98. //2010.04.12 dhkim 기간옵션 조회
  99. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/srchday", "024");
  100. var srchday = model.getValue("/root/envinit/srchday/answcnt");
  101. switch(srchday)
  102. {
  103. case "001" :
  104. model.setValue("/root/init/reqmedireclist/diffdt", "1");
  105. break;
  106. case "002" :
  107. model.setValue("/root/init/reqmedireclist/diffdt", "3");
  108. break;
  109. case "003" :
  110. model.setValue("/root/init/reqmedireclist/diffdt", "6");
  111. break;
  112. case "004" :
  113. model.setValue("/root/init/reqmedireclist/diffdt", "9");
  114. break;
  115. case "005" :
  116. model.setValue("/root/init/reqmedireclist/diffdt", "12");
  117. break;
  118. case "006" :
  119. model.setValue("/root/init/reqmedireclist/diffdt", "24");
  120. break;
  121. case "007" :
  122. model.setValue("/root/init/reqmedireclist/diffdt", "36");
  123. break;
  124. case "008" :
  125. model.setValue("/root/init/reqmedireclist/diffdt", "48");
  126. break;
  127. case "009" :
  128. model.setValue("/root/init/reqmedireclist/diffdt", "60");
  129. break;
  130. default :
  131. model.setValue("/root/init/reqmedireclist/diffdt", "12");
  132. break;
  133. }
  134. combo4.refresh();
  135. // 2013.08.28 CYW
  136. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/btnviewflag" , "041"); // 진료기록메인의 기록조회 디폴트 설정(버튼View)
  137. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/mainyn" , "042"); // 진료기록메인의 기록조회 디폴트 설정(공통기록만보기)
  138. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/rechfview" , "043"); // 진료기록메인의 기록조회 디폴트 설정(기록Header/Footer보기)
  139. // 2013.10.28 CYW
  140. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/painhide" , "048"); // 진료기록메인의 기록조회 디폴트 설정(통증숨김여부)
  141. // 2014.05.19 엄영만
  142. fGetUserEnvOcsOrdAnsw("/root/send/reqdata", "/root/envinit/deptmemopopyn", "054"); // 진료기록메인의 타과메모 팝업 여부
  143. // 통증숨김여부
  144. if( model.getValue("/root/envinit/painhide/answcnt") == "002" ){
  145. model.setValue("/root/temp/painhideflag", "true");
  146. }else{
  147. model.setValue("/root/temp/painhideflag", "false");
  148. }
  149. // 버튼보기여부
  150. if( model.getValue("/root/envinit/btnviewflag/answcnt") == "002" ){
  151. model.setValue("/root/temp/btnviewflag", "true");
  152. grp_btnbox.visible = false;
  153. group3.attribute("top") = "55";
  154. swt_left.attribute("top") = "80";
  155. swt_left.attribute("height") = "695";
  156. grd_medireclist.attribute("height") = "690";
  157. ivw_reccnts.attribute("height") = "690";
  158. ivw_reccnts.grd_medirec.attribute("style") = "left:0px; top:0px; width:583px; height:688px; background-position:center; border-style:none;";
  159. ivw_reccnts.grd_medirec.refresh();
  160. }else{
  161. model.setValue("/root/temp/btnviewflag", "false");
  162. }
  163. // 공통 기록지만 보기여부
  164. if( model.getValue("/root/envinit/mainyn/answcnt") == "002" ){
  165. model.setValue("/root/temp/btnmainyn", "true");
  166. }else{
  167. model.setValue("/root/temp/btnmainyn", "false");
  168. }
  169. // 기록내용 Header/Footer 보기여부
  170. if( model.getValue("/root/envinit/rechfview/answcnt") == "002" ){
  171. model.setValue("/root/temp/rechfview", "true");
  172. }else{
  173. model.setValue("/root/temp/rechfview", "false");
  174. }
  175. bool_btnmainyn.refresh();
  176. bool_btnviewflag.refresh();
  177. bool_rechfview.refresh();
  178. // 2013.08.28 CYW
  179. //2010.04.26 dhkim - 간호정보조사지 서울성모만 버튼 visible처리
  180. //기관코드(간호공통기준자료테이블에서 가져옴)
  181. var pCode = "'077'"; // 조회할 CdGrupID 코드정보(077:각기관코드정보)
  182. var pDate = getCurrentDate(); //조회기준일자
  183. fGetNursHardCdInfo_MMR00100(pCode, pDate);
  184. if(getUserInfo("dutplceinstcd") == model.getValue("/root/code_mmr00100/codeinfo/codelist[supcdid='01']/cdid")){
  185. btn_nursinfo.visible = true;
  186. }else{
  187. btn_nursinfo.visible = false;
  188. }
  189. }
  190. /**
  191. * @desc : 진료기록 메인의 왼쪽 스위치에 따른 함수 호출
  192. * @id :
  193. * @event :
  194. * @return : void
  195. * @authur : 박종훈
  196. */
  197. function fRefMain()
  198. {
  199. switch (swt_left.selectedIndex)
  200. {
  201. case 0:
  202. fRefMediRecList();
  203. break;
  204. case 1:
  205. //2014/03/17 이정택 추가
  206. fRefMediRecList();
  207. //2014/03/17 이정택 추가
  208. fShowMediRecCnt("");
  209. break;
  210. case 2:
  211. fShowOrdCnt(); //처방내역 조회
  212. break;
  213. default:
  214. // ivew 조건 설정 (치과 외래진료일 경우 치과기록 사용 : 최원돈 20101222 경북대)
  215. if ( btn_tab_denti.visible
  216. && ivw_denti.src != ""
  217. && btn_tab_denti.selected)
  218. {
  219. ivw_denti.window.javascript.fGetrecinfo();
  220. }
  221. break;
  222. }
  223. //2013.11.28 김영기 수진일자와 기록일자가 다를경우 색상변화
  224. fSetColorByNotSameOrdddandRecdd(grd_medireclist);
  225. }
  226. /**
  227. * @desc : 미리보기 조회
  228. * @id :
  229. * @event :
  230. * @return : void
  231. * @authur : 박종훈
  232. * @parameter : formrecseq - 검색하고자 하는 seq번호
  233. findrowInfo - 원하는 그룹 search(같은서식 검색으로 seq가 구분자로 멀티로 구성되어 넘어옴.)
  234. * 2010/01/04 hkjoo 수정
  235. */
  236. function fShowMediRecCnt(formrecseq, arrFormrecseq)
  237. {
  238. model.addlog("fShowMediRecCnt_start");
  239. if (model.getValue("/root/main/paminfo/pid") == "")
  240. {
  241. return;
  242. }
  243. //cyw
  244. fGrdSortFlag();
  245. var cond = new COMN_CONT_RECCNTS();
  246. var instance = document.models(0).instances(0);
  247. var nodeReclist = instance.selectNodes("/root/main/mainlist/medireclist");
  248. var nodeReclistlength = nodeReclist.length;
  249. cond.pid = model.getValue("/root/main/paminfo/pid");
  250. cond.formrecdeptcd = model.getValue("/root/send/reqmedireclist/formrecdeptcd");
  251. cond.chosflag = model.getValue("/root/send/reqmedireclist/chosflag");
  252. cond.rechfview = model.getValue("/root/temp/rechfview");
  253. cond.mainyn = model.getValue("/root/temp/btnmainyn"); // 2013.09.25 CYW
  254. cond.recformsort = model.getValue("/root/temp/recformsort"); // 2013.10.22 CYW
  255. cond.painhideflag = model.getValue("/root/temp/painhideflag"); // 2013.10.28 CYW
  256. cond.notprogress = model.getValue("/root/temp/notprogress"); // 2014.05.30 이윤주
  257. cond.reclistlength = nodeReclistlength;
  258. //2014/02/20 이정택 추가
  259. // 페이징 여부를 넘겨줌
  260. if(formrecseq!="" && formrecseq!=null){
  261. cond.pagingyn = "N";
  262. ivw_reccnts.window.javascript.btn_paging.visible=false;
  263. }else{
  264. cond.formrecseq="";
  265. cond.pagingyn = "Y";
  266. cond.pagecnt = "1";
  267. }
  268. //2014/02/20 이정택 추가
  269. if (formrecseq == ""){
  270. cond.recfromdt = model.getValue("/root/init/reqmedireclist/recfromdt");
  271. cond.rectodt = model.getValue("/root/init/reqmedireclist/rectodt");
  272. }else{
  273. cond.recfromdt = "";
  274. cond.rectodt = "";
  275. }
  276. //2010/01/04 hkjoo 추가
  277. if ( arrFormrecseq != null )
  278. cond.arrFormrecseq = arrFormrecseq;
  279. ////////////////////////
  280. cond.formrecseq = formrecseq;
  281. ivw_reccnts.window.javascript.fRefMediRecCnts(cond);
  282. swt_left.selectedIndex = 1;
  283. button15.selected = true;
  284. fSetIviewVisible(false); // ivew 화면 설정 (치과 외래진료일 경우 치과기록 사용 : 최원돈 20101223 경북대)
  285. model.addlog("fShowMediRecCnt_end");
  286. }
  287. /**
  288. * @desc : 미리보기 조회(XSLT)
  289. * @id :
  290. * @event :
  291. * @return : void
  292. * @authur : 박종훈
  293. */
  294. function fShowMediRecCntByXslt(signno, formcd)
  295. {
  296. model.resetInstanceNode("/root/send/xslsend");
  297. model.removeNodeset("/root/tmpinicert");
  298. model.makeValue("/root/send/xslsend/signno", signno);
  299. if(submit("TRMRI02401"))
  300. {
  301. var certnodeList = instance1.selectNodes("/root/tmpinicert/iniinfo");
  302. var foldernm = "C:/CertrecPrnt";
  303. if (certnodeList.length <= 0)
  304. return;
  305. fExistFolder(foldernm);
  306. var emrpath = "";
  307. var emrorddate = "";
  308. var emrformnm = "";
  309. var emrformcd = "";
  310. var emrdeptnm = "";
  311. var emrdeptcd = "";
  312. var emrpage = "";
  313. var emrhiddenmsg = "";
  314. var k = "";
  315. var pid = "";
  316. var ptnm = "";
  317. var deptengabbr = "";
  318. var rgstno = "";
  319. var sa = "";
  320. var disporddd = "";
  321. var orddd = "";
  322. var drid = "";
  323. var roomcd = "";
  324. var ordtype = "";
  325. var chosflag = "";
  326. var orddeptcd = "";
  327. var signflag = "";
  328. var signno = 0;
  329. var formcd = "";
  330. var formnm = "";
  331. var recdt = "";
  332. for(var i = 1; i <= certnodeList.length; i++)
  333. {
  334. signno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signno");
  335. formcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formcd");
  336. formnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/formnm");
  337. recdt = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/recdt");
  338. trans = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/trans");
  339. pid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/pid");
  340. ptnm = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ptnm");
  341. deptengabbr = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/deptengabbr");
  342. rgstno = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/rgstno");
  343. sa = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/sa");
  344. disporddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/disporddd");
  345. orddd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddd");
  346. drid = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/drid");
  347. roomcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/roomcd");
  348. ordtype = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/ordtype");
  349. chosflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/chosflag");
  350. orddeptcd = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/orddeptcd");
  351. signflag = model.getValue("/root/tmpinicert/iniinfo[" + i + "]/signflag");
  352. model.makeValue("/root/prthist[" + i + "]/pid", pid);
  353. model.makeValue("/root/prthist[" + i + "]/signno", signno);
  354. model.makeValue("/root/prthist[" + i + "]/reckind", "01");
  355. model.makeValue("/root/prthist[" + i + "]/readprtflag", "P");
  356. model.makeValue("/root/prthist[" + i + "]/formcd", formcd);
  357. model.makeValue("/root/prthist[" + i + "]/signflag", signflag);
  358. model.makeValue("/root/prthist[" + i + "]/orddd", orddd);
  359. model.makeValue("/root/prthist[" + i + "]/chosflag", chosflag);
  360. model.makeValue("/root/prthist[" + i + "]/refusge", "");
  361. model.makeValue("/root/prthist[" + i + "]/refremark", "");
  362. if(trans == "")
  363. {
  364. trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/emr/ \n %INCLUDE recmngtweb/xrw/cmc.ini \n VAR_PAT_NUM = " + pid + " \n VAR_PAT_NAME = " + ptnm + " \n %-->\n" + "<html><head><title>출력화면 구현중입니다.</title></head><body>출력화면 구현중입니다.</body></html>"
  365. //alert("출력용 서식 디자인이 존재하지 않습니다.");
  366. //return;
  367. }
  368. else
  369. {
  370. trans = "<!--% \n %BASE " + getDomain() + "/himed/webapps/emr/ \n %INCLUDE recmngtweb/xrw/cmc.ini \n VAR_PAT_NUM = " + pid + " \n VAR_PAT_NAME = " + ptnm + " \n %-->\n" + trans
  371. }
  372. obj_cvrt.InputPath = "wide://" + trans;
  373. obj_cvrt.SaveFile(foldernm + "/" + signno + "_" + "####.jpg");
  374. pageno = obj_cvrt.TotalPage;
  375. for(var j = 1; j <= pageno; j++)
  376. {
  377. k = ("" + j + "").getLeftPad(4, "0");
  378. emrpath += foldernm + "/" + signno + "_" + k + ".jpg|";
  379. emrorddate += orddd + "|";
  380. emrformnm += formnm + "|";
  381. emrformcd += formcd + "|";
  382. emrdeptnm += deptengabbr + "|";
  383. emrdeptcd += orddeptcd + "|";
  384. emrpage += j+"|";
  385. emrhiddenmsg += formcd + "▦" + signno + "▦" + formnm + "▦" + chosflag + "▦" +pid + "▦" + ptnm + "▦" + deptengabbr
  386. + "▦" + sa + "▦" + rgstno + "▦" + disporddd + "▦" + drid + "▦" + roomcd + "▦" + disporddd + "▦" + ordtype + "▦" + "E" +"|";
  387. }
  388. }
  389. model.removeNodeset("/root/temp/inisend");
  390. model.resetInstanceNode("/root/imgrec/iemr");
  391. //iviewerIemr.window.javascript.resetInstance_EMR();
  392. //이미지경로
  393. model.makeValue("/root/temp/inisend/emrpath", emrpath.substring(0, emrpath.length - 1));
  394. iviewerIemr.model.setValue("/root/main/emrpath", model.getValue("/root/temp/inisend/emrpath"));
  395. //진료일
  396. model.makeValue("/root/temp/inisend/emrorddate", emrorddate.substring(0, emrorddate.length - 1));
  397. iviewerIemr.model.setValue("/root/main/emrorddate", model.getValue("/root/temp/inisend/emrorddate"));
  398. //서식명
  399. model.makeValue("/root/temp/inisend/emrformnm", emrformnm.substring(0, emrformnm.length - 1));
  400. iviewerIemr.model.setValue("/root/main/emrformnm", model.getValue("/root/temp/inisend/emrformnm"));
  401. //서식코드
  402. model.makeValue("/root/temp/inisend/emrformcd", emrformcd.substring(0, emrformcd.length - 1));
  403. iviewerIemr.model.setValue("/root/main/emrformcd", model.getValue("/root/temp/inisend/emrformcd"));
  404. //진료과
  405. model.makeValue("/root/temp/inisend/emrdeptnm", emrdeptnm.substring(0, emrdeptnm.length - 1));
  406. iviewerIemr.model.setValue("/root/main/emrdeptnm", model.getValue("/root/temp/inisend/emrdeptnm"));
  407. //진료과코드
  408. model.makeValue("/root/temp/inisend/emrdeptcd", emrdeptcd.substring(0, emrdeptcd.length - 1));
  409. iviewerIemr.model.setValue("/root/main/emrdeptcd", model.getValue("/root/temp/inisend/emrdeptcd"));
  410. //페이지
  411. model.makeValue("/root/temp/inisend/emrpage", emrpage.substring(0, emrpage.length - 1));
  412. iviewerIemr.model.setValue("/root/main/emrpage", model.getValue("/root/temp/inisend/emrpage"));
  413. model.makeValue("/root/temp/inisend/emrhiddenmsg", emrhiddenmsg.substring(0, emrhiddenmsg.length - 1));
  414. iviewerIemr.model.setValue("/root/main/emrhiddenmsg", model.getValue("/root/temp/inisend/emrhiddenmsg"));
  415. var iemrNode = instance1.selectSingleNode("/root/imgrec/iemr");
  416. iviewerIemr.window.javascript.searchChart(iemrNode);
  417. if (iviewerIemr.window.javascript.downloadChart() == true)
  418. {
  419. iviewerIemr.window.javascript.setupChart("ChartView");
  420. }
  421. }
  422. model.toggle("case5");
  423. button16.selected = true;
  424. }
  425. /**
  426. * @desc : 진료기록 리스트 조회조건 시작일, 종료일 셋팅
  427. * @id :
  428. * @event :
  429. * @return : void
  430. * @authur : 박종훈
  431. */
  432. function fAddDateReq(diffFlag)
  433. {
  434. var frdd = model.getValue("/root/init/reqmedireclist/recfromdt");
  435. var todd = model.getValue("/root/init/reqmedireclist/rectodt");
  436. var srcdd = new Date();
  437. var destdd = new Date();
  438. var diffdt;
  439. if (diffFlag == "next")
  440. {
  441. srcdd = todd.toDate();
  442. srcdd = srcdd.getAddDate(1, "D");
  443. frdd = srcdd.getDateFormat();
  444. diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * 1;
  445. destdd = srcdd.getAddDate(diffdt, "M");
  446. todd = destdd.getDateFormat();
  447. }
  448. else if (diffFlag == "back")
  449. {
  450. srcdd = frdd.toDate();
  451. srcdd = srcdd.getAddDate(-1, "D");
  452. todd = srcdd.getDateFormat();
  453. diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * -1;
  454. destdd = srcdd.getAddDate(diffdt, "M");
  455. frdd = destdd.getDateFormat();
  456. }
  457. else if (diffFlag == "today")
  458. {
  459. todd = getCurrentDate();
  460. var today = new Date();
  461. var frday = new Date();
  462. var diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * -1;
  463. frday = today.getAddDate(diffdt , "M");
  464. frdd = frday.getDateFormat();
  465. }
  466. else
  467. {
  468. var today = todd.toDate();
  469. var frday = new Date();
  470. var diffdt = parseInt(model.getValue("/root/init/reqmedireclist/diffdt")) * -1;
  471. frday = today.getAddDate(diffdt , "M");
  472. frdd = frday.getDateFormat();
  473. }
  474. model.setValue("/root/init/reqmedireclist/recfromdt", frdd);
  475. model.setValue("/root/init/reqmedireclist/rectodt", todd);
  476. ipt_formrecdtfr.refresh();
  477. ipt_formrecdtto.refresh();
  478. }
  479. function fGetUserComnFormCd(srcformcd)
  480. {
  481. selnode = instance1.selectSingleNode("/root/main/tmpformlist/endformlist[srcformcd='"+srcformcd+"' and formuseflag='D' and formdeptcd='"+ getUserInfo("dutplcecd") +"']/formcd");
  482. if (selnode.text == "")
  483. {
  484. selnode = instance1.selectSingleNode("/root/main/tmpformlist/endformlist[srcformcd='"+srcformcd+"' and formuseflag='C']/formcd");
  485. }
  486. return selnode.text;
  487. }
  488. /**
  489. * @desc : 환자 원무 정보 셋팅(개발 환경이 로컬일 경우)
  490. * @id :
  491. * @event :
  492. * @return : void
  493. * @authur : 박종훈
  494. */
  495. //function fTmpInitPamInfo(chosflag)
  496. //{
  497. // // TF viewer로 로딩시에 환자정보 세팅
  498. // if (window.document.location != "C:/CMCProject/application/webapps/emr/medirecweb/xrw/" && window.document.location != "D:/CMCProject/application/webapps/emr/medirecweb/xrw/") return;
  499. // if (chosflag == "O")
  500. // {
  501. // model.makeValue("/root/main/paminfo/pid", "17419028");
  502. // model.makeValue("/root/main/paminfo/orddd", "20080303");
  503. // model.makeValue("/root/main/paminfo/cretno", "360043723");
  504. // model.makeValue("/root/main/paminfo/ioflag", "O");
  505. // model.makeValue("/root/main/paminfo/fsexamflag", "R");
  506. // model.makeValue("/root/main/paminfo/orddeptcd", "2060000000");
  507. // model.makeValue("/root/main/paminfo/orddrid", "93015133");
  508. // }
  509. // else if (chosflag == "I")
  510. // {
  511. // model.makeValue("/root/main/paminfo/pid", "16377040");
  512. // model.makeValue("/root/main/paminfo/indd", "20071007");
  513. // model.makeValue("/root/main/paminfo/cretno", "22532");
  514. // model.makeValue("/root/main/paminfo/ioflag", "I");
  515. // model.makeValue("/root/main/paminfo/orddeptcd", "2010000000");
  516. // model.makeValue("/root/main/paminfo/medispclid", "EMR");
  517. // model.makeValue("/root/main/paminfo/atdoctid", "EMR");
  518. // }
  519. // else if (chosflag == "E")
  520. // {
  521. // model.makeValue("/root/main/paminfo/pid", "19862");
  522. // model.makeValue("/root/main/paminfo/indd", "20070808");
  523. // model.makeValue("/root/main/paminfo/cretno", "1");
  524. // /*model.makeValue("/root/main/paminfo/pid", "20143");
  525. // model.makeValue("/root/main/paminfo/indd", "20070816");
  526. // model.makeValue("/root/main/paminfo/cretno", "1");*/
  527. //
  528. // model.makeValue("/root/main/paminfo/ioflag", "E");
  529. // model.makeValue("/root/main/paminfo/orddeptcd", "2280000000");
  530. // model.makeValue("/root/main/paminfo/medispclid", "10301864");
  531. // model.makeValue("/root/main/paminfo/atdoctid", "-");
  532. // }
  533. //
  534. // model.makeValue("/root/temp/initpatinfo/localyn", "Y");
  535. //
  536. // fInitRecPamInfo();
  537. //}
  538. /**
  539. * @desc : 환자 원무 정보 셋팅전 기록 저장여부 체크
  540. * @id :
  541. * @event :
  542. * @return : void
  543. * @authur : 박종훈
  544. */
  545. function fPrevInitRecPamInfo()
  546. {
  547. if (ivw_loader.src != "" && ivw_loader.ivw_base.src != "")
  548. {
  549. var rtn = "N";
  550. rtn = ivw_loader.window.javascript.fCheckChangeDataForCosign();
  551. if (rtn != "N") //수정데이터가 있는 경우
  552. {
  553. var sPid = model.getValue("/root/main/paminfo/pid");
  554. var sPnm = model.getValue("/root/main/paminfo/hngnm");
  555. var rtnmsg = messageBox("기록내용 중 저장되지 않은 내용이 있습니다. " + sPid + " " + sPnm + " 환자의 기록을", "Q002");
  556. setParameter("SSMMR01100_recsavechk", "Y");
  557. if (rtnmsg == 6)
  558. {
  559. var saveRtn = ivw_loader.window.javascript.fClickSave("Y");
  560. if (!saveRtn)
  561. {
  562. return false;
  563. }
  564. else
  565. {
  566. //2010.03.24 안치원 - 환자선택시 저장후에 저장완료 메세지창 뜨지 않게 수정
  567. //messageBox(sPid + " " + sPnm +" 환자의 기록으로 저장되었습니다.", "I", "");
  568. }
  569. }
  570. }
  571. }
  572. //2010.04.26 dhkim - 진료대상자 선택시 기존에 열려있던 간호정보조사지 팝업을 모두 닫음.
  573. fCloseNursrecPop();
  574. return true;
  575. }
  576. /**
  577. * @desc : 환자 원무 정보 셋팅
  578. * @id :
  579. * @event :
  580. * @return : void
  581. * @authur : 박종훈
  582. */
  583. function fInitRecPamInfo()
  584. {
  585. //환자정보 새로 바뀔시 기록 수정을 위해 셋팅되어있던 파리미터 clear
  586. clearParameter("SSMMR01200_Param_formcd");
  587. clearParameter("SSMMR01200_Param_recseq");
  588. isFstListSrch = "Y";
  589. try
  590. {
  591. // if (model.getValue("/root/temp/initpatinfo/localyn") != "Y")
  592. // {
  593. // var node = getGlobalVariable("paminfo");
  594. //
  595. // model.removeNodeset("/root/main/paminfo");
  596. // setCSVToNode("/root/main", node, "paminfo");
  597. // }
  598. // model.makeValue("/root/temp/initpatinfo/localyn", "N");
  599. var node = getGlobalVariable("paminfo");
  600. model.removeNodeset("/root/main/paminfo");
  601. setCSVToNode("/root/main", node, "paminfo");
  602. model.setValue("/root/send/reqinitinfo/pid", model.getValue("/root/main/paminfo/pid"));
  603. model.setValue("/root/send/reqinitinfo/cretno", model.getValue("/root/main/paminfo/cretno"));
  604. model.setValue("/root/send/reqinitinfo/chosflag", model.getValue("/root/main/paminfo/ioflag"));
  605. if (model.getValue("/root/send/reqinitinfo/chosflag") == "O" || model.getValue("/root/send/reqinitinfo/chosflag") == "S")
  606. {
  607. button24.disabled = true;
  608. model.setValue("/root/send/reqinitinfo/orddd", model.getValue("/root/main/paminfo/orddd"));
  609. }
  610. else
  611. {
  612. button24.disabled = false;
  613. model.setValue("/root/send/reqinitinfo/orddd", model.getValue("/root/main/paminfo/indd"));
  614. }
  615. fFavorRefresh("chosflag");
  616. /*
  617. * 진료대상자리스트의 외래out,입원in,응급er,수술op,의뢰cnst 구분값 세팅
  618. */
  619. var tabflag = "";
  620. var oprsrvno = "";
  621. var wndobj = getOpenWindow("SMMMO04100");
  622. if (wndobj != null)
  623. {
  624. tabflag = wndobj.javascript.getParameter("SMMMO04100_medirec_caseid");
  625. }
  626. if (tabflag == "op")
  627. {
  628. var operation = getGlobalVariable("operation").split("▩")[1];
  629. if(operation != null && operation != ""){
  630. oprsrvno = operation.split("▦")[0];
  631. }
  632. }
  633. model.makeValue("/root/send/reqinitinfo/tabflag", tabflag);
  634. model.makeValue("/root/send/reqinitinfo/patflag", model.getValue("/root/main/paminfo/autoformcd"));
  635. model.makeValue("/root/send/reqinitinfo/formrecdeptcd", model.getValue("/root/send/reqmedireclist/formrecdeptcd"));
  636. model.makeValue("/root/send/reqinitinfo/oprsrvno", oprsrvno);
  637. ivw_reccnts.window.javascript.fClear();
  638. model.removeNodeset("/root/main/mainlist/medireclist");
  639. /*
  640. * 의사별미비리스트, CP 인터페이스 formcd및, formrecseq 세팅, formrecdd 세팅
  641. */
  642. var unprepformcd = getGlobalVariable("linked_formcd", "emr");
  643. var unprepformrecseq = getGlobalVariable("linked_formrecseq", "emr");
  644. var unprepformrecdd = getGlobalVariable("linked_formrecdd", "emr");
  645. // 글로벌 파라미터 초기화
  646. setGlobalVariable("linked_formcd", "", "emr") ;
  647. setGlobalVariable("linked_formrecseq", "", "emr") ;
  648. setGlobalVariable("linked_formrecdd", "", "emr") ; // 추후 수정 : 해당 위치에 셋팅 후 초기화
  649. var cpformcd = getGlobalVariable("linked_cpformcd", "emr");
  650. var cpformrecseq = getGlobalVariable("linked_cpformrecseq", "emr");
  651. var cpformrecdd = getGlobalVariable("linked_cpformrecdd", "emr");
  652. // 글로벌 파라미터 초기화
  653. setGlobalVariable("linked_cpformcd", "", "emr") ;
  654. setGlobalVariable("linked_cpformrecseq", "", "emr") ;
  655. setGlobalVariable("linked_cpformrecdd", "", "emr") ; // 추후 수정 : 해당 위치에 셋팅 후 초기화
  656. if(unprepformcd != "") //미비
  657. {
  658. setParameter("SSMMR01100_cert_Cnfm", "Y"); //미비기록의 경우 인증서를 한번만 띄워주기 위한 param(2008-12-29 : 박종훈 추가)
  659. if(unprepformrecseq != "")
  660. {
  661. fOpenRecForm(unprepformcd, unprepformrecseq);
  662. fShowMediRecCnt(unprepformrecseq);
  663. }
  664. else
  665. {
  666. ivw_loader.window.javascript.setParameter("SSMMR01100_formrecdd", unprepformrecdd);
  667. fOpenNewForm(unprepformcd);
  668. }
  669. unprepformcd = "";
  670. unprepformrecseq = "";
  671. unprepformrecdd = "";
  672. }
  673. else if(cpformcd != "") //CP
  674. {
  675. if(cpformrecseq != "")
  676. {
  677. fOpenRecForm(cpformcd, cpformrecseq);
  678. }
  679. else
  680. {
  681. ivw_loader.window.javascript.setParameter("SSMMR01100_formrecdd", cpformrecdd);
  682. fOpenNewForm(cpformcd);
  683. }
  684. cpformcd = "";
  685. cpformrecseq = "";
  686. cpformrecdd = "";
  687. }
  688. else
  689. {
  690. /*
  691. * 기본서식 조회
  692. */
  693. if (submit("TRMMR00102",false))
  694. {
  695. setParameter("srchmemo","Y");
  696. var isOpenNewForm = false;
  697. if (model.getValue("/root/main/initinfo/lastformrecseq") != "")
  698. {
  699. //KNUH_20110208, 주희경, 로그인 시 미리 데이터를 조회해 놓고 copy해서 쓰는 방식으로 변경
  700. //환경설정에서 진료기록메인의 왼쪽화면 디폴트 탭 설정 값을 읽어와 탭설정
  701. var viewerObj = getViewer("sysMessage");
  702. var answvalnm = viewerObj.window.model.getValue(gvOrderBasicInfoPath +"/interface[qestcd='032']/answcnt");
  703. if ( answvalnm == "001" )
  704. {
  705. swt_left.selectedIndex = 0;
  706. button66.selected = true;
  707. fRefMain();
  708. }
  709. else if ( ( model.getValue("/root/main/initinfo/lastformrecseq") > 0 ) )
  710. {
  711. fShowMediRecCnt(model.getValue("/root/main/initinfo/lastformrecseq"));
  712. }
  713. else
  714. {
  715. swt_left.selectedIndex = 0;
  716. button66.selected = true;
  717. fSetIviewVisible(false); // ivew 화면 설정 (치과 외래진료일 경우 치과기록 사용 : 최원돈 20101223 경북대)
  718. }
  719. }
  720. if (model.getValue("/root/main/initinfo/formrecseq") != "")
  721. {
  722. fOpenRecForm(model.getValue("/root/main/initinfo/formcd"), model.getValue("/root/main/initinfo/formrecseq"));
  723. }
  724. else
  725. {
  726. isOpenNewForm = true;
  727. }
  728. if (isOpenNewForm)
  729. {
  730. if (model.getValue("/root/main/initinfo/formcd") == "")
  731. {
  732. ivw_loader.src = "";
  733. ivw_loader.src = "../../../emr/medirecweb/xrw/SSMMR01100_서식로더.xrw";
  734. ivw_loader.window.javascript.fInitPage(true, true, parseInt(ivw_loader.attribute("height")));
  735. //messageBox("기본서식을 알아 오는데 실패했습니다.\n\n서식목록이나 즐겨찾기에서 서식을 선택하시기 바랍니다.", "C", "")
  736. }
  737. else if (model.getValue("/root/main/initinfo/formcd") == "outfstmediform")
  738. {
  739. //messageBox("기존의 초진기록지에 수기작성해 주십시오.", "E", "");
  740. }
  741. else
  742. {
  743. fOpenNewForm(model.getValue("/root/main/initinfo/formcd"));
  744. }
  745. }
  746. }
  747. }
  748. //2009.10.26 안치원 TASK-32482
  749. //서식목록에서 응급환자의 경우 입퇴원요약기록이 안보이게 한다.
  750. //환자의 내원구분이 바뀌면 서식목록을 리로드한다.
  751. var curObj = window.javascript.getOpenWindow("SPMMR01000");
  752. var selectedChosFlag = model.getValue("/root/hidden/selectedChosFlag");
  753. var chosFlag = model.getValue("/root/send/reqinitinfo/chosflag");
  754. if (curObj != null && selectedChosFlag != chosFlag) {
  755. model.makeValue("/root/hidden/selectedChosFlag", chosFlag);
  756. //환자의 내원구분이 바뀌면 서식목록을 닫는다.
  757. //curObj.window.javascript.reloadByRecMain();
  758. curObj.window.close();
  759. }
  760. }
  761. catch (e)
  762. {
  763. //alert("fInitRecPamInfo");
  764. throw e;
  765. }
  766. //2009.11.18 안치원 - 진료대상자리스트의 환자 수진키와 비교한다.
  767. validPamInfo(model.getValue("/root/main/paminfo/pid")
  768. ,model.getValue("/root/main/paminfo/orddd")
  769. ,model.getValue("/root/main/paminfo/cretno"), 1);
  770. //시점 문제로 loader의 oncomnformloadcomplete으로 호출시점 변경
  771. //fOpenPrcpMainWnd();
  772. // 치과기록 버튼 및 초기화 설정 : 최원돈 20101222 경북대
  773. ivw_denti.src="";
  774. ivw_dentifmla.src="";
  775. btn_tab_denti.visible = ( model.getValue("/root/main/paminfo/ioflag") == "O"
  776. && model.getValue("/root/init/dentdept/hardcd[hardcd='" + getUserInfo("dutplcecd") + "']/hardcd") != "");
  777. fSetIviewVisible(false);
  778. }
  779. /**
  780. * @desc : 처방 메인 새로고침
  781. * @id :
  782. * @event :
  783. * @return : void
  784. * @authur : 박종훈
  785. */
  786. function fOpenPrcpMainWnd()
  787. {
  788. var ordpatlistObj = getOpenWindow("SMMMO04100");
  789. if(ordpatlistObj != null)
  790. {
  791. ordpatlistObj.javascript.fOpenPrcpMainWnd();
  792. }
  793. fReadyFormInitData();//2010.04.13 dhkim 기록조회 환경설정내용 새로고침
  794. }
  795. /**
  796. * @desc : CP창에서 기록지 호출
  797. * @id :
  798. * @event :
  799. * @return : void
  800. * @authur : 박종훈
  801. */
  802. function fOpenFormByOther(formcd, formrecseq, calledflag, recdd)
  803. {
  804. if (formrecseq != null && formrecseq != "")
  805. {
  806. fOpenRecForm(formcd, formrecseq, calledflag);
  807. }
  808. else
  809. {
  810. ivw_loader.window.javascript.setParameter("SSMMR01100_formrecdd", recdd);
  811. fOpenNewForm(formcd, calledflag);
  812. }
  813. }
  814. function fCheckSaveRec()
  815. {
  816. return false;
  817. }
  818. /**
  819. * @desc : 기록 목록 조회
  820. * @id :
  821. * @event :
  822. * @return : void
  823. * @authur : 박종훈
  824. */
  825. var isFstListSrch = "Y";
  826. function fRefMediRecList()
  827. {
  828. if (model.getValue("/root/main/paminfo/pid") == "")
  829. {
  830. messageBox("환자정보가 존재하지 않아 진행 ", "E001");
  831. return;
  832. }
  833. model.setValue("/root/send/reqmedireclist/pid", model.getValue("/root/main/paminfo/pid"));
  834. if (model.getValue("/root/main/paminfo/ioflag") == "O")
  835. model.setValue("/root/send/reqmedireclist/orddd", model.getValue("/root/main/paminfo/orddd"));
  836. else
  837. model.setValue("/root/send/reqmedireclist/orddd", model.getValue("/root/main/paminfo/indd"));
  838. model.setValue("/root/send/reqmedireclist/cretno", model.getValue("/root/main/paminfo/cretno"));
  839. model.setValue("/root/send/reqmedireclist/orddeptcd", model.getValue("/root/main/paminfo/orddeptcd"));
  840. model.setValue("/root/send/reqmedireclist/recfromdt", model.getValue("/root/init/reqmedireclist/recfromdt"));
  841. model.setValue("/root/send/reqmedireclist/rectodt", model.getValue("/root/init/reqmedireclist/rectodt"));
  842. model.makeValue("/root/send/reqmedireclist/formcd", "-");
  843. model.makeValue("/root/send/reqmedireclist/mainyn" , model.getValue("/root/temp/btnmainyn") );
  844. model.makeValue("/root/send/reqmedireclist/recformsort" , model.getValue("/root/temp/recformsort") );
  845. model.makeValue("/root/send/reqmedireclist/notprogress" , model.getValue("/root/temp/notprogress") );
  846. submit("TRMMR00101");
  847. var cnt = getNodesetCnt(model, "/root/main/mainlist/visitdept");
  848. if (cnt > 0)
  849. {
  850. var orddd = model.getValue("/root/send/reqmedireclist/orddd");
  851. var cretno = model.getValue("/root/send/reqmedireclist/cretno");
  852. var cnt2 = getNodesetCnt(model, "/root/main/mainlist/medireclist");
  853. if (cnt2 == 0)
  854. {
  855. for (var i = 1; i <= cnt; i++)
  856. {
  857. model.makeValue("/root/main/mainlist/medireclist["+i+"]/formrecdeptcd", model.getValue("/root/main/mainlist/visitdept["+i+"]/orddeptcd"));
  858. model.makeValue("/root/main/mainlist/medireclist["+i+"]/formrecdeptnm", model.getValue("/root/main/mainlist/visitdept["+i+"]/orddeptnm"));
  859. model.makeValue("/root/main/mainlist/medireclist["+i+"]/formnminfo", "호출과 미작성");
  860. model.makeValue("/root/main/mainlist/medireclist["+i+"]/orddd", orddd);
  861. model.makeValue("/root/main/mainlist/medireclist["+i+"]/cretno", cretno);
  862. }
  863. }
  864. else
  865. {
  866. var cond = "/root/main/mainlist/medireclist[orddd='#orddd#' and cretno='#cretno#' and formrecdeptcd='#deptcd#']";
  867. cond = cond.replace("#orddd#", orddd);
  868. cond = cond.replace("#cretno#", cretno);
  869. var stmt;
  870. for (var i = 1; i <= cnt; i++)
  871. {
  872. stmt = cond.replace("#deptcd#", model.getValue("/root/main/mainlist/visitdept["+i+"]/orddeptcd"));
  873. nodelist = instance1.selectNodes(stmt);
  874. cnt2 = getNodesetCnt(model, stmt);
  875. if (cnt2 == 0)
  876. {
  877. grd_medireclist.insertRow(1, "above");
  878. model.setValue("/root/main/mainlist/medireclist[1]/formrecdeptcd", model.getValue("/root/main/mainlist/visitdept["+i+"]/orddeptcd"));
  879. model.setValue("/root/main/mainlist/medireclist[1]/formrecdeptnm", model.getValue("/root/main/mainlist/visitdept["+i+"]/orddeptnm"));
  880. model.setValue("/root/main/mainlist/medireclist[1]/formnminfo", "호출과 미작성");
  881. model.setValue("/root/main/mainlist/medireclist[1]/orddd", orddd);
  882. model.setValue("/root/main/mainlist/medireclist[1]/cretno", cretno);
  883. }
  884. }
  885. }
  886. model.refresh();
  887. for (var i = 1; i <= grd_medireclist.rows; i++)
  888. {
  889. if (grd_medireclist.valueMatrix(i, grd_medireclist.colref("orddd")) == orddd &&
  890. grd_medireclist.valueMatrix(i, grd_medireclist.colref("cretno")) == cretno)
  891. grd_medireclist.rowStyle(i, "data", "color") = "blue";
  892. }
  893. }
  894. //2014/03/17 이정택 주석처리
  895. // swt_left.selectedIndex = 0;
  896. //2014/03/17 이정택 주석처리
  897. button66.selected = true;
  898. fSetIviewVisible(false); // ivew 화면 설정 (치과 외래진료일 경우 치과기록 사용 : 최원돈 20101223 경북대)
  899. grd_medireclist.mergeCol(grd_medireclist.colref("formrecdd")) = true;
  900. grd_medireclist.merge();
  901. if (grd_medireclist.rows > 1)
  902. {
  903. grd_medireclist.row = 1;
  904. }
  905. }
  906. /**
  907. * @desc : 기록 삭제
  908. * @id :
  909. * @event :
  910. * @return : void
  911. * @authur : 박종훈
  912. */
  913. function fDelete()
  914. {
  915. var formcd = ivw_loader.window.javascript.fGetFormMast("formcd");
  916. if (formcd == "") return;
  917. var ret = ivw_loader.window.javascript.fDelFormRec();
  918. if (ret == null) return;
  919. fOpenNewForm(formcd);
  920. fRefMediRecList();
  921. }
  922. /**
  923. * @desc : 서식 오픈
  924. * @id :
  925. * @event :
  926. * @return : void
  927. * @authur : 박종훈
  928. */
  929. function fOpenNewForm(formcd, calledflag)
  930. {
  931. ivw_loader.window.javascript.fLoadNewForm(formcd, null, calledflag);
  932. fDefaultBtnClick();// 치과기록 닫기 ivew 조건 설정 (치과 외래진료일 경우 치과기록 사용 : 최원돈 20101222 경북대)
  933. }
  934. /**
  935. * @desc : 즐겨찾기 콤보에서의 서식 오픈
  936. * @id :
  937. * @event : xforms-select
  938. * @return : void
  939. * @authur : 박종훈
  940. */
  941. function fOpenNewFormByList()
  942. {
  943. var sFormcd = model.getValue("/root/hidden/choinewform");
  944. if(sFormcd == "-"){
  945. fFavorRefresh(); //즐겨찾기 refresh
  946. } else {
  947. fOpenNewForm(sFormcd);
  948. model.setValue("/root/hidden/choinewform", "-");
  949. model.refresh();
  950. }
  951. }
  952. /**
  953. * @desc : 기록된 서식 오픈
  954. * @id :
  955. * @event : xforms-select
  956. * @return : void
  957. * @authur : 박종훈
  958. */
  959. function fOpenRecForm(formcd, formrecseq, calledflag) {
  960. ivw_loader.window.javascript.setParameter("userdeptcd", getUserInfo("dutplcecd"));
  961. ivw_loader.window.javascript.fLoadRecForm(formrecseq, null, calledflag);
  962. }
  963. /**
  964. * @desc : 기록 미리보기
  965. * @id :
  966. * @event : xforms-select
  967. * @return : void
  968. * @authur : 박종훈
  969. */
  970. function fPreview(node)
  971. {
  972. swt_left.selectedIndex = 1;
  973. button4.selected = true;
  974. ivw_reccnts.window.javascript.fPreviewData(node);
  975. }
  976. /**
  977. * @desc : 입원환자 간호기록 보기
  978. * @id :
  979. * @event : xforms-select
  980. * @return : void
  981. * @authur : 박종훈
  982. */
  983. function fShowNursingCnt()
  984. {
  985. if (model.getValue("/root/main/paminfo/pid") == "")
  986. {
  987. return;
  988. }
  989. var cond = new COMN_CONT_RECCNTS();
  990. var ioflag = model.getValue("/root/main/paminfo/ioflag");
  991. cond.pid = model.getValue("/root/main/paminfo/pid");
  992. if(ioflag == "I" || ioflag == "E"){
  993. cond.indd = model.getValue("/root/main/paminfo/indd");
  994. } else {
  995. cond.orddd = model.getValue("/root/main/paminfo/orddd");
  996. }
  997. cond.cretno = model.getValue("/root/main/paminfo/cretno");
  998. cond.ioflag = ioflag;
  999. cond.fromdd = model.getValue("/root/send/reqmedireclist/recfromdt");
  1000. cond.todd = model.getValue("/root/send/reqmedireclist/rectodt");
  1001. ivw_ganho.window.javascript.fRefNursingCnts(cond);
  1002. }
  1003. /**
  1004. * @desc : 처방내역 보기
  1005. * @id :
  1006. * @event : xforms-select
  1007. * @return : void
  1008. * @authur : 박종훈
  1009. */
  1010. function fShowOrdCnt()
  1011. {
  1012. if (model.getValue("/root/main/paminfo/pid") == "")
  1013. {
  1014. return;
  1015. }
  1016. //자식창(처방내역)
  1017. var spid = ivw_ord.model.getValue("/root/send/prcp/pid");
  1018. var sorddeptcd = ivw_ord.model.getValue("/root/send/prcp/orddeptcd");
  1019. var sfromdd = ivw_ord.model.getValue("/root/send/prcp/fromdd");
  1020. var stodd = ivw_ord.model.getValue("/root/send/prcp/todd");
  1021. //부모창(진료기록메인)
  1022. var ppid = model.getValue("/root/main/paminfo/pid");
  1023. var pformrecdeptcd = model.getValue("/root/send/reqmedireclist/formrecdeptcd")
  1024. var pfromdd = model.getValue("/root/send/reqmedireclist/recfromdt").substring(0, 8);
  1025. var ptodd = model.getValue("/root/send/reqmedireclist/rectodt").substring(0, 8);
  1026. if(spid != ppid || sorddeptcd != pformrecdeptcd || sfromdd != pfromdd || stodd != ptodd)
  1027. {
  1028. var cond = new COMN_CONT_RECCNTS();
  1029. cond.pid = ppid;
  1030. cond.formrecdeptcd = pformrecdeptcd;
  1031. cond.fromdd = pfromdd;
  1032. cond.todd = ptodd;
  1033. ivw_ord.window.javascript.fRefOrdCnts(cond);
  1034. }
  1035. // var ioflag = model.getValue("/root/main/paminfo/ioflag");
  1036. // if(ioflag == "I" || ioflag == "E"){
  1037. // cond.indd = model.getValue("/root/main/paminfo/indd");
  1038. // } else {
  1039. // cond.orddd = model.getValue("/root/main/paminfo/orddd");
  1040. // }
  1041. //
  1042. // cond.cretno = model.getValue("/root/main/paminfo/cretno");
  1043. // cond.ioflag = ioflag;
  1044. }
  1045. /**
  1046. * @desc : 즐겨찾기 새로고침
  1047. * @id :
  1048. * @event : xforms-select
  1049. * @return : void
  1050. * @authur : 박종훈
  1051. */
  1052. function fFavorRefresh(flag)
  1053. {
  1054. if (flag == "refresh")
  1055. {
  1056. var rsltref = "/root/main/formbasesetlist";
  1057. var srcref = gvOrderBasicInfoPath + "/formbaseset";
  1058. model.removeNodeset(rsltref);
  1059. model.makeNode(rsltref);
  1060. var viewerObj = getViewer("sysMessage");
  1061. var targetNodes = instance1.selectSingleNode(rsltref);
  1062. var srcNodes = viewerObj.window.instance1.selectNodes(srcref);
  1063. for(i=0; i<srcNodes.length; i++)
  1064. {
  1065. targetNodes.appendChild(srcNodes.item(i));
  1066. }
  1067. // submit("TRMMR00103");
  1068. }
  1069. /*
  1070. * 내원구분별 즐겨찾기 세팅
  1071. */
  1072. if (flag == "refresh" || flag == "chosflag")
  1073. {
  1074. var chosflag = model.getValue("/root/send/reqinitinfo/chosflag");
  1075. var copycond = "";
  1076. if (chosflag == "E")
  1077. {
  1078. copycond = "formchosflag= 'I' or formchosflag= 'E'";
  1079. }
  1080. else if (chosflag == "D")
  1081. {
  1082. copycond = "formchosflag= 'I' or formchosflag= 'D'";
  1083. }
  1084. else if (chosflag == "S")
  1085. {
  1086. copycond = "formchosflag= 'I' or formchosflag= 'S'";
  1087. }
  1088. else
  1089. {
  1090. copycond = "formchosflag='"+chosflag+"'";
  1091. }
  1092. //copyNodeset("/root/main/formbasesetcbo/formbaseset", "/root/main/formbasesetlist/formbaseset[formchosflag='"+chosflag+"' or formchosflag='C']", "replace", model, model);
  1093. copyNodeset("/root/main/formbasesetcbo/formbaseset", "/root/main/formbasesetlist/formbaseset[" + copycond + " or formchosflag='C']", "replace", model, model);
  1094. }
  1095. if (flag == "refresh")
  1096. {
  1097. model.setValue("/root/hidden/choinewform", "-");
  1098. model.refresh();
  1099. }
  1100. }
  1101. /**
  1102. * @desc : 서식조회 팝업 호출
  1103. * @id :
  1104. * @event : DOMActivate
  1105. * @return : void
  1106. * @authur : 박종훈
  1107. */
  1108. function fOpenFormcdPopup()
  1109. {
  1110. var sCode = model.getValue("/root/hidden/formcd");
  1111. var sTmp = "";
  1112. var iTmp = 0;
  1113. // form코드 입력시 자릿수 채워준다
  1114. if(sCode.indexOf("/")!= "-1"){
  1115. sCode = sCode.substr(1,sCode.length);
  1116. var iCodeLength = sCode.length;
  1117. if(iCodeLength ==0){
  1118. return false;
  1119. }
  1120. var temp = 10 - iCodeLength
  1121. for(var i = 1; i <= temp; i++){
  1122. sTmp += "0";
  1123. }
  1124. sTmp = sTmp + sCode;
  1125. setParameter("codeflag","Y");
  1126. setParameter("formcd",sTmp);
  1127. }else{
  1128. // form코드 아닐때
  1129. setParameter("formcd",sCode);
  1130. }
  1131. //서식선택 팝업
  1132. modal("SPMRF03600", 1,10, 10, "SPMRF03600", "/root/send", "/root/temp/condition/getdata");
  1133. model.setValue("/root/hidden/formcd",getParameter("formcd"));
  1134. }
  1135. /**
  1136. * @desc : 서식선택팝업창 활성화
  1137. * @id :
  1138. * @event : DOMActivate
  1139. * @return : void
  1140. * @authur : 박종훈
  1141. */
  1142. function fFormcdPopupActivate()
  1143. {
  1144. var mdiWindows = window.children;
  1145. for(var i=0;i<mdiWindows.length;i++)
  1146. {
  1147. mdiWindows(i).restore();
  1148. }
  1149. // 서식선택팝업창 활성화 시킨다
  1150. var mainObj = getMainViewer();
  1151. var oldPrcpObj;
  1152. var curObj = window.javascript.getOpenWindow("SMMMR02500");
  1153. if(curObj == null){
  1154. }else{
  1155. window.children.item("SMMMR02500").activate();
  1156. }
  1157. }
  1158. /**
  1159. * @desc : 서식목록팝업창 활성화
  1160. * @id :
  1161. * @event : DOMActivate
  1162. * @return : void
  1163. * @authur : 박종훈
  1164. */
  1165. function fFormSetPopupActivate()
  1166. {
  1167. /*var mainObj = getMainViewer();
  1168. var oldPrcpObj;
  1169. var curObj = window.javascript.getOpenWindow("SMMMR02500");
  1170. // 서식목록팝업창 활성화 시킨다
  1171. if(curObj == null){
  1172. window.javascript.open("SMMMR02500", 1, 0, 0);
  1173. // window.javascript.open("../../../emr/medirecweb/xrw/SMMMR02500_서식리스트.xrw", 1, 0, 0, "", "", "");
  1174. oldPrcpObj = mainObj.javascript.getOpenWindow("SMMMR02500");
  1175. }
  1176. window.children.item("SMMMR02500").activate();
  1177. var mdiWindows = window.children;
  1178. for(var i=0;i<mdiWindows.length;i++)
  1179. {
  1180. mdiWindows(i).restore();
  1181. }*/
  1182. var mainObj = getMainViewer();
  1183. var oldPrcpObj;
  1184. var curObj = window.javascript.getOpenWindow("SPMMR01000");
  1185. // 서식목록팝업창 활성화 시킨다
  1186. if(curObj == null){
  1187. window.javascript.open("SPMMR01000", 1, 0, 0);
  1188. oldPrcpObj = mainObj.javascript.getOpenWindow("SPMMR01000");
  1189. }
  1190. window.children.item("SPMMR01000").activate();
  1191. var mdiWindows = window.children;
  1192. for(var i=0;i<mdiWindows.length;i++)
  1193. {
  1194. mdiWindows(i).restore();
  1195. }
  1196. }
  1197. /**
  1198. * @desc : 환자요약 팝업
  1199. * @id :
  1200. * @event : DOMActivate
  1201. * @return : void
  1202. * @authur : 박종훈
  1203. */
  1204. function fClickPatSmmBtn()
  1205. {
  1206. setParameter("SSMMP04800_pid", model.getValue("/root/main/paminfo/pid")); //환자요약 조회를 위한 파라미터 셋팅
  1207. open("SSMMR04800", 1, 0, 0, "", "", "");
  1208. setParameter("SSMMP04800_pid", "");
  1209. var refreshflag = getParameter("SSMMP04800_rtn");
  1210. if(refreshflag == "Y" && (ivw_patsmm.visible))
  1211. {
  1212. ivw_patsmm.window.javascript.fSelect_sub();
  1213. }
  1214. }
  1215. /**
  1216. * @desc : V/S 팝업 호출
  1217. * @id :
  1218. * @event : DOMActivate
  1219. * @return : void
  1220. * @authur : 박종훈
  1221. */
  1222. function fClickTPR()
  1223. {
  1224. var ioflag = model.getValue("/root/main/paminfo/ioflag");
  1225. if (ioflag == "I")
  1226. {
  1227. var pid = model.getValue("/root/main/paminfo/pid");
  1228. var indd = model.getValue("/root/main/paminfo/indd");
  1229. var cretno = model.getValue("/root/main/paminfo/cretno");
  1230. var instcd = model.getValue("/root/main/paminfo/instcd");
  1231. var jobkindcd = getUserInfo("jobkindcd");
  1232. setParameter("SMMNR00900_Param", pid + "▦" + indd + "▦" + cretno + "▦" + instcd + "▦" + jobkindcd + "▩");
  1233. open("SMMNR00900");
  1234. }
  1235. }
  1236. /**
  1237. * @desc : 보험메모 여부확인
  1238. * @id :
  1239. * @return : String
  1240. * @authur : 한재상
  1241. */
  1242. function fGetPamMemoYN()
  1243. {
  1244. model.removeNodeset("/root/send/patmemo");
  1245. model.makeValue("/root/send/patmemo/pid", model.getValue("/root/main/paminfo/pid"));
  1246. model.makeValue("/root/send/patmemo/memo", "pmemosel");
  1247. model.makeValue("/root/send/patmemo/ioflag", model.getValue("/root/main/paminfo/ioflag") );
  1248. model.makeValue("/root/send/patmemo/deptcd", getUserInfo("dutplcecd") );
  1249. submit("TRMMR05601");
  1250. var nodeList = instance1.selectNodes("/root/main/imemo/imemolist/memolistinfo");
  1251. if ( nodeList.length > 0 ) {
  1252. return "Y";
  1253. } else {
  1254. return "N";
  1255. }
  1256. }
  1257. /**
  1258. * @desc : 환자메모 팝업 호출
  1259. * @id :
  1260. * @event : DOMActivate
  1261. * @return : void
  1262. * @authur : 박종훈
  1263. */
  1264. function fGetPatMemo()
  1265. {
  1266. var sPid = getPatientInfo("pid");
  1267. //knuh 20120104 최원돈 OCS 진료대상자 OCS 조회 시 환자메모를 자동으로 사라지게 설정-필요없어서 삭제. SMMMO04100.js, SPMMR05600.js, MMR00100.js
  1268. ////상단정보의 pid와 instance의 pid가 다르면 띄우지 않는다-lyj(20111107)
  1269. //if ( model.getValue("/root/main/paminfo/pid") != sPid )
  1270. //{
  1271. // alert("상단정보와 일치하지 않습니다");
  1272. // return;
  1273. //}
  1274. if (model.getValue("/root/main/paminfo/pid") == model.getValue("/root/send/patmemo/pid")) {
  1275. return;
  1276. } else {
  1277. model.removeNodeset("/root/send/patmemo");
  1278. model.makeValue("/root/send/patmemo/pid", model.getValue("/root/main/paminfo/pid"));
  1279. model.makeValue("/root/send/patmemo/memo", "pmemosel");
  1280. model.makeValue("/root/send/patmemo/ioflag", model.getValue("/root/main/paminfo/ioflag") ); //KNUH_20110208, 주희경 속도 개선을 위해 TXMMR00101에서 TRMMR05601 같이 조회하도록 추가
  1281. model.makeValue("/root/send/patmemo/deptcd", getUserInfo("dutplcecd") );
  1282. //model.makeValue("/root/send/patmemo/delflag", "N");
  1283. //20090724 한재상 추가. 보험메모 popup 조건체크. (보험메모가 있으면 무조건 띄운다.)
  1284. // var pammemoyn = fGetPamMemoYN();
  1285. if(submit("TXMMR00101")) {
  1286. var pammemoyn = model.getValue("/root/send/pmemo/pammemoyn"); //KNUH_20110208, 주희경, 속도개선을 위해 TXMMR00101에서 TRMMR05601도 함께 조회
  1287. if(model.getValue("/root/send/pmemo/memo") != "" || model.getValue("/root/send/pmemo/nmemo") != "" || pammemoyn == "Y") {
  1288. if(model.getValue("/root/send/pmemo/deptmemo") != "") {
  1289. btn_memo.value = "메모■◆";
  1290. } else {
  1291. btn_memo.value = "메모■◇";
  1292. }
  1293. //btn_memo.value = "메모■";
  1294. if ( model.getValue("/root/send/pmemo/popupyn") == "Y" // 자동팝업 여부
  1295. || pammemoyn == "Y" // 보험 메모 여부
  1296. || ( model.getValue("/root/send/pmemo/deptmemo") != "" && model.getValue("/root/envinit/deptmemopopyn/answcnt") == "002") // 타과메모가 존재하고 타과 메모 자동팝업일경우
  1297. ) {
  1298. //btn_memo.dispatch("DOMActivate");
  1299. setParameter("SPMMR05600_pammemoyn", pammemoyn);
  1300. fPopMemo();
  1301. } else {
  1302. var wndobj = getOpenWindow("SPMMR05600");
  1303. if(wndobj != null) {
  1304. //창닫기
  1305. wndobj.javascript.window.close();
  1306. }
  1307. }
  1308. } else {
  1309. if(model.getValue("/root/send/pmemo/deptmemo") != "") {
  1310. btn_memo.value = "메모□◆";
  1311. } else {
  1312. btn_memo.value = "메모□◇";
  1313. }
  1314. //btn_memo.value = "메모□";
  1315. model.makeValue("/root/send/pmemo/memo", "");
  1316. if(model.getValue("/root/send/pmemo/deptmemo") != "" && model.getValue("/root/envinit/deptmemopopyn/answcnt") == "002" ){ // 타과 메모 자동 팝업 여부 002 자동팝업
  1317. setParameter("SPMMR05600_pammemoyn", pammemoyn);
  1318. fPopMemo();
  1319. } else {
  1320. if (model.getValue("/root/send/pmemo/popupyn") != "Y") {
  1321. var wndobj = getOpenWindow("SPMMR05600");
  1322. if(wndobj != null) {
  1323. //창닫기
  1324. wndobj.javascript.window.close();
  1325. }
  1326. }
  1327. }
  1328. }
  1329. }else{
  1330. //2010.05.28 이지운 추가 - 메모 팝업정보 조회 실패시 Timer 를 이용하여 10ms 후에 재시도 하도록 수정함.
  1331. model.setValue("/root/send/patmemo/pid", "");
  1332. htmlwindow.setTimeout(function(){
  1333. fGetPatMemo();
  1334. },10);
  1335. }
  1336. }
  1337. }
  1338. /**
  1339. * @desc : 환자메모 저장
  1340. * @id :
  1341. * @event : DOMActivate
  1342. * @return : void
  1343. * @authur : 박종훈
  1344. */
  1345. function fSaveMemo()
  1346. {
  1347. var memo = model.getValue("/root/send/pmemo/memo");
  1348. var nmemo = model.getValue("/root/send/pmemo/nmemo");
  1349. model.removeNodeset("/root/send/patmemo");
  1350. model.makeValue("/root/send/patmemo/pid", model.getValue("/root/main/paminfo/pid"));
  1351. model.makeValue("/root/send/patmemo/memo", memo);
  1352. model.makeValue("/root/send/patmemo/nmemo", nmemo);
  1353. model.makeValue("/root/send/patmemo/deptcd", getUserInfo("dutplcecd") );
  1354. if(submit("TXMMR00101")) {
  1355. if(model.getValue("/root/send/pmemo/memo") != "" || model.getValue("/root/main/pmemo/nmemo") != "") {
  1356. if(model.getValue("/root/send/pmemo/deptmemo") != "") {
  1357. btn_memo.value = "메모■◆";
  1358. } else {
  1359. btn_memo.value = "메모■◇";
  1360. }
  1361. }
  1362. grup_smm.visible = false;
  1363. }
  1364. }
  1365. /**
  1366. * @desc : 환자메모 오픈
  1367. * @id :
  1368. * @event : DOMActivate
  1369. * @return : void
  1370. * @authur : 박종훈
  1371. */
  1372. var curMemoObj = null;
  1373. function fPopMemo()
  1374. {
  1375. curMemoObj = getOpenWindow("SPMMR05600");
  1376. if(curMemoObj != null)
  1377. {
  1378. curMemoObj.javascript.fGetPatMemo();
  1379. activateChild("SPMMR05600");
  1380. } else{
  1381. setParameter("SPMMR05600_ioflag", model.getValue("/root/main/paminfo/ioflag"));
  1382. setParameter("SPMMR05600_pid", model.getValue("/root/main/paminfo/pid"));
  1383. setParameter("SPMMR05600_deptcd", getUserInfo("dutplcecd")); // 로그인한 과로 조회
  1384. setParameter("SPMMR05600_deptnm", getUserInfo("dutplcenm")); // 로그인한 과명로 조회
  1385. setParameter("SPMMR05600_hngnm", model.getValue("/root/main/paminfo/hngnm"));
  1386. var offsetX = event.screenX - event.clientX;
  1387. offsetX = parseInt(btn_memo.attribute("left")) + offsetX;
  1388. var offsetY = event.screenY - event.clientY;
  1389. offsetY = parseInt(btn_memo.attribute("top")) + offsetY + 120;
  1390. open("SPMMR05600", 1, offsetX, offsetY, "", "", "");
  1391. }
  1392. }
  1393. /**
  1394. * @desc : 코사인 관리화면 팝업 호출
  1395. * @id :
  1396. * @event : onclick
  1397. * @return : void
  1398. * @authur : 박종훈
  1399. */
  1400. function fSetCoSign()
  1401. {
  1402. var coFormrecseq = grd_medireclist.valueMatrix(grd_medireclist.row, grd_medireclist.colref("formrecseq"));
  1403. var coRecDd = grd_medireclist.valueMatrix(grd_medireclist.row, grd_medireclist.colref("formrecdd"));
  1404. var coRecHm = grd_medireclist.valueMatrix(grd_medireclist.row, grd_medireclist.colref("formrechm"));
  1405. var coUserDeptCd = getUserInfo("dutplcecd");
  1406. setParameter("SPMRI02200_formrecseq", coFormrecseq);
  1407. setParameter("SPMRI02200_recdt", coRecDd + coRecHm);
  1408. setParameter("SPMRI02200_recdeptcd", coUserDeptCd);
  1409. modal("SPMRI02200");
  1410. }
  1411. /*******************************************************************************************************
  1412. 튜닝 작업
  1413. *******************************************************************************************************/
  1414. function fSelectNewForm()
  1415. {
  1416. var sCode = model.getValue("/root/hidden/formcd");
  1417. var sTmp = "";
  1418. var iTmp = 0;
  1419. // form코드 입력시 자릿수 채워준다
  1420. if(sCode.indexOf("/")!= "-1"){
  1421. sCode = sCode.substr(1,sCode.length);
  1422. var iCodeLength = sCode.length;
  1423. if(iCodeLength ==0){
  1424. return false;
  1425. }
  1426. var temp = 10 - iCodeLength
  1427. for(var i = 1; i <= temp; i++){
  1428. sTmp += "0";
  1429. }
  1430. sTmp = sTmp + sCode;
  1431. setParameter("codeflag","Y");
  1432. setParameter("formcd",sTmp);
  1433. }else{
  1434. // form코드 아닐때
  1435. setParameter("formcd",sCode);
  1436. }
  1437. //서식선택 팝업
  1438. modal("SPMRF03600", 1,10, 10, "SPMRF03600", "/root/send", "/root/temp/condition/getdata");
  1439. model.setValue("/root/hidden/formcd", "");
  1440. ipt_tmp.refresh();
  1441. ivw_loader.window.javascript.fLoadNewForm(getParameter("formcd"));
  1442. fDefaultBtnClick();// 치과기록 닫기 ivew 조건 설정 (치과 외래진료일 경우 치과기록 사용 : 최원돈 20101222 경북대)
  1443. }
  1444. /**
  1445. * @desc : 기록블라인드 처리에 따른
  1446. * @id :
  1447. * @event : onclick
  1448. * @return : void
  1449. * @authur : 박종훈
  1450. */
  1451. function fRecMainReady()
  1452. {
  1453. try {
  1454. var ordPatObj = getOpenWindow("SMMMO04100");
  1455. if (ordPatObj != null)
  1456. {
  1457. var answcnt = ordPatObj.javascript.getParameter("SMMMO04100_ANSWCNT");
  1458. if (answcnt =="002" || answcnt =="003")
  1459. {
  1460. fBtnInitReady();
  1461. }
  1462. else
  1463. {
  1464. var fstload = model.getValue("/root/init/fstload");
  1465. if (fstload == "Y")
  1466. {
  1467. model.setValue("/root/init/fstload", "N");
  1468. fReadyForm();
  1469. }
  1470. else
  1471. {
  1472. fInitRecPamInfo();
  1473. }
  1474. grp_tle.attribute("visibility") = "visible";
  1475. grp_base.attribute("visibility") = "visible";
  1476. btn_blind.attribute("visibility") = "hidden";
  1477. }
  1478. }
  1479. else
  1480. {
  1481. grp_tle.attribute("visibility") = "visible";
  1482. grp_base.attribute("visibility") = "visible";
  1483. btn_blind.attribute("visibility") = "hidden";
  1484. fReadyForm();
  1485. }
  1486. // 진료기록 고도화 버튼 사용 일자 HARDCODE 등록해서 관리 2013.09.27 CYW
  1487. /*
  1488. debugger;
  1489. mmbfGetHardCodeInfo ("/root/send/reqdata", "/root/temp/emrrecbtn", 5592 );
  1490. if(model.getValue( "/root/temp/emrrecbtn/hardcd/hardcdnm") <= getCurrentDate() ){
  1491. grp_btnsetting.attribute("visibility") = "visible";
  1492. }else{
  1493. grp_btnsetting.attribute("visibility") = "hidden";
  1494. }
  1495. */
  1496. /*
  1497. 2009.10.12 안치원 TASK-36554
  1498. 통증관리 버튼추가
  1499. */
  1500. //KNUH_20110209, 주희경, 진료속도 개선 위해 로그인 시 조회 해놓은 데이터 카피
  1501. fGetHardCDList("N", "132", 0, "/root/main/hardcdlist");
  1502. //KNUH, 응급실에서 소아청소년과 의사가 처방 저장 시 인증서가 최초 1회만 뜨도록 (2011.03.21 JJE)
  1503. fGetHardCDList("N", "282", 0, "/root/main/hardcdlist_282");
  1504. var cnt = getNodesetCnt(model, "/root/main/hardcdlist/hardcd[hardcd='"+getUserInfo("dutplcecd")+"']");
  1505. //alert("132 new cnt:"+cnt+ ": getUserInfo(dutplcecd):"+getUserInfo("dutplcecd"));
  1506. if (cnt > 0) {
  1507. var tmp_left = btn_tong.attribute("left");
  1508. btn_tong.attribute("left") = btn_nurrec.attribute("left");
  1509. btn_nurrec.attribute("left") = tmp_left;
  1510. btn_tong.attribute("visibility") = "visible";
  1511. }
  1512. ////////////////
  1513. /* KNUH_20110208, 주희경 주석처리
  1514. model.makeValue("/root/send/reqhardcd/hardcdno", "132");
  1515. model.makeValue("/root/send/reqhardcd/dutplcecd", getUserInfo("dutplcecd"));
  1516. if (submit("TRMRF03104")) {
  1517. var cnt = getNodesetCnt(model, "/root/main/hardcdlist[trgtcd='"+getUserInfo("dutplcecd")+"']");
  1518. // alert("/root/main/hardcdlist[trgtcd='"+getUserInfo("dutplcecd")+"'] " + cnt);
  1519. if (cnt > 0) {
  1520. var tmp_left = btn_tong.attribute("left");
  1521. btn_tong.attribute("left") = btn_nurrec.attribute("left");
  1522. btn_nurrec.attribute("left") = tmp_left;
  1523. btn_tong.attribute("visibility") = "visible";
  1524. }
  1525. }*///////////////////
  1526. //2010.04.13 dhkim - 조회기간 설정 초기화
  1527. fReadyFormInitData();
  1528. // KNUH_20110104_최원돈_치과일 경우 치과기록이 Default Setting
  1529. if (btn_tab_denti.visible)
  1530. {
  1531. btn_tab_denti.selected = true;
  1532. btn_tab_denti.dispatch("onclick");
  1533. }
  1534. } catch (e) {
  1535. //2009.11.18 안치원 - 에러발생시 기록메인을 disable 한다.
  1536. // sendSystemMail_MMR071(gMMR_INVALID_PATINFO_MMR071, null);
  1537. // disabledRecMain_MMR001(true, fGetErrMsg(1,""), null);
  1538. }
  1539. //20111031 대장암관련
  1540. /*
  1541. model.makeNode("/root/main/colorectal/count");
  1542. model.makeValue("/root/send/colorectal/pid", model.getValue("/root/main/paminfo/pid"));
  1543. model.makeValue("/root/send/colorectal/recflag", "4");
  1544. submit("TRMMR08102");
  1545. if(model.getValue("/root/main/colorectal/count")>=1){
  1546. btn_colorectal.disabled="true";
  1547. }else{
  1548. btn_colorectal.disabled="false";
  1549. }
  1550. model.removeNode("/root/main/colorectal/count");
  1551. model.removeNode("/root/send/colorectal");
  1552. */
  1553. //20111031
  1554. //20111115 간암관련
  1555. model.makeNode("/root/main/liver/count");
  1556. model.makeValue("/root/send/liver/pid", model.getValue("/root/main/paminfo/pid"));
  1557. model.makeValue("/root/send/liver/recflag", "3");
  1558. submit("TRMMR08102");
  1559. if(model.getValue("/root/main/liver/count")>=1){
  1560. btn_liver.disabled="true";
  1561. }else{
  1562. btn_liver.disabled="false";
  1563. }
  1564. model.removeNode("/root/main/liver/count");
  1565. model.removeNode("/root/send/liver");
  1566. //20111115
  1567. }
  1568. /**
  1569. * @desc : 기록메인 로드
  1570. * @id :
  1571. * @event : DOMActivate
  1572. * @return : void
  1573. * @authur : 박종훈
  1574. */
  1575. function fLoadRecMain()
  1576. {
  1577. var fstload = model.getValue("/root/init/fstload");
  1578. if (fstload == "Y")
  1579. {
  1580. model.setValue("/root/init/fstload", "N");
  1581. fReadyForm();
  1582. }
  1583. else
  1584. {
  1585. fInitRecPamInfo();
  1586. }
  1587. grp_tle.attribute("visibility") = "visible";
  1588. grp_base.attribute("visibility") = "visible";
  1589. btn_blind.attribute("visibility") = "hidden";
  1590. }
  1591. /**
  1592. * @desc : 버튼 활성화의 경우 처리
  1593. * @id :
  1594. * @event : DOMActivate
  1595. * @return : void
  1596. * @authur : 박종훈
  1597. */
  1598. function fBtnInitReady()
  1599. {
  1600. btn_blind.attribute("visibility") = "visible";
  1601. grp_tle.attribute("visibility") = "hidden";
  1602. grp_base.attribute("visibility") = "hidden";
  1603. }
  1604. /**
  1605. * @desc : 메인화면 로딩
  1606. * @id :
  1607. * @event : onclick
  1608. * @return : void
  1609. * @authur : 박종훈
  1610. */
  1611. function fReadyForm()
  1612. {
  1613. ivw_loader.attribute("top") = 30;
  1614. ivw_loader.attribute("height") = 740;
  1615. ivw_loader.src = "emr_medirecxp::SSMMR01100_서식로더.xfdl";
  1616. //외래 재진인경우만 Load
  1617. //ivw_patsmm.src = "../../../emr/medirecweb/xrw/SSMMR04800_진료요약기록.xrw";
  1618. ivw_loader.window.javascript.gMediRecMain = true;
  1619. ivw_loader.window.javascript.gIsCashedFormDegn = true;
  1620. //ivw_patsmm.window.javascript.fResizeGrup("1", parseInt(ivw_patsmm.attribute("height")), parseInt(ivw_patsmm.attribute("width")));
  1621. //ivw_loader.window.javascript.fInitPage(true, true, parseInt(ivw_loader.attribute("height")), null, true); //출력버튼
  1622. ivw_loader.window.javascript.fInitPage(true, true, parseInt(ivw_loader.attribute("height")));
  1623. ivw_loader.window.javascript.afterSaveExeFuncNm = "fRefMediRecList";
  1624. // ivew 설정을 위해서 치과 하드코드를 가져온다. (치과 외래진료일 경우 치과기록 사용 : 최원돈 20101222 경북대)
  1625. fGethardcdArrayList(new Array(
  1626. "dentdept|242"
  1627. ),
  1628. new Array(
  1629. "/root/init"
  1630. )
  1631. );
  1632. grd_medireclist.mergecol(grd_medireclist.colref("formrecdd")) = true;
  1633. fReadyFormInitData();
  1634. //2010.04.12 dhkim 조회기간 디폴트 환경설정값으로 변경(fReadyFormInitData안)
  1635. //model.setValue("/root/init/reqmedireclist/diffdt", 12); //검색 디폴트 12개월
  1636. fAddDateReq("today");
  1637. var defltdeptcd = getUserInfo("dutplcecd");
  1638. if (defltdeptcd == "2280000000")
  1639. {
  1640. defltdeptcd = "ALL";
  1641. }
  1642. model.setValue("/root/send/reqmedireclist/formrecdeptcd", defltdeptcd);
  1643. model.setValue("/root/send/reqmedireclist/chosflag", "A");
  1644. model.setValue("/root/hidden/openform/degnid", getUserInfo("usernm"));
  1645. model.refresh();
  1646. fInitRecPamInfo();
  1647. /*20090309 사용하지 않는 화면(jonghun)
  1648. //진료기록메인 호출하는 Popup Close (snoweye, 2008.08.13)
  1649. var scrnwnd = getOpenWindow("SPMMB08500");
  1650. if(scrnwnd != null){
  1651. scrnwnd.javascript.fEMRClose();
  1652. }
  1653. */
  1654. /*var nodeList = model.instances(0).selectNodes("/root/main/mainlist/medireclist");
  1655. if (nodeList.length > 0)
  1656. {
  1657. fShowMediRecCnt(grd_medireclist.valueMatrix(1, grd_medireclist.colref("formrecseq")));
  1658. }*/
  1659. }
  1660. /**
  1661. * @desc : 기록수정
  1662. * @id :
  1663. * @event : onclick
  1664. * @return : void
  1665. * @authur : 박종훈
  1666. */
  1667. function fModifyForm() {
  1668. if (swt_left.selectedIndex == 0){
  1669. var cnfmyn = grd_medireclist.valueMatrix(grd_medireclist.row, grd_medireclist.colRef("cnfmyn"));
  1670. var formcd = grd_medireclist.valueMatrix(grd_medireclist.row, grd_medireclist.colRef("formcd"));
  1671. var formrecseq = grd_medireclist.valueMatrix(grd_medireclist.row, grd_medireclist.colRef("formrecseq"));
  1672. var type = grd_medireclist.valueMatrix(grd_medireclist.row, grd_medireclist.colRef("type"));
  1673. if (grd_medireclist.row > 0) {
  1674. if (type == "A") {
  1675. messageBox("진료기록 화면에서 수정할 수 없는 서식입니다", "I999");
  1676. return;
  1677. }
  1678. if (cnfmyn == "Y") {
  1679. fOpenRecForm(formcd, formrecseq);
  1680. } else {
  1681. messageBox("OCS에서 작성한 기록은 수정할 수 없습니다.", "I008");
  1682. return;
  1683. }
  1684. }
  1685. } else if (swt_left.selectedIndex == 1) {
  1686. var formcd = getParameter("SSMMR01200_Param_formcd");
  1687. var formrecseq = getParameter("SSMMR01200_Param_recseq");
  1688. var cnfmyn = getParameter("SSMMR01200_Param_cnfmyn");
  1689. clearParameter("SSMMR01200_Param_formcd");
  1690. clearParameter("SSMMR01200_Param_recseq");
  1691. clearParameter("SSMMR01200_Param_cnfmyn");
  1692. if(formrecseq != "") {
  1693. if (cnfmyn == "Y") {
  1694. fOpenRecForm(formcd, formrecseq);
  1695. } else {
  1696. messageBox("OCS에서 작성한 기록은 수정할 수 없습니다.", "I008");
  1697. return;
  1698. }
  1699. }
  1700. }
  1701. }
  1702. /**
  1703. * @desc : 인증데이터 생성
  1704. * @id :
  1705. * @event : onclick
  1706. * @return : void
  1707. * @authur : 박종훈
  1708. */
  1709. function fMakeSignData(signrecinfo, chosflag, sUserID)
  1710. {
  1711. var certcnfmyn = getParameter("SSMMR01100_cert_Cnfm"); //미비기록의 경우 인증서를 한번만 띄워주기 위한 param(2008-12-29 : 박종훈 추가)
  1712. clearParameter("SSMMR01100_cert_Cnfm");
  1713. //KNUH, 응급실에서 소아청소년과 의사가 처방 저장 시 인증서가 최초 1회만 뜨도록 (2011.03.21 JJE)
  1714. var userDeptCd = getUserInfo("dutplcecd");
  1715. if( chosflag == "E" && instance1.selectSingleNode("/root/main/hardcdlist_282/hardcd[hardcd='"+ userDeptCd +"']") != null ){
  1716. certcnfmyn = "Y";
  1717. }
  1718. // 입원 또는 응급일 경우 // 20111201 knuh 최원돈
  1719. // 기록/처방 직전 인증저장이 정해진 시간(분 단위, 하드코드 401) 이내이면 인증서를 띄우지 않음(1/1)
  1720. // SMMMO00100.js, MMR01300.js, MMR00100.js, SPMRF05200.js
  1721. // 띄우지 않는 로직
  1722. var ls_emrinptsavetime = fGetHardCDList("Y", 401, 3);
  1723. var ll_emrinptsavetime = ls_emrinptsavetime == "" ? 0 : parseInt(ls_emrinptsavetime) * -1;
  1724. if ( ( chosflag == "I"
  1725. || chosflag == "E")
  1726. && ll_emrinptsavetime < 0
  1727. && getGlobalVariable("emrinptsavetime") >= getCurrentDateTime().toDate("YYYYMMDD hhmmss").getAddDate(ll_emrinptsavetime, "m").getDateFormat("YYYYMMDD hhmmss"))
  1728. {
  1729. certcnfmyn = "Y";
  1730. }
  1731. if (chosflag == "O" || certcnfmyn == "Y")
  1732. {
  1733. // KNUH_20100820_박성호_start 인증서 안나오게 수정
  1734. var signedrecinfo = zesfSignData(signrecinfo, sUserID, false); //외래환자일경우 한번만 인증서 띄움
  1735. //var signedrecinfo = "-"; //외래환자일경우 한번만 인증서 띄움
  1736. // KNUH_20100820_박성호_end
  1737. }
  1738. else
  1739. {
  1740. // KNUH_20100820_박성호_start 인증서 안나오게 수정
  1741. var signedrecinfo = zesfSignData(signrecinfo, sUserID, true);
  1742. //var signedrecinfo = "-"; //외래환자일경우 한번만 인증서 띄움
  1743. // KNUH_20100820_박성호_end
  1744. }
  1745. return signedrecinfo
  1746. }
  1747. /* @group : 폴더 존재여부 파악
  1748. * @ver : 2007.01.06
  1749. * @by : 박종훈
  1750. * @-----------------------------------
  1751. * @type : function
  1752. * @access : public
  1753. * @desc :
  1754. */
  1755. function fExistFolder(foldernm)
  1756. {
  1757. var fso, folder, s;
  1758. fso = new ActiveXObject("Scripting.FileSystemObject");
  1759. try
  1760. {
  1761. folder = fso.GetFolder(foldernm);
  1762. s = folder.DateCreated;
  1763. if (s != "")
  1764. {
  1765. fDelFolder(foldernm);
  1766. fMakeFolder(foldernm);
  1767. }
  1768. }
  1769. catch (e)
  1770. {
  1771. fMakeFolder(foldernm);
  1772. }
  1773. }
  1774. /* @group : 폴더 생성
  1775. * @ver : 2007.01.06
  1776. * @by : 박종훈
  1777. * @-----------------------------------
  1778. * @type : function
  1779. * @access : public
  1780. * @desc :
  1781. */
  1782. function fMakeFolder(foldernm)
  1783. {
  1784. var fso = new ActiveXObject("Scripting.FileSystemObject");
  1785. var a = fso.CreateFolder(foldernm);
  1786. }
  1787. /* @group : 폴더 삭제
  1788. * @ver : 2007.01.06
  1789. * @by : 박종훈
  1790. * @-----------------------------------
  1791. * @type : function
  1792. * @access : public
  1793. * @desc :
  1794. */
  1795. function fDelFolder(foldernm)
  1796. {
  1797. var fso;
  1798. fso = new ActiveXObject("Scripting.FileSystemObject");
  1799. fso.DeleteFolder(foldernm);
  1800. }
  1801. /* @group : 디자인보기버튼 클릭
  1802. * @ver : 2007.01.06
  1803. * @by : 박종훈
  1804. * @-----------------------------------
  1805. * @type : function
  1806. * @access : public
  1807. * @desc :
  1808. */
  1809. function fBtnViewDegn()
  1810. {
  1811. model.toggle("case5");
  1812. }
  1813. /*
  1814. * 기록메인을 disable 한다.
  1815. */
  1816. function disabledRecMain_MMR001(disable, errMsg, lockMode) {
  1817. /*btn_err.visible = disable;
  1818. ivw_patsmm.visible = !disable;
  1819. ivw_loader.visible = !disable;
  1820. if (lockMode == 2) {
  1821. errMsg += "\n\n☞ 클릭하면 해제됩니다."
  1822. }
  1823. if (disable) {
  1824. model.toggle("case2");
  1825. btn_err.text = isNull(errMsg) ? "ERROR - 기록창이 제한됩니다." : errMsg;
  1826. } else {
  1827. btn_err.text = "ERROR - 기록창이 제한됩니다.";
  1828. }
  1829. if (lockMode == null || lockMode > 2) {
  1830. lockMode = 1;
  1831. }
  1832. if (lockMode == 1) {
  1833. btn_err.disabled = true;
  1834. } else {
  1835. btn_err.disabled = false;
  1836. }
  1837. // alert("visible::"+btn_err.visible);
  1838. btn_err.refresh();
  1839. */
  1840. }
  1841. /*
  1842. * 진료대상자리스트의 환자 수진키와 비교한다.
  1843. */
  1844. function validPamInfo(pPid, pOrddd, pCretno, lockMode)
  1845. {
  1846. return true;
  1847. /*var flag = false;
  1848. var patListViewer = getOpenWindow("SMMMO04100");
  1849. if (patListViewer == null) {
  1850. flag = fCheckPamInfo_MMR001(getPatientInfo("pid"), null, null, model.getValue("/root/main/paminfo/pid"), null, null, lockMode);
  1851. } else {
  1852. flag = fCheckPamInfo_MMR001(patListViewer.window.javascript.getParameter("SMMMR00100_PATINFO_PID")
  1853. ,patListViewer.window.javascript.getParameter("SMMMR00100_PATINFO_ORDDD")
  1854. ,patListViewer.window.javascript.getParameter("SMMMR00100_PATINFO_CRETNO")
  1855. ,pPid
  1856. ,pOrddd
  1857. ,pCretno, lockMode);
  1858. }
  1859. return flag;
  1860. */
  1861. }
  1862. function fGetErrMsg(flag, addMsg)
  1863. {
  1864. if (flag == null) {
  1865. flag = 0;
  1866. }
  1867. if (addMsg == null) {
  1868. addMsg = "";
  1869. }
  1870. var errMsg = "";
  1871. if (flag == 0) {
  1872. errMsg = "ERROR - 기록창이 제한됩니다.";
  1873. } else if (flag == 1) {
  1874. errMsg = "["+gMMR_INVALID_PATINFO_MMR071+"]\n\n";
  1875. errMsg += "진료대상자 정보를 설정하던 중 예기치 못한 에러가 발생했습니다.\n";
  1876. errMsg += "진료대상자를 다시 선택 해 주시기 바랍니다.\n\n";
  1877. errMsg += "같은 현상이 반복된다면 정보지원팀으로 문의 해 주시기 바랍니다.\n";
  1878. }
  1879. errMsg += addMsg;
  1880. return errMsg;
  1881. }
  1882. /*
  1883. * 2009.11.18 안치원 - 상단환자정보와 Global정보가 틀리면 기록메인을 disable 한다.
  1884. * 일단, pid 로만 검사한다.
  1885. */
  1886. function fCheckPamInfo_MMR001(pPid, pOrddd, pCretno, gPid, gOrddd, gCretno, lockMode)
  1887. {
  1888. return true;
  1889. /* var params = pPid +",";
  1890. params += pOrddd +",";
  1891. params += pCretno +".\n";
  1892. params += gPid +",";
  1893. params += gOrddd +",";
  1894. params += gCretno +".";
  1895. if (isNull(pPid) || isNull(pPid)) {
  1896. disabledRecMain_MMR001(true, fGetErrMsg(1, params), lockMode);
  1897. return false;
  1898. }
  1899. var flag = true;
  1900. if (pPid != gPid) {
  1901. flag = false;
  1902. } //else if (pOrddd != gOrddd) {
  1903. // flag = false;
  1904. // } else if (pCretno != gCretno) {
  1905. // flag = false;
  1906. // }
  1907. // alert("falg::"+flag);
  1908. if (flag) {
  1909. disabledRecMain_MMR001(false, null, lockMode);
  1910. } else {
  1911. disabledRecMain_MMR001(true, fGetErrMsg(1, params), lockMode);
  1912. sendSystemMail_MMR071(gMMR_INVALID_PATINFO_MMR071, null);
  1913. }
  1914. return flag;
  1915. */
  1916. }
  1917. function fSetUnLockScreen()
  1918. {
  1919. disabledRecMain_MMR001(false, null, null);
  1920. btn_err.visible = false;
  1921. }
  1922. /* @group : 기록목록에서 우클릭 메뉴에서 [같은 서식모아보기] 클릭 시
  1923. * @ver : 2010.01.04
  1924. * @by : 주희경
  1925. * @-----------------------------------
  1926. * @type : function
  1927. * @access : public
  1928. * @desc : 기록목록에서 우클릭 후 같은 서식모아보기 클릭 시 같은 서식만 모아 기록내용 조회 하도록 함수 추가
  1929. */
  1930. function fGetMediRecCnt()
  1931. {
  1932. var srcformcd = grd_medireclist.valueMatrix(grd_medireclist.row, grd_medireclist.colref("srcformcd"));
  1933. var type = grd_medireclist.valueMatrix(grd_medireclist.row, grd_medireclist.colref("type"));
  1934. if ( type == "A") {
  1935. messageBox("같은서식 모아보기 기능은 제공되지 않습니다","I999");
  1936. return;
  1937. }
  1938. //formcd가 동일한 서식 그룹의 formrecseq 추출
  1939. var seqlist = instance1.selectNodes("/root/main/mainlist/medireclist[srcformcd='"+srcformcd+"']/formrecseq");
  1940. var arrFormrecseq = new Array();
  1941. for (i=0; i<seqlist.length; i++)
  1942. {
  1943. arrFormrecseq[i] = seqlist.item(i).value;
  1944. }
  1945. fShowMediRecCnt(arrFormrecseq[0], arrFormrecseq);
  1946. /*
  1947. var formnminfo = grd_medireclist.valueMatrix(grd_medireclist.row, grd_medireclist.colref("formnminfo"));
  1948. formnminfo = formnminfo.split("-"); //서식명 추출 (예, 입퇴원요약기록-공통) => 입퇴원요약기록
  1949. var findtext = formnminfo[0];
  1950. var findrowInfo = "";
  1951. //리스트에서 서식명이 같은 서식 추출 (그리드리스트의 서식명 검색)
  1952. for(i=1; i<grd_medireclist.rows; i++)
  1953. {
  1954. var row = grd_medireclist.findRow( findtext, i, 2, false, false); //서식명이 동일한 서식 찾기
  1955. if ( row > i )
  1956. i = row;
  1957. if ( row != -1 )
  1958. {
  1959. var formrecseq = grd_medireclist.valueMatrix(row, grd_medireclist.colref("formrecseq"));
  1960. findrowInfo = findrowInfo + formrecseq + "||";
  1961. }
  1962. }
  1963. //////////////
  1964. var arrFormrecseq = findrowInfo.split("||");
  1965. */
  1966. }
  1967. /* @group : 기록목록에서 우클릭 메뉴에서 [선택목록조회] 클릭 시
  1968. * @ver : 2014.05.30
  1969. * @by : 이윤주
  1970. * @-----------------------------------
  1971. * @type : function
  1972. * @access : public
  1973. * @desc : 기록목록에서 우클릭 후 같은 선택목록조회 클릭 시 기록내용 조회 하도록 함수 추가
  1974. */
  1975. function fGetSelectedRecCnt()
  1976. {
  1977. var rows = grd_medireclist.rows;
  1978. var arrFormrecseq = new Array();
  1979. var j = 0;
  1980. for (i=1; i <= rows; i++)
  1981. {
  1982. if (grd_medireclist.isSelected(i)) {
  1983. arrFormrecseq[j] = model.getValue("/root/main/mainlist/medireclist['"+i+"']/formrecseq");
  1984. j++;
  1985. }
  1986. }
  1987. fShowMediRecCnt(arrFormrecseq);
  1988. }
  1989. /* @group : 간호정보조사지 링크
  1990. * @ver : 2010.04.19
  1991. * @by : dhkim
  1992. * @-----------------------------------
  1993. * @type : function
  1994. * @access : public
  1995. * @desc : 간호정보조사지 링크
  1996. */
  1997. function fOpenNursCareRecInfo(){
  1998. var path = "/root/main/enrcarecomrecinfo";
  1999. var param = "pid▦orddd▦cretno▦ordtype▩";
  2000. var pid = model.getValue("/root/main/paminfo/pid");
  2001. var orddd = model.getValue("/root/main/paminfo/orddd");
  2002. var indd = model.getValue("/root/main/paminfo/indd");
  2003. var cretno = model.getValue("/root/main/paminfo/cretno");
  2004. var ordtype = model.getValue("/root/main/paminfo/ioflag");
  2005. if(ordtype == "I" || ordtype == "E" || ordtype == "D"){
  2006. orddd = indd;
  2007. }
  2008. //param setting
  2009. param += pid + "▦" + orddd + "▦" + cretno + "▦" + ordtype + "▩";
  2010. //instance node생성
  2011. model.removenode(path);
  2012. model.makeNode(path);
  2013. model.refresh();
  2014. //CareCom.js 호출
  2015. fEnrCareComRecInfo_SPMNZ002(param, path);
  2016. }
  2017. /**
  2018. * @desc : 열려있는 화면을 닫아준다.
  2019. * @ver : 2010.04.26 dhkim
  2020. *
  2021. */
  2022. function fCloseNursrecPop(){
  2023. //2010.04.26 dhkim - 간호정보조사 팝업을 열기 전에 기존에 열려있던 창을 모두 닫는다.
  2024. /*
  2025. * 예)
  2026. * <root>
  2027. * <hidden>
  2028. * <opennurscarereclist>화면AID;화면BID;....</opennurscarereclist>
  2029. * </hidden>
  2030. * </root>
  2031. */
  2032. var opennurscarereclist = model.getValue("/root/hidden/opennurscarereclist");
  2033. if(opennurscarereclist.length > 0){
  2034. var opennurscarerecArr = opennurscarereclist.split(";");
  2035. var wndobj;
  2036. for(var i = 0 ; i < opennurscarerecArr.length-1 ; i++){
  2037. wndobj = getOpenWindow(opennurscarerecArr[i]);
  2038. if(wndobj != null){
  2039. wndobj.javascript.window.close();//기존에 열려있던 창닫기
  2040. }
  2041. }
  2042. //인스턴스 초기화
  2043. model.removenode("/root/hidden/opennurscarereclist");
  2044. }
  2045. }
  2046. /**
  2047. * @desc : 기관코드조회(간호공통테이블에서조회)
  2048. * @ver : 2010.04.26 dhkim 추가
  2049. */
  2050. function fGetNursHardCdInfo_MMR00100(pCode, pDate){
  2051. if ( pCode = "'077'" ) //KNUH_20110211, 주희경, 진료속도개선, '077'일 경우에만 로그인 시 조회해놓은 데이터를 copy
  2052. {
  2053. var targetNode = "/root/code_mmr00100/codeinfo";
  2054. model.removeNodeset("/root/code_mmr00100");
  2055. model.makeNode(targetNode);
  2056. var viewerObj = getViewer("sysMessage");
  2057. var srcNodes = viewerObj.window.instance1.selectNodes(gvOrderBasicInfoPath + "/codelist");
  2058. var targetNodes = instance1.selectSingleNode(targetNode);
  2059. if ( srcNodes.length > 0 )
  2060. {
  2061. for(i=0; i<srcNodes.length; i++)
  2062. {
  2063. targetNodes.appendChild(srcNodes.item(i));
  2064. }
  2065. }
  2066. }
  2067. else
  2068. {
  2069. model.removeNodeset("/root/send_mmr00100");
  2070. model.removeNodeset("/root/code_mmr00100");
  2071. model.makeNode("/root/code_mmr00100");
  2072. model.makeValue("/root/send_mmr00100/cdgrupid", pCode); // 조회할 CdGrupID 코드정보
  2073. model.makeValue("/root/send_mmr00100/srchdd" , pDate); // 조회기준일자
  2074. submit("TRMMR00902",false);
  2075. }
  2076. }
  2077. /**
  2078. * @desc : 서울성모 의료정보팀용 메뉴 (JCI인증대비 인증저장정보조회)
  2079. * @ver : 2010.07.08 dhkim 추가
  2080. * @param: formrecseq 기록순번
  2081. rechistseq 이력순번
  2082. signno 인증번호
  2083. formrecdd 기록일자
  2084. formrechm 기록시간
  2085. formnminfo 서식명
  2086. formrecdeptnm 작성과
  2087. formrecusernm 작성자
  2088. fstrgstdt 최초작성일시
  2089. */
  2090. function fGetJCICertInfo(){
  2091. var curRow = grd_medireclist.row;
  2092. var medirecGrdPath = grd_medireclist.attribute("nodeset");
  2093. var scrnid ="SPMRJ08000";
  2094. var formrecseq = model.getValue(medirecGrdPath + "[" + curRow + "]/formrecseq");
  2095. var rechistseq = model.getValue(medirecGrdPath + "[" + curRow + "]/lastrechistseq");
  2096. var signno = model.getValue(medirecGrdPath + "[" + curRow + "]/espiseq");
  2097. var formrecdd = model.getValue(medirecGrdPath + "[" + curRow + "]/formrecdd");
  2098. var formrechm = model.getValue(medirecGrdPath + "[" + curRow + "]/formrechm");
  2099. var formnminfo = model.getValue(medirecGrdPath + "[" + curRow + "]/formnminfo");
  2100. var formrecdeptnm = model.getValue(medirecGrdPath + "[" + curRow + "]/formrecdeptnm");
  2101. var formrecusernm = model.getValue(medirecGrdPath + "[" + curRow + "]/formrecusernm");
  2102. var fstrgstdt = model.getValue(medirecGrdPath + "[" + curRow + "]/fstrgstdt");
  2103. setParameter(scrnid+"_formrecseq", formrecseq); //기록순번
  2104. setParameter(scrnid+"_rechistseq", rechistseq); //이력순번
  2105. setParameter(scrnid+"_signno", signno); //인증번호
  2106. setParameter(scrnid+"_formrecdd", formrecdd); //기록일자
  2107. setParameter(scrnid+"_formrechm", formrechm); //기록시간
  2108. setParameter(scrnid+"_formnminfo", formnminfo); //서식명
  2109. setParameter(scrnid+"_formrecdeptnm", formrecdeptnm);//작성과
  2110. setParameter(scrnid+"_formrecusernm", formrecusernm);//작성자
  2111. setParameter(scrnid+"_fstrgstdt", fstrgstdt); //최초작성일시
  2112. modal(scrnid, 1, 10, 10, scrnid);
  2113. //alert(formrecseq + ',' +rechistseq + ',' + signno + ',' + formrecdd + ',' + formrechm + ',' + formnminfo + ',' + formrecdeptnm + ',' + formrecusernm + ',' + fstrgstdt);
  2114. }
  2115. /**
  2116. * @---------------------------------------------------
  2117. * @creat : 20101222
  2118. * @author : 최원돈
  2119. * @desc : ivew Visible 설정 (치과 외래진료일 경우 치과기록 사용 : 경북대)
  2120. * @---------------------------------------------------
  2121. */
  2122. function fSetIviewVisible(pb_value)
  2123. {
  2124. model.addlog("fSetIviewVisible_start");
  2125. if ( btn_tab_denti.visible
  2126. && pb_value)
  2127. {
  2128. ivw_denti.visible = true;
  2129. ivw_dentifmla.visible = true;
  2130. ivw_loader.visible = false;
  2131. swt_left.visible = false;
  2132. btn_formrecupdt.visible = false;
  2133. model.toggle("case7");
  2134. if (ivw_denti.src == "")
  2135. {
  2136. ivw_denti.src="../../../emr/dentirecweb/xrw/SMMRE00100_치과기록.xrw";
  2137. ivw_dentifmla.src="../../../emr/dentirecweb/xrw/SMMRE00700_치과기록치식.xrw";
  2138. ivw_dentifmla.window.javascript.fRecMainReady();
  2139. }
  2140. }
  2141. else
  2142. {
  2143. ivw_denti.visible = false;
  2144. ivw_dentifmla.visible = false;
  2145. ivw_loader.visible = true;
  2146. swt_left.visible = true;
  2147. btn_formrecupdt.visible = true;
  2148. }
  2149. model.addlog("fSetIviewVisible_end");
  2150. }
  2151. /**
  2152. * @---------------------------------------------------
  2153. * @creat : 20101222
  2154. * @authur : 최원돈
  2155. * @desc : ivew 화면 Default 설정(치과기록 닫기) : 경북대
  2156. * @---------------------------------------------------
  2157. */
  2158. function fDefaultBtnClick()
  2159. {
  2160. if ( btn_tab_denti.visible
  2161. && ivw_denti.src != ""
  2162. && btn_tab_denti.selected)
  2163. {
  2164. button66.dispatch("onclick");
  2165. }
  2166. }
  2167. /**
  2168. *
  2169. * 대장암 또는 간암 등록
  2170. *
  2171. *
  2172. */
  2173. function fSaveColorectalOrLiver(btn_nm){
  2174. if(btn_nm=="btn_liver"){ //간암
  2175. model.makeValue("/root/send/liver/pid",model.getValue("/root/main/paminfo/pid"));
  2176. model.makeValue("/root/send/liver/orddd",model.getValue("/root/main/paminfo/orddd"));
  2177. model.makeValue("/root/send/liver/cretno",model.getValue("/root/main/paminfo/cretno"));
  2178. model.makeValue("/root/send/liver/chosflag",model.getValue("/root/main/paminfo/ioflag"));
  2179. if (model.getValue ("/root/main/paminfo/ioflag") == "O" || model.getValue ("/root/main/paminfo/ioflag") == "S")
  2180. {
  2181. model.makeValue("/root/send/liver/orddd", model.getValue ("/root/main/paminfo/orddd")); //수진일자
  2182. } else {
  2183. model.makeValue("/root/send/liver/orddd", model.getValue ("/root/main/paminfo/indd")); //수진일자
  2184. }
  2185. model.makeValue("/root/send/liver/recflag", 3); //간암 관리는 3번
  2186. model.makeValue("/root/send/liver/fstrgstrid",getUserInfo("userid"));
  2187. model.makeValue("/root/send/liver/lastupdtrid",getUserInfo("userid"));
  2188. if(model.getValue("/root/send/liver/pid")!=""){
  2189. submit("TXMMO08101");
  2190. alert("등록 되었습니다!");
  2191. btn_liver.disabled="true";
  2192. }else{
  2193. alert("환자를 먼저 선택해주세요!");
  2194. };
  2195. }
  2196. }
  2197. function fGrdSortFlag(){
  2198. var cnt = getNodesetCount("/root/main/mainlist/medireclist");
  2199. var fromdt = model.getValue("/root/main/mainlist/medireclist[1]/formrecdt");
  2200. var todt = model.getValue("/root/main/mainlist/medireclist[" + cnt + "]/formrecdt");
  2201. if( fromdt < todt ){
  2202. sortflag = "asc";
  2203. }else{
  2204. sortflag = "desc";
  2205. }
  2206. model.makeValue("/root/temp/recformsort", sortflag );
  2207. model.refresh();
  2208. }
  2209. //2013.11.28 김영기 수진일자와 기록일자가 다를경우 색상변화
  2210. function fSetColorByNotSameOrdddandRecdd(datagrid){
  2211. var cnt = getNodesetCount("/root/main/mainlist/medireclist");
  2212. var orddd = "";
  2213. var recdd = "";
  2214. var srcformcd = "";
  2215. for(var i=1; i<=cnt; i++){
  2216. orddd = model.getValue("/root/main/mainlist/medireclist["+i+"]/orddd");
  2217. recdd = model.getValue("/root/main/mainlist/medireclist["+i+"]/formrecdd");
  2218. srcformcd = model.getValue("/root/main/mainlist/medireclist["+i+"]/srcformcd");
  2219. datagrid.rowstyle( i , "data" , "background-color" ) = "#FFFFFF";
  2220. // 수진일자 와 기록일자가 다를경우 그리고 외래초진서식(0000000001) 및 외래재진서식(0000000002) 일경우
  2221. if(orddd != recdd && (srcformcd == "0000000002" || srcformcd == "0000000001")){
  2222. datagrid.rowstyle( i , "data" , "background-color" ) = "#99CCFF";
  2223. }
  2224. }
  2225. }
  2226. function fOpenSpecialCharacterViewer(){
  2227. open("SPMMR09100");
  2228. }
  2229. //통합기록조회 간단모듈 호출(20140422 이윤주)
  2230. function fViewespi() {
  2231. var oldflag = "E";
  2232. var signno = model.getValue("/root/main/mainlist/medireclist["+grd_medireclist.row+"]/espiseq");
  2233. var formcd = model.getValue("/root/main/mainlist/medireclist["+grd_medireclist.row+"]/formcd");
  2234. setParameter("SPMRI02400_prtrecinfo", oldflag + "▦" + signno + "▦" + formcd + "▩");
  2235. setParameter("SPMRI02400_prtyn", "N");
  2236. modal("SPMRI02400");
  2237. }]]></Script>