/* - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ 응급환자리스트 ( SMMMO04400_응급환자리스트.xrw - JScript ) - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩ */ var sERPATLIST_PATH = "/root/main/erpatinfo/erpatlist"; var sORDERBY = ""; /** * @desc : 화면 초기화 * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fInitialize_SMMMO04400(){ model.removeNodeset(sERPATLIST_PATH); model.setValue("/root/main/cond/srchdd" , getCurrentDate()); mmbfGetHardCodeInfo("/root/send/reqdata" , "/root/init/eroverallday", 189); // 4-6-24 적용 여부 2010-03-22 LYJ model.setValue("/root/main/cond/orddeptcd", "2280000000"); //응급의학과 기본 세팅getUserInfo("dutplcecd")); //진료과 model.setValue("/root/main/cond/medispclid", "-"); //주치의 model.setValue("/root/main/cond/atdoctid", "-"); //담당의 model.setValue("/root/main/cond/wardcd", "-"); //병동 model.setValue("/root/main/cond/erorddeptcd", "-"); //호출진료과 model.setValue("/root/main/cond/ermedispclid", "-"); //호출의사 fReqSectionInfo(); fReqERPatList(); } /** * @desc : 응급환자리스트 조회 * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fReqERPatList(){ model.removeNodeset("/root/send/reqdata"); model.makeNode("/root/send/reqdata"); model.copyNode("/root/send/reqdata", "/root/main/cond"); //2011.05.01진상찬 페이지 처리추가(10건씩) var offset = parseInt(model.getValue("root/page/curpage")); //1page면 offset은 0, 1page가 아니면 offset은 page수 * 10 (한페이지당 10건씩 보여줌) if(offset == 1) { offset = offset - 1; } else { offset = (offset - 1) * 10; } model.makeValue("/root/send/reqdata/offset", String(offset)); //몇번째 데이터 부터 조회할지 지정 model.makeValue("/root/send/reqdata/pagesize", model.getValue("root/page/pagesize")); //한페이지에 보여줄 건수(10건고정) //alert(model.getValue("/root/send/reqdata/offset")); //alert(model.getValue("/root/send/reqdata/pagesize")); //if(submit("TRMMO04401")==true){ if(submit("TRMOB00002")){ model.copyNode(opener.instance1.selectSingleNode("root/temp/erpatlist"), instance1.selectSingleNode("root/init")); model.copyNode(opener.instance1.selectSingleNode("root/cond/erpatlist"), instance1.selectSingleNode("root/main/cond")); var ercurpatcnt = grd_erpatlist.rows -1; model.makeValue("/root/main/erpatinfo/erpatcnt/ercurpatcnt", ercurpatcnt); out_curpatcnt.refresh(); } ///////////////////////////////// var maxpage = parseInt(model.getValue("/root/main/erpatinfo/erpatcnt/erpattotalcnt")); if(maxpage < 10) { model.setValue("/root/page/maxpage", "1"); } else { maxpage = (maxpage / 10) - ((maxpage % 10) / 10) + 1; model.setValue("/root/page/maxpage", String(maxpage)); model.refresh(); } ///////////////////////////////// var orderby = model.getValue("/root/main/cond/orderby"); var sortcol = model.getValue("/root/main/cond/sortcol"); if(sortcol != "" && orderby != ""){ sORDERBY = orderby; //nodeListSort(grd_erpatlist.nodeset, grd_erpatlist.colAttribute(sortcol, "ref"), sORDERBY); grd_erpatlist.colsort(sortcol) = sORDERBY grd_erpatlist.sort(1, 1, grd_erpatlist.rows -1, grd_erpatlist.cols -1) = "usersort"; grd_erpatlist.gridToInstance(); } //fChngColorERPatList(); //응급 환자 중증 상태에 따라 색깔을 변경 grd_erpatlist.refresh(); } /** * @desc : 환자 선택 후, 환자 정보 조회 및 기록지 화면 연동 * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fSelectERPat(){ var ordrecflag = model.getValue(opener.instance1.selectSingleNode("root/main/cond/ordrecflag")); var currow = grd_erpatlist.row; if(currow < 1){ return; } if(fChkArrivalTime()== false) { //응급실 콜비짓 여부에 따라 처방/기록 인증저장 제한하기 위한 값 셋팅 20100526 LYJ model.makeValue("/root/main/cond/callvisityn" , "N"); parent.window.javascript.setParameter("SMMMO04100_callvisityn", "N"); messageBox("응급실 Visit Time을 등록 하지 않으면 기록과 처방은 임시저장만 가능 합니다.", "E"); }else { model.makeValue("/root/main/cond/callvisityn" , "Y"); parent.window.javascript.setParameter("SMMMO04100_callvisityn", "Y"); } //처방, CP화면에 modal 또는 modaless가 뜬 경우, 환자 선택 불가 if(fChkScrnDisable()==false){ return; } //변경요청(8106) : 응급간호에서 삭제처리한 환자 선택 시 blocking 메세지 처리 추가 (2009.10.09 JJE) //triage 기록지 여부 체크 전, 삭제환자 여부 체크하여 처방입력 blocking var pid = model.getValue(sERPATLIST_PATH + "[" + currow + "]/pid"); var orddd = model.getValue(sERPATLIST_PATH + "[" + currow + "]/indd"); var cretno = model.getValue(sERPATLIST_PATH + "[" + currow + "]/cretno"); var visitno = model.getValue(sERPATLIST_PATH + "[" + currow + "]/visitno"); fChkInCnclYN(pid, orddd, cretno, "C"); //return 없음, 진료기록창만 호출하므로 아래에서 컨트롤 함 //CP환자 여부 확인 if(fChkCPPatValid(currow)==false){ return; } // 응급환자에 대한 중증체류시간 팝업 띄우는 부분 시작 // 작성일 2010.03.09 // 작성자 김광성(kskim) // 관련 xrw : SPMMO21300_중증체류시간 var wndobj = getOpenWindow("SPMMO21300"); var sysMessageobj = getViewer("sysMessage"); if( wndobj == null ){ if( !isNull( model.getValue(sERPATLIST_PATH + "[" + currow + "]/recovwardnm") ) ){ var SPMMO21300_param = pid+ "▦" + orddd + "▦" + cretno + "▦" + visitno; sysMessageobj.window.javascript.setParameter("SPMMO21300_param", SPMMO21300_param); sysMessageobj.window.javascript.open("SPMMO21300",1,1280 - 300,100,"SPMMO21300", "", "", "", "", "", "" ); sysMessageobj.window.javascript.getOpenWindow("SPMMO21300"); // SPMMO21300 윈도우를 열고나서 윈도우 객체를 가져옴 } } else{ if( !isNull( model.getValue(sERPATLIST_PATH + "[" + currow + "]/recovwardnm") ) ){ var SPMMO21300_param = pid+ "▦" + orddd + "▦" + cretno + "▦" + visitno; sysMessageobj.window.javascript.setParameter("SPMMO21300_param", SPMMO21300_param); wndobj.javascript.fStartWnd(); // SPMMO21300팝업 화면 데이터 reflash기능을 담당 } else{ wndobj.javascript.fCloseWnd(); } } // 응급환자에 대한 중증체류시간 팝업 띄우는 부분 끝. kskim // 진료기록에 수정된 사항이 있을 경우 저장할 것인지 묻는 함수 호출 : 2009. 07. 27 김영학 var mainobj = getMainViewer(); var mainscrnid = mainobj.javascript.getScreenID(); //메인화면의 기록지 ID if(mainscrnid == "SMMMR00100"){ var prvIntRecPamInfRtn = mainobj.window.javascript.fPrevInitRecPamInfo(); if(prvIntRecPamInfRtn == false){ return; }// 기록지에 필수 입력사항을 입력하지 않았을 때 그냥 넘어가 버리는 오류 수정 20100305 LYJ } //상단정보 설정 및 진료기록 처방화면 연동 //var mainObj = getMainViewer(); //var mainObj = getViewer("sysMessage"); if(fReqERPatPamInfo()==true){ var cpflag = opener.model.getValue("/root/cpflag"); var ordrecflag = opener.model.getValue("/root/main/cond/ordrecflag"); var recflag = opener.model.getValue("/root/main/cond/recflag"); var chngflag = opener.model.getValue("/root/main/cond/chngflag"); var mainObj = getMainViewer(); var currow = grd_erpatlist.row; var pid = model.getValue(sERPATLIST_PATH + "[" + currow + "]/pid"); var hngnm = model.getValue(sERPATLIST_PATH + "[" + currow + "]/hngnm"); var inCnclYN = model.getValue("/root/hidden/erincnclinfo/info/incnclyn"); //응급간호 삭제 여부 setParameter("SMMMO00100_callvisityn", model.getValue("/root/main/cond/callvisityn")); // 응급실 콜비짓 여부 20100526 LYJ if (recflag == "Y" || inCnclYN == "Y") { //inCnclYN 조건 추가 (2009.10.26 by JJE) var mainObj = getMainViewer(); curEmrRecObj = getOpenWindow("SMMRI00400"); //활성화된 진료기록 화면 object loading curExamRsltObj = getOpenWindow("SMAER00800"); //활성화된 검사결과 화면 object loading curNurTprObj = getOpenWindow("SMMNR00900"); //활성화된 간호 TPR 화면 object loading curNurBSEMRObj = getOpenWindow("SMMNR02500"); //활성화된 간호 TPR 화면 object loading curGrphObj = getOpenWindow("SPMRF05200"); //활성화된 그래프 서식 화면 object loading curCunsultObj = getOpenWindow("SMMMR05000"); //활성화된 Consult 화면 object loading curExamRsltNewObj = getOpenWindow("SMMMI00100"); //활성화된 검사결과 화면 object loading //if(curEmrRecObj != null){curEmrRecObj.javascript.fClose();} //진료기록 화면 close var wndobj = getOpenWindow("SMMRI00400"); if(wndobj != null) { setParameter("SMMRI00400_param_pid" , model.getValue("/root/source/pid")); setParameter("SMMRI00400_param_chosflag", model.getValue("/root/main/paminfo/list/ordtype")); wndobj.javascript.fInitalize(); activateChild("SMMRI00400"); } if(curExamRsltObj != null){ curExamRsltObj.model.setvalue("/root/send/data/singdata/srchpid", pid ); curExamRsltObj.javascript.btn_srch.dispatch("DOMActivate"); } //검사결과 화면 refresh; if(curNurTprObj != null){ //간호 TPR 화면 refresh : 2008-11-28 : 김영학 ; curNurTprObj.javascript.fInitialize("init"); } //간호 TPR 화면 refresh; if(curNurBSEMRObj != null){ //혈당간호기록 refresh : 2008-12-24 : 김영학 ; curNurBSEMRObj.javascript.fInitialize("init"); } //혈당간호기록 refresh; if(curGrphObj != null){ //그래프 서식 refresh : 2009-01-02 : 박민규 SW 요청 : 김영학 ; curGrphObj.javascript.fInitialize(); } //그래프 서식 refresh; // if(curCunsultObj != null && consulyn !="T"){ if(curCunsultObj != null){ curCunsultObj.javascript.fInitalize(); } //그래프 서식 refresh; if(curExamRsltNewObj != null){ curExamRsltNewObj.model.setvalue("/root/send/data/singdata/srchpid", pid ); curExamRsltNewObj.javascript.btn_srch.dispatch("DOMActivate"); } //검사결과 화면 NEW refresh; curCpObj = mainObj.javascript.getOpenWindow("SMMMP00800"); //활성화된 CP Main 화면 object loading curPrcpObj = mainObj.javascript.getOpenWindow("SMMMO00100"); //활성화된 처방Main 화면 object loading curCpSrchObj = mainObj.javascript.getOpenWindow("SPMMP01200"); //활성화된 CP 검색 화면 object loading if(curPrcpObj != null) {curPrcpObj.javascript.fPrcpWndClose(); } ////활성화된 처방Main 화면이 있는 경우 close if(curCpObj != null){curCpObj.javascript.fCloseGPS();} //활성화된 CP Main화면이 있는 경우 close if(curCpSrchObj != null){curCpSrchObj.javascript.fCpSrchWndClose();} //활성화된 CP검색화면이 있는 경우 close clearParameter("SMMMO04100_ANSWCNT"); opener.javascript.fChngEMRScrn();// 진료기록 Open } else { opener.javascript.fOpenPrcpMainWnd(); //mainObj.window.javascript.openEmrScrn("SMMMO00100"); //처방화면 open } //fChkErTriagePatList(); // 트라이제 기록지 작성이 안되어 있으면 트리아제를 열어준다. } } /** * @desc : 응급환자 상단정보 호출 * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fReqERPatPamInfo(){ var iRow = grd_erpatlist.row; var pid = model.getValue(sERPATLIST_PATH + "[" + iRow + "]/pid"); var indd = model.getValue(sERPATLIST_PATH + "[" + iRow + "]/indd"); var cretno = model.getValue(sERPATLIST_PATH + "[" + iRow + "]/cretno"); var instcd = model.getValue(sERPATLIST_PATH + "[" + iRow + "]/instcd"); var srchdd = model.getValue("/root/main/cond/srchdd"); var callvisityn = model.getValue("/root/main/cond/callvisityn"); // 응급실 콜비짓 여부 추가 20100526 LYJ var param = "E" + "▦" + pid + "▦" + indd + "▦" + cretno + "▦" + instcd + "▦" + srchdd + "▦" + callvisityn ;// 응급실 콜비짓 여부 추가 20100526 LYJ setParameter("condparam", param); modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;"); var useyn = getParameter("SPMMO08900_rtn_useyn"); if(useyn == "Y"){ setParameter("SPMMO08900_rtn_useyn", ""); return true; }else{ return false; } } /** * @desc : 기본구역 조회 * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fReqSectionInfo(){ model.removeNodeset("/root/send/reqdata"); model.makeValue("/root/send/reqdata/baseclsflag" , "B"); model.makeValue("/root/send/reqdata/supbasetypecd", "BD"); //submit("TRMMO04402"); submit("TRMOB00008"); } /** * @desc : 응급환자 정보에 따라 그리드의 row와 cell font color변경 * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fChngColorERPatList(){ var colorflag = model.getValue("/root/init/colorflag/hardcd/hardcd"); if (colorflag =="A") { var iRow = grd_erpatlist.rows; for(i= 1 ; i < iRow ; i ++ ){ //+ 글자색 지정 if(model.getValue(sERPATLIST_PATH + "[" + i + "]/prcpcolor") == "N") { grd_erpatlist.rowStyle(i, "data", "color") = "#0033CC"; } else if( model.getValue(sERPATLIST_PATH + "[" + i + "]/staytime") == "Y" && (model.getValue(sERPATLIST_PATH + "[" + i + "]/patstat") == "" && model.getValue(sERPATLIST_PATH + "[" + i + "]/adrvflag") == "" ) ) { grd_erpatlist.rowStyle(i, "data", "color") = "#ff0000"; } // 배경색 지정 var tmcolor = model.getValue(sERPATLIST_PATH + "[" + i + "]/tmcolor"); if (isNull(tmcolor)) { tmcolor = "FFFFFF"; } grd_erpatlist.rowStyle(i, "data", "background-color") = "#" + tmcolor; //Census 미등록 환자 if(model.getValue(sERPATLIST_PATH + "["+i+"]/chosdd") == ""){ grd_erpatlist.rowStyle(i, "data", "background-color") = "#ffefd6"; } if(model.getValue(sERPATLIST_PATH + "["+i+"]/recovwardcd") != "-"){ grd_erpatlist.rowStyle(i, "data", "background-color") = "#ffff99"; } //활력징후 대상자 if(model.getValue(sERPATLIST_PATH + "[" + i + "]/actsymp") == "Y") { grd_erpatlist.cellstyle("background-color", i, grd_erpatlist.colRef("bed")) = "#ff0000"; grd_erpatlist.cellstyle("color", i, grd_erpatlist.colRef("bed")) = "#000000"; } } } else { var totrow = grd_erpatlist.rows; var curcol = grd_erpatlist.colRef("serdiagflag"); var currecovcol = grd_erpatlist.colRef("recovwardnm"); var curadrvflag = grd_erpatlist.colRef("adrvflag"); for(var rowcnt = 1 ; rowcnt < totrow ; rowcnt++){ // var serdiagval = grd_erpatlist.valueMatrix(rowcnt, curcol); 중증을 가져오는 부분을 getValue로 처리하도록 수정 (2008.09.01 : 김영학) var serdiagval = model.getValue(sERPATLIST_PATH + "[" + rowcnt + "]/serdiagflag"); var recovwardnm = model.getValue(sERPATLIST_PATH + "[" + rowcnt + "]/recovwardnm"); var color = model.getValue(sERPATLIST_PATH + "[" + rowcnt + "]/color"); var adrvcolor = model.getValue(sERPATLIST_PATH + "[" + rowcnt + "]/adrvcolor"); var adrvflag = model.getValue(sERPATLIST_PATH + "[" + rowcnt + "]/adrvflag"); if(serdiagval != "-" || serdiagval != ""){ //serdiagval = eval(serdiagval); serdiagval = parseInt(serdiagval); switch(serdiagval){ case 1 : grd_erpatlist.cellstyle("color", rowcnt, curcol) = "#ff0000"; break; case 2 : grd_erpatlist.cellstyle("color", rowcnt, curcol) = "#ff6600"; break; case 3 : grd_erpatlist.cellstyle("color", rowcnt, curcol) = "#0000ff"; break; case 4 : grd_erpatlist.cellstyle("color", rowcnt, curcol) = "#000000"; break; case 5 : grd_erpatlist.cellstyle("color", rowcnt, curcol) = "#000000"; break; default : grd_erpatlist.cellstyle("color", rowcnt, curcol) = "#ffffff"; break; } } if (!isNull(recovwardnm )) { grd_erpatlist.cellstyle("color", rowcnt, currecovcol) = "#ff0000"; } if (!isNull(adrvcolor )) { grd_erpatlist.cellstyle("color", rowcnt, curadrvflag) = "#ff0000"; } grd_erpatlist.rowStyle(rowcnt, "data", "background-color") = "#" + color; } } } /** * @desc : CP환자 여부 검사 * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fChkCPPatValid(currow){ fChkErTriagePatList(); var pid = model.getValue(sERPATLIST_PATH + "[" + currow + "]/pid"); var orddd = model.getValue(sERPATLIST_PATH + "[" + currow + "]/indd"); var cretno = model.getValue(sERPATLIST_PATH + "[" + currow + "]/cretno"); var cpyn = model.getValue(sERPATLIST_PATH + "[" + currow + "]/cpyn"); var hngnm = model.getValue(sERPATLIST_PATH + "[" + currow + "]/hngnm"); var orddeptcd = model.getValue(sERPATLIST_PATH + "[" + currow + "]/orddeptcd"); var ioflag = model.getValue(sERPATLIST_PATH + "[" + currow + "]/ioflag"); if(isNull(orddeptcd)) orddeptcd = model.getValue("/root/main/cond/orddeptcd"); if(isNull(ioflag)) ioflag = "E"; model.removeNodeset("/root/send/reqdata"); model.makeValue("/root/send/reqdata/pid" , pid); model.makeValue("/root/send/reqdata/orddd" , orddd); model.makeValue("/root/send/reqdata/cretno" , cretno); model.makeValue("/root/send/reqdata/hngnm" , hngnm); model.makeValue("/root/send/reqdata/prcpgenrflag", ioflag); model.makeValue("/root/send/reqdata/srchtabflag" , "E"); //대상자리스트탭 구분 if(submit("TRMMO04303")==true){ var cppatnode = instance1.selectNodes("/root/init/rsltgetdata/getdata"); if(cppatnode.length < 1){ //cp적용환자 tbl에 유효한 데이터가 없는 경우 model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "N"); return true; }else{ //CP적용환자 tbl에 유효한 데이터가 있는 경우 var appstat = model.getValue("/root/init/rsltgetdata/getdata/appstat"); var cpgnm = model.getValue("/root/init/rsltgetdata/getdata/cpgnm"); var cpgappno = model.getValue("/root/init/rsltgetdata/getdata/cpgappno"); var msgcnts = model.getValue("/root/init/rsltgetdata/getdata/msgcnts"); var msgflag = model.getValue("/root/init/rsltgetdata/getdata/msgflag"); var prtlflagcd = model.getValue("/root/init/rsltgetdata/getdata/prtlflagcd"); //01:CP,02:CPG if(appstat == 52){ //case52: 입원장 CP var rtnval = messageBox(msgcnts, msgflag); if(rtnval == 6){ model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "X"); // CP Main open return true; }else{ model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "N"); if(fUpdtCPPatAppStatVal(41) != false && instance1.selectSingleNode(sERPATLIST_PATH + "[" + currow + "]/cpyn") != null){ //41 : CP 취소 model.setValue(sERPATLIST_PATH + "[" + currow + "]/cpyn", "N"); return; }else{ return false; } } }else{ if( prtlflagcd == "02" && isNull(appstat) && msgflag == "P" ){ //모니터링구분:대상자탐색 Case. CPG & 호출flag:Popup(appyn:평가용여부) //CPG적용대상자 알림 팝업 호출 (2009.05.04) setParameter("SMMMO041_hngnm" , hngnm); setParameter("SMMMO041_pid" , pid); setParameter("SMMMO041_cretno" , cretno); setParameter("SMMMO041_orddd" , orddd); setParameter("SMMMO041_ordtype" , ioflag); setParameter("SMMMO041_orddeptcd" , orddeptcd); setParameter("SMMMO041_slipnm" , model.getValue(instance1.selectSingleNode("root/init/rsltgetdata/getdata/msgcnts"))); //cpgno▦cpghistseq▦cpgnm▦slipno▦slipnm▦valusgeyn▦valunm▦guidedocucnts setParameter("SMMMO041_cpgmntrflag", appstat); //null, SPMMP03200화면에서 cpgmntrflag(M or S)으로 따짐 setParameter("SMMMO041_cpgappno" , cpgappno); //적용중인 CP가 존재하면 값이 있음 setParameter("SMMMO041_cpgnm" , cpgnm); //적용중인 CP가 존재하면 값이 있음 modal("SPMMP03200"); //CP대상자 알람 팝업 if( cpgappno > 0 && cpgappno != getParameter("SPMMP032_cpgappno") && instance1.selectSingleNode(sERPATLIST_PATH + "[" + currow + "]/cpyn") != null){ //진행중인 CP가 있는데 팝업에서 Drop한 경우 CP여부 N으로.. model.setValue(sERPATLIST_PATH + "[" + currow + "]/cpyn", "N"); } if( !isNull(getParameter("SPMMP032_cpgappno")) && getParameter("SPMMP032_cpgappno") > 0 ){ model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "Y"); //CPG적용한 경우, MGPS 호출 }else{ model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "N"); //미적용 시 처방 화면 호출 } clearParameter("SPMMP032_cpgappno"); clearParameter("SMMMO041_hngnm"); clearParameter("SMMMO041_pid"); clearParameter("SMMMO041_cretno"); clearParameter("SMMMO041_orddd"); clearParameter("SMMMO041_ordtype"); clearParameter("SMMMO041_orddeptcd"); clearParameter("SMMMO041_slipnm"); clearParameter("SMMMO041_cpgmntrflag"); clearParameter("SMMMO041_cpgappno"); clearParameter("SMMMO041_cpgnm"); return true; }else{ //case 12 : D0 ~ D1 CP //그외 case : (10 : 진행중...) if( !isNull(msgcnts) && !isNull(msgflag) ){ //12: D0 처방일과 == 입원일 -> Drop 유도 //그외: 오늘날짜 > CP퇴원예정일 -> Drop 유도 messageBox(msgcnts, msgflag); setParameter("SMMMO043_cpgappno", cpgappno); //drop 팝업에서 인식할 수 있는 param setParameter("SMMMO043_drop" , "N"); //drop 팝업에서 인식할 수 있는 param modal("SPMMP02300"); model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "N"); if( getParameter("SMMMO043_drop") == "Y" ){ model.setValue(sINPATLIST_PATH + "[" + currow + "]/cpyn", "N"); }else{ return false; } clearParameter("SMMMO043_cpgappno"); clearParameter("SMMMO043_drop"); return true; } model.setValue(opener.instance1.selectSingleNode("root/cpflag"), "Y"); return true; } } } } } /** * @desc : CP환자 적용상태값 변경 * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fUpdtCPPatAppStatVal(appstat){ var cpgappno = model.getValue("/root/init/rsltgetdata/getdata/cpgappno"); model.removeNodeset("/root/send/savedata"); model.makeValue("/root/send/savedata/cpgappno", cpgappno); model.makeValue("/root/send/savedata/appstat" , appstat); if(submit("TXMMO04301")==false){ return false; } } /** * @desc : Visit Time 체크하여 처방창 오픈 유무 결정 * @ 타과나 call time이 없을 경우는 처방창이 열리지만 같은과나 해당의사의 경우 * @ Visit Time이 없을 경우는 처방창이 열리지 않도록 함 * @param : * @return : * @author : 김영학 * @--------------------------------------------------- */ function fChkArrivalTime() { var userdeptcd = getUserInfo("dutplcecd"); var userid = getUserId(); var currow = grd_erpatlist.row; var orddoctid = model.getValue(sERPATLIST_PATH + "[" + currow + "]/orddoctid"); var orddeptcd = model.getValue(sERPATLIST_PATH + "[" + currow + "]/erorddeptcd"); var erorddeptcd = model.getValue("/root/init/hardcdno/hardcd/hardcd"); if (userdeptcd != erorddeptcd) { // 응급의학과가 아니면 도착시간이 없으면 처방창을 열지 못하도록 함. if (userid == orddoctid || userdeptcd == orddeptcd) { // 담당의 아이디 조건에서 과 포함함 : 2009. 07. 04) var visttm = model.getValue(sERPATLIST_PATH + "[" + currow + "]/visttm"); if (visttm =="------") { return false; } } } } /** * @desc : Triage기록 작성유무 * @param : * @return : * @author : 김영학 * @--------------------------------------------------- */ function fChkErTriagePatList() { var currow = grd_erpatlist.row; var messageobj = getViewer("sysMessage"); var pid = model.getValue(sERPATLIST_PATH + "[" + currow + "]/pid"); var orddd = model.getValue(sERPATLIST_PATH + "[" + currow + "]/indd"); var cretno = model.getValue(sERPATLIST_PATH + "[" + currow + "]/cretno") var sa = model.getValue(sERPATLIST_PATH + "[" + currow + "]/sa"); var hngnm = model.getValue(sERPATLIST_PATH + "[" + currow + "]/hngnm"); var condparam = sa.split("/"); var sex = condparam[0]; var age = condparam[1]; model.makeValue("/root/send/reqdata/pid" , pid); model.makeValue("/root/send/reqdata/orddd" , orddd); model.makeValue("/root/send/reqdata/cretno" , cretno); if (submit("TRMMO04403")==true) { var cnts = model.getValue("/root/hidden/pattriagelist/erpatlist/pid"); if (isNull(cnts)) { if (messageBox ( "Triage 기록이 작성되지 않았습니다. \n 작성하시겠습니까?", "Q" ) == "6" ) { var param = pid + "▦" + orddd + "▦" + cretno + "▦" + sex + "▦" + age + "▦▦" + hngnm; messageobj.window.javascript.setParameter("SPMNE04400_param", param); //parameter curErTriageObj = getOpenWindow("SPMNE04400"); //활성화된 진료기록 화면 object loading if (curErTriageObj != null) { curErTriageObj.window.javascript.fInitialize_SPMNE04400(); curErTriageObj.window.activate(); } else { //messageobj.window.javascript.open("SPMNE04400", 2, null, null, "SPMNE04400", "", "", "", false); messageobj.window.javascript.open("SPMNE04400", 2, null, null, "SPMNE04400", "", "", "", false); curErTriageObj = getOpenWindow("SPMNE04400"); //활성화된 진료기록 화면 object loading curErTriageObj.window.activate(); } } else { curErTriageObj = getOpenWindow("SPMNE04400"); //활성화된 진료기록 화면 object loading if (curErTriageObj != null) { curErTriageObj.javascript.button2.dispatch("DOMActivate"); } } } else { curErTriageObj = getOpenWindow("SPMNE04400"); //활성화된 진료기록 화면 object loading if (curErTriageObj != null) { curErTriageObj.javascript.button2.dispatch("DOMActivate"); } } } } /** * @desc : 의사 스케쥴등록 * @ * @param : * @return : * @author :박유진 * @--------------------------------------------------- */ function fSaveErCallVisit(){ open("SPMMO30000"); } /** * @desc : 중증 의사 호출 * @ * @param : * @return : * @author : 김영학 * @--------------------------------------------------- */ function fOpenNurseERCallDr(){ var currow = grd_erpatlist.row; var pid = model.getValue(sERPATLIST_PATH + "[" + currow + "]/pid"); var orddd = model.getValue(sERPATLIST_PATH + "[" + currow + "]/indd"); var cretno = model.getValue(sERPATLIST_PATH + "[" + currow + "]/cretno") var visitno = model.getValue(sERPATLIST_PATH + "[" + currow + "]/visitno") var param = pid + "▦" + orddd + "▦" + cretno + "▦" + visitno; setParameter("SMMNE05200_param", param); modal("SMMNE05200"); fReqERPatList(); } /** * @desc : 중증 의사 당직 관리 * @ * @param : * @return : * @author : 김영학 * @--------------------------------------------------- */ function fOpenNurseERDrScheDrList() { modal("SMMNE05100"); } /** * @desc : 중증의사 Visit 등록 * @ * @param : * @return : * @author : 김영학 * @--------------------------------------------------- */ function fOpenNurseERVisitDr() { modal("SMMNE05300"); } /** * @desc : 호출 의사 사용자 관리 * @ * @param : * @return : * @author : 김영학 * @--------------------------------------------------- */ function fOpenDrList() { var bpcallyn = model.getValue("/root/init/bpcallyn/hardcd/hardcd"); if ( !isNull(bpcallyn) && bpcallyn == "Y") { setParameter("SMMNE05000_bpcallyn", "Y"); setParameter("SMMNE05000_param", "Y^Y^Y^Y^Y^Y^Y"); } else { setParameter("SMMNE05000_bpcallyn", "N"); setParameter("SMMNE05000_param", "Y^Y^Y^Y^N^Y^Y"); } modal("SMMNE05000"); } /** * @desc : 응급실호출 등록 화면 Open * @ * @param : * @return : * @author : 오지훈 * @--------------------------------------------------- */ function fOpenDrCallDeaction(){ var currow = grd_erpatlist.row; if(currow < 1){ return; } var pid = model.getValue(sERPATLIST_PATH + "[" + currow + "]/pid"); var orddd = model.getValue(sERPATLIST_PATH + "[" + currow + "]/indd"); var cretno = model.getValue(sERPATLIST_PATH + "[" + currow + "]/cretno"); var visitno = model.getValue(sERPATLIST_PATH + "[" + currow + "]/visitno"); var param = pid + "▦" + orddd + "▦" + cretno + "▦" + visitno; setParameter("SPMMO32300_param", param); modal("SPMMO32300"); fReqERPatList(); } /** * @desc : 응급실호출 내역추가 화면 Open * @ * @param : * @return : * @author : 김소정 * @--------------------------------------------------- */ function fOpenDrCallAddition(){ var currow = grd_erpatlist.row; if(currow < 1){ return; } var pid = model.getValue(sERPATLIST_PATH + "[" + currow + "]/pid"); var orddd = model.getValue(sERPATLIST_PATH + "[" + currow + "]/indd"); var cretno = model.getValue(sERPATLIST_PATH + "[" + currow + "]/cretno"); var visitno = model.getValue(sERPATLIST_PATH + "[" + currow + "]/visitno"); var param = pid + "▦" + orddd + "▦" + cretno + "▦" + visitno; setParameter("SPMMO32400_param", param); modal("SPMMO32400"); fReqERPatList(); }