1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819 |
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 외래환자리스트 ( SMMMO04200_외래환자리스트.xrw - JScript )
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var sOUTPATLIST_PATH = "/root/main/outpatinfo/outpatlist";
- var sORDERBY = "";
- /**
- * @desc : 화면 초기화
- * @
- * @param :SMMMO04200
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fInitialize_SMMMO04200(){
- model.removeNodeset(sOUTPATLIST_PATH);
- model.setValue("/root/main/cond/orddd", getCurrentDate());
- // 75 당일 선결과 사용 유무조회
- // 95 보호자대진 적용여부
- // 191 진료대상자 외래 마우스 오른쪽 버튼 메뉴 설정을 위한 값 조회
- // 134 20091007 JJE 추가 : 주진료과 의사가 진료지원과의 선택진료의사 선택 여부 조회
- // 135 당일 선결과 사용 유무조회
- fGethardcdArrayList(new Array(
- "dayaftrcptyn|75",
- "patprotector|95",
- "menu|191",
- "selspecordyn|134",
- "ordordershow|135"
- ),
- new Array(
- "/root/init",
- "/root/init",
- "/root/popupmenu",
- "/root/init",
- "/root/init"
- )
- );
-
- var openflag = model.getValue(opener.root.list.outpatlistflag); //외래환자리스트 open여부
- var reopenflag = model.getValue(opener.root.reopen.reopenflag); //진료대상자 리스트 open여부
- var chngcolflag= model.getValue(opener.root.chngcol.chngcolflag); //컬럼변경 여부
-
- if(openflag == "N"){
- zbcfGetCodeList(new Array("M0062",
- "P0008",
- "P0021",
- "P0022",
- "P1059",
- "P0341",
- "M0525",
- "M0623"),
- new Array("/root/init/M0062",
- "/root/init/P0008",
- "/root/init/P0021",
- "/root/init/P0022",
- "/root/init/P0159",
- "/root/init/P0341",
- "/root/init/M0525",
- "/root/init/M0623"));
-
- mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept", "O");
- mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", getUserInfo("dutplcecd"), "0330");
- addComboInstance("/root/init/userlist", "userid^usernm", "-^전체", "usercombo"); //의사콤보 전체항목 추가
-
- model.copyNode(opener.root.temp.outpatlist, root.init);
- model.setValue(opener.root.list.outpatlistflag, "Y");
-
- //fGrdInit();// 그리드 초기화 SPEED 모드일 경우 컬럼의 수를 제한한다.
-
- if(reopenflag != "Y"){ //다시 열린 경우가 아니면, 기본 조회 조건 설정
- model.setValue("/root/main/cond/orddeptcd", getUserInfo("dutplcecd"));
- model.setValue("/root/main/cond/orddrid" , getUserInfo("userid"));
-
- var sUserEnv057 = mmbfGetUserEnvQuestValue("057"); // 진료대상자 외래탭 지연환자 표시여부
- if(sUserEnv057 == "001") { // 지연환자 표시일경우
- var sUserEnv058 = mmbfGetUserEnvQuestValue("058"); // 진료대상자 외래탭 지연환자 지연시간
- var sUserEnv059 = mmbfGetUserEnvQuestValue("059"); // 진료대상자 외래탭 지연환자 지연 제외시간
-
- if(sUserEnv058 == "001") { model.setValue("/root/main/cond/delaytime", "10");
- } else if(sUserEnv058 == "002") { model.setValue("/root/main/cond/delaytime", "20");
- } else if(sUserEnv058 == "003") { model.setValue("/root/main/cond/delaytime", "30");
- } else if(sUserEnv058 == "004") { model.setValue("/root/main/cond/delaytime", "40");
- } else if(sUserEnv058 == "005") { model.setValue("/root/main/cond/delaytime", "50");
- } else if(sUserEnv058 == "006") { model.setValue("/root/main/cond/delaytime", "60");
- } else { model.setValue("/root/main/cond/delaytime", "30");
- }
-
- if(sUserEnv059 == "001") { model.setValue("/root/main/cond/delayexpt", "0");
- } else if(sUserEnv059 == "002") { model.setValue("/root/main/cond/delayexpt", "10");
- } else if(sUserEnv059 == "003") { model.setValue("/root/main/cond/delayexpt", "20");
- } else if(sUserEnv059 == "004") { model.setValue("/root/main/cond/delayexpt", "30");
- } else { model.setValue("/root/main/cond/delayexpt", "10");
- }
-
- model.setValue("/root/main/cond/delayflag" , "Y");
- } else {
- model.setValue("/root/main/cond/delayflag" , "N");
- }
-
- model.refresh();
-
- }else{ //다시 열린 경우, main에 ordtab의 condlist(화면이 닫힐때 설정된 정보)를 그대로 재설정
- try {
- model.copyNode(root.main.cond, opener.root.reopen.condlist.condlist);
- } catch(E) {
- model.setValue("/root/main/cond/orddeptcd", getUserInfo("dutplcecd"));
- model.setValue("/root/main/cond/orddrid" , getUserInfo("userid"));
- model.refresh();
- }
- model.setValue(opener.root.reopen.reopenflag, "N");
-
- mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", cmb_orddept.value, "0330");
- addComboInstance("/root/init/userlist", "userid^usernm", "-^전체", "usercombo"); //의사콤보 전체항목 추가
- model.refresh();
-
- }
- if(cmb_orddrid.label == ""){cmb_orddrid.select(1);} //선택된 의사가 없으면 default로 첫번째 의사를 선택한다.
- model.copyNode(opener.root.cond.outpatlist, root.main.cond); //현재 조회조건을 main에 복사
-
- var speedflag = model.getValue("/root/main/cond/speedflag");
- if (speedflag != "Y") {
- reqOrderInfoOfCol("SMMMO04200", "grd_outpatlist"); //외래환자리스트 컬럼 조회 및 설정
- }
-
- }else if(openflag == "Y"){
- model.copyNode(root.init, opener.root.temp.outpatlist);
- model.copyNode(root.main.cond, opener.root.cond.outpatlist);
-
- var xmlnode = model.instance1.selectSingleNode("/root/init/userscrnenvinfo/gridseq");
- if(xmlnode != null){
- var refdata = model.getValue("/root/init/userscrnenvinfo/gridseq/compsrefcnts");
- var sizedata = model.getValue("/root/init/userscrnenvinfo/gridseq/compssizecnts");
- var frozencol = model.getValue("/root/init/userscrnenvinfo/gridseq/frozencol");
-
- setOrderInfoOfCol("grd_outpatlist", refdata, sizedata, frozencol); //외래환자리스트 컬럼 설정, 기존에 조회한 내용으로 처리
- }
- }
-
- var speedflag = model.getValue("/root/main/cond/speedflag");
- if (speedflag != "Y") {
- if(chngcolflag == "Y"){ //컬럼설정을 통해 재설정 한 경우, 컬럼순서를 다시 조회 처리
- reqOrderInfoOfCol("SMMMO04200", "grd_outpatlist"); //외래환자리스트 컬럼 조회 및 설정
- model.setValue(opener.root.chngcol.chngcolflag, "N");
- }
- }
-
- fReqOutPatList();
-
- opener.javascript.fCtrlBtnDisable(false); //외래환자 리스트 조회가 완료되기 전에는 다른 button을 disabled
- }
- /**
- * @desc : 외래환자 환자 기본정보설정
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqOutPatPamInfo(){
- var iRow = grd_outpatlist.row;
- var pid = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/pid");
- var orddd = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/orddd");
- var cretno = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/cretno");
- var instcd = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/instcd");
-
- var param = "O" + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd;
- setParameter("condparam", param);
- modal("SPMMO08900", 1, 0, 0, "", "", "", "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 fCallWndConcPatRgst(){
- var currow = grd_outpatlist.row;
- var pid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid");
- var hngnm = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/hngnm");
- var indd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddd");
- var cretno = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/cretno");
- var seqno = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/seqno");
- var instcd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/instcd");
- var elbulbodstat = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/elbulbodstat");
-
- if ( elbulbodstat == "9" ) {
- messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- var param = "I" + "▩" + pid + "▩" + hngnm + "▩" + indd + "▩" + cretno + "▩" + seqno + "▩" + instcd;
- setParameter("param", param);
- open("SPMMO08200");
- //modal("SPMMO08200");
- }
- /**
- * @desc : (외래)주의요망환자창 호출
- * @
- * @param :
- * @return :
- * @author : 엄영만
- * @---------------------------------------------------
- */
- function fCallWndWarnPat(){
- var nCurRow = grd_outpatlist.row;
- var sPid = model.getValue(sOUTPATLIST_PATH + "[" + nCurRow + "]/pid");
- var sHngnm = model.getValue(sOUTPATLIST_PATH + "[" + nCurRow + "]/hngnm");
-
- setParameter("SMMMO19100_warncd" , sPid);
- setParameter("SMMMO19100_warnnm" , sHngnm);
-
- modal("SMMMO19100");
-
- clearParameter("SMMMO19100_warncd");
- clearParameter("SMMMO19100_warnnm");
-
- fReqOutPatList();
- }
- /**
- * @desc : 외래환자 조회
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqOutPatList(){
- model.copyNode("/root/send/reqdata", "/root/main/cond");
-
- var compsrefcnts = model.getValue("/root/init/userscrnenvinfo/gridseq/compsrefcnts");
- var compssizecnts = model.getValue("/root/init/userscrnenvinfo/gridseq/compssizecnts");
-
- if(isNull(compsrefcnts)) compsrefcnts = "";
- if(isNull(compssizecnts)) compssizecnts = "";
-
- model.makeValue("/root/send/reqdata/compsrefcnts", compsrefcnts);
- model.makeValue("/root/send/reqdata/compssizecnts", compssizecnts);
-
- if(submit("TRMMO04201")){
- fProcTreatExpt(); //치료제외 삭제 및 숨김처리
- model.copyNode(opener.root.temp.outpatlist, root.init);
- model.copyNode(opener.root.cond.outpatlist, root.main.cond);
- }
- var orderby = model.getValue("/root/main/cond/orderby");
- var sortcol = model.getValue("/root/main/cond/sortcol");
- if(sortcol != "" && orderby != ""){
- sORDERBY = orderby;
- //alert(grd_outpatlist.colAttribute(sortcol, "ref") + "," + sORDERBY);
- //nodeListSort(grd_outpatlist.nodeset, grd_outpatlist.colAttribute(sortcol, "ref"), sORDERBY);
- grd_outpatlist.colsort(sortcol) = sORDERBY
- grd_outpatlist.sort(1, 1, grd_outpatlist.rows -1, grd_outpatlist.cols -1) = "usersort";
- grd_outpatlist.gridToInstance();
- }
- model.setValue("/root/main/cond/rsltcnt", grd_outpatlist.rows - 1);
- model.setValue("/root/main/cond/totcnt", model.getValue("/root/main/outpatinfo/totcnt/totcnt"));
- fChngGrdCellColor();
- model.refresh();
- }
- /**
- * @desc : 환자 선택 후, 환자 정보 조회 및 기록지 화면 연동
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSelectOutPat(){
- // 환자 선택 로그 시작
- fStartLogCheck("fSelectOutPat");
- var step1Elapsed = 0; // 외래 환자선택 진행 가능여부 체크 시간
- var step2Elapsed = 0; // 입원 환자선택 상단정보 설정 시간
- var step3Elapsed = 0; // 처방+기록+그외 팝업창 처리
-
- var nRow = grd_outpatlist.row;
- if(nRow < 1){ return bRtn; }
-
- var elbulbodstat = model.getValue(sOUTPATLIST_PATH + "[" + nRow + "]/elbulbodstat");
- if ( elbulbodstat == "9" ) {
- messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
- var reqptype = model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/reqptype");
- var pid = model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/pid");
- var recflag = opener.model.getValue("/root/main/cond/recflag");
- opener.javascript.setParameter("SMMMO04100_reqptype", reqptype);
-
- // 진행가능 한지 여부 체크
- fStartLogTempCheck("fSelectOutPat_Step1");
- if(!fCheckBfSelectOutPat()) { return; }
- step1Elapsed = fEndLogTempCheck("fSelectOutPat_Step1");
-
- // 상단정보 설정
- fStartLogTempCheck("fSelectOutPat_Step2");
- if(!fReqOutPatPamInfo()) { return; }
- step2Elapsed = fEndLogTempCheck("fSelectOutPat_Step2");
-
- // 진료기록, 처방화면 연동
- fStartLogTempCheck("fSelectOutPat_Step3");
- opener.javascript.fOpenPrcpMainWnd(recflag);
- step3Elapsed = fEndLogTempCheck("fSelectOutPat_Step3");
-
- var recnaviyn = opener.model.getValue("/root/main/cond/recnaviyn");
- var mainObj = getMainViewer();
- var curPrcpObj = mainObj.javascript.getOpenWindow("SMMMO00100"); //활성화된 처방Main 화면 object loading
- if (curPrcpObj != null && recnaviyn == "N") { // 처방창이 팝업 된경우만 체크
- var sLogParam = "userid:" + getUserInfo("userid") + "|" // item02
- + "instcd:" + model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/instcd") + "|" // item03
- + "pid:" + model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/pid") + "|" // item04
- + "orddd:" + model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/orddd") + "|" // item05
- + "cretno:" + model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/cretno") + "|" // item06
- + "orddeptcd:" + model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/orddeptcd") + "|" // item07
- + "orddrid:" + model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/orddrid") + "|" // item08
- + step1Elapsed + "|" // 진행가능 한지 여부 체크 // item09
- + step2Elapsed + "|" // 상단정보 // item10
- + step3Elapsed // 처방+기록+그외 팝업창 처리 // item11
- ;
- fEndLogCheck("fSelectOutPat", sLogParam);
- }
- }
- /**
- * @desc : 외래 환자 선택후 진행 가능여부 체크 및 메세지 창 팝업.
- * @
- * @param :
- * @return :
- * @author : 엄영만
- * @---------------------------------------------------
- */
- function fCheckBfSelectOutPat() {
- var nRow = grd_outpatlist.row;
- var rsrvflag = model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/rsrvflag");
- var etcordflag = model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/etcordflag");
- var orddrid = model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/orddrid");
- var orddd = model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/orddd");
- var pid = model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/pid");
- var hngnm = model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/hngnm");
- var bfjudgvalue = model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/bfjudgvalue");
- var sSameNameMsg = model.getValue(sOUTPATLIST_PATH + "["+ nRow +"]/samenamemsg");
-
- if( getGlobalVariable("able_sel_patlist", "M") == "N" ) { // 환자 선택 가능 여부 체크 2012.09.03 엄영만
- messageBox("현재 로그인한 '"+ getUserInfo("dutplcenm") +"' 부서는 기록저장 및 처방발행이 불가능한 부서 입니다.\n\n다시 로그인 후 진행 하십시오.","E");
- return false;
- }
-
- var sUseCommonDr = fGetHardCDList("Y", 314, 3); // 일반의 진료 사용 여부
- if((orddd >= '20111001') && (sUseCommonDr == "N") && (orddrid == "11111" || orddrid == "EMR") && getUserId() != "EMR" ){
- messageBox("일반의사 또는 EⓐR로 접수된 예약은 처방을 입력할 수 없습니다.\n\n진료의사를 변경후 진행 하십시오.","E");
- return false;
- }
-
- var sBfjudgContinue = fGetHardCDList("Y", 334, 3); // 심사대기 환자선택시 진행 여부(본원:N, 칠곡:Y)
- if(sBfjudgContinue == "N" && bfjudgvalue == "심사대기") { // 사전심사 대기중 일경우 환자 선택 불가능 하도록 수정. 심사실요청(20120707012) 2012.07.30 엄영만
- 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"){ // 주사, 물리치료 제외 특례적용을 위해 진단을 수정 해야 하는 경우가 있음.
- messageBox("진료에서 처방을 입력할 수 없는 예약구분입니다.","E");
- return false;
- }
-
- //처방, CP화면에 modal 또는 modaless가 뜬 경우, 환자 선택 불가
- if(!fChkScrnDisable()){ return false; }
-
- //CP환자 여부 확인, update시 에러나면 변경 불가
- if(!fChkCPPatValid(nRow)){ return false; }
-
- // 진료기록에 수정된 사항이 있을 경우 저장할 것인지 묻는 함수 호출 : 2009. 07. 27 김영학
- var mainobj = getMainViewer();
- var mainscrnid = mainobj.javascript.getScreenID(); //메인화면의 기록지 ID
- if(mainscrnid == "SMMMR00100"){
- var prvIntRecPamInfRtn = mainobj.window.javascript.fPrevInitRecPamInfo();
- if(!prvIntRecPamInfRtn){ return false; } // 기록지에 필수 입력사항을 입력하지 않았을 때 그냥 넘어가 버리는 오류 수정 20100305 LYJ
- }
- if(!isNull(sSameNameMsg)) { // 동명이인 팝업메세지
- if("6" != messageBox(sSameNameMsg + "\n\n진행하시겠습니까?", "Q")) {
- return false;
- }
- }
-
- //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 = grd_outpatlist.row;
- if(iRow < 1){
- return;
- }
- //20100127 한재상 수정 - 초진은 보호자대진 적용불가.
- if ( sEtcOrdFlag == "F" &&
- ( model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/fsexamflag") == "D" ||
- model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/fsexamflag") == "F" ) ) {
- messageBox("초진환자는 보호자 대진적용이 불가능합니다.", "C");
- return;
- }
-
- var sPID = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/pid");
- var sOrdDD = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/orddd");
- var sCretNO = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/cretno");
- var sInstCD = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/instcd");
- var sAcptSeqNO = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/acptseqno");
- var sEtcOrdFlag2= model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/etcordflag");
- var sHngNM = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/hngnm");
- var sUserID = getUserInfo("userid");
- var sUserDeptCD = getUserInfo("dutplcecd");
-
- if(sEtcOrdFlag == "C"){
- sProcFlag = "C"; //진료취소인 경우 sProcFlag C로 처리
-
- }else if(sEtcOrdFlag == "-"){ //보호자 대진 취소
- var msgstr = "취소를";
- sProcFlag = "P";
- var rtnval = messageBox("[" + sHngNM + "]환자의 보호자 대진 " + msgstr, "Q004");
- if(rtnval == 7){ //취소 버튼을 클릭한 경우
- return;
- }
-
- }else if(sEtcOrdFlag == "F"){ //보호자 대진 적용
- if(sEtcOrdFlag2 == "F"){
- messageBox("[" + sHngNM + "]환자는 이미 보호자 대진 적용환자", "E008");
- return;
- }else{
- var msgstr = "적용을";
- sProcFlag = "P";
- }
- var rtnval = messageBox("[" + sHngNM + "]환자의 보호자 대진 " + msgstr, "Q004");
- if(rtnval == 7){ //취소 버튼을 클릭한 경우
- return;
- }
- }
-
- model.removeNodeset("/root/send/savedata");
- model.makeNode("/root/send/savedata/save");
- var sSave = "pid▦orddd▦cretno▦instcd▦acptseqno▦userid▦etcordflag▦userdeptcd▦procflag▩";
- sSave += sPID + "▦" +
- sOrdDD + "▦" +
- sCretNO + "▦" +
- sInstCD + "▦" +
- sAcptSeqNO + "▦" +
- sUserID + "▦" +
- sEtcOrdFlag + "▦" +
- sUserDeptCD + "▦" +
- sProcFlag + "▩";
-
- model.makeNode("/root/send/savedata/req");
-
- var sReq = "orddd▦pid▦orddeptcd▦orddrid▦elbulbodstat▦srchdd▦deptflag▩";
- sReq += model.getValue("/root/main/cond/orddd") + "▦" +
- model.getValue("/root/main/cond/pid") + "▦" +
- model.getValue("/root/main/cond/orddeptcd") + "▦" +
- model.getValue("/root/main/cond/orddrid") + "▦" +
- model.getValue("/root/main/cond/elbulbodstat") + "▦" +
- model.getValue("/root/main/cond/orddd") + "▦" +
- model.getValue("/root/main/cond/deptflag") + "▩";
-
- model.setValue("/root/send/savedata/save", sSave);
- model.setValue("/root/send/savedata/req" , sReq);
- if(submit("TXMMO04201")){
- }
- }
- /**
- * @desc : 보호자대진 적용
- * @
- * @param : sEtcOrdFlag - 'F' 보호자대진 적용
- *
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fRgstPatProtector(){
- var currow = grd_outpatlist.row;
- if(currow < 1){
- return;
- }
-
- //마우스 오른쪽버튼 팝업에서 parameter처리가 되지 않아 우선 함수로 나누어 처리, 차후 수정되면 변경예정
- var elbulbodstat = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/elbulbodstat");
- if ( elbulbodstat == "9" ) {
- messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- fUpdtOutPatPamInfo("F");
- }
- /**
- * @desc : 보호자대진 취소
- * @
- * @param : sEtcOrdFlag - '-' 보호자대진 적용
- *
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fCnclPatProtector(){
- var currow = grd_outpatlist.row;
- if(currow < 1){
- return;
- }
-
- //마우스 오른쪽버튼 팝업에서 parameter처리가 되지 않아 우선 함수로 나누어 처리, 차후 수정되면 변경예정
- var elbulbodstat = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/elbulbodstat");
- if ( elbulbodstat == "9" ) {
- messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- fUpdtOutPatPamInfo("-");
- }
- /**
- * @desc : 진료취소
- * @
- * @param : sEtcOrdFlag - 'C' 진료취소 적용
- * sProcFlag - 'C' 진료취소 flow
- *
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fPatOrdCncl(){
- var currow = grd_outpatlist.row;
- if(currow < 1){
- return;
- }
-
- //마우스 오른쪽버튼 팝업에서 parameter처리가 되지 않아 우선 함수로 나누어 처리, 차후 수정되면 변경예정
- var elbulbodstat = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/elbulbodstat");
- if ( elbulbodstat == "9" ) {
- messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- fUpdtOutPatPamInfo("C");
- }
- /**
- * @desc : 일반유형 변경
- * @
- * @return :
- * @author : 엄영만 2017.02.09
- * @---------------------------------------------------
- */
- function fChangeInsuKind(){
- var currow = grd_outpatlist.row;
- if(currow < 1){
- return;
- }
-
- var sPid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid");
- var sOrdDd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddd");
- var sCretNo = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/cretno");
- var sOrdDeptCd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddeptcd");
- var sInsuKind = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/insukind");
- var sDutplceCd = getUserInfo("dutplcecd");
-
- if ( sInsuKind == "51" ) {
- messageBox("보험유형이 일반(51)환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- if (sOrdDeptCd != sDutplceCd) {
- messageBox("로그인 부서와 진료과가 다르면 일반유형으로 변경할 수", "I004");
- return;
- }
-
- if(!fContainsHardCD("555", sOrdDeptCd)) {
- messageBox("일반유형으로 변경 기능을 사용할 수 없는 진료과 입니다.", "I999");
- return;
- }
-
- if("6" == messageBox("보험유형을 일반(51)로 변경 하시겠습니까?", "Q")) {
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/pid" , sPid);
- model.makeValue("/root/send/reqdata/orddd" , sOrdDd);
- model.makeValue("/root/send/reqdata/cretno" , sCretNo);
-
- if(submit("TXMMO04207")==true){
- fReqOutPatList();
- }
- }
- }
- /**
- * @desc : 본인100 보조유형 변경
- * @
- * @return :
- * @author : 엄영만 2017.07.26
- * @---------------------------------------------------
- */
- function fChangeSupKind(){
- var currow = grd_outpatlist.row;
- if(currow < 1){
- return;
- }
-
- var sPid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid");
- var sOrdDd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddd");
- var sCretNo = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/cretno");
- var sOrdDeptCd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddeptcd");
- var sInsuKind = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/insukind");
- var sDutplceCd = getUserInfo("dutplcecd");
-
- if ( sInsuKind != "11" ) {
- messageBox("보험유형이 건강보험(11) 환자만 진행이 가능 합니다.","E");
- return;
- }
-
- if (sOrdDeptCd != sDutplceCd) {
- messageBox("로그인 부서와 진료과가 다르면 진행할 수", "I004");
- return;
- }
-
- if("6" == messageBox("보조유형을 전액본인부담(01)로 변경 하시겠습니까?", "Q")) {
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/pid" , sPid);
- model.makeValue("/root/send/reqdata/orddd" , sOrdDd);
- model.makeValue("/root/send/reqdata/cretno" , sCretNo);
-
- if(submit("TXMMO04208")==true){
- fReqOutPatList();
- }
- }
- }
- /**
- * @desc : 일반유형 가접수 생성
- * @
- * @return :
- * @author : 엄영만 2017.07.26
- * @---------------------------------------------------
- */
- function fCreatGenrOtpt(){
- var currow = grd_outpatlist.row;
- if(currow < 1){
- return;
- }
-
- var sPid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid");
- var sOrdDd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddd");
- var sCretNo = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/cretno");
- var sOrdDeptCd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddeptcd");
- var sOrdDrId = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddrid");
- var sInsuKind = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/insukind");
- var sDutplceCd = getUserInfo("dutplcecd");
-
- if ( sInsuKind == "51" ) {
- messageBox("보험유형이 일반(51) 환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- if (sOrdDeptCd != sDutplceCd) {
- messageBox("로그인 부서와 진료과가 다르면 진행할 수", "I004");
- return;
- }
-
- if("6" == messageBox("보험유형을 일반(51)로 새로운 외래예약을 생성 하시겠습니까?", "Q")) {
- model.removeNodeset("/root/send/reqdata");
- model.makeValue("/root/send/reqdata/flag" , "I");
- model.makeValue("/root/send/reqdata/otpt_pid" , sPid);
- model.makeValue("/root/send/reqdata/otpt_orddd" , sOrdDd);
- model.makeValue("/root/send/reqdata/otpt_cretno" , sCretNo);
- model.makeValue("/root/send/reqdata/otpt_orddeptcd" , sOrdDeptCd);
- model.makeValue("/root/send/reqdata/otpt_orddrid" , sOrdDrId);
- model.makeValue("/root/send/reqdata/otpt_histstat" , "R");
- model.makeValue("/root/send/reqdata/otpt_rsrvflag" , "BB"); // 2017.08.01 보험유형 일반(51) with 이정택
-
- if(submit("TRMMO09101")==true){
- fReqOutPatList();
- }
- }
- }
- /**
- * @desc : 치료제외 삭제 및 숨김처리
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fProcTreatExpt(){
- var dutplcecd = getUserInfo("dutplcecd");
- var hardcdno = model.getValue("/root/main/outpatinfo/hardcode[trgtcd = '" + dutplcecd + "']/hardcdno");
- if(hardcdno == 2){
- model.removeNode("/root/main/outpatinfo/hardcode[hardcdno = '" + 3 + "']");
- }else if(hardcdno == 3){
- model.removeNode("/root/main/outpatinfo/hardcode[hardcdno = '" + 2 + "']");
- }else{
- cmb_expt.attribute("visibility") = "hidden";
- }
- model.refresh();
- }
- /**
- * @desc : 그리드 data 엑셀화일로 저장
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSaveGridToExcel(){
- saveGridToExcel(grd_outpatlist);
- }
- /**
- * @desc : 협진관리 화면 open
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenCnstPat(){
- var currow = grd_outpatlist.row;
- if(currow < 1){
- return;
- }
- var elbulbodstat = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/elbulbodstat");
- if ( elbulbodstat == "9" ) {
- messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
- var pid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid");
- var hngnm = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/hngnm");
- var sa = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/sexage");
- var orddeptcd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddeptcd");
- var orddrid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddrid");
- var orddrnm = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddrnm");
- var orddd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddd");
- var cretno = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/cretno");
- var coordflag = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/coordflag");
- var patinfo = hngnm + "▦" + sa + "▦" + orddeptcd + "▦" + orddrid + "▦" + cretno + "▦" + orddrnm + "▦" + coordflag;
- setParameter("SPMMO03600_pid" , pid);
- setParameter("SPMMO03600_orddd" , orddd);
- setParameter("SPMMO03600_patinfo", patinfo);
- setParameter("SPMMO03600_ioflag" , "O");
- modal("SPMMO03600");
-
- fReqOutPatList();
- }
- /**
- * @desc : CP환자 여부 검사
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChkCPPatValid(currow){
- var pid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid");
- var orddd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddd");
- var cretno = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/cretno");
- var hngnm = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/hngnm");
- var orddeptcd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddeptcd");
- var ordtype = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/ordtype");
- if(isNull(orddeptcd)) orddeptcd = model.getValue("/root/main/cond/orddeptcd");
- if(isNull(ordtype)) ordtype = "O";
-
- 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); //추가(2008.08.25)
- model.makeValue("/root/send/reqdata/prcpgenrflag", ordtype);
- model.makeValue("/root/send/reqdata/srchtabflag" , "O"); //대상자리스트탭 구분
-
- if(submit("TRMMO04303")==true){
- var cppatnode = model.instance1.selectNodes("/root/init/rsltgetdata/getdata");
- if(cppatnode.length < 1){ //cp적용환자 tbl에 유효한 데이터가 없는 경우
- model.setValue(opener.root.cpflag, "N"); //처방open
- return true;
-
- }else{ //CP적용환자 tbl에 유효한 데이터가 있는 경우
- var appyn = model.getValue("/root/init/rsltgetdata/getdata/appyn");
- 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 == 11){ //CP적용상태가 11인 경우
- var rtnval = messageBox(msgcnts, msgflag);
- if(rtnval == 6){ //예 선택, CP Main open, CP적용환자 tbl에 appstat 10 진행중
- model.setValue(opener.root.cpflag, "Y");
- return fUpdtCPPatAppStatVal(10);
-
- }else{ //아니오 선택, 처방 Main open, CP적용환자 tbl에 appstat 50 : CP Drop
- messageBox(msgcnts, msgflag);
- setParameter("SMMMO043_cpgappno", cpgappno); //drop 팝업에서 인식할 수 있는 param
- setParameter("SMMMO043_drop" , "N"); //drop 팝업에서 인식할 수 있는 param
-
- modal("SPMMP02300"); //Drop 팝업 호출
-
- model.setValue(opener.root.cpflag, "N");
- if(getParameter("SMMMO043_drop") == "Y" && instance1.selectSingleNode(sOUTPATLIST_PATH + "[" + currow + "]/cpyn") != null){
- model.setValue(sOUTPATLIST_PATH + "[" + currow + "]/cpyn", "N");
- }else{
- return false;
- }
-
- clearParameter("SMMMO043_cpgappno");
- clearParameter("SMMMO043_drop");
-
- return true;
- }
- }else if(appstat == 53){
- model.setValue(opener.root.cpflag, "X");
- return true;
- }else{ //CP적용상태가 11가 아닌 경우, CP Main창 open
- if( prtlflagcd == "02" && isNull(appstat) && msgflag == "P" ){ //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" , ordtype);
- setParameter("SMMMO041_orddeptcd" , orddeptcd);
- setParameter("SMMMO041_slipnm" , model.getValue(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(sOUTPATLIST_PATH + "[" + currow + "]/cpyn") != null){ //진행중인 CP가 있는데 팝업에서 Drop한 경우 CP여부 N으로..
- model.setValue(sOUTPATLIST_PATH + "[" + currow + "]/cpyn", "N");
- }
- if( !isNull(getParameter("SPMMP032_cpgappno")) && getParameter("SPMMP032_cpgappno") > 0 ){
- model.setValue(opener.root.cpflag, "Y"); //CPG적용한 경우, MGPS 호출
- }else{
- model.setValue(opener.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{
- model.setValue(opener.root.cpflag, "Y");
- return true;
- }
- }
- }
- } //end submit
- }
- /**
- * @desc : 진료 보류
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fPatOrdHold(){
- fSetPatOrdStat("3");
- }
- /**
- * @desc : 진료 보류 취소
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fPatOrdHoldCncl(){
- fSetPatOrdStat("4");
- }
- /**
- * @desc : 외래환자 진료상태 변경
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSetPatOrdStat(procflag){
- var currow = grd_outpatlist.row;
- if(currow < 1){
- return;
- }
-
- var pid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid");
- var orddd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddd");
- var cretno= model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/cretno");
- var elbulbodstat = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/elbulbodstat");
- if(procflag == "4" && elbulbodstat != "3"){ //진료보류 취소
- messageBox("진료 상태가 보류인 환자를", "C002");
- return;
- }
- 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/procflag", procflag);
- if(submit("TXMMO04202")==true){
- fReqOutPatList();
- }
- }
- /**
- * @desc : 외래환자 진료상태 대기로 변경
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fSetOutPatBodStat(stat){
- var currow = grd_outpatlist.row;
- if(currow < 1){
- return;
- }
-
- var pid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid");
- var orddd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddd");
- var cretno = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/cretno");
- var elbulbodstat = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/elbulbodstat");
- var orddrid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddrid");
- var orddeptcd = model.getValue("/root/main/cond/orddeptcd");
- var dutplcecd = getUserInfo("dutplcecd");
- if (stat =="1") {
- if(!(elbulbodstat == "0"||elbulbodstat == "-")){ //진료대기로 변경
- messageBox("구분이 접수인 환자를", "C002");
- return;
- }
-
- if(orddrid == "EMR" || orddrid == "11111") {
- messageBox("진료의가 '일반의사' 또는 '의무기록'인 경우 접수 할수 없습니다.\n의사 변경 후 접수 하시기 바랍니다.", "E999");
- return;
- }
- } else if (stat ="0") {
- if(elbulbodstat != "1"){ //진료보류 취소
- messageBox("구분이 대기인 환자를", "C002");
- return;
- }
- }
- if (orddeptcd != dutplcecd) {
- messageBox("로그인한과와 진료과가 다르면 진료상태를 변경할 수", "I004");
- return;
- }
-
- 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);
- var bodstat = "a"
- if (stat == "0") {
- bodstat = model.makeValue("/root/send/reqdata/elbulbodstat", "0");
- } else if (stat =="1") {
- bodstat = model.makeValue("/root/send/reqdata/elbulbodstat", "1");
- }
-
- if(submit("TXMMO04203")==true){
- fReqOutPatList();
- }
- }
- /**
- * @desc : 외래환자 진료상태 대기로 변경
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatOrdEnd(){
- var currow = grd_outpatlist.row;
- if(currow < 1){
- return;
- }
-
- var elbulbodstat = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/elbulbodstat");
- if ( elbulbodstat == "9" ) {
- messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- //2018.04.04 DUR 특정질환 검색 로직 추가 엄영만
- var sPid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid" );
- setParameter("SPMMD00100_ifyn", "Y");
- setParameter("SPMMD00100_pid", sPid);
-
- modal("SPMMD00100");
-
- fSetOutPatBodStat("1");
- }
- /**
- * @desc : 외래환자 진료상태 접수로 변경
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPatOrdEndCncl(){
- var currow = grd_outpatlist.row;
- if(currow < 1){
- return;
- }
-
- var elbulbodstat = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/elbulbodstat");
- if ( elbulbodstat == "9" ) {
- messageBox("미접수환자는 진행이 불가능 합니다.","E");
- return;
- }
-
- fSetOutPatBodStat("0");
- }
- /**
- * @desc : SPEED 모드 일 경우 컬럼 정
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
-
- function fGrdInit() {
- var speedflag = model.getValue("/root/main/cond/speedflag");
- var refdata = model.getValue("/root/init/userscrnenvinfo/gridseq/compsrefcnts");
- var sizedata = model.getValue("/root/init/userscrnenvinfo/gridseq/compssizecnts");
- var frozencol = model.getValue("/root/init/userscrnenvinfo/gridseq/frozencol");
- if (!isNull(refdata)){
- setOrderInfoOfCol("grd_outpatlist", refdata, sizedata, frozencol); //외래환자리스트 컬럼 설정, 기존에 조회한 내용으로 처리
- }
-
- if (speedflag == "Y") {
- grd_outpatlist.colHidden(grd_outpatlist.colRef("elbulbodstat")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("ordtm")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("hngnm")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("pid")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("sexage")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("fsexamflag")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("etcordflag")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("diagnm")) = false;
-
- grd_outpatlist.colHidden(grd_outpatlist.colRef("centcd")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("subdeptcd")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("orddrnm")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("anodeptyn")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("spclflag")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("testrslt")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("serdiag")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("insukind")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("trsmrem")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("conctypenm")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("antidrugflag")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("coordflag")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("cpyn")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("onestop")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("preworkup")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("hsctpreday")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("transtype")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("hsctday")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("postcxday")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("rsrvflag")) = true;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("bfjudgvalue")) = true;
- } else {
- grd_outpatlist.colHidden(grd_outpatlist.colRef("elbulbodstat")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("ordtm")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("hngnm")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("pid")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("sexage")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("fsexamflag")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("etcordflag")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("diagnm")) = false;
-
- grd_outpatlist.colHidden(grd_outpatlist.colRef("centcd")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("subdeptcd")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("orddrnm")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("anodeptyn")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("spclflag")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("testrslt")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("serdiag")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("insukind")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("trsmrem")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("conctypenm")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("antidrugflag")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("coordflag")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("cpyn")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("onestop")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("preworkup")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("hsctpreday")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("transtype")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("hsctday")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("postcxday")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("rsrvflag")) = false;
- grd_outpatlist.colHidden(grd_outpatlist.colRef("bfjudgvalue")) = false;
- }
- }
- /**
- * @desc : 진료대상자 리스트 출력
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPrtPatList() {
- var rptid = "RPMMO04102";
- var desNode = "/root/main/outpatinfo/outpatlist";
- model.makeValue("/root/main/cond/orddeptnm", cmb_orddept.label);
- model.makeValue("/root/main/cond/orddrnm", cmb_orddrid.label);
- exeReportPreview(rptid, "XMLSTR", desNode);
- }
- /**
- * @desc : 진료시작시간을 otpt컬럼에 업데이트
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fSetOrdStartTm(pid, orddd, cretno, elbulbodstat) {
- model.removenode("/root/send/savedata");
- model.makeValue("/root/send/savedata/pid" , pid);
- model.makeValue("/root/send/savedata/orddd" , orddd);
- model.makeValue("/root/send/savedata/cretno" , cretno);
- model.makeValue("/root/send/savedata/elbulbodstat" , elbulbodstat);
- submit("TXMMO04204");
- }
- /**
- * @desc : 당일선검사 해지
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fDelDayAftRcpt() {
- var currow = grd_outpatlist.row;
- var pid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid");
- var orddd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddd");
- var cretno = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/cretno");
- model.makeValue("/root/send/cond1" , pid);
- model.makeValue("/root/send/cond2" , orddd);
- model.makeValue("/root/send/cond3" , cretno);
- model.makeValue("/root/send/cond4" , "N"); //당일결과 체크값
- //model.makeValue("/root/send/cond5" , "2"); // 전광판 상태
- if(submit("TXMMO00114")==true){
- fReqOutPatList();
- var sysMessageobj = getViewer("sysMessage");
- curPrcpObj = sysMessageobj.window.javascript.getOpenWindow("SMMMO00100"); //활성화된 처방Main 화면 object loading
- if (curPrcpObj != null) {
- var prcpPid = curPrcpObj.model.getValue("/root/paminfo/list/pid");
- if (pid == prcpPid) {
- curPrcpObj.model.setValue("/root/paminfo/list/prcptdayaftrcptyn", "N");
- curPrcpObj.model.refresh();
- }
- }
- }
- }
- /**
- * @desc : 당일선검사 적용
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fAppDayAftRcpt() {
- var currow = grd_outpatlist.row;
- var pid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid");
- var orddd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddd");
- var cretno = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/cretno");
- model.makeValue("/root/send/cond1" , pid);
- model.makeValue("/root/send/cond2" , orddd);
- model.makeValue("/root/send/cond3" , cretno);
- model.makeValue("/root/send/cond4" , "Y"); // 당일결과 체크값
- //model.makeValue("/root/send/cond5" , "1"); // 전광판 상태
- if(submit("TXMMO00114")==true){
- fReqOutPatList();
- var sysMessageobj = getViewer("sysMessage");
- curPrcpObj = sysMessageobj.window.javascript.getOpenWindow("SMMMO00100"); //활성화된 처방Main 화면 object loading
- if (curPrcpObj != null) {
- var prcpPid = curPrcpObj.model.getValue("/root/paminfo/list/pid");
- if (pid == prcpPid) {
- curPrcpObj.model.setValue("/root/paminfo/list/prcptdayaftrcptyn", "N");
- curPrcpObj.model.refresh();
- }
- }
- }
- }
- /**
- * @desc : 수납 VIP인 경우 VIP알림 팝업
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fRcptVipResn() {
- //if ( getSystemCd() == "HIS012MDV" || getSystemCd() == "DEV999" ) {
- var currow = grd_outpatlist.row;
- var medamtpostyn = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/medamtpostyn");
- var pid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid");
- var orddd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddd");
- var cretno = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/cretno");
-
- if (medamtpostyn == "V") {
- /*
- setParameter("SPMMO17200_rcptvipresncd" , rcptvipresncd);
- setParameter("SPMMO17200_rcptvipetcresn" , rcptvipetcresn);
- setParameter("SPMMO17200_pid" , pid);
- setParameter("SPMMO17200_hngnm" , hngnm);
- */
- setParameter("SPMMO17200_cond" , pid + "▦" + orddd +"▦"+ cretno);
-
- var argxpt = 310;
- var argypt = 180;
- var xpt = window.screenleft + eval(argxpt);
- var ypt = window.screenTop + eval(argypt);
- var coord = getRelativeCoordinate ( xpt, ypt );
- var mon = coord[0];
- xpt = coord[1];
- ypt = coord[2];
-
- open ("SPMMO17200", mon, xpt, ypt, "SPMMO17200", "", "", "left:" + xpt + "; height:" + ypt +"; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;", false);
- }
- //}
- }
- /**
- * @desc : 대기환자 색상 설정
- * : 내환자적용 환자는 color instance에 ffffff이외의 값이 들어옴
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChngGrdCellColor(){
- for(var currow = 1; currow < grd_outpatlist.rows; currow++){
- var color = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/color");
- if(color == ""){
- color = "ffffff";
- }
- grd_outpatlist.rowStyle(currow, "data", "background-color") = "#" + color;
-
- var pod = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pod");
- if( !isNull(pod) && ((pod >= 25 && pod <= 35) || (pod >= 175 && pod <= 185))) { // 수술경과일 1개월, 6개월 글자색 붉은색으로 변경
- grd_outpatlist.cellstyle("color", currow, grd_outpatlist.colRef("pod")) = "#ff0000";
- }
- }
- var ordordershow = model.getValue("/root/init/ordordershow/hardcd/hardcd");
- if(ordordershow == "B" || ordordershow == "A") {
- var row = grd_outpatlist.findRow("ffff99", 1, grd_outpatlist.colRef("color"));
- grd_outpatlist.topRow = row;
- grd_outpatlist.select(parseInt(row)+1, 1, parseInt(row)+1,grd_outpatlist.cols-1) = true;
- }
- grd_outpatlist.refresh();
- }
- /**
- * @group :
- * @ver : 2007.04.11
- * @by : 김병국
- * @---------------------------------------------------
- * @type : function
- * @access : public
- * @desc :
- * @param :
- * @return :
- * @---------------------------------------------------
- */
- /**
- * @desc : 특이환자 메시지
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fCivilApPatInfo() {
- var currow = grd_outpatlist.row;
- var civilap = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/civilap");
- var pid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid");
- var orddd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddd");
-
- if (civilap == "Y") {
- setParameter("SPMMO18300_param" , pid + "▦" + orddd);
-
- var argxpt = 610;
- var argypt = 180;
- var xpt = window.screenleft + eval(argxpt);
- var ypt = window.screenTop + eval(argypt);
- var coord = getRelativeCoordinate ( xpt, ypt );
- var mon = coord[0];
- xpt = coord[1];
- ypt = coord[2];
-
- open ("SPMMO18300", mon, xpt, ypt, "SPMMO18300", "", "", "left:" + xpt + "; height:" + ypt +"; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;", false);
- }
- }
- /**
- * @desc : 진료대상자에서 환자 선택시 보호대 대진 적용 (2009.05 .28 김영학)
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fRgstPatProtectorRepl() {
- var iRow = grd_outpatlist.row;
-
- var sPID = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/pid");
- var sOrdDD = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/orddd");
- var sCretNO = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/cretno");
- var sInstCD = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/instcd");
- var sAcptSeqNO = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/acptseqno");
- var sEtcOrdFlag = "F"
- var sProcFlag = "P"
- var sHngNM = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/hngnm");
- var sUserID = getUserInfo("userid");
- var sUserDeptCD = getUserInfo("dutplcecd");
-
- model.removeNodeset("/root/send/savedata");
- model.makeNode("/root/send/savedata/save");
- var sSave = "pid▦orddd▦cretno▦instcd▦acptseqno▦userid▦etcordflag▦userdeptcd▦procflag▩";
- sSave += sPID + "▦" +
- sOrdDD + "▦" +
- sCretNO + "▦" +
- sInstCD + "▦" +
- sAcptSeqNO + "▦" +
- sUserID + "▦" +
- sEtcOrdFlag + "▦" +
- sUserDeptCD + "▦" +
- sProcFlag + "▩";
-
- model.makeNode("/root/send/savedata/req");
-
- var sReq = "orddd▦pid▦orddeptcd▦orddrid▦elbulbodstat▦srchdd▦deptflag▩";
- sReq += model.getValue("/root/main/cond/orddd") + "▦" +
- model.getValue("/root/main/cond/pid") + "▦" +
- model.getValue("/root/main/cond/orddeptcd") + "▦" +
- model.getValue("/root/main/cond/orddrid") + "▦" +
- model.getValue("/root/main/cond/elbulbodstat") + "▦" +
- model.getValue("/root/main/cond/orddd") + "▦" +
- model.getValue("/root/main/cond/deptflag") + "▩";
-
- model.setValue("/root/send/savedata/save", sSave);
- model.setValue("/root/send/savedata/req" , sReq);
- if(submit("TXMMO04201", false)){
- }
- }
- /**
- * @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 = grd_outpatlist.row; //2010.03.06 JJE
- var etcordflag = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/etcordflag");
- var elbulbodstat = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/elbulbodstat");
- if ( elbulbodstat == "9" ) {
- 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 == "-"){
- messageBox("취소할 내역이 없습니다.", " I");
- return;
- }
- if(EtcOrdFlag == "Diag" || EtcOrdFlag == "Diag2"){
- if(etcordflag != "G"){
- messageBox("취소할 수 없습니다.", " I");
- return;
- }
- }else if(EtcOrdFlag == "Copy"){ //Copy: 진찰료 0%(사본발행) 취소
- if(etcordflag != "K"){
- messageBox("취소할 수 없습니다.", " I");
- return;
- }
- }else if(EtcOrdFlag == "Copy2"){ //Copy2: 진찰료 50%(사본발행) 취소
- if(etcordflag != "D"){
- messageBox("취소할 수 없습니다.", " I");
- return;
- }
- }else if(EtcOrdFlag == "Vacn"){
- if(etcordflag != "L"){
- messageBox("취소할 수 없습니다.", " I");
- return;
- }
- }
- flag = "-"; //취소
- }
-
- model.removenode("/root/send/data");
- model.makeValue("/root/send/data/flag", flag);
- model.makeValue("/root/send/data/otpt_pid", model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/pid"));
- model.makeValue("/root/send/data/otpt_orddd", model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/orddd"));
- model.makeValue("/root/send/data/otpt_cretno", model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/cretno"));
- if(submit("TXMNO00107")){
- fReqOutPatList();
- }
- }
- /*
- * @desc : 심혈관 원스탑 취소
- *@author: 김광성(kskim)
- */
- function fCvOneStopDel(){
- fCvOneStopInfo("-");
- }
- /**
- * @desc : 심혈관 원스탑 등록
- *@author: 김광성(kskim)
- */
- function fCvOneStopApp(){
- fCvOneStopInfo("H");
- }
- /**
- * @desc : 심혈관 원스탑 등록 및 취소
- *@author: 김광성(kskim)
- */
- function fCvOneStopInfo(setFlag){
- var flag = "";
- var iRow = grd_outpatlist.row;
- var patlistOneStopFlag = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/onestop");
-
- if( setFlag == "H" ){
- flag = "H";
- }
- else{
- flag = "-";
- }
-
- model.removenode("/root/send/data");
- model.makeValue("/root/send/data/onestop", flag);
- model.makeValue("/root/send/data/pid", model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/pid"));
- model.makeValue("/root/send/data/orddd", model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/orddd"));
- model.makeValue("/root/send/data/instcd", model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/instcd"));
- model.makeValue("/root/send/data/cretno", model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/cretno"));
-
- if(submit("TXMMO04205")){
- fReqOutPatList();
- }
-
- }
- function fOpenChgDrGrup() {
- grp_chgdrinfo.visible = true;
- }
- function fChgDrInfo() {
- var iRow = grd_outpatlist.row;
-
- // 접수 상태일때만 의사변경 가능하도록 함.
- var elbulbodstat = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/elbulbodstat");
- var orddeptcd = model.getValue("/root/main/cond/orddeptcd");
-
- if (elbulbodstat != "0" ) {
- messageBox("환자 접수 상태일때만 의사변경이 가능합니다.", "C") ;
- return;
- }
- // 진료과가 같을 경우만 업데이트 가능하도록 함.
- if (orddeptcd != getUserInfo("dutplcecd")) {
- messageBox("로그인한 진료과와 환자의 진료과가 같을 경우만 의사 변경이 가능합니다.", "C") ;
- return;
- }
-
- var pid = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/pid");
- var orddd = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/orddd");
- var ordtm = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/ordtm");
- var cretno = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/cretno");
- var subdeptcd = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/subdeptcd");
- var centcd = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/centcode");
- var orddrid = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/orddrid");
- var rsrvflag = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/rsrvflag");
- var instcd = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/instcd");
- var fsexamflag = model.getValue(sOUTPATLIST_PATH + "[" + iRow + "]/fsexamflag");
- var chgorddrid = model.getValue("/root/main/cond/chgorddrid");
-
- if (model.getValue("/root/init/userlist/usercombo[userid= '" + chgorddrid + "']/refseq") == "A") {
- messageBox("선택진료의로 변경은 불가능합니다. 원무팀에서 변경하시기 바랍니다.", "C") ;
- return;
- }
- if (model.getValue("/root/init/userlist/usercombo[userid= '" + orddrid + "']/refseq") == "A") {
- messageBox("선택진료의에서의 변경은 불가능합니다. 원무팀에서 변경하시기 바랍니다.", "C") ;
- return;
- }
-
- model.makeValue("/root/send/savedata/otpt_workflag" , "J");
- model.makeValue("/root/send/savedata/otpt_pid" , pid);
-
- model.makeValue("/root/send/savedata/otpt_orddd_old" , orddd);
- model.makeValue("/root/send/savedata/otpt_ordtm_old" , ordtm);
- model.makeValue("/root/send/savedata/otpt_cretno_old" , cretno);
- model.makeValue("/root/send/savedata/otpt_orddeptcd_old" , orddeptcd);
- model.makeValue("/root/send/savedata/otpt_subdeptcd_old" , subdeptcd);
- model.makeValue("/root/send/savedata/otpt_centcd_old" , centcd);
- model.makeValue("/root/send/savedata/otpt_orddrid_old" , orddrid);
- model.makeValue("/root/send/savedata/otpt_rsrvflag_old" , rsrvflag);
-
- model.makeValue("/root/send/savedata/otpt_orddd_new" , orddd);
- model.makeValue("/root/send/savedata/otpt_ordtm_new" , ordtm);
- model.makeValue("/root/send/savedata/otpt_cretno_new" , cretno);
- model.makeValue("/root/send/savedata/otpt_orddeptcd_new" , orddeptcd);
- model.makeValue("/root/send/savedata/otpt_subdeptcd_new" , subdeptcd);
- model.makeValue("/root/send/savedata/otpt_centcd_new" , centcd);
- model.makeValue("/root/send/savedata/otpt_orddrid_new" , chgorddrid);
- model.makeValue("/root/send/savedata/otpt_rsrvflag_new" , rsrvflag);
-
- model.makeValue("/root/send/savedata/otpt_updtcnclresn" , "");
- model.makeValue("/root/send/savedata/otpt_instcd" , instcd);
- model.makeValue("/root/send/savedata/otpt_fsexamflag_old" , fsexamflag);
- model.makeValue("/root/send/savedata/checkfsexamyn" , "N");
- model.makeValue("/root/send/savedata/sess_userid" , getUserInfo("userid"));
- // 재조회하기 위한 값을 셋해준다.
- model.makeValue("/root/send/savedata/pid" , model.getValue("/root/main/cond/pid"));
- model.makeValue("/root/send/savedata/orddd" , model.getValue("/root/main/cond/orddd"));
- model.makeValue("/root/send/savedata/orddeptcd" , model.getValue("/root/main/cond/orddeptcd"));
- model.makeValue("/root/send/savedata/orddrid" , model.getValue("/root/main/cond/orddrid"));
- model.makeValue("/root/send/savedata/elbulbodstat" , model.getValue("/root/main/cond/elbulbodstat"));
- model.makeValue("/root/send/savedata/deptflag" , model.getValue("/root/main/cond/deptflag"));
- model.makeValue("/root/send/savedata/chkprcp" , model.getValue("/root/main/cond/chkprcp"));
- model.makeValue("/root/send/savedata/speedflag" , model.getValue("/root/main/cond/speedflag"));
-
- if ( !submit("TXMMO04206")) {
- messageBox("의사변경에 실패했습니다.", "C");
- }
-
- grp_chgdrinfo.visible = false;
-
- fReqOutPatList();
- }
- /**
- * @desc : 안전사고 보고
- * @param :
- * @return :
- * @author : 엄영만
- * @---------------------------------------------------
- */
- function fPatQi(){
- var currow = grd_outpatlist.row;
- var pid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid");
- var orddd = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/orddd");
- var cretno = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/cretno");
- var ordtype = "O";
- var oprsrvno = "";
-
- setParameter("SMMQR00100_PARAM2", pid + "▦" + orddd + "▦" + cretno + "▦" + ordtype+"▦" + oprsrvno);
- modal("../../../emr/qiweb/xrw/SMMQR00100", "","", "", "SMMQR00100", "", "");
- }
- /**
- * @desc : 외래예약현황출력
- * @param :
- * @return :
- * @author : 엄영만
- * @---------------------------------------------------
- */
- function fPrintOutRsrvState() {
- var sOrdDeptCd = model.getValue("root/main/cond/orddeptcd");
- var sOrdDrId = model.getValue("root/main/cond/orddrid");
- var sOrdDeptNm = model.getValue("/root/init/orddept/dept[deptcd='" + sOrdDeptCd + "']/depthngnm");
- var sOrdDrNm = model.getValue("/root/init/userlist/usercombo[userid='" + sOrdDrId + "']/usernm");
- setParameter("SPMMO90400_orddeptcd", sOrdDeptCd);
- setParameter("SPMMO90400_orddeptnm", sOrdDeptNm);
- setParameter("SPMMO90400_centcd", "-");
- setParameter("SPMMO90400_centnm", "");
- setParameter("SPMMO90400_orddrid", sOrdDrId);
- setParameter("SPMMO90400_orddrnm", sOrdDrNm);
-
- modal("SPMMO90400");
- }
- /**
- * @desc : 환자라벨출력
- * @param :
- * @return :
- * @author : 엄영만
- * @---------------------------------------------------
- */
- function fPrintPatLabel(){
- var currow = grd_outpatlist.row;
- var pid = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/pid");
- var patnm = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/hngnm");
- var sexage = model.getValue(sOUTPATLIST_PATH + "[" + currow + "]/sexage");
-
- setParameter("SMMMB00100_scrnid", "SMMMO04100");
- setParameter("SMMMB00100_pid", pid);
- setParameter("SMMMB00100_patnm", patnm);
- setParameter("SMMMB00100_sexage", sexage);
-
- modal("SMMMB00100");
- }
|