1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 외래환자리스트 ( SMMMO04200_외래환자리스트.xfdl - JScript )
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var arErrorCode = new HashArray();
- /**
- * @desc : 화면 초기화
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fInitialize_SMMMO04200() {
- ds_cond.setColumn(0, "orddd", utlf_getCurrentDate());
-
- // 75 당일 선결과 사용 유무조회
- // 95 보호자대진 적용여부
- // 191 진료대상자 외래 마우스 오른쪽 버튼 메뉴 설정을 위한 값 조회
- // 134 20091007 JJE 추가 : 주진료과 의사가 진료지원과의 선택진료의사 선택 여부 조회
- // 135 당일 선결과 사용 유무조회
- lf_gethardcdArrayList(new Array(
- "dayaftrcptyn|75",
- "patprotector|95",
- "menu|191",
- "selspecordyn|134",
- "ordordershow|135",
- "hardcd|445"
- ),
- new Array(
- "ds_dayaftrcptyn",
- "ds_patprotector",
- "ds_menu",
- "ds_selspecordyn",
- "ds_ordordershow",
- "ds_hardcd"
- )
- );
-
- frmf_createPopupMenuDs("pmn_menu", "pmn_menu_onmenuclick", ds_menu);
-
- appf_getCodeList([{dsNm: "ds_M0062", cdGrpId: "M0062"}
- , {dsNm: "ds_P0008", cdGrpId: "P0008"}
- , {dsNm: "ds_P0021", cdGrpId: "P0021"}
- , {dsNm: "ds_P0022", cdGrpId: "P0022"}
- , {dsNm: "ds_P1059", cdGrpId: "P1059"}
- , {dsNm: "ds_P0341", cdGrpId: "P0341"}
- , {dsNm: "ds_M0525", cdGrpId: "M0525"}
- , {dsNm: "ds_M0623", cdGrpId: "M0623"}], true);
-
-
- var dutplcecd = sysf_getUserInfo("dutplcecd");
- var orddrid = sysf_getUserInfo("userid");
-
- var reopenflag = parent.parent.ds_reopen.getColumn(0, "reopenflag"); //진료대상자 리스트 open여부
- if(reopenflag == "Y"){ //다시 열린 경우, main에 ordtab의 condlist(화면이 닫힐때 설정된 정보)를 그대로 재설정
- try {
- ds_cond.copyData(parent.parent.ds_reopen_condlist);
- dutplcecd = ds_cond.getColumn(0, "orddeptcd");
- orddrid = ds_cond.getColumn(0, "orddrid");
- } catch(E) {
- }
-
- parent.parent.ds_reopen.setColumn(0, "reopenflag", "N");
- } else {
- var sUserEnv057 = lf_mmbfGetUserEnvQuestValue("057"); // 진료대상자 외래탭 지연환자 표시여부
- if(sUserEnv057 == "001") { // 지연환자 표시일경우
- var sUserEnv058 = lf_mmbfGetUserEnvQuestValue("058"); // 진료대상자 외래탭 지연환자 지연시간
- var sUserEnv059 = lf_mmbfGetUserEnvQuestValue("059"); // 진료대상자 외래탭 지연환자 지연 제외시간
-
- if(sUserEnv058 == "001") { ds_cond.setColumn(0, "delaytime", "10");
- } else if(sUserEnv058 == "002") { ds_cond.setColumn(0, "delaytime", "20");
- } else if(sUserEnv058 == "003") { ds_cond.setColumn(0, "delaytime", "30");
- } else if(sUserEnv058 == "004") { ds_cond.setColumn(0, "delaytime", "40");
- } else if(sUserEnv058 == "005") { ds_cond.setColumn(0, "delaytime", "50");
- } else if(sUserEnv058 == "006") { ds_cond.setColumn(0, "delaytime", "60");
- } else { ds_cond.setColumn(0, "delaytime", "30");
- }
-
- if(sUserEnv059 == "001") { ds_cond.setColumn(0, "delayexpt", "0");
- } else if(sUserEnv059 == "002") { ds_cond.setColumn(0, "delayexpt", "10");
- } else if(sUserEnv059 == "003") { ds_cond.setColumn(0, "delayexpt", "20");
- } else if(sUserEnv059 == "004") { ds_cond.setColumn(0, "delayexpt", "30");
- } else { ds_cond.setColumn(0, "delayexpt", "10");
- }
-
- ds_cond.setColumn(0, "delayflag" , "Y");
- } else {
- ds_cond.setColumn(0, "delayflag" , "N");
- }
- }
-
- setDeptCodeList(dutplcecd);
- setUserList(dutplcecd, orddrid);
- reqOrderInfoOfCol(ds_reqdata1, ds_gridseq, "SMMMO04200", grd_outpatlist); //외래환자리스트 컬럼 조회 및 설정
-
- if(Div00.chk_speedflag.value == "Y")
- fGrdInit();
-
- fReqOutPatList();
- }
- function setDeptCodeList(sDeptcd, sOrddd){
- lf_mmbfGetDeptCodeComboList(ds_orddept, "O", sOrddd);
-
- if(!utlf_isNull(sDeptcd))
- Div00.cmb_orddeptcd.value = sDeptcd;
- }
- function setUserList(sOrddeptcd, sUserid, sOrddd){
- lf_mmbfGetUserComboList(ds_userlist, sOrddeptcd, "0330", "", "", sOrddd);
-
- frmf_addComboItem("Div00.cmb_orddrid"); //의사콤보 전체항목 추가
-
- if(utlf_isNull(sUserid)) {
- Div00.cmb_orddrid.index = 1;
- } else {
- Div00.cmb_orddrid.value = sUserid;
- }
- }
- /**
- * @desc : 외래환자 환자 기본정보설정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqOutPatPamInfo(){
- var iRow = ds_outpatlist.rowposition;
- var pid = ds_outpatlist.getColumn(iRow, "pid");
- var orddd = ds_outpatlist.getColumn(iRow, "orddd");
- var cretno = ds_outpatlist.getColumn(iRow, "cretno");
- var instcd = ds_outpatlist.getColumn(iRow, "instcd");
-
- var param = "O" + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd;
-
- return appf_initPatientInfo(param);
- }
- /**
- * @desc : (외래)관심환자등록창 호출
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fCallWndConcPatRgst(){
- var currow = ds_outpatlist.rowposition;
- var pid = ds_outpatlist.getColumn(currow, "pid");
- var hngnm = ds_outpatlist.getColumn(currow, "hngnm");
- var indd = ds_outpatlist.getColumn(currow, "orddd");
- var cretno = ds_outpatlist.getColumn(currow, "cretno");
- var seqno = "";//ds_outpatlist.getColumn(currow, "seqno");
- var instcd = ds_outpatlist.getColumn(currow, "instcd");
- var elbulbodstat = ds_outpatlist.getColumn(currow, "elbulbodstat");
-
- if ( elbulbodstat == "9" ) {
- sysf_messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- var param = "I" + "▩" + pid + "▩" + hngnm + "▩" + indd + "▩" + cretno + "▩" + seqno + "▩" + instcd;
- frmf_setParameter("param", param);
- frmf_modal("SPMMO08200", "SPMMO08200", null, null, null, null, null, null, null, null, null, null, "M");
- fReqOutPatList();
- }
- /**
- * @desc : (외래)주의요망환자창 호출
- * @
- * @param :
- * @return :
- * @author : 엄영만
- * @---------------------------------------------------
- */
- function fCallWndWarnPat(){
- var nCurRow = ds_outpatlist.rowposition;
- var sPid = ds_outpatlist.getColumn(nCurRow, "pid");
- var sHngnm = ds_outpatlist.getColumn(nCurRow, "hngnm");
-
- frmf_setParameter("SMMMO19100_warncd", sPid);
- frmf_setParameter("SMMMO19100_warnnm", sHngnm);
-
- frmf_modal("SMMMO19100", "SMMMO19100", null, null, null, null, null, null, null, null, null, null, "M");
-
- frmf_clearParameter("SMMMO19100_warncd");
- frmf_clearParameter("SMMMO19100_warnnm");
-
- fReqOutPatList();
- }
- /**
- * @desc : 외래환자 조회
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqOutPatList() {
- parent.parent.ds_cond_outpatlist.copyData(ds_cond);
- ds_reqOutPat.copyData(ds_cond);
-
- var compsrefcnts = ds_gridseq.getColumn(0, "compsrefcnts");
- var compssizecnts = ds_gridseq.getColumn(0, "compssizecnts");
-
- if(utlf_isNull(compsrefcnts)) compsrefcnts = "";
- if(utlf_isNull(compssizecnts)) compssizecnts = "";
-
- ds_reqOutPat.addColumn("compsrefcnts", "string", 1024);
- ds_reqOutPat.addColumn("compssizecnts", "string", 1024);
-
- ds_reqOutPat.setColumn(0, "compsrefcnts", compsrefcnts);
- ds_reqOutPat.setColumn(0, "compssizecnts", compssizecnts);
- ds_outpatlist.enableevent = false;
- if(!utlf_isNull(ds_outpatlist.getColumnInfo("sexage")))
- ds_outpatlist.updateColID("sexage", "sa");
- var oParam = {};
- oParam.id = "TRMMO04201";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetOutPatList";
- oParam.inds = "req=" + "ds_reqOutPat";
- oParam.outds = "ds_outpatlist=outpatlist" + " ds_hardcode=hardcode" + " ds_totcnt=totcnt";
- oParam.async = true;
- oParam.callback = "cf_TRMMO04201";
- tranf_submit(oParam);
- }
- function cf_TRMMO04201(sSvcId, nErrorCode, sErrorMsg) {
- if(!utlf_isNull(ds_outpatlist.getColumnInfo("sa")))
- ds_outpatlist.updateColID("sa", "sexage");
-
- if(nErrorCode > -1) {
- fProcTreatExpt(); //치료제외 삭제 및 숨김처리
- }
-
- var orderby = ds_cond.getColumn(0, "orderby");
- var sortcol = ds_cond.getColumn(0, "sortcol");
- if(sortcol != "" && orderby != "")
- ds_outpatlist.keystring.current = "S:" + orderby + sortcol;
-
- ds_cond.setColumn(0, "rsltcnt", ds_outpatlist.rowcount);
- ds_cond.setColumn(0, "totcnt", ds_totcnt.getColumn(0, "totcnt"));
-
- ds_outpatlist.enableevent = true;
- }
- /**
- * @desc : 환자 선택 후, 환자 정보 조회 및 기록지 화면 연동
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSelectOutPat(){
- //model.addlog("SPEED CHECK START OF fSelectOutPat()");
- var nRow = ds_outpatlist.rowposition;
- if(nRow < 0){ return bRtn; }
-
- var elbulbodstat = ds_outpatlist.getColumn(nRow, "elbulbodstat");
- if ( elbulbodstat == "9" ) {
- sysf_messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
- //var reqptype = ds_outpatlist.getColumn(nRow, "reqptype"); // 해당 컬럼 없음
- var pid = ds_outpatlist.getColumn(nRow, "pid");
- var recflag = parent.parent.SMMMO04100_getDSMainCond("recflag");
-
- //parent.parent.frmf_setParameter("SMMMO04100_reqptype", reqptype);
- // 진행가능 한지 여부 체크
- //model.addlog(" SPEED CHECK START OF fCheckBfSelectOutPat()");
- if(!fCheckBfSelectOutPat()) { return; }
- //model.addlog(" SPEED CHECK END OF fCheckBfSelectOutPat()");
- // 상단정보 설정
- //model.addlog(" SPEED CHECK START OF fReqOutPatPamInfo()");
- if(!fReqOutPatPamInfo()) { return; }
- //model.addlog(" SPEED CHECK END OF fReqOutPatPamInfo()");
- // 진료기록, 처방화면 연동
- //model.addlog(" SPEED CHECK START OF fOpenPrcpMainWnd()");
- if (recflag == "Y") {
- var mainObj = frmf_getMainViewer();
- var curEmrRecObj = frmf_findPopup("SMMRI00400"); //활성화된 통합기록 조회 화면 object loading
- var curExamRsltObj = frmf_findPopup("SMAER00800"); //활성화된 검사결과 화면 object loading
- var curNurTprObj = frmf_findPopup("SMMNR00900"); //활성화된 간호 TPR 화면 object loading
- var curNurBSEMRObj = frmf_findPopup("SMMNR02500"); //활성화된 간호 TPR 화면 object loading
- var curGrphObj = frmf_findPopup("SPMRF05200"); //활성화된 그래프 서식 화면 object loading
- var curCunsultObj = frmf_findPopup("SMMMR05000"); //활성화된 Consult 화면 object loading
- var curExamRsltNewObj = frmf_findPopup("SMMMI00100"); //활성화된 검사결과 화면 object loading
- var curCpObj = mainObj.frmf_findPopup("SMMMP00800"); //활성화된 CP Main 화면 object loading
- var curPrcpObj = mainObj.frmf_findPopup("SMMMO00100"); //활성화된 처방Main 화면 object loading
- var curCpSrchObj = mainObj.frmf_findPopup("SPMMP01200"); //활성화된 CP 검색 화면 object loading
-
- if(!utlf_isNull(curEmrRecObj)) { //통합기록 조회화면 refresh;
- frmf_setParameter("SMMRI00400_param_pid" , parent.parent.SMMMO04100_getPid());
- frmf_setParameter("SMMRI00400_param_chosflag", "");//model.getValue("/root/main/paminfo/list/ordtype")); 어디에 있는 노드지?
- curEmrRecObj.fInitalize();
- frmf_setFocusPop("SMMRI00400");
- }
-
- if(!utlf_isNull(curExamRsltObj)){ //검사결과 화면 refresh;
- curExamRsltObj.ds_singdata.setColumn(0, "srchpid", pid );
- curExamRsltObj.btn_srch.onclick.fireEvent(curExamRsltObj.btn_srch, new ClickEventInfo);
- }
-
- if(!utlf_isNull(curNurTprObj)){ //간호 TPR 화면 refresh : 2008-11-28 : 김영학 ;
- curNurTprObj.fInitialize("init");
- }
-
- if(!utlf_isNull(curNurBSEMRObj)){ //혈당간호기록 refresh : 2008-12-24 : 김영학 ;
- curNurBSEMRObj.fInitialize("init");
- }
-
- if(!utlf_isNull(curGrphObj)){ //그래프 서식 refresh : 2009-01-02 : 박민규 SW 요청 : 김영학 ;
- curGrphObj.fInitialize();
- }
-
- if(!utlf_isNull(curCunsultObj)){ //Consult 화면 refresh;
- curCunsultObj.fInitalize();
- }
-
- if(!utlf_isNull(curExamRsltNewObj)){ //검사결과 화면 NEW refresh;
- curExamRsltNewObj.ds_singdata.setColumn(0, "srchpid", pid );
- curExamRsltNewObj.btn_srch.onclick.fireEvent(curExamRsltNewObj.btn_srch, new ClickEventInfo);
- }
-
- if(!utlf_isNull(curPrcpObj)) { //활성화된 처방Main 화면이 있는 경우 close
- curPrcpObj.fPrcpWndClose();
- }
-
- if(!utlf_isNull(curCpObj)){ //활성화된 CP Main화면이 있는 경우 close
- curCpObj.fCloseGPS();
- }
-
- if(!utlf_isNull(curCpSrchObj)){ //활성화된 CP검색화면이 있는 경우 close
- curCpSrchObj.fCpSrchWndClose();
- }
-
- frmf_clearParameter("SMMMO04100_ANSWCNT");
- parent.parent.fChngEMRScrn();// 진료기록 Open
- } else {
- parent.parent.fOpenPrcpMainWnd();
- }
- //model.addlog(" SPEED CHECK END OF fOpenPrcpMainWnd()");
-
- //model.addlog("SPEED CHECK END OF fSelectOutPat()");
- }
- /**
- * @desc : 외래 환자 선택후 진행 가능여부 체크 및 메세지 창 팝업.
- * @
- * @param :
- * @return :
- * @author : 엄영만
- * @---------------------------------------------------
- */
- function fCheckBfSelectOutPat() {
- var nRow = ds_outpatlist.rowposition;
- var rsrvflag = ds_outpatlist.getColumn(nRow, "rsrvflag");
- var etcordflag = ds_outpatlist.getColumn(nRow, "etcordflag");
- var orddrid = ds_outpatlist.getColumn(nRow, "orddrid");
- var orddd = ds_outpatlist.getColumn(nRow, "orddd");
- var pid = ds_outpatlist.getColumn(nRow, "pid");
- var hngnm = ds_outpatlist.getColumn(nRow, "hngnm");
- var bfjudgvalue = ds_outpatlist.getColumn(nRow, "bfjudgvalue");
-
- if( sysf_getGlobalVariable("able_sel_patlist", "M") == "N" ) { // 환자 선택 가능 여부 체크 2012.09.03 엄영만
- sysf_messageBox("현재 로그인한 '"+ sysf_getUserInfo("dutplcenm") +"' 부서는 기록저장 및 처방발행이 불가능한 부서 입니다.\n\n다시 로그인 후 진행 하십시오.","E");
- return false;
- }
-
- var sUseCommonDr = lf_getHardCDList("Y", 314, 3); // 일반의 진료 사용 여부
- if((orddd >= '20111001') && (sUseCommonDr == "N") && (orddrid == "11111" || orddrid == "EMR") && sysf_getUserId() != "EMR" ){
- sysf_messageBox("일반의사 또는 EⓐR로 접수된 예약은 처방을 입력할 수 없습니다.\n\n진료의사를 변경후 진행 하십시오.","E");
- return false;
- }
-
- var sBfjudgContinue = lf_getHardCDList("Y", 334, 3); // 심사대기 환자선택시 진행 여부(본원:N, 칠곡:Y)
- if(sBfjudgContinue == "N" && bfjudgvalue == "심사대기") { // 사전심사 대기중 일경우 환자 선택 불가능 하도록 수정. 심사실요청(20120707012) 2012.07.30 엄영만
- sysf_messageBox("사전심사가 진행중인 환자입니다.\n\n심사 완료 후 진행 하십시오.","E");
- return false;
- }
- /* 처방 입력 가능 여부 체크
- -rsrvflag(예약구분)
- S - 슬라이드복사
- P - 시행부서처방/APU
- 3 - 진단서
- 4 - 진료기록
- -etcordflag(기타구분)
- M - 물리치료
- J - 주사
- N - 가정간호
- E - 실시정산분리
- */
- if(rsrvflag == "S" || rsrvflag == "3" || rsrvflag == "4" || etcordflag == "E"){ // 주사, 물리치료 제외 특례적용을 위해 진단을 수정 해야 하는 경우가 있음.
- sysf_messageBox("진료에서 처방을 입력할 수 없는 예약구분입니다.","E");
- return false;
- }
- //처방, CP화면에 modal 또는 modaless가 뜬 경우, 환자 선택 불가
- if(!fChkScrnDisable()){ return false; }
- //CP환자 여부 확인, update시 에러나면 변경 불가
- if(!fChkCPPatValid(nRow)){ return false; }
- // 진료기록에 수정된 사항이 있을 경우 저장할 것인지 묻는 함수 호출 : 2009. 07. 27 김영학
- var mainobj = frmf_getMainViewer();
- var mainscrnid = mainobj.frmf_getScreenID(); //메인화면의 기록지 ID
- if(mainscrnid == "SMMMR00100"){
- var prvIntRecPamInfRtn = mainobj.fPrevInitRecPamInfo();
- if(!prvIntRecPamInfRtn){ return false; } // 기록지에 필수 입력사항을 입력하지 않았을 때 그냥 넘어가 버리는 오류 수정 20100305 LYJ
- }
-
- var chkSameNameNodeCount = ds_outpatlist.getCaseCount("hngnm == '" + hngnm + "'");
- if (chkSameNameNodeCount > 1) {
- sysf_messageBox("동명이인이 있습니다. ", "I");
- }
-
- //2011.09.07 엄영만 환자 클릭시 환자정보 체크 SMMMO04100.js 파일 함수 호출 ioflag, pid 인자
- if(!fCheckSelectPatInfo("O", pid)){ return false; }
-
- return true;
- }
- /**
- * @desc : 보호자대진 적용, 취소(외래등록 tbl에 etcordflag설정)
- * @
- * @param : sEtcOrdFlag - 'F' 보호자대진 적용
- * : - '-' 보호자대진 취소
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fUpdtOutPatPamInfo(sEtcOrdFlag){
- var iRow = ds_outpatlist.rowposition;
- if(iRow < 0){
- return;
- }
- //20100127 한재상 수정 - 초진은 보호자대진 적용불가.
- if ( sEtcOrdFlag == "F" &&
- ( ds_outpatlist.getColumn(iRow, "fsexamflag") == "D" ||
- ds_outpatlist.getColumn(iRow, "fsexamflag") == "F" ) ) {
- sysf_messageBox("초진환자는 보호자 대진적용이 불가능합니다.", "C");
- return;
- }
-
- var sPID = ds_outpatlist.getColumn(iRow, "pid");
- var sOrdDD = ds_outpatlist.getColumn(iRow, "orddd");
- var sCretNO = ds_outpatlist.getColumn(iRow, "cretno");
- var sInstCD = ds_outpatlist.getColumn(iRow, "instcd");
- var sAcptSeqNO = ds_outpatlist.getColumn(iRow, "acptseqno");
- var sEtcOrdFlag2= ds_outpatlist.getColumn(iRow, "etcordflag");
- var sHngNM = ds_outpatlist.getColumn(iRow, "hngnm");
- var sUserID = sysf_getUserInfo("userid");
- var sUserDeptCD = sysf_getUserInfo("dutplcecd");
-
- if(sEtcOrdFlag == "C"){
- sProcFlag = "C"; //진료취소인 경우 sProcFlag C로 처리
-
- }else if(sEtcOrdFlag == "-"){ //보호자 대진 취소
- var msgstr = "취소를";
- sProcFlag = "P";
- var rtnval = sysf_messageBox("[" + sHngNM + "]환자의 보호자 대진 " + msgstr, "Q004");
- if(rtnval == 7){ //취소 버튼을 클릭한 경우
- return;
- }
-
- }else if(sEtcOrdFlag == "F"){ //보호자 대진 적용
- if(sEtcOrdFlag2 == "F"){
- sysf_messageBox("[" + sHngNM + "]환자는 이미 보호자 대진 적용환자", "E008");
- return;
- }else{
- var msgstr = "적용을";
- sProcFlag = "P";
- }
- var rtnval = sysf_messageBox("[" + sHngNM + "]환자의 보호자 대진 " + msgstr, "Q004");
- if(rtnval == 7){ //취소 버튼을 클릭한 경우
- return;
- }
- }
-
- ds_savedata_save.clearData();
- ds_savedata_save.addRow();
-
- ds_savedata_save.setColumn(0, "pid", sPID);
- ds_savedata_save.setColumn(0, "orddd", sOrdDD);
- ds_savedata_save.setColumn(0, "cretno", sCretNO);
- ds_savedata_save.setColumn(0, "instcd", sInstCD);
- ds_savedata_save.setColumn(0, "acptseqno", sAcptSeqNO);
- ds_savedata_save.setColumn(0, "userid", sUserID);
- ds_savedata_save.setColumn(0, "etcordflag", sEtcOrdFlag);
- ds_savedata_save.setColumn(0, "userdeptcd", sUserDeptCD);
- ds_savedata_save.setColumn(0, "procflag", sProcFlag);
-
- ds_savedata_req.clearData();
- ds_savedata_req.addRow();
-
- ds_savedata_req.setColumn(0, "orddd", ds_cond.getColumn(0, "orddd"));
- ds_savedata_req.setColumn(0, "pid", ds_cond.getColumn(0, "pid"));
- ds_savedata_req.setColumn(0, "orddeptcd", ds_cond.getColumn(0, "orddeptcd"));
- ds_savedata_req.setColumn(0, "orddrid", ds_cond.getColumn(0, "orddrid"));
- ds_savedata_req.setColumn(0, "elbulbodstat", ds_cond.getColumn(0, "elbulbodstat"));
- ds_savedata_req.setColumn(0, "srchdd", ds_cond.getColumn(0, "orddd"));
- ds_savedata_req.setColumn(0, "deptflag", ds_cond.getColumn(0, "deptflag"));
-
- ds_outpatlist.enableevent = false;
- if(!utlf_isNull(ds_outpatlist.getColumnInfo("sexage")))
- ds_outpatlist.updateColID("sexage", "sa");
-
- var oParam = {};
- oParam.id = "TXMMO04201";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqSetOutPatPamInfo";
- oParam.inds = "save=" + "ds_savedata_save" + " req=" + "ds_savedata_req";
- oParam.outds = "ds_outpatlist=outpatlist";
- oParam.async = false;
- tranf_submit(oParam);
-
- if(!utlf_isNull(ds_outpatlist.getColumnInfo("sa")))
- ds_outpatlist.updateColID("sa", "sexage");
- ds_outpatlist.enableevent = true;
- }
- /**
- * @desc : 보호자대진 적용
- * @
- * @param : sEtcOrdFlag - 'F' 보호자대진 적용
- *
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fRgstPatProtector(){
- var currow = ds_outpatlist.rowposition;
- if(currow < 0){
- return;
- }
-
- //마우스 오른쪽버튼 팝업에서 parameter처리가 되지 않아 우선 함수로 나누어 처리, 차후 수정되면 변경예정
- var elbulbodstat = ds_outpatlist.getColumn(currow, "elbulbodstat");
- if ( elbulbodstat == "9" ) {
- sysf_messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- fUpdtOutPatPamInfo("F");
- }
- /**
- * @desc : 보호자대진 취소
- * @
- * @param : sEtcOrdFlag - '-' 보호자대진 적용
- *
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fCnclPatProtector(){
- var currow = ds_outpatlist.rowposition;
- if(currow < 0){
- return;
- }
-
- //마우스 오른쪽버튼 팝업에서 parameter처리가 되지 않아 우선 함수로 나누어 처리, 차후 수정되면 변경예정
- var elbulbodstat = ds_outpatlist.getColumn(currow, "elbulbodstat");
- if ( elbulbodstat == "9" ) {
- sysf_messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- fUpdtOutPatPamInfo("-");
- }
- /**
- * @desc : 진료취소
- * @
- * @param : sEtcOrdFlag - 'C' 진료취소 적용
- * sProcFlag - 'C' 진료취소 flow
- *
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fPatOrdCncl(){
- var currow = ds_outpatlist.rowposition;
- if(currow < 0){
- return;
- }
-
- //마우스 오른쪽버튼 팝업에서 parameter처리가 되지 않아 우선 함수로 나누어 처리, 차후 수정되면 변경예정
- var elbulbodstat = ds_outpatlist.getColumn(currow, "elbulbodstat");
- if ( elbulbodstat == "9" ) {
- sysf_messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- fUpdtOutPatPamInfo("C");
- }
- /**
- * @desc : 치료제외 삭제 및 숨김처리
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fProcTreatExpt(){
- var dutplcecd = sysf_getUserInfo("dutplcecd");
-
- var row = ds_hardcode.findRow("trgtcd", dutplcecd);
-
- if(row == -1) return;
-
- var hardcdno = ds_hardcode.getColumn(row, "hardcdno");
- if(hardcdno == 2){
- var row3 = ds_hardcode.findRow("hardcdno", 3);
- if(row3 != -1)
- ds_hardcode.deleteRow(row3);
- //model.removeNode("/root/main/outpatinfo/hardcode[hardcdno = '" + 3 + "']");
- } else if(hardcdno == 3){
- var row2 = ds_hardcode.findRow("hardcdno", 2);
- if(row2 != -1)
- ds_hardcode.deleteRow(row2);
- //model.removeNode("/root/main/outpatinfo/hardcode[hardcdno = '" + 2 + "']");
- } else{
- Div00.cmb_expt.visible = false;
- }
- }
- /**
- * @desc : 그리드 data 엑셀화일로 저장
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSaveGridToExcel(){
- grdf_exportExcel(grd_outpatlist, "외래환자리스트", "외래");
- }
- /**
- * @desc : 협진관리 화면 open
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenCnstPat(){
- var currow = ds_outpatlist.rowposition;
- if(currow < 0){
- return;
- }
- var elbulbodstat = ds_outpatlist.getColumn(currow, "elbulbodstat");
- if ( elbulbodstat == "9" ) {
- sysf_messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- var pid = ds_outpatlist.getColumn(currow, "pid");
- var hngnm = ds_outpatlist.getColumn(currow, "hngnm");
- var sa = ds_outpatlist.getColumn(currow, "sexage");
- var orddeptcd = ds_outpatlist.getColumn(currow, "orddeptcd");
- var orddrid = ds_outpatlist.getColumn(currow, "orddrid");
- var orddrnm = ds_outpatlist.getColumn(currow, "orddrnm");
- var orddd = ds_outpatlist.getColumn(currow, "orddd");
- var cretno = ds_outpatlist.getColumn(currow, "cretno");
- var coordflag = ds_outpatlist.getColumn(currow, "coordflag");
- var patinfo = hngnm + "▦" + sa + "▦" + orddeptcd + "▦" + orddrid + "▦" + cretno + "▦" + orddrnm + "▦" + coordflag;
- frmf_setParameter("SPMMO03600_pid", pid);
- frmf_setParameter("SPMMO03600_orddd", orddd);
- frmf_setParameter("SPMMO03600_patinfo", patinfo);
- frmf_setParameter("SPMMO03600_ioflag", "O");
- frmf_modal("SPMMO03600", "SPMMO03600", null, null, null, null, null, null, null, null, null, null, "M");
-
- fReqOutPatList();
- }
- /**
- * @desc : CP환자 여부 검사
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChkCPPatValid(currow){
- var pid = ds_outpatlist.getColumn(currow, "pid");
- var orddd = ds_outpatlist.getColumn(currow, "orddd");
- var cretno = ds_outpatlist.getColumn(currow, "cretno");
- var hngnm = ds_outpatlist.getColumn(currow, "hngnm");
- var orddeptcd = "";//ds_outpatlist.getColumn(currow, "orddeptcd");
- var ordtype = "";//ds_outpatlist.getColumn(currow, "ordtype");
- var cpyn = ds_outpatlist.getColumn(currow, "cpyn");
- if(utlf_isNull(orddeptcd)) orddeptcd = ds_cond.getColumn(0, "orddeptcd");
- if(utlf_isNull(ordtype)) ordtype = "O";
-
- ds_reqdata2.clearData();
- ds_reqdata2.addRow();
-
- ds_reqdata2.setColumn(0, "pid" , pid);
- ds_reqdata2.setColumn(0, "orddd" , orddd);
- ds_reqdata2.setColumn(0, "cretno" , cretno);
- ds_reqdata2.setColumn(0, "hngnm" , hngnm); //추가(2008.08.25)
- ds_reqdata2.setColumn(0, "prcpgenrflag", ordtype);
- ds_reqdata2.setColumn(0, "srchtabflag" , "O"); //대상자리스트탭 구분
-
- var oParam = {};
- oParam.id = "TRMMO04303";
- oParam.service = "prcpbaseapp.CpMngt";
- oParam.method = "reqGePattValidity";
- oParam.inds = "req=" + "ds_reqdata2";
- oParam.outds = "ds_rsltgetdata=getdata";
- oParam.async = false;
- oParam.callback = "cf_TRMMO04303";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO04303") < 0)
- return false;
-
- var cppatnode = ds_rsltgetdata.rowcount;//model.instance1.selectNodes("/root/init/rsltgetdata/getdata");
- if(cppatnode < 1){ //cp적용환자 tbl에 유효한 데이터가 없는 경우
- parent.parent.SMMMO04100_setDSRoot("cpflag", "N"); //처방open
- return true;
-
- }else{ //CP적용환자 tbl에 유효한 데이터가 있는 경우
- dsf_setDefaultVal(ds_rsltgetdata, "appyn:Y");
-
- var appyn = ds_rsltgetdata.getColumn(0, "appyn");
- var appstat = ds_rsltgetdata.getColumn(0, "appstat");
- var cpgnm = ds_rsltgetdata.getColumn(0, "cpgnm");
- var cpgappno = ds_rsltgetdata.getColumn(0, "cpgappno");
- var msgcnts = ds_rsltgetdata.getColumn(0, "msgcnts");
- var msgflag = ds_rsltgetdata.getColumn(0, "msgflag");
- var prtlflagcd = ds_rsltgetdata.getColumn(0, "prtlflagcd"); //01:CP,02:CPG
-
- if(appstat == 11){ //CP적용상태가 11인 경우
- var rtnval = sysf_messageBox(msgcnts, msgflag);
- if(rtnval == 6){ //예 선택, CP Main open, CP적용환자 tbl에 appstat 10 진행중
- parent.parent.SMMMO04100_setDSRoot("cpflag", "Y");
- return fUpdtCPPatAppStatVal(10);
-
- }else{ //아니오 선택, 처방 Main open, CP적용환자 tbl에 appstat 50 : CP Drop
- sysf_messageBox(msgcnts, msgflag);
- frmf_setParameter("SMMMO043_cpgappno", cpgappno); //drop 팝업에서 인식할 수 있는 param
- frmf_setParameter("SMMMO043_drop" , "N"); //drop 팝업에서 인식할 수 있는 param
- frmf_modal("SPMMP02300", "SPMMP02300", null, null, null, null, null, null, null, null, null, null, "M"); //Drop 팝업 호출
-
- parent.parent.SMMMO04100_setDSRoot("cpflag", "N");
- if(frmf_getParameter("SMMMO043_drop") == "Y" && !utlf_isNull(cpyn)){
- ds_outpatlist.setColumn(currow, "cpyn", "N");
- }else{
- return false;
- }
-
- frmf_clearParameter("SMMMO043_cpgappno");
- frmf_clearParameter("SMMMO043_drop");
-
- return true;
- }
- }else if(appstat == 53){
- parent.parent.SMMMO04100_setDSRoot("cpflag", "X");
- return true;
- }else{ //CP적용상태가 11가 아닌 경우, CP Main창 open
- if( prtlflagcd == "02" && utlf_isNull(appstat) && msgflag == "P" ){ //CPG & 호출flag:Popup & 모니터링구분:대상자탐색 (appyn:평가용여부)
- //CPG적용대상자 알림 팝업 호출 (2009.05.04)
- frmf_setParameter("SMMMO041_hngnm" , hngnm);
- frmf_setParameter("SMMMO041_pid" , pid);
- frmf_setParameter("SMMMO041_cretno" , cretno);
- frmf_setParameter("SMMMO041_orddd" , orddd);
- frmf_setParameter("SMMMO041_ordtype" , ordtype);
- frmf_setParameter("SMMMO041_orddeptcd" , orddeptcd);
- frmf_setParameter("SMMMO041_slipnm" , msgcnts); //cpgno▦cpghistseq▦cpgnm▦slipno▦slipnm▦valusgeyn▦valunm▦guidedocucnts
- frmf_setParameter("SMMMO041_cpgmntrflag", appstat); //null, SPMMP03200화면에서 cpgmntrflag(M or S)으로 따짐
- frmf_setParameter("SMMMO041_cpgappno" , cpgappno); //적용중인 CP가 존재하면 값이 있음
- frmf_setParameter("SMMMO041_cpgnm" , cpgnm); //적용중인 CP가 존재하면 값이 있음
-
- frmf_modal("SPMMP03200", "SPMMP03200", null, null, null, null, null, null, null, null, null, null, "P"); //CP대상자 알람 팝업
-
- if( cpgappno > 0 && cpgappno != frmf_getParameter("SPMMP032_cpgappno") && !utlf_isNull(cpyn)){ //진행중인 CP가 있는데 팝업에서 Drop한 경우 CP여부 N으로..
- ds_outpatlist.setColumn(currow, "cpyn", "N");
- }
- if( !isNull(frmf_getParameter("SPMMP032_cpgappno")) && frmf_getParameter("SPMMP032_cpgappno") > 0 ){
- parent.parent.SMMMO04100_setDSRoot("cpflag", "Y"); //CPG적용한 경우, MGPS 호출
- }else{
- parent.parent.SMMMO04100_setDSRoot("cpflag", "N"); //미적용 시 처방 화면 호출
- }
- frmf_clearParameter("SPMMP032_cpgappno");
- frmf_clearParameter("SMMMO041_hngnm");
- frmf_clearParameter("SMMMO041_pid");
- frmf_clearParameter("SMMMO041_cretno");
- frmf_clearParameter("SMMMO041_orddd");
- frmf_clearParameter("SMMMO041_ordtype");
- frmf_clearParameter("SMMMO041_orddeptcd");
- frmf_clearParameter("SMMMO041_slipnm");
- frmf_clearParameter("SMMMO041_cpgmntrflag");
- frmf_clearParameter("SMMMO041_cpgappno");
- frmf_clearParameter("SMMMO041_cpgnm");
-
- return true;
- } else{
- parent.parent.SMMMO04100_setDSRoot("cpflag", "Y");
- return true;
- }
- }
- }
- }
- function cf_TRMMO04303(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @desc : 외래환자 진료상태 대기로 변경
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fSetOutPatBodStat(stat){
- var currow = ds_outpatlist.rowposition;
- if(currow < 0){
- return;
- }
-
- var pid = ds_outpatlist.getColumn(currow, "pid");
- var orddd = ds_outpatlist.getColumn(currow, "orddd");
- var cretno = ds_outpatlist.getColumn(currow, "cretno");
- var elbulbodstat = ds_outpatlist.getColumn(currow, "elbulbodstat");
- var orddrid = ds_outpatlist.getColumn(currow, "orddrid");
- var orddeptcd = ds_outpatlist.getColumn(currow, "orddeptcd");
- var dutplcecd = sysf_getUserInfo("dutplcecd");
- if (stat =="1") {
- if(!(elbulbodstat == "0"||elbulbodstat == "-")){ //진료대기로 변경
- sysf_messageBox("구분이 접수인 환자를", "C002");
- return;
- }
- if(orddrid == "EMR" || orddrid == "11111") {
- sysf_messageBox("진료의가 '일반의사' 또는 '의무기록'인 경우 접수 할수 없습니다.\n의사 변경 후 접수 하시기 바랍니다.", "E999");
- return;
- }
- } else if (stat ="0") {
- if(elbulbodstat != "1"){ //진료보류 취소
- sysf_messageBox("구분이 대기인 환자를", "C002");
- return;
- }
- }
- if (orddeptcd != dutplcecd) {
- sysf_messageBox("로그인한과와 진료과가 다르면 진료상태를 변경할 수", "I004");
- return;
- }
-
- ds_reqdata.clearData();
- ds_reqdata.addRow();
-
- ds_reqdata.setColumn(0, "pid", pid);
- ds_reqdata.setColumn(0, "orddd", orddd);
- ds_reqdata.setColumn(0, "cretno", cretno);
-
- var bodstat = "a";
- if (stat == "0") {
- ds_reqdata.setColumn(0, "elbulbodstat", "0");
- } else if (stat =="1") {
- ds_reqdata.setColumn(0, "elbulbodstat", "1");
- }
-
- var oParam = {};
- oParam.id = "TXMMO04203";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqExeBodStat";
- oParam.inds = "req=" + "ds_reqdata";
- oParam.async = false;
- oParam.callback = "cf_TXMMO04203";
- tranf_submit(oParam);
- }
- function cf_TXMMO04203(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode > -1)
- fReqOutPatList();
- }
- /**
- * @desc : 외래환자 진료상태 대기로 변경
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatOrdEnd(){
- var currow = ds_outpatlist.rowposition;
- if(currow < 0){
- return;
- }
-
- var elbulbodstat = ds_outpatlist.getColumn(currow, "elbulbodstat");
- if ( elbulbodstat == "9" ) {
- sysf_messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- fSetOutPatBodStat("1");
- }
- /**
- * @desc : 외래환자 진료상태 접수로 변경
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatOrdEndCncl(){
- var currow = ds_outpatlist.rowposition;
- if(currow < 0){
- return;
- }
-
- var elbulbodstat = ds_outpatlist.getColumn(currow, "elbulbodstat");
- if ( elbulbodstat == "9" ) {
- sysf_messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- fSetOutPatBodStat("0");
- }
- function fGrdInit() {
- if (Div00.chk_speedflag.value == "Y") {
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "centcd"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "subdeptcd"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "orddrnm"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "anodeptyn"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "spclflag"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "testrslt"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "serdiag"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "insukind"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "trsmrem"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "conctypenm"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "antidrugflag"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "coordflag"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "cpyn"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "onestop"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "preworkup"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "hsctpreday"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "transtype"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "hsctday"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "postcxday"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "rsrvflag"), "size", 0);
- grd_outpatlist.setFormatColProperty(grd_outpatlist.getBindCellIndex("body", "bfjudgvalue"), "size", 0);
- } else {
- setOrderInfoOfCol(grd_outpatlist, ds_gridseq); //외래환자리스트 컬럼 설정
- }
- }
- /**
- * @desc : 진료대상자 리스트 출력
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPrtPatList() {
- if(utlf_isNull(ds_cond.getColumnInfo("orddeptnm"))) ds_cond.addColumn("orddeptnm", "string");
- if(utlf_isNull(ds_cond.getColumnInfo("orddrnm"))) ds_cond.addColumn("orddrnm", "string");
- ds_cond.setColumn(0, "orddeptnm", Div00.cmb_orddeptcd.text);
- ds_cond.setColumn(0, "orddrnm", Div00.cmb_orddrid.text);
-
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "/root/main/outpatinfo/outpatlist", ds_outpatlist); // 데이터셋 1
- rptf_setNodeListToDOM(objDOM, "/root/main/cond", ds_cond); // 데이터셋 2
- //sysf_trace(objDOM.documentElement.source); // XML 내용출력
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
- var option = "open=1;save=1;directprint=0;print=1;zoom=0;callback=cbf_rpt_onFinishPrintXML";
- rptf_exeReportPreview30(["RPMMO04102"],[objParam], option);
- }
- function fChngGrdCellColor(color){
- if(color == undefined || color == "" || color == "ffffff")
- color = "default";
- else
- color = "#" + color;
-
- return color;
- }
- /**
- * @desc : 예방접종 0% 적용
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatPreProtect0Appl(){
- fPatEtcOrdinfo("S", "Vacn");
- }
- /**
- * @desc : 예방접종 0% 적용취소
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatPreProtect0Cncl(){
- fPatEtcOrdinfo("C", "Vacn");
- }
- /**
- * @desc : 진찰료 0% 적용 (사본발행)
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatCopyIss0Appl(){
- fPatEtcOrdinfo("S", "Copy");
- }
- /**
- * @desc : 진찰료 0% 적용 취소 (사본발행)
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatCopyIss0Cncl(){
- fPatEtcOrdinfo("C", "Copy");
- }
- /**
- * @desc : 진찰료 50% 적용 (진단서)
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatProf50Appl(){
- fPatEtcOrdinfo("S", "Diag");
- }
- /**
- * @desc : 진찰료 50% 적용 취소 (진단서)
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatProf50Cncl(){
- fPatEtcOrdinfo("C", "Diag");
- }
- /**
- * @desc : 진찰료 50% 적용 (사본발행)
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatCopyIss50Appl(){
- fPatEtcOrdinfo("S", "Copy2");
- }
- /**
- * @desc : 진찰료 50% 적용 취소 (사본발행)
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatCopyIss50Cncl(){
- fPatEtcOrdinfo("C", "Copy2");
- }
- /**
- * @desc : 진찰료 0% 적용 (제증명)
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatProf0Appl(){
- fPatEtcOrdinfo("S", "Diag2");
- }
- /**
- * @desc : 진찰료 0% 적용 취소 (제증명)
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatProf0Cncl(){
- fPatEtcOrdinfo("C", "Diag2");
- }
- /**
- * @desc : 진찰료 변경 적용 및 취소
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatEtcOrdinfo(SetFlag, EtcOrdFlag){
- var flag = "";
- var iRow = ds_outpatlist.rowposition;; //2010.03.06 JJE
- var etcordflag = ds_outpatlist.getColumn(iRow, "etcordflag");
- var elbulbodstat = ds_outpatlist.getColumn(iRow, "elbulbodstat");
- if ( elbulbodstat == "9" ) {
- sysf_messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
- if(SetFlag == "S"){
- /*
- if(etcordflag != "" && etcordflag != "-"){
- messageBox("이미 등록된 내역이 있습니다.", " I");
- return;
- }
- */
- //등록
- if(EtcOrdFlag == "Diag"){
- flag = "A";
- } else if(EtcOrdFlag == "Copy"){
- flag = "B";
- } else if(EtcOrdFlag == "Vacn"){
- flag = "C";
- } else if(EtcOrdFlag == "Diag2"){
- flag = "D";
- } else if(EtcOrdFlag == "Copy2"){
- flag = "E";
- }
-
- }else{
- if(etcordflag == "" || etcordflag == "-"){
- sysf_messageBox("취소할 내역이 없습니다.", "I");
- return;
- }
- if(EtcOrdFlag == "Diag" || EtcOrdFlag == "Diag2"){
- if(etcordflag != "G"){
- sysf_messageBox("취소할 수 없습니다.", "I");
- return;
- }
- }else if(EtcOrdFlag == "Copy"){ //Copy: 진찰료 0%(사본발행) 취소
- if(etcordflag != "K"){
- sysf_messageBox("취소할 수 없습니다.", "I");
- return;
- }
- }else if(EtcOrdFlag == "Copy2"){ //Copy2: 진찰료 50%(사본발행) 취소
- if(etcordflag != "D"){
- sysf_messageBox("취소할 수 없습니다.", "I");
- return;
- }
- }else if(EtcOrdFlag == "Vacn"){
- if(etcordflag != "L"){
- sysf_messageBox("취소할 수 없습니다.", "I");
- return;
- }
- }
- flag = "-"; //취소
- }
-
- ds_data.clearData();
- ds_data.addRow();
-
- ds_data.setColumn(0, "flag", flag);
- ds_data.setColumn(0, "otpt_pid", ds_outpatlist.getColumn(iRow, "pid"));
- ds_data.setColumn(0, "otpt_orddd", ds_outpatlist.getColumn(iRow, "orddd"));
- ds_data.setColumn(0, "otpt_cretno", ds_outpatlist.getColumn(iRow, "cretno"));
-
- var oParam = {};
- oParam.id = "TXMNO00107";
- oParam.service = "outcareapp.OutCareMngt";
- oParam.method = "reqSetEtcOrdFlagUpdt";
- oParam.inds = "req=" + "ds_data";
- oParam.async = false;
- oParam.callback = "cf_TXMNO00107";
- tranf_submit(oParam);
- }
- function cf_TXMNO00107(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode > -1) {
- fReqOutPatList();
- }
- }
- function fOpenChgDrGrup() {
- div_chgdrinfo.visible = true;
- }
- function fChgDrInfo() {
- var iRow = ds_outpatlist.rowposition;
-
- // 접수 상태일때만 의사변경 가능하도록 함.
- var elbulbodstat = ds_outpatlist.getColumn(iRow, "elbulbodstat");
- var orddeptcd = ds_cond.getColumn(0, "orddeptcd");
-
- if (elbulbodstat != "0" ) {
- sysf_messageBox("환자 접수 상태일때만 의사변경이 가능합니다.", "C") ;
- return;
- }
- // 진료과가 같을 경우만 업데이트 가능하도록 함.
- if (orddeptcd != sysf_getUserInfo("dutplcecd")) {
- sysf_messageBox("로그인한 진료과와 환자의 진료과가 같을 경우만 의사 변경이 가능합니다.", "C") ;
- return;
- }
-
- var pid = ds_outpatlist.getColumn(iRow, "pid");
- var orddd = ds_outpatlist.getColumn(iRow, "orddd");
- var ordtm = ds_outpatlist.getColumn(iRow, "ordtm");
- var cretno = ds_outpatlist.getColumn(iRow, "cretno");
- var subdeptcd = "";//ds_outpatlist.getColumn(iRow, "subdeptcd"); // 해당 컬럼 없음
- var centcd = ds_outpatlist.getColumn(iRow, "centcode");
- var orddrid = ds_outpatlist.getColumn(iRow, "orddrid");
- var rsrvflag = ds_outpatlist.getColumn(iRow, "rsrvflag");
- var instcd = ds_outpatlist.getColumn(iRow, "instcd");
- var fsexamflag = ds_outpatlist.getColumn(iRow, "fsexamflag");
- var chgorddrid = ds_cond.getColumn(0, "chgorddrid");
-
- if (ds_userlist.lookup("userid", chgorddrid, "refseq") == "A") {
- sysf_messageBox("선택진료의로 변경은 불가능합니다. 원무팀에서 변경하시기 바랍니다.", "C") ;
- return;
- }
- if (ds_userlist.lookup("userid", orddrid, "refseq") == "A") {
- sysf_messageBox("선택진료의에서의 변경은 불가능합니다. 원무팀에서 변경하시기 바랍니다.", "C") ;
- return;
- }
-
- ds_savedata.clearData();
- ds_savedata.addRow();
-
- ds_savedata.setColumn(0, "otpt_workflag" , "J");
- ds_savedata.setColumn(0, "otpt_pid" , pid);
-
- ds_savedata.setColumn(0, "otpt_orddd_old" , orddd);
- ds_savedata.setColumn(0, "otpt_ordtm_old" , ordtm);
- ds_savedata.setColumn(0, "otpt_cretno_old" , cretno);
- ds_savedata.setColumn(0, "otpt_orddeptcd_old" , orddeptcd);
- ds_savedata.setColumn(0, "otpt_subdeptcd_old" , subdeptcd);
- ds_savedata.setColumn(0, "otpt_centcd_old" , centcd);
- ds_savedata.setColumn(0, "otpt_orddrid_old" , orddrid);
- ds_savedata.setColumn(0, "otpt_rsrvflag_old" , rsrvflag);
-
- ds_savedata.setColumn(0, "otpt_orddd_new" , orddd);
- ds_savedata.setColumn(0, "otpt_ordtm_new" , ordtm);
- ds_savedata.setColumn(0, "otpt_cretno_new" , cretno);
- ds_savedata.setColumn(0, "otpt_orddeptcd_new" , orddeptcd);
- ds_savedata.setColumn(0, "otpt_subdeptcd_new" , subdeptcd);
- ds_savedata.setColumn(0, "otpt_centcd_new" , centcd);
- ds_savedata.setColumn(0, "otpt_orddrid_new" , chgorddrid);
- ds_savedata.setColumn(0, "otpt_rsrvflag_new" , rsrvflag);
-
- ds_savedata.setColumn(0, "otpt_updtcnclresn" , "");
- ds_savedata.setColumn(0, "otpt_instcd" , instcd);
- ds_savedata.setColumn(0, "otpt_fsexamflag_old" , fsexamflag);
- ds_savedata.setColumn(0, "checkfsexamyn" , "N");
- ds_savedata.setColumn(0, "sess_userid" , sysf_getUserInfo("userid"));
- // 재조회하기 위한 값을 셋해준다.
- ds_savedata.setColumn(0, "pid" , ds_cond.getColumn(0, "pid"));
- ds_savedata.setColumn(0, "orddd" , ds_cond.getColumn(0, "orddd"));
- ds_savedata.setColumn(0, "orddeptcd" , ds_cond.getColumn(0, "orddeptcd"));
- ds_savedata.setColumn(0, "orddrid" , ds_cond.getColumn(0, "orddrid"));
- ds_savedata.setColumn(0, "elbulbodstat" , ds_cond.getColumn(0, "elbulbodstat"));
- ds_savedata.setColumn(0, "deptflag" , ds_cond.getColumn(0, "deptflag"));
- ds_savedata.setColumn(0, "chkprcp" , ds_cond.getColumn(0, "chkprcp"));
- ds_savedata.setColumn(0, "speedflag" , ds_cond.getColumn(0, "speedflag"));
-
- var oParam = {};
- oParam.id = "TXMMO04206";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqExeChgPatDrInfo";
- oParam.inds = "req=" + "ds_savedata";
- oParam.async = false;
- oParam.callback = "cf_TXMMO04206";
- tranf_submit(oParam);
- }
- function cf_TXMMO04206(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode != 0) {
- sysf_messageBox("의사변경에 실패했습니다.", "C");
- }
-
- div_chgdrinfo.visible = false;
-
- fReqOutPatList();
- }
- /**
- * @desc : 안전사고 보고
- * @param :
- * @return :
- * @author : 엄영만
- * @---------------------------------------------------
- */
- function fPatQi(){
- var currow = ds_outpatlist.rowposition;
- var pid = ds_outpatlist.getColumn(currow, "pid");
- var orddd = ds_outpatlist.getColumn(currow, "orddd");
- var cretno = ds_outpatlist.getColumn(currow, "cretno");
- var ordtype = "O";
- var oprsrvno = "";
-
- frmf_setParameter("SMMQR00100_PARAM2", pid + "▦" + orddd + "▦" + cretno + "▦" + ordtype+"▦" + oprsrvno);
- frmf_modal("SMMQR00100", "SMMQR00100", null, null, null, null, null, null, null, null, null, null, "M");
- }]]></Script>
|