12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[/***************************************************************************************
- * System Name : KNUH2.0
- * Job Name : EMR
- * File Name : SPMMO00100.xjsS
- * Creator :
- * Make Date : 2014-08-05
- *
- * Description :
- *---------------------------------------------------------------------------------------
- * Modify Date Modifier Modify Description
- *---------------------------------------------------------------------------------------
- * 2014-08-05 DBS Converting Program(TF->XP)
- *
- *---------------------------------------------------------------------------------------
- ****************************************************************************************/
- // var sINREQFRMINFO_PATH = "/root/main/inreqfrminfo/inreqfrminfo";
- // var sINREQHISTLIST_PATH = "/root/main/inreqhistinfo/inreqhistlist";
- // var sDIAGCDLIST_PATH = "/root/main/diaginfo/diagcdlist";
- // var sOPCDLIST_PATH = "/root/main/diaginfo/opcdlist";
- // 2013/01/21 Start
- // 입원의뢰서 작성 권한여부 체크
- var menuauthchkyn="N";
- // 알림 메시지 팝업 여부
- var msgpopupchkyn="N";
- // 블럭킹 사용 여부
- var blockingchk="N";
- // 환자 템프 등록번호
- var temp_pid="";
- //2013/01/21 End
- var cstatus="";
- /****************************************************************************************
- * Function : fInitialize_SPMMO00100
- * Description : 화면초기화.
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fInitialize_SPMMO00100() {
- ds_diagcdlist.setColumn(0,"diagdd",utlf_getCurrentDate());
-
- var arrParam = [{dsNm: "ds_P0020", cdGrpId: "P0020"}
- ,{dsNm: "ds_M0525", cdGrpId: "M0525"}
- ,{dsNm: "ds_P0474", cdGrpId: "P0474"}
- ,{dsNm: "ds_P0025", cdGrpId: "P0025"}
- ,{dsNm: "ds_P0026", cdGrpId: "P0026"}
- ,{dsNm: "ds_M0700", cdGrpId: "M0700"} // 환자등급
- ,{dsNm: "ds_M0710", cdGrpId: "M0710"} // 병실정보
- ]
- appf_getCodeList(arrParam);
- var arrKindParam = [{bizId: "M0029", cdGrpId: "P0378", dsNm: "ds_M0029"}
- ]
- appf_getKindCodeList(arrKindParam);
- lf_mmbfGetDeptCodeComboList(ds_orddept, "D"); // 부서코드 콤보
- lf_mmbfGetDeptCodeComboList(ds_warddept, "W"); // 병동코드 콤보
-
- // 암센터 병동코드조회
- fReqCenterWardcdList();
- // 콤보 전체항목 추가
- // var ComboIds = "case2.cmb_specwardcd|combo6|combo7|combo8";
- // frmf_addComboItemAll(ComboIds, "", "all");
- // frmf_addComboItem("case2.cmb_specwardcd");
- ds_wardcdlist.insertRow(0);
- ds_M0700.insertRow(0); //환자등급
- ds_M0710.insertRow(0); //병실정보
- // 공통에 전체항목 추가하는 함수 뭐가 안된다.
- //grd_calendar.dataheight = 31; // grid data height default set
- // 파라미터를 받으면서 팝업으로 열렸을경우 버튼제어
- var param = opener.frmf_getParameter("SPMMO00100_param");
- if(!utlf_isNull(param)) {
- var paramarray = param.split("▦");
- if(paramarray.length > 9){
- btn_init.visible = false;
- btn_save.visible = false;
- btn_del.visible = false;
- }
- }
-
- lf_getHardCDList("N", 5569, null , ds_hardcditem);
- lf_getHardCDList("N", 5860, null , ds_hardcd_5860);
- fClkBtnInit();
- var pid = opener.frmf_getParameter("SPMMO00100_pid");
- if(!utlf_isNull(pid)){ // 환자번호만 넘기는경우
- //2012/07/20 Start
- dsf_makeValue(ds_temp,"pid","string",frmf_getParameter("SPMMO00100_pid"));
- //2012/07/20 End
- //opener.javascript.clearParameter("SPMMO00100_pid");
- opener.frmf_clearParameter("SPMMO00100_pid");
- ds_inreqfrminfo.setColumn(0, "pid", pid);
- //2012/07/20 Start
- fSetparam();
- //2012/07/20 End
- fPatSearch(); // 환자 정보 조회
- } else {
- ipt_year.value = utlf_getCurrentDate().substr(0, 4); //year
- ipt_month.value = utlf_getCurrentDate().substr(4, 2); //month
-
- fReqInReqHistList(); //입원의뢰 내역 조회
- fReqInReqCalendar(); //입원의뢰서 달력 조회
-
- if(!utlf_isNull(param)){ //parameter가 있는 경우
- fReqDiagOpList(); //입원의뢰 환자의 현재진단 조회
- } else { //param이 없는 경우, 상단정보에서 환자정보를 얻는다.
- var paminfocsv = sysf_getGlobalVariable("paminfo");
- var patflagcsv = sysf_getGlobalVariable("patflag");
-
- // if(!utlf_isNull(paminfocsv)){
- // dsf_setCSVToDs("ds_paminfo", paminfocsv);
- // }
- // if(!utlf_isNull(patflagcsv)){
- // dsf_setCSVToDs("ds_patflag", patflagcsv);
- // }
-
- if(!utlf_isNull(paminfocsv)){
- // try {
- // // model.copyNode("/root/main/diaginfo", opener.root.main.diaginfo);
- // dsf_copyDs(ds_diagcdlist,opener.ds_diagcdlist,"replace");
- // dsf_copyDs(ds_opcdlist,opener.ds_opcdlist,"replace");
- // } catch(E){
- // fReqDiagOpList();
- // }
- fReqDiagOpList();
- // for (i=1; i < grd_diaglist.rows-1; i++) {
- for(var i = 0 ; i < ds_diagcdlist.rowcount-1 ; i++) {
- // model.setValue(sDIAGCDLIST_PATH+ "[" + i + "]/status" , "i");
- // model.setValue(sDIAGCDLIST_PATH+ "[" + i + "]/diagtypecd" , "R");
- // model.setValue(sDIAGCDLIST_PATH+ "[" + i + "]/cretno" , "0");
- ds_diagcdlist.setColumn(i,"status","i");
- ds_diagcdlist.setColumn(i,"diagtypecd","R");
- ds_diagcdlist.setColumn(i,"cretno","0");
- }
- // dsf_copyDs(ds_opcdlist,ds_init_opcdlist,"after");
- // copyNodeType("/root/main/diaginfo/opcdlist", "/root/init/opcdlist", "after"); // /root/init/opcdlist <-갑자기 어디서 나온거??
- }
- }
-
- var status = ds_inreqfrminfo.getColumn(0,"status");
- if(status == "u") {
- ds_main.setColumn(0,"status","수정상태");
- //2012/08/13 Start
- btn_del.enable = true;
- //2012/08/13 End
- } else {
- ds_main.setColumn(0,"status","신규상태");
- //2012/08/13 Start
- btn_del.enable = false;
- //2012/08/13 End
- }
-
- if(sysf_getUserInfo("dutplceinstcd") == "032") {
- button6.visible = true; // 기간약정서 칠곡일경우만 보이게 처리
- case3.cap_bedinfo.visible = false;
- }
- }
- ds_diagcdlist.rowposition = 0;
- ds_opcdlist.rowposition = 0;
- }
- /****************************************************************************************
- * Function : fReqInReqCalendar
- * Description : 입원의뢰서 달력 조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqInReqCalendar(){
- // sysf_trace("year : "+ipt_year.value+" / month : "+ipt_month.value);
- var year = ipt_year.value;
- var month = ipt_month.value;
- var orgyear = year;
- // var orgmonth = month.utlf_getLeftPad(2,"0");
- var orgmonth = "";
- if(month < 10) orgmonth = "0".concat(month);
- else orgmonth = month;
-
- if(month == 12){ //12월인 경우, 해를 넘겨서 계산한다.
- year++;
- year = year.toString();
- month = "01";
- }else{
- month = eval(month) + 1;
- if(month < 10){
- month = "0".concat(month);
- }
- year = year.toString();
- month = month.toString();
- }
-
- ds_req.clear();
- // ds_req.setColumn(0, "fromdd", year.concat(month).concat("01"));
- dsf_makeValue(ds_req,"todd" ,"string",year.concat(month).concat("01"));
- dsf_makeValue(ds_req,"basedd" ,"string",("" + orgyear + "").concat(orgmonth));
- dsf_makeValue(ds_req,"orddeptcd","string",ds_inreqfrminfo.getColumn(0, "orddeptcd"));
-
- var oParam = {};
- oParam.id = "TRMMO00110";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetInReqCalendar";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_calendar=calendar";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00110";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : cf_TRMMO00110
- * Description : TRMMO00110 콜백 함수
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TRMMO00110(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- else fMakeCalendar(); //조회 후 달력 값을 설정
- }
- /****************************************************************************************
- * Function : fClkBtnInit
- * Description : 초기화버튼 클릭시 화면 초기화
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fClkBtnInit(){
- var btnauth = false;
- var userauth = ds_userauth.getColumn(0,"hardcd");
-
- if(userauth == "P") { // 특정과 (하드코드 테이블 92번에 지정)만 타과 입원장 발급 가능
- lf_getHardCDList("N", 92, null, ds_deptcode); //입원의뢰서 작성 허용과
- var dutplcecd = ds_deptcode.getColumn(ds_deptcode.findRow("hardcd", sysf_getUserInfo("dutplcecd")) , "hardcd");
- if(!utlf_isNull(dutplcecd)) {
- btnauth = true;
- } else {
- btnauth = false;
- }
- } else if(userauth == "I") {
- lf_getHardCDList("N", 93, null, ds_spuserauth); //입원의뢰서 작성 허용 ID
- var authuserid = ds_spuserauth.getColumn(ds_spuserauth.findRow("hardcd", sysf_getUserInfo("userid")) , "hardcd");
- if(!utlf_isNull(authuserid)) {
- btnauth = true;
- }else{
- btnauth = false;
- }
- } else {
- btnauth = false;
- }
- var bmtdeptcd = ds_bmtdeptcd.getColumn(ds_bmtdeptcd.findRow("hardcd", sysf_getUserInfo("dutplcecd")) , "hardcd");
- var bmtopen = opener.frmf_getParameter("SPMMO00100_BMTDEPTCD");
- var jobkindcd = ds_drkindcd.getColumn(ds_drkindcd.findRow("hardcd", sysf_getUserInfo("jobkindcd")) , "hardcd");
- if (btnauth == true || !utlf_isNull(jobkindcd) || !utlf_isNull(bmtdeptcd) || !utlf_isNull(bmtopen)) { // 직종이 의사이거나 개발자, BMT 코디네이터 실일 경우 저장 버튼 활성화
- btn_init.enable = true;
- btn_save.enable = true;
- btn_del.enable = true;
- btn_close.enable = true;
- }
- //2013/10/14 Start 5800에 등록된 메뉴에서 접근시 입원의뢰서 작성 할 수 있도록 수정 처리
- lf_getHardCDList("N", 5800, null, ds_hardcd_5800);
- // var menuauthchk = model.getValue("/root/properties/menu/menugroupcd").split("|");
- // var menugroup = menuauthchk[0];
- // var menuauth = menuauthchk[1];
- var menugroupcheck = 0;
- var menuauthcheck = 0;
- // var menugroupcheck = getNodeSetCnt("/root/init/hardcd_5800/hardcd[hardcd='" + menugroup + "']");
- // var menuauthcheck = getNodeSetCnt("/root/init/hardcd_5800/hardcd[hardcd='" + menuauth + "']");
- for(var i = 0 ; i < gds_menuGroup.rowcount ; i++){
- if(ds_hardcd_5800.findRow("hardcd",gds_menuGroup.getColumn(i,"menugrupcd"))>-1){
- menugroupcheck++;
- }
- if(ds_hardcd_5800.findRow("hardcd",gds_menuGroup.getColumn(i,"menuauthcd"))>-1){
- menuauthcheck++;
- }
- }
- if(menugroupcheck > 0 && menuauthcheck > 0){
- menuauthchkyn = "Y";
- btn_init.enable = true;
- btn_save.enable = true;
- btn_close.enable = true;
- }
- /* 2013/01/21 전문간호new(전문간호)의 메뉴에서 접근시 입원의뢰서 작성할 수 있도록 수정 --주석처리
- fGetHardCDList("N", 5800, 0 , "/root/init/hardcd_5800");
- var menugroup=model.getValue("/root/init/hardcd_5800/hardcd[cdseqno='1']/hardcd");
- var menuauth=model.getValue("/root/init/hardcd_5800/hardcd[cdseqno='2']/hardcd");
- var menuauthchk = model.getValue("/root/properties/menu/menugroupcd").split("|");
- if(menugroup==menuauthchk[0] && menuauth==menuauthchk[1]){
- menuauthchkyn = "Y";
- btn_init.disabled = false;
- btn_save.disabled = false;
- btn_close.disabled = false;
- }*/
- //2013/01/21 End
-
- // model.resetInstanceNode(sINREQFRMINFO_PATH);
- // //2012/07/31 Start
- // model.resetInstanceNode(sINREQHISTLIST_PATH);
- // //2012/07/31 End
- ds_inreqfrminfo.clearData();
- ds_inreqfrminfo.addRow();
- ds_inreqhistlist.clearData();
- var cpyn = ""; //cp여부추가
- if(frmf_checkOpener()){
- var param = opener.frmf_getParameter("SPMMO00100_param");
- var pid = ds_inreqfrminfo.getColumn(0,"pid");
- var hngnm = "";
- var orddeptcd = "";
- var orddrid = "";
- var insukind = "";
- var suppkind = "";
- var orddd = "";
- var cretno = 0;
- var ioflag = "";
- var mpphontel = "";
- var hometel = "";
- var phoneno = "";
- var sa = "";
-
- if(!utlf_isNull(pid)) {
- var ev = new ClickEventInfo;
- frmf_inputEnterKey("btn_patserch", "onclick", ev );
- } else if(!utlf_isNull(param)) {
- pid = param[0];
- hngnm = param[1];
- orddeptcd = param[2];
- orddrid = param[3];
- insukind = param[4];
- suppkind = param[5];
- orddd = param[6];
- cretno = 0;
- ioflag = param[8];
- } else { //param이 없는 경우, 상단정보에서 환자정보를 얻는다.
- var paminfocsv = sysf_getGlobalVariable("paminfo");
- var patflagcsv = sysf_getGlobalVariable("patflag");
-
- if(!utlf_isNull(paminfocsv)){
- ds_paminfo.clearData();
- dsf_setCSVToDs("ds_paminfo", paminfocsv);
- }
- if(!utlf_isNull(patflagcsv)){
- ds_patflag.clearData();
- dsf_setCSVToDs("ds_patflag", patflagcsv);
- }
-
- pid = ds_paminfo.getColumn(0,"pid");
- hngnm = ds_paminfo.getColumn(0,"hngnm");
- ioflag = ds_patflag.getColumn(0,"prcpgenrflag");
- mpphontel = ds_paminfo.getColumn(0,"mpphontel");
- hometel = ds_paminfo.getColumn(0,"hometel");
- phoneno = "";
- if(utlf_isNull(ds_paminfo.getColumn(0,"sex"))) sa = "";
- else sa = ds_paminfo.getColumn(0,"sex")+"/"+ds_paminfo.getColumn(0,"age");
- if(utlf_isNull(mpphontel)) phoneno = hometel;
- else phoneno = mpphontel;
-
- //입원의뢰서 open시 로그인 사용자 정보가 화면에 default로 설정, 서소영
- //2008. 07. 10. 오지훈
- var orddrid = sysf_getUserInfo("userid");
- var orddeptcd = sysf_getUserInfo("dutplcecd");
- if(orddeptcd == "2040400000") {
- orddeptcd = "2040000000";
- }
-
- var insukind = ds_paminfo.getColumn(0,"insukind");
- var suppkind = ds_paminfo.getColumn(0,"suppkind");
- var inhopedd = ds_inreqfrminfo.getColumn(0,"inhopedd"); //입원희망일시
- cpyn = appf_getPatientInfo("cp");
- }
- }
- //zsufGetUserInfoCombo(orddeptcd , "/root/init/userlist", "_D"); //해당 의사콤보 조회
- lf_mmbfGetUserComboList(ds_userlist, orddeptcd, "0330", "", "M", "", "", "P");
- //2012/07/18 Start
- lf_mmbfGetUserComboList(ds_atdoctlist, orddeptcd, "0330", "", "A", "", "", "P");
- //2012/07/18 End
- lf_mmbfGetSubDeptComboList(ds_subdeptlist, orddeptcd);
- if(ds_subdeptlist.rowcount>0) frmf_addComboItem("cmb_subdept");
-
- if(cpyn == "") cpyn = "N"; //cp여부가 없는 경우는 'N'으로 설정
- ds_inreqfrminfo.setColumn(0, "pid" , pid);
- ds_inreqfrminfo.setColumn(0, "hngnm" , hngnm);
- ds_inreqfrminfo.setColumn(0, "sa" , sa);
- ds_inreqfrminfo.setColumn(0, "orddeptcd" , orddeptcd);
- ds_inreqfrminfo.setColumn(0, "orddrid" , orddrid);
- ds_inreqfrminfo.setColumn(0, "insukind" , insukind);
- ds_inreqfrminfo.setColumn(0, "suppkind" , suppkind);
- ds_inreqfrminfo.setColumn(0, "inhopedd" , utlf_getCurrentDate());
- ds_inreqfrminfo.setColumn(0, "inrsrvacptdd" , utlf_getCurrentDate());
- ds_inreqfrminfo.setColumn(0, "cpyn" , cpyn);
- ds_inreqfrminfo.setColumn(0, "orddd" , utlf_getCurrentDate());
- ds_inreqfrminfo.setColumn(0, "cretno" , 0);
- ds_inreqfrminfo.setColumn(0, "bmtyn" , "1");
- ds_inreqfrminfo.setColumn(0, "phoneno" , phoneno);
- ds_inreqfrminfo.setColumn(0, "drgyn" , "N");
- //trace(ds_inreqfrminfo.saveXML());
-
- var ioflag = ds_patflag.getColumn(0,"prcpgenrflag");
- if(ioflag == "O"){ //외래환자는 기본적으로 입원 설정
- ioflag = "I";
- }
-
- ds_inreqfrminfo.setColumn(0, "erreglyn" , ioflag);
- fReqCnstteamList(); //협진팀 정보 조회
- ds_diagcdlist.clearData();
- ds_diagcdlist.addRow();
- ds_opcdlist.clearData();
- ds_opcdlist.addRow();
- // model.recalculate();
- var status = ds_inreqfrminfo.getColumn(0,"status");
- if(status == "u") {
- ds_main.setColumn(0,"status","수정상태");
- //2012/08/13 Start
- btn_del.enable = true;
- //2012/08/13 End
- } else {
- ds_main.setColumn(0,"status","신규상태");
- //2012/08/13 Start
- btn_del.enable = false;
- //2012/08/13 End
- }
- //DRG 오픈시까지 버튼 숨김여부
- fdrgbtnchk();
- }
- /****************************************************************************************
- * Function : fReqCenterWardcdList
- * Description : 암센터 병동코드조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqCenterWardcdList(){
- var oParam = {};
- oParam.id = "TRMMO00128";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetCenterWardCdList";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_wardcdlist=wardcdlist";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
- }
- /****************************************************************************************
- * Function : fReqCnstteamList
- * Description : 협진팀명 조회.
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqCnstteamList(){
- ds_cnstteaminfo.clearData();
- ds_req.clear();
- dsf_makeValue(ds_req,"pid","string",ds_inreqfrminfo.getColumn(0, "pid"));
- var oParam = {};
- oParam.id = "TRMMO00126";
- oParam.service = "prcpmngtapp.ConcPatMngt";
- oParam.method = "reqGetCnstTeamList";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_cnstteaminfo=cnstteaminfo";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
-
- ds_inreqfrminfo.setColumn(0, "cnstteam", ds_cnstteaminfo.getColumn(0, "cnstteam"));
- }
- /****************************************************************************************
- * Function : fdrgbtnchk
- * Description : DRG관련 버튼 숨김.
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fdrgbtnchk(){
- //var trgtcd=model.getValue("/root/init/hardcd_5860/hardcd/hardcd");
- var trgtcd = ds_hardcd_5860.getColumn(0,"hardcd");
- if(trgtcd == "Y") {
- Static12.visible = false;
- radio5.visible = false;
- button7.visible = false;
- Static17.visible = false;
- input3.visible = false;
- input2.visible = false;
- } else if(trgtcd == "N"){
- Static12.visible = true;
- radio5.visible = true;
- button7.visible = true;
- Static17.visible = true;
- input3.visible = true;
- input2.visible = true;
- }
- }
- /****************************************************************************************
- * Function : fMakeCalendar
- * Description : 달력값 설정
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fMakeCalendar(){
- var totcnt = ds_calendar.rowcount;
- //var wcnt = ds_calendar.getColumn(totcnt-1,"week");
- ds_calendar_show.clear();
- for(var i = 0 ; i < totcnt ; i++) {
- if(ds_calendar.getColumn(i,"day") == "1") {
- dsf_makeValue(ds_calendar_show,"sun","string",parseInt(ds_calendar.getColumn(i,"basedd").substr(6,7))+"\n("+ds_calendar.getColumn(i,"patsum")+")\n\n"+ds_calendar.getColumn(i,"dutflag"),ds_calendar.getColumn(i,"week")-1);
- }
- if(ds_calendar.getColumn(i,"day") == "2") {
- dsf_makeValue(ds_calendar_show,"mon","string",parseInt(ds_calendar.getColumn(i,"basedd").substr(6,7))+"\n("+ds_calendar.getColumn(i,"patsum")+")\n\n"+ds_calendar.getColumn(i,"dutflag"),ds_calendar.getColumn(i,"week")-1);
- }
- if(ds_calendar.getColumn(i,"day") == "3") {
- dsf_makeValue(ds_calendar_show,"tue","string",parseInt(ds_calendar.getColumn(i,"basedd").substr(6,7))+"\n("+ds_calendar.getColumn(i,"patsum")+")\n\n"+ds_calendar.getColumn(i,"dutflag"),ds_calendar.getColumn(i,"week")-1);
- }
- if(ds_calendar.getColumn(i,"day") == "4") {
- dsf_makeValue(ds_calendar_show,"wed","string",parseInt(ds_calendar.getColumn(i,"basedd").substr(6,7))+"\n("+ds_calendar.getColumn(i,"patsum")+")\n\n"+ds_calendar.getColumn(i,"dutflag"),ds_calendar.getColumn(i,"week")-1);
- }
- if(ds_calendar.getColumn(i,"day") == "5") {
- dsf_makeValue(ds_calendar_show,"thr","string",parseInt(ds_calendar.getColumn(i,"basedd").substr(6,7))+"\n("+ds_calendar.getColumn(i,"patsum")+")\n\n"+ds_calendar.getColumn(i,"dutflag"),ds_calendar.getColumn(i,"week")-1);
- }
- if(ds_calendar.getColumn(i,"day") == "6") {
- dsf_makeValue(ds_calendar_show,"fri","string",parseInt(ds_calendar.getColumn(i,"basedd").substr(6,7))+"\n("+ds_calendar.getColumn(i,"patsum")+")\n\n"+ds_calendar.getColumn(i,"dutflag"),ds_calendar.getColumn(i,"week")-1);
- }
- if(ds_calendar.getColumn(i,"day") == "7") {
- dsf_makeValue(ds_calendar_show,"sat","string",parseInt(ds_calendar.getColumn(i,"basedd").substr(6,7))+"\n("+ds_calendar.getColumn(i,"patsum")+")\n\n"+ds_calendar.getColumn(i,"dutflag"),ds_calendar.getColumn(i,"week")-1);
- }
- }
- ds_calendar_show.rowposition = -1;
- }
- /****************************************************************************************
- * Function : fSetparam
- * Description : 의사결정에서 파라미터 값 설정
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fSetparam(){
- if(opener.frmf_getParameter("opener_id")=="SPMMO26000"){ //의사결정 시스템에서 들어왔을시
- ds_inreqfrminfo.setColumn(0, "erreglyn" , opener.frmf_getParameter("SPMMO00100_erreglyn"));
- ds_inreqfrminfo.setColumn(0, "indd" , opener.frmf_getParameter("SPMMO00100_indd"));
- ds_inreqfrminfo.setColumn(0, "incretno" , opener.frmf_getParameter("SPMMO00100_incretno"));
- ds_inreqfrminfo.setColumn(0, "inskind" , "D");
- }
- }
- /****************************************************************************************
- * Function : fPatSearch
- * Description : 환자 조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fPatSearch(){
- //2013/01/22 Start 환자번호 입력시 팝업 체크여부 초기화 및 화면 초기화
- msgpopupchkyn="N";
- temp_pid = ipt_pid.value;
- fClkBtnInit();
-
- var pid = temp_pid;
- //2013/01/22 End
-
- // fPidTrim("/root/main/inreqfrminfo/inreqfrminfo/pid");
- // pid = model.getValue("/root/main/inreqfrminfo/inreqfrminfo/pid");
- ds_inreqfrminfo.setColumn(0, "pid", pid);
- pid = utlf_trim(ds_inreqfrminfo.getColumn(0, "pid"));
-
- var hngnm = ds_inreqfrminfo.getColumn(0, "hngnm");
-
- if(!utlf_isNull(pid)) {
- if(lf_reqPatInfo(ds_patnm, "pid", "ptbs", pid)==true){
- var hngnm = ds_patnm.getColumn(0, "hngnm");
- ds_inreqfrminfo.setColumn(0, "hngnm" , hngnm);
- ds_inreqfrminfo.setColumn(0, "sa" , ds_patnm.getColumn(0, "sex")+"/"+ds_patnm.getColumn(0, "age"));
- ds_inreqfrminfo.setColumn(0, "inrsrvacptdd" , utlf_getCurrentDate());
- ds_inreqfrminfo.setColumn(0, "phoneno" , ds_patnm.getColumn(0, "phoneno"));
- }
- } else if(utlf_isNull(pid) && !utlf_isNull(hngnm)){
- fPatSrch(hngnm, "2");
- if(lf_reqPatInfo(ds_patnm, "hngnm", "ptbs", pid)==true){
- ds_inreqfrminfo.setColumn(0, "pid" , ds_patinfolist.getColumn(0, "pid"));
- ds_inreqfrminfo.setColumn(0, "sa" , ds_patinfolist.getColumn(0, "sex")+"/"+ds_patinfolist.getColumn(0, "age"));
- ds_inreqfrminfo.setColumn(0, "phoneno" , ds_patinfolist.getColumn(0, "mpphontel"));
- }
- } else {
- //modal("SPPMC02500");
- frmf_modal("SPPMC02500","SPPMC02500",null,null,null,null,null,null,null,null,null,null,"M");
- ds_inreqfrminfo.setColumn(0, "pid" , ds_patinfolist.getColumn(0, "pid"));
- ds_inreqfrminfo.setColumn(0, "hngnm" , ds_patinfolist.getColumn(0, "hngnm"));
- ds_inreqfrminfo.setColumn(0, "sa" , ds_patinfolist.getColumn(0, "sex")+"/"+ds_patinfolist.getColumn(0, "age"));
- ds_inreqfrminfo.setColumn(0, "phoneno" , ds_patinfolist.getColumn(0, "mpphontel"));
- }
-
- ipt_year.value = utlf_getCurrentDate().substr(0, 4); //year
- ipt_month.value = utlf_getCurrentDate().substr(4, 2); //month
-
- fReqInReqHistList(); //입원의뢰 내역 조회
- fReqInReqCalendar(); //입원의뢰서 달력 조회
-
- ds_diagcdlist.clearData();
- ds_opcdlist.clearData();
-
- ds_diagcdlist.addRow();
- ds_opcdlist.addRow();
- // model.recalculate();
- ds_inreqfrminfo.setColumn(0,"orddeptcd",sysf_getUserInfo("dutplcecd"));
-
- // mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist", cmb_orddeptcd.value, "0330", "","M");
- lf_mmbfGetUserComboList(ds_userlist, cmb_orddeptcd.value, "0330", "", "M", "", "", "P");
- //2012/07/18 Start
- // mmbfGetUserComboList("/root/send/reqdata", "/root/init/atdoctlist", cmb_orddeptcd.value, "0330", "","A");
- lf_mmbfGetUserComboList(ds_atdoctlist, cmb_orddeptcd.value, "0330", "", "A", "", "", "P");
- //2012/07/18 End
-
- ds_inreqfrminfo.setColumn(0,"orddrid",sysf_getUserId());
-
- var status = ds_inreqfrminfo.getColumn(0,"status");
- if(status == "u") {
- ds_main.setColumn(0,"status","수정상태");
- //2012/08/13 Start
- btn_del.enable = true;
- //2012/08/13 End
- } else {
- ds_main.setColumn(0,"status","신규상태");
- //2012/08/13 Start
- btn_del.enable = false;
- //2012/08/13 End
- }
- }
- /****************************************************************************************
- * Function : fPatSrch
- * Description : 환자 등록번호를 통한 환자 이름 가져오기
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fPatSrch(s_val, flag){
- ds_tmp.clear();
- if(flag == "1"){
- dsf_makeValue(ds_tmp,"pid","string",s_val);
- } else if(flag == "2"){
- dsf_makeValue(ds_tmp,"hngnm","string",s_val);
- }
- dsf_makeValue(ds_tmp,"srchcond","string",flag);
- dsf_makeValue(ds_tmp,"autoflag","string","Y");
- ds_patinfolist.clearData();
- // 환자조회 화면 팝업
- //modal("SPPMC02500", 1,10, 10, "SPPMC02500", "/root/tmp", "/root/send");
- var objArg = new Object();
- objArg.arg_ds_send = ds_tmp;
- frmf_modal("SPPMC02500", "SPPMC02500", objArg, "", 1, 10, 10, "", "", "", "", "", "M");
- }
- /****************************************************************************************
- * Function : fReqInReqHistList
- * Description : 입원의뢰서 내역 조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqInReqHistList(){
- ds_req.clear();
- dsf_makeValue(ds_req,"pid","string",ds_inreqfrminfo.getColumn(0, "pid"));
- var oParam = {};
- oParam.id = "TRMMO00109";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetInReqHistList";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_inreqhistlist=inreqhistlist ds_diagcdlist=diagcdlist ds_opcdlist=opcdlist ds_dschchkyn=dschchkyn";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00109";
- tranf_submit(oParam);
- //2013/01/21 Start
- /*
- * 당일 퇴원의 플래그가 I : 입원결정서 블럭킹
- * 당일 퇴원의 플래그가 D 또는 E : 예상입원기간 옆의 입원경로를 선택
- */
- //fGetHardCDList("N", 5810, 0 , "/root/init/hardcd_5810");
- lf_gethardcdArrayList(new Array("hardcd_5810|5810")
- ,new Array("ds_hardcd_5810"));
- blockingchk = ds_hardcd_5810.getColumn(ds_hardcd_5810.findRow("cdseqno",1),"hardcd");
- if(blockingchk=="Y"){
- var dschordtype = ds_dschchkyn.getColumn(0, "ordtype");
- if(dschordtype=="I" && msgpopupchkyn=="N"){
- sysf_messageBox("당일 퇴원한 환자로 입원의뢰서 결정은 불가능합니다.\n결정을 해야하는 경우 원무팀으로 연락", "I008");
- msgpopupchkyn="Y";
- }else if(dschordtype=="D" && msgpopupchkyn=="N"){
- sysf_messageBox("당일 DSC 또는 CHEMO로 퇴원한", "I005");
- ds_inreqfrminfo.setColumn(0, "erreglyn", dschordtype);
- msgpopupchkyn="Y";
- }else if(dschordtype=="E" && msgpopupchkyn=="N"){
- sysf_messageBox("당일 응급실에서 퇴원한", "I005");
- ds_inreqfrminfo.setColumn(0, "erreglyn", dschordtype);
- msgpopupchkyn="Y";
- }
- }
- //2013/01/21 End
- }
- /****************************************************************************************
- * Function : cf_TRMMO00109
- * Description : TRMMO00109 콜백 함수
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TRMMO00109(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) {return;}
- else {
- ds_inreqhistlist.updatecontrol = false;
- for(var i = 0 ; i < ds_inreqhistlist.rowcount ; i++) {
- dsf_makeValue(ds_inreqhistlist,"orgorddeptcd","string",ds_inreqhistlist.getColumn(i,"orddeptcd"),i);
- }
- ds_inreqhistlist.updatecontrol = true;
- // ds_opcdlist.updateColID("diagcd","orgopcd");
- }
- }
- /****************************************************************************************
- * Function : fOpenOpPopUp
- * Description : 수술팝업 open
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fOpenOpPopUp(){
- ds_tmp.clear();
- var param = "" + "▦" +
- ds_inreqfrminfo.getColumn(0,"orddeptcd") + "▦" +
- ds_inreqfrminfo.getColumn(0,"orddrid") + "▦" +
- "" + "▦" +
- "" + "▦" +
- "perf"; //query구분
- frmf_setParameter("SPMMO11000_param", param);
- frmf_modal("SPMMO11000","SPMMO11000",null,null,null,null,null,null,null,null,null,null,"M");
- //dsf_copyDs(ds_opcdlist, ds_tmp, "replace");
- var useyn = frmf_getParameter("SPMMO11000_rtn_useyn");
- if(useyn == "Y") {
- // var currow = ds_opcdlist.addRow();
- ds_opcdlist.setColumn(0, "status" , "i");
- ds_opcdlist.setColumn(0, "diagdd" , utlf_getCurrentDate());
- ds_opcdlist.setColumn(0, "diagtypecd" , "O");
- ds_opcdlist.setColumn(0, "icd9cd" , ds_tmp.getColumn(ds_tmp.rowposition, "opcd"));
- ds_opcdlist.setColumn(0, "diagcd" , ds_tmp.getColumn(ds_tmp.rowposition, "opcd"));
- ds_opcdlist.setColumn(0, "opengnm" , ds_tmp.getColumn(ds_tmp.rowposition, "openm"));
- ds_opcdlist.setColumn(0, "ophngnm" , ds_tmp.getColumn(ds_tmp.rowposition, "opnm"));
- ds_opcdlist.setColumn(0, "orddd" , ds_inreqfrminfo.getColumn(0, "inhopedd"));
- ds_opcdlist.setColumn(0, "pid" , ds_inreqfrminfo.getColumn(0, "pid"));
- ds_opcdlist.setColumn(0, "cretno" , 0);
- ds_opcdlist.setColumn(0, "orddeptcd" , ds_inreqfrminfo.getColumn(0, "orddeptcd"));
- ds_opcdlist.setColumn(0, "orddrid" , ds_inreqfrminfo.getColumn(0, "orddrid"));
- }
-
- var currow = ds_inreqhistlist.rowposition;
- if(currow < 1){
- return;
- }
- fDispInReqHistInfo(currow);
-
- var status = ds_inreqfrminfo.getColumn(0,"status");
- if (status == "u") {
- ds_main.setColumn(0,"status","수정상태");
- } else {
- ds_main.setColumn(0,"status","신규상태");
- }
- }
- /****************************************************************************************
- * Function : fDispInReqHistInfo
- * Description : 입원내역 리스트 클릭시 -> 입원내역 정보 display
- * Argument : currow : 선택된 입원예약내역
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fDispInReqHistInfo(currow){
- var orddeptcd = ds_inreqhistlist.getColumn(currow,"orddeptcd");
- lf_mmbfGetUserComboList(ds_userlist, orddeptcd, "0330", "", "M", "", "", "P");
- //2012/07/18 Start
- lf_mmbfGetUserComboList(ds_atdoctlist, orddeptcd, "0330", "", "A", "", "", "P");
- dsf_makeValue(ds_temp,"inrsrvstat","string",ds_inreqhistlist.getColumn(currow,"inrsrvstat"));
- dsf_makeValue(ds_temp,"inflag","string",ds_inreqhistlist.getColumn(currow,"inflag"));
- //2012/07/18 End
- lf_mmbfGetSubDeptComboList(ds_subdeptlist, orddeptcd);
- if(ds_subdeptlist.rowcount>0) ds_subdeptlist.insertRow(0);
- // if(ds_subdeptlist.rowcount>0) frmf_addComboItem("cmb_subdept");
- ds_inreqfrminfo.copyRow(0,ds_inreqhistlist,currow);
- ds_inreqfrminfo.setColumn(0,"status","u");
- dsf_createDs("ds_temp_inreqfrminfo");
- ds_temp_inreqfrminfo.copyData(ds_inreqfrminfo); //신규 저장인지, 기존의 내역 수정인지를 판단하기 temp instance에 복사
-
- // DRG여부에서 Y일 경우 DRG수정버튼을 활성하
- var drgyn = ds_inreqfrminfo.getColumn(0,"drgyn");
- if(drgyn=="Y"){
- button7.enable = true;
- }
- }
- /****************************************************************************************
- * Function : fSearchDiagTermCD
- * Description : 진단용어코드 검색
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fSearchDiagTermCD(){
- // var diagcd = grd_diaglist.valueMatrix(grd_diaglist.row, grd_diaglist.colRef("diagcd"));
- // var diagengnm = grd_diaglist.valueMatrix(grd_diaglist.row, grd_diaglist.colRef("diagengnm"));
- // var diaghngnm = grd_diaglist.valueMatrix(grd_diaglist.row, grd_diaglist.colRef("diaghngnm"));
- var diagcd = ds_diagcdlist.getColumn(ds_diagcdlist.rowposition, "diagcd");
- var diagengnm = ds_diagcdlist.getColumn(ds_diagcdlist.rowposition, "diagengnm");
- var diaghngnm = ds_diagcdlist.getColumn(ds_diagcdlist.rowposition, "diaghngnm");
-
- if(diagcd == "" && diagengnm == "" && diaghngnm == ""){ //아무 값도 입력하지 않는 경우 return
- return;
- }
- if(grd_diaglist.getCellPos()==grd_diaglist.getBindCellIndex("body","diagcd")){
- frmf_setParameter("SPMMO00800_cond1", 1);
- frmf_setParameter("SPMMO00800_cond2", 4);
- frmf_setParameter("SPMMO00800_cond3", "E");
- frmf_setParameter("SPMMO00800_cond4", utlf_getCurrentDate());
- frmf_setParameter("SPMMO00800_cond5", diagcd);
- } else if(grd_diaglist.getCellPos()==grd_diaglist.getBindCellIndex("body","diagengnm")){
- frmf_setParameter("SPMMO00800_cond1", 2);
- frmf_setParameter("SPMMO00800_cond2", 4);
- frmf_setParameter("SPMMO00800_cond3", utlf_isHangul(diagengnm));
- frmf_setParameter("SPMMO00800_cond4", utlf_getCurrentDate());
- frmf_setParameter("SPMMO00800_cond5", diagengnm);
- } else if(grd_diaglist.getCellPos()==grd_diaglist.getBindCellIndex("body","diaghngnm")){
- frmf_setParameter("SPMMO00800_cond1", 2);
- frmf_setParameter("SPMMO00800_cond2", 4);
- frmf_setParameter("SPMMO00800_cond3", utlf_isHangul(diaghngnm));
- frmf_setParameter("SPMMO00800_cond4", utlf_getCurrentDate());
- frmf_setParameter("SPMMO00800_cond5", diaghngnm);
- }
- //modal("SPMMO00800");
- frmf_modal("SPMMO00800","SPMMO00800","","","","","","","","","","","M");
- var useyn = frmf_getParameter("SPMMO00800_rtn_useyn");
- if(useyn == "Y"){
- frmf_setParameter("SPMMO00800_rtn_useyn", "");
- fSetDiagTermCD();
- } else {
- frmf_setParameter("SPMMO00800_rtn_useyn", "");
- var currow = ds_diagcdlist.rowposition;
- // model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/icd10cd" , "");
- // model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/diagengnm", "");
- // model.setValue(sDIAGCDLIST_PATH + "[" + currow + "]/diaghngnm", "");
- ds_diagcdlist.setColumn(currow,"icd10cd" ,"");
- ds_diagcdlist.setColumn(currow,"diagengnm","");
- ds_diagcdlist.setColumn(currow,"diaghngnm","");
- }
- }
- /****************************************************************************************
- * Function : fSetDiagTermCD
- * Description : 진단용어코드 설정
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fSetDiagTermCD(){
- var rtnparam = frmf_getParameter("SPMMO00800_rtn");
- var rtnparamArray = rtnparam.split("▩");
- for(var i = 0; i < rtnparamArray.length-1; i++){
- var tmpstr = String(rtnparamArray[i]).split("▦");
- var currow = ds_diagcdlist.rowcount-1;
- ds_diagcdlist.setColumn(currow,"status" ,"i");
- ds_diagcdlist.setColumn(currow,"diagdd" ,utlf_getCurrentDate());
- ds_diagcdlist.setColumn(currow,"diagtypecd" ,"R");
- ds_diagcdlist.setColumn(currow,"icd10cd" ,tmpstr[8]);
- ds_diagcdlist.setColumn(currow,"diagcd" ,tmpstr[9]);
- ds_diagcdlist.setColumn(currow,"diagengnm" ,tmpstr[2]);
- ds_diagcdlist.setColumn(currow,"diaghngnm" ,tmpstr[3]);
- ds_diagcdlist.setColumn(currow,"orddd" ,ds_inreqfrminfo.getColumn(0,"inhopedd"));
- ds_diagcdlist.setColumn(currow,"pid" ,ds_inreqfrminfo.getColumn(0,"pid"));
- ds_diagcdlist.setColumn(currow,"cretno" ,0);
- ds_diagcdlist.setColumn(currow,"orddeptcd" ,ds_inreqfrminfo.getColumn(0,"orddeptcd"));
- ds_diagcdlist.setColumn(currow,"orddrid" ,ds_inreqfrminfo.getColumn(0,"orddrid"));
- ds_diagcdlist.addRow();
- }
- // model.recalculate();
- // model.refresh();
- }
- /****************************************************************************************
- * Function : fReqDiagOpList
- * Description : 환자의 현재 내려진 진단조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqDiagOpList(){
- var param = opener.frmf_getParameter("SPMMO00100_param");
- if(!utlf_isNull(param)){ //parameter가 있는 경우
- param = param.split("▦");
- var pid = param[0];
- var orddeptcd = param[2];
- var orddd = param[6];
- var ioflag = param[8];
- } else { //parameter가 없는 경우, 환자 상단정보를 이용
- // var paminfo = model.instance1.selectNodes("/root/paminfo/list");
- // var patflag = model.instance1.selectNodes("/root/paminfo/list");
- if(ds_paminfo.rowcount > 0 && ds_patflag.rowcount > 0){
- var pid = ds_paminfo.getColumn(0,"pid");
- var orddeptcd = ds_paminfo.getColumn(0,"orddeptcd");
- var ioflag = ds_patflag.getColumn(0,"prcpgenrflag");
- if(ioflag == "O"){
- var orddd = ds_paminfo.getColumn(0,"orddd");
- }else{
- var orddd = ds_paminfo.getColumn(0,"indd");
- }
- }else{
- sysf_messageBox("환자 정보를 찾을 수", "I004");
- this.close();
- }
- }
-
- ds_req.clear();
- dsf_makeValue(ds_req,"pid","string",pid);
- dsf_makeValue(ds_req,"orddeptcd","string",orddeptcd);
- dsf_makeValue(ds_req,"orddd","string",orddd);
- dsf_makeValue(ds_req,"ioflag","string",ioflag);
- var oParam = {};
- oParam.id = "TRMMO00114";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetPatCurrentDiag";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_diagcdlist=diagcdlist ds_opcdlist=opcdlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00114";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO00114") >= 0){ // if(submit("TRMMO00114")==true){
- // ds_opcdlist.updateColID("diagcd","orgopcd");
- ds_diagcdlist.updatecontrol = false;
- for(var i = 0 ; i < ds_diagcdlist.rowcount ; i++) {
- ds_diagcdlist.setColumn(i,"orddd",ds_inreqfrminfo.getColumn(0,"inhopedd")); //진료일자는 입원희망일자
- }
- ds_diagcdlist.updatecontrol = true;
- }
-
- ds_diagcdlist.addRow();
- // ds_opcdlist.addRow();
- // model.recalculate();
- }
- /****************************************************************************************
- * Function : cf_TRMMO00114
- * Description : TRMMO00114 콜백 함수
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TRMMO00114(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /****************************************************************************************
- * Function : fChngOrdDrID
- * Description : 진료의 변경
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fChngOrdDrID(){
- var orddrid = ds_inreqfrminfo.getColumn(0,"orddrid");
- //진단정보 수정
- for(var i = 0 ; i < ds_diagcdlist.rowcount-1 ; i++) {
- var status = ds_diagcdlist.getColumn(i,"status"); model.getValue(sDIAGCDLIST_PATH + "[" + i + "]/status");
- if(status == "-"){
- model.setValue(sDIAGCDLIST_PATH + "[" + i + "]/status", "u");
- }
- model.setValue(sDIAGCDLIST_PATH + "[" + i + "]/orddrid" , orddrid);
- }
-
- //수술진단정보 수정
- for(var i=1; i < grd_oplist.rows;i++){
- var status = model.getValue(sOPCDLIST_PATH + "[" + i + "]/status");
- if(status == "-"){
- model.setValue(sOPCDLIST_PATH + "[" + i + "]/status", "u");
- }
- model.setValue(sOPCDLIST_PATH + "[" + i + "]/orddrid" , orddrid);
- }
-
- model.refresh();
- }
- /****************************************************************************************
- * Function : fOpenDiagPopUp
- * Description : 진단팝업 open
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fOpenDiagPopUp(){
- //pyj 파라메터를 넘겨준다.(/root/temp->/root/tempdiag)
- frmf_setParameter("SPMMO3200_param_nodepath","ds_tempdiag_selectdiaglist");
- // modal("SPMMO03200");
- frmf_modal("SPMMO03200","SPMMO03200",null,null,null,null,null,null,null,null,null,null,"M");
- var useyn = frmf_getParameter("SPMMO03200_rtn_useyn");
-
- if(useyn == "Y"){
- frmf_setParameter("SPMMO03200_rtn_useyn", "");
- var totcnt = ds_tempdiag_selectdiaglist.rowcount;
- for(var i = 0 ; i < totcnt ; i++) {
- var diagcd = ds_tempdiag_selectdiaglist.getColumn(i,"diagcd");
- var icd10cd = ds_tempdiag_selectdiaglist.getColumn(i,"icd10cd");
- var diagengnm = ds_tempdiag_selectdiaglist.getColumn(i,"diagengnm");
- var diaghngnm = ds_tempdiag_selectdiaglist.getColumn(i,"diaghngnm");
-
- var currow = ds_diagcdlist.rowcount -1;
- ds_diagcdlist.setColumn(currow,"status" ,"i");
- ds_diagcdlist.setColumn(currow,"diagdd" ,utlf_getCurrentDate());
- ds_diagcdlist.setColumn(currow,"diagtypecd","R");
- ds_diagcdlist.setColumn(currow,"icd10cd" ,icd10cd);
- ds_diagcdlist.setColumn(currow,"diagcd" ,diagcd);
- ds_diagcdlist.setColumn(currow,"diagengnm" ,diagengnm);
- ds_diagcdlist.setColumn(currow,"diaghngnm" ,diaghngnm);
- ds_diagcdlist.setColumn(currow,"orddd" ,ds_inreqfrminfo.getColumn(0,"inhopedd")); //진단일자는 입원예정일
- ds_diagcdlist.setColumn(currow,"pid" ,ds_inreqfrminfo.getColumn(0,"pid"));
- ds_diagcdlist.setColumn(currow,"cretno" ,0);
- ds_diagcdlist.setColumn(currow,"orddeptcd" ,ds_inreqfrminfo.getColumn(0,"orddeptcd"));
- ds_diagcdlist.setColumn(currow,"orddrid" ,ds_inreqfrminfo.getColumn(0,"orddrid"));
- ds_diagcdlist.addRow();
- }
- }
- // model.recalculate();
- dsf_deleteDs("ds_tempdiag_selectdiaglist");
- var status = ds_inreqfrminfo.getColumn(0,"status");
- if (status == "u") {
- ds_main.setColumn(0,"status","수정상태");
- } else {
- ds_main.setColumn(0,"status","신규상태");
- }
- }
- /****************************************************************************************
- * Function : fDeleteRow
- * Description : 입원의뢰서 진단, 수술 삭제
- * Argument : grdObj : 삭제대상 그리드
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fDeleteRow(grdObj) {
- var selectedRows = grdf_getSelectedRows(grdObj);
- var selectArray = String(selectedRows).split(",");
- var dsObj = this.objects[grdObj.binddataset];
- var totcnt = dsObj.rowcount;
- for(var i = totcnt-1 ; i >= 0 ; i--) {
- for(var j = 0 ; j < selectArray.length ; j++) {
- if(i == parseInt(selectArray[j])) {
- var status = dsObj.getColumn(i,"status");
- if(status == "i") {
- dsObj.deleteRow(i);
- } else if(status == "u" || status == "d" || status == "-") {
- dsObj.setColumn(i,"status","d");
- }
- }
- }
- }
- }
- /****************************************************************************************
- * Function : fSearchOpTermCD
- * Description : 수술용어코드 검색
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fSearchOpTermCD() {
- var icd9cd = ds_opcdlist.getColumn(ds_opcdlist.rowposition,"icd9cd");
- var opengnm = ds_opcdlist.getColumn(ds_opcdlist.rowposition,"opengnm");
- var ophngnm = ds_opcdlist.getColumn(ds_opcdlist.rowposition,"ophngnm");
- var perfdeptcd = ds_inreqfrminfo.getColumn(0,"orddeptcd");
- var perfdrid = ds_inreqfrminfo.getColumn(0,"orddrid");
-
- if(icd9cd == "" && opengnm == "" && ophngnm == ""){ //아무 값도 입력하지 않는 경우 return
- return;
- }
- if(grd_oplist.currentcol == grd_oplist.getBindCellIndex("body","icd9cd")) {
- var param = utlf_getCurrentDate() + "▦" + perfdeptcd + "▦" + perfdrid + "▦" + icd9cd;
- frmf_setParameter("SPMMO11000_param", param);
- } else if(grd_oplist.currentcol == grd_oplist.getBindCellIndex("body","ophngnm")) {
- var param = utlf_getCurrentDate() + "▦" + perfdeptcd + "▦" + perfdrid + "▦" + "" + "▦" + ophngnm + "▦" + "" + "▦" + "H";
- frmf_setParameter("SPMMO11000_param", param);
- } else if(grd_oplist.currentcol == grd_oplist.getBindCellIndex("body","opengnm")) {
- var param = utlf_getCurrentDate() + "▦" + perfdeptcd + "▦" + perfdrid + "▦" + "" + "▦" + opengnm + "▦" + "" + "▦" + "E";
- frmf_setParameter("SPMMO11000_param", param);
- }
- frmf_modal("SPMMO11000","SPMMO11000",null,null,null,null,null,null,null,null,null,null,"M");
- var useyn = frmf_getParameter("SPMMO11000_rtn_useyn");
- if(useyn == "Y") {
- frmf_setParameter("SPMMO11000_rtn_useyn", "");
- fSetOpTermCD();
- } else {
- frmf_setParameter("SPMMO11000_rtn_useyn", "");
- var currow = ds_opcdlist.rowposition;
- ds_opcdlist.setColumn(currow,"icd9cd","");
- ds_opcdlist.setColumn(currow,"opengnm","");
- ds_opcdlist.setColumn(currow,"ophngnm","");
- }
- }
- /****************************************************************************************
- * Function : fSetOpTermCD
- * Description : 수술용어코드 설정
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fSetOpTermCD(){
- ds_opcdlist.setColumn(0, "status" , "i");
- ds_opcdlist.setColumn(0, "diagdd" , utlf_getCurrentDate());
- ds_opcdlist.setColumn(0, "diagtypecd" , "O");
- ds_opcdlist.setColumn(0, "icd9cd" , ds_tmp.getColumn(ds_tmp.rowposition, "opcd"));
- ds_opcdlist.setColumn(0, "diagcd" , ds_tmp.getColumn(ds_tmp.rowposition, "opcd"));
- ds_opcdlist.setColumn(0, "opengnm" , ds_tmp.getColumn(ds_tmp.rowposition, "openm"));
- ds_opcdlist.setColumn(0, "ophngnm" , ds_tmp.getColumn(ds_tmp.rowposition, "opnm"));
- ds_opcdlist.setColumn(0, "orddd" , ds_inreqfrminfo.getColumn(0, "inhopedd"));
- ds_opcdlist.setColumn(0, "pid" , ds_inreqfrminfo.getColumn(0, "pid"));
- ds_opcdlist.setColumn(0, "cretno" , 0);
- ds_opcdlist.setColumn(0, "orddeptcd" , ds_inreqfrminfo.getColumn(0, "orddeptcd"));
- ds_opcdlist.setColumn(0, "orddrid" , ds_inreqfrminfo.getColumn(0, "orddrid"));
- }
- /****************************************************************************************
- * Function : fReqInReqDiagOpList
- * Description : 입원의뢰서 진단,수술 리스트 조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fReqInReqDiagOpList() {
- ds_req.clear();
- dsf_makeValue(ds_req,"pid" ,"string",ds_inreqfrminfo.getColumn(0,"pid"));
- dsf_makeValue(ds_req,"orddd" ,"string",ds_inreqfrminfo.getColumn(0,"inhopedd")); //입원희망일자
- dsf_makeValue(ds_req,"cretno" ,"string",0);
- dsf_makeValue(ds_req,"orddeptcd","string",ds_inreqfrminfo.getColumn(0,"orddeptcd"));
- dsf_makeValue(ds_req,"orddrid" ,"string",ds_inreqfrminfo.getColumn(0,"orddrid"));
- // submit("TRMMO00112");
- var oParam = {};
- oParam.id = "TRMMO00112";
- oParam.service = "prcpmngtapp.PatDiagMngt";
- oParam.method = "reqGetInReqDiagInfo";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_diagcdlist=diagcdlist ds_opcdlist=opcdlist";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
-
- // model.recalculate();
- ds_diagcdlist.addRow();
- }
- /****************************************************************************************
- * Function : fCentValChng
- * Description : 암센터 병동코드조회
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fCentValChng(){
- var wardtypecd = ds_inreqfrminfo.getColumn(0,"wardtypecd");
- if(wardtypecd == "01") {
- case2.cmb_specwardcd.enable = true;
- ds_inreqfrminfo.setColumn(0,"specwardcd","-");
- } else {
- case2.cmb_specwardcd.enable = false;
- ds_inreqfrminfo.setColumn(0,"specwardcd","-");
- }
- ds_inreqfrminfo.setColumn(0,"specroomyn","");
- }
- /****************************************************************************************
- * Function : fChngRoomInfo
- * Description : 병실정보 변경
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fChngRoomInfo(){
- case2.cmb_specwardcd.enable = true;
- ds_inreqfrminfo.setColumn(0,"wardtypecd","");
- ds_inreqfrminfo.setColumn(0,"specwardcd","-");
- }
- /****************************************************************************************
- * Function : fInDeciPrint
- * Description : 입원약정서 출력
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fInDeciPrint(vPid, vInrsrvAcptdd, vOrdDeptcd, vOrdDrid, vInsukind, vPrintflag) {
- // 입원약정서 제어 시작 by 조중래 20120322
- // var bExist = false;
- // var ivrObjt = document.all("ivr_agmt");
- //
- // if (ivrObjt == null) {
- // body.createChild("xforms:iviewer", "id:ivr_agmt; src:../../../pam/ipatmngtweb/xrw/SPPMI03200_입원약정서관리.xrw");
- // ivrObjt = document.all("ivr_agmt");
- // }
- //
- // bExist = ivrObjt.window.javascript.fReqGetInAgmtCount(vPid, vInrsrvAcptdd, vPrintflag); // 입원약정서 존재여부 판단
- //
- // if (bExist != true) { // 1. 해당 입원에 대한 약정서가 존재하지 않는 경우 약정서 자동출력
- // ivrObjt.window.javascript.fPrintAgmt(vPid, vInrsrvAcptdd, vOrdDeptcd, vOrdDrid, vPrintflag, "Y", "", "", vInsukind);
- // } else if(vPrintflag == "2"){ // 2. 환자가 입원약정서를 지참하지 않은 경우 입원약정서 관리화면에서 재출력
- // sysf_messageBox("유효한 기간약정서가 존재하므로 약정서를 출력 하지않습니다.\n\n자세한 내용의 문의는 원무팀으로 안내해주시기 바랍니다", "I999");
- // } else {
- // sysf_messageBox("유효한 입원약정서가 존재하므로 약정서를 출력 하지않습니다.\n\n자세한 내용의 문의는 원무팀으로 안내해주시기 바랍니다", "I999");
- // }
- /* tf화면은 DIV로 불러 올수 없으므로 팝업으로 띄워 실행. tf쪽에 데이터를 받아 처리하고 값을 리턴하도록 수정 필요. */
- xxf_tfSetParameter("SPPMI03200_PARM_PID" , vPid);
- xxf_tfSetParameter("SPPMI03200_PARM_ORDDD" , vInrsrvAcptdd);
- // xxf_tfSetParameter("SPPMI03200_PARM_AGMTTYPE" , "");
- xxf_tfSetParameter("SPPMI03200_PARM_ORDDEPTCD" , vOrdDeptcd);
- xxf_tfSetParameter("SPPMI03200_PARM_ORDDRID" , vOrdDrid);
- // xxf_tfSetParameter("SPPMI03200_PARM_CRETNO" , ds_paminfo.getColumn(0,"cretno"));
- // xxf_tfSetParameter("SPPMI03200_PARM_ORDTYPE" , ds_paminfo.getColumn(0,"orgordtype"));
- xxf_tfModal("SPPMI03200",1,50,50,null,null,null,null,null,null,null,"none");
- }
- /****************************************************************************************
- * Function : fChkUserAuth
- * Description : 사용자 권한 검사, 입원결정서는 해당 진료과의 의사만 저장, 수정, 삭제가 가능함
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fChkUserAuth() {
- var status = ds_inreqfrminfo.getColumn(0,"status");
- var sOrdDeptCd = ds_inreqfrminfo.getColumn(0,"orddeptcd");
- var sUserDeptCd = sysf_getUserInfo("dutplcecd");
-
- if(sOrdDeptCd == sUserDeptCd){
- return true;
- }
- if(sOrdDeptCd =="2210000000" || sOrdDeptCd == "2361100000" || sOrdDeptCd =="2200000000") { // 병리과, 국제진료센터, 진단검사의학과
- return false;
- }
-
- var sErOrdDeptCd = ds_hardcdno.getColumn(0,"hardcd") //응급의학과인 경우, 신규등록은 타과도 가능하게 처리
- if(sUserDeptCd == sErOrdDeptCd){
- return true;
- }
-
- var bmtopen = opener.frmf_getParameter("SPMMO00100_BMTDEPTCD"); // BMT 코디네이터실인경우 입원의뢰서 작성 가능
- if (!utlf_isNull(bmtopen)) {
- return true;
- }
-
- if(menuauthchkyn=="Y"){ // 2013/01/21 Start 전문간호로 로그인시 저장 할 수 있도록 기능 추가
- return true;
- } // 2013/01/21 End
-
- if(sOrdDeptCd == "2040000000" || sOrdDeptCd == "2041100000" || sOrdDeptCd =="2040400000") { //외과, 유방센터는 같은과이다
- if(sUserDeptCd == "2040000000" || sUserDeptCd == "2041100000" || sUserDeptCd == "2040400000" ) {
- return true;
- }
- }
-
- if(lf_ContainsHardCD("445", sOrdDeptCd) && lf_ContainsHardCD("445", sUserDeptCd)) { // 2014.05.16 엄영만 소아과 분과끼리는 의뢰서 작성 가능
- return true;
- }
-
- var userauth = ds_userauth.getColumn(0,"hardcd"); // 하드코드 91 입원의뢰서 권한체크여부(타과 입원장 발행 가능여부)
- if(userauth == "A") { // 모든과에서 입원의뢰서 등록가능
- return true;
- } else if(userauth == "P") { // 특정과 (하드코드 테이블 92번에 지정)만 타과 입원장 발급 가능
- if(lf_ContainsHardCD("92", sUserDeptCd)) { // 특정과 (하드코드 테이블 92번에 지정)만 타과 입원장 발급 가능
- return true;
- } else {
- return false;
- }
- } else if(userauth == "I") { // 특정인 (하드코드 테이블 93번에 지정)만 타과 입원장 발급 가능
- if(lf_ContainsHardCD("93",sysf_getUserInfo("userid"))) { // 특정과 (하드코드 테이블 92번에 지정)만 타과 입원장 발급 가능
- return true;
- } else {
- return false;
- }
- } else {
- return false;
- }
- }
- /****************************************************************************************
- * Function : fChkValidSave
- * Description : 입원의뢰서 저장 전, 데이터 무결성 확인.
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fChkValidSave() {
- var inhopedd = ds_inreqfrminfo.getColumn(0,"inhopedd"); //입원예정일
- var status = ds_inreqfrminfo.getColumn(0,"status"); //처리구분
- if(inhopedd < utlf_getCurrentDate() && status == "i"){ //입원예정일이 현재일자보다 작은 경우
- sysf_messageBox("입원예정일이 이전 날짜", "E008");
- return false;
- }
- var status = ds_inreqfrminfo.getColumn(0,"status");
- var scheopdd = ds_inreqfrminfo.getColumn(0,"scheopdd"); //수술예정일
- if(!utlf_isNull(scheopdd)){
- if(scheopdd < utlf_getCurrentDate() && status == "i"){ //수술예정일이 현재일자보다 작은 경우
- sysf_messageBox("수술예정일이 이전 날짜", "E008");
- return false;
- }
- }
- var orddrnm = cmb_orddrid.text;
- var orddeptnm = cmb_orddeptcd.text;
- if(orddeptnm.length < 1){
- sysf_messageBox("담당진료과를", "C002");
- return false;
- }
-
- if(orddrnm.length < 1){
- sysf_messageBox("전문의(담당교수)를", "C002");
- return false;
- }
- var erreglyn = ds_inreqfrminfo.getColumn(0,"erreglyn"); //입원구분
-
- if(cmb_erreglyn.length < 1 || utlf_isNull(erreglyn)) {
- sysf_messageBox("예상입원기간의 입원구분을", "C002");
- return false;
- }
- return true;
- }
- /****************************************************************************************
- * Function : fSaveChkValidDiagOp
- * Description : 진단,수술 그리드에 저장할 내역이 있는 count한다.
- * Argument : dsObj : Dataset 명
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fSaveChkValidDiagOp(dsObj){
- var cnt = 0;
- for(var i = 0 ; i < dsObj.rowcount ; i++){
- var status = dsObj.getColumn(i,"status");
- if(status == "i" || status == "d"){
- cnt++;
- }
- }
- if(cnt > 0){
- return true; //변경된 사항이 있는 경우 true return
- }else{
- return false;
- }
- }
- /****************************************************************************************
- * Function : fSetDiagOpInhopeDD
- * Description : 진단, 수술 저장시 진료일자는 입원희망일자로 설정해야 함
- * 진단에 대한 환자 진료과, 진료의도 부서에 설정
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fSetDiagOpInhopeDD(){
- var inhopedd = ds_inreqfrminfo.getColumn(0,"inhopedd");
- var orddeptcd = ds_inreqfrminfo.getColumn(0,"orddeptcd");
- var orddrid = ds_inreqfrminfo.getColumn(0,"orddrid");
-
- for(var i = 0 ; i < ds_diagcdlist.rowcount ; i++){
- ds_diagcdlist.setColumn(i,"orddd" , inhopedd);
- ds_diagcdlist.setColumn(i,"orddeptcd", orddeptcd);
- ds_diagcdlist.setColumn(i,"orddrid" , orddrid);
- }
-
- for(var i = 0 ; i < ds_opcdlist.rowcount ; i++){
- ds_opcdlist.setColumn(i,"orddd" , inhopedd);
- ds_opcdlist.setColumn(i,"orddeptcd", orddeptcd);
- ds_opcdlist.setColumn(i,"orddrid" , orddrid);
- }
- }
- /****************************************************************************************
- * Function : fInsPatEduc
- * Description : JCI _ 환자교육 입력화면 팝업
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fInsPatEduc(){
- //kimsj 100114 JCI _ 환자교육 입력화면 팝업
- // mmbfGetHardCodeInfoNm("/root/send/reqdata", "/root/init/pateducyn", 177); //환자교육 등록여부
- lf_getHardCDList("N", 177, null, ds_pateducyn);
- var pateducyn = ds_pateducyn.getColumn(0,"hardcd");
- if(pateducyn == "Y") {
- sysf_messageBox ( "입원 전 환자 및 보호자 교육을 작성하셔야 합니다.", "I" );
- //kimsj 100128 JCI_마지막 수진이력 조회(신규 교육팝업 위해서 필요)
- ds_req.clear();
- dsf_makeValue(ds_req,"pid" ,"string",ds_inreqfrminfo.getColumn(0,"pid"));
- dsf_makeValue(ds_req,"orddeptcd","string",ds_inreqfrminfo.getColumn(0,"orddeptcd"));
- // submit("TRMMO00131");
- var oParam = {};
- oParam.id = "TRMMO00131";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetPrcpInfoRsntly";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_prcpinforsntly=prcpinforsntly";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
-
- var vPid = ds_prcpinforsntly.getColumn(0,"pid");
- var vOrddd = ds_prcpinforsntly.getColumn(0,"orddd");
- var vCretno = ds_prcpinforsntly.getColumn(0,"cretno");
- var vEducd = "010";
- var vEducnts = "입원 목적, 질병상태, 치료계획, 예상되는 치료결과, 담당 주치의 소개, 해당하는 경우 검사결과 등에 대해 설명함";
-
-
- frmf_setParameter("SPMRJ00200_pid" , vPid);
- frmf_setParameter("SPMRJ00200_orddd" , vOrddd);
- frmf_setParameter("SPMRJ00200_cretno" , vCretno);
- frmf_setParameter("SPMRJ00200_educd" , vEducd);
- frmf_setParameter("SPMRJ00200_educnts" , vEducnts);
- frmf_setParameter("SPMRJ00200_workpart" , "inreq");
-
- //modal("SPMRJ00200");
- // modal("SPMRJ00200", 1, 0, 0, "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; min:hidden, max:hidden;");
- frmf_modal("SPMRJ00200","SPMRJ00200",null,null,1,null,null,null,null,null,null,null,"M");
- }
- }
- /****************************************************************************************
- * Function : fSaveInReq
- * Description : 입원의뢰서 저장, 기존의 내역을 수정한 경우, 변경여부 검사
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fSaveInReq() {
- var sInrsrvstat = ds_inreqfrminfo.getColumn(0,"inrsrvstat");
- if(utlf_isNull(sInrsrvstat)) {
- sysf_messageBox("입원의뢰서 종류(예약/결정)을 지정하십시오", "I");
- return;
- }
- var status = ds_inreqfrminfo.getColumn(0,"status");
- var displayrow = ds_inreqhistlist.rowposition;
- //암센터 병동일 경우 병동이 지정되지 않으면 메시지를 띄워줌
- var wardtypecd = ds_inreqfrminfo.getColumn(0,"wardtypecd");
- if(wardtypecd == "01") {
- var specwardcd = ds_inreqfrminfo.getColumn(0,"specwardcd");
- if(specwardcd == "-" || utlf_isNull(specwardcd)) {
- sysf_messageBox("암센터병동을 지정하십시오", "I");
- return;
- }
- }
-
- if(!utlf_isNull(status)) {
- // 원무에서 입원등록을 한 경우는 수정을 할 수 없도록 조건 추가 (2008.09.26 김영학)
- var inflag = ds_inreqfrminfo.getColumn(0,"inflag");
- var indd = ds_inreqfrminfo.getColumn(0,"indd");
- if(inflag == "Y" || indd != "00000000") {
- sysf_messageBox("원무에서 입원등록을 한 경우는 입원의뢰서를 수정", "E001");
- return;
- }
- } else {
- for(var i = 0 ; i < ds_inreqhistlist.rowcount ; i++) {
- var inflag = ds_inreqhistlist.getColumn(i,"inflag");
- if (inflag == 'G'){
- var inrsrvstat = ds_inreqhistlist.getColumn(i,"inrsrvstat");
- var orddeptcd = ds_inreqhistlist.getColumn(i,"orddeptcd");
- var publicbedyn = ds_inreqhistlist.getColumn(i,"publicbedyn");
- var reqordeptcd = ds_inreqfrminfo.getColumn(0,"orddeptcd");
-
- if(inrsrvstat == "S" && publicbedyn != "Y") {
- var depthngnm = ds_orddept.getColumn(ds_orddept.findRow("deptcd",orddeptcd),"depthngnm");
- sysf_messageBox("["+depthngnm+"]에서 이미 결정상태의 입원의뢰서가 있습니다.\n내역을 수정 또는 삭제 후 진행하십시오.", "");
- return;
- } else if((inrsrvstat == "T") && (orddeptcd == reqordeptcd)) {
- sysf_messageBox("동일 과에 이미 예약상태의 입원의뢰서가 있습니다. 내역을 선택해서 수정하세요.", "");
- return;
- }
- }
- }
- }
- var erreglyn = ds_inreqfrminfo.getColumn(0,"erreglyn");
- if(erreglyn == "F") {
- var ampmflag = ds_inreqfrminfo.getColumn(0,"ampmflag"); //입원구분
- if (ampmflag == "-" || utlf_isNull(ampmflag)) {
- sysf_messageBox("DCC입원은 오전오후를", "C002");
- return;
- }
- }
-
- // 결정상태에서 병상정보가 누락일 경우에는 return
- var sPublicbedyn = ds_inreqfrminfo.getColumn(0,"publicbedyn");
- var sAssgbed = ds_inreqfrminfo.getColumn(0,"assgbed");
- if(sInrsrvstat != "T" && sPublicbedyn != "Y" && (sAssgbed == "-" || utlf_isNull(sAssgbed))) {
- sysf_messageBox("병상 정보가 누락되었습니다.", "I");
- return;
- }
-
- if(fChkUserAuth()==false){
- var hngnm = ds_inreqfrminfo.getColumn(0,"hngnm");
- sysf_messageBox("[" + hngnm + "]환자의 입원결정서 작성 권한이", "I004");
- return;
- }
-
- //20130610 Start
- //응급환자에 대해서 입원의뢰를 할경우 응급의학관리료 처방여부 체크
- if(ds_inreqfrminfo.getColumn(0,"inrsrvstat") == "S" && ds_paminfo.getColumn(0,"ioflag") == "E") {
- ds_req.clear();
- dsf_makeValue(ds_req,"pid", "string",ds_paminfo.getColumn(0,"pid"));
- dsf_makeValue(ds_req,"orddd", "string",ds_paminfo.getColumn(0,"indd"));
- dsf_makeValue(ds_req,"cretno","string",ds_paminfo.getColumn(0,"cretno"));
-
- var oParam = {};
- oParam.id = "TRMMO00149";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetErprcpyn";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_hidden2_erprcpyn=result";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00149";
- tranf_submit(oParam);
- }
- //20130610 End
-
- if(fChkValidSave() == true){
- //grd_diaglist.gridToInstance(); //검색 후 인스턴스 상이로 인해 임시 처리 (2009.1.7)
- var erreglyn = ds_inreqfrminfo.getColumn(0,"erreglyn");
- if(erreglyn == "E") {
- ds_req.clear();
- var savediag = dsf_getDsCSV(ds_diagcdlist); // getNodeListCSV(model.instance1.selectNodes(sDIAGCDLIST_PATH));
- dsf_makeValue(ds_req,"diag","string",savediag);
- var oParam = {};
- oParam.id = "TRMMO00125";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetPatSerDiagChk";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_serdiagermsg=serdiagermsg";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00125";
- tranf_submit(oParam);
- }
-
- //2012.05.31 입원의뢰서 작성시 CP 적용 가능한 진단 입력시에 CP적용여부 확인
- var cpyn = ds_inreqfrminfo.getColumn(0,"cpyn");
- if(cpyn == "N") {
- ds_req.clear();
- var savediag = dsf_getDsCSV(ds_diagcdlist); // getNodeListCSV(model.instance1.selectNodes(sDIAGCDLIST_PATH));
- dsf_makeValue(ds_req,"diag","string",savediag);
- var oParam = {};
- oParam.id = "TRMMO00145";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetAbleCpDiagChk";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_ablecp=ablecp";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00145";
- tranf_submit(oParam);
- }
-
- //2012/07/18 Start
- var flagchk = ds_inreqfrminfo.getColumn(0,"inrsrvstat");
- var atdoct = ds_inreqfrminfo.getColumn(0,"atdoctid");
- var chkinstcd = ds_hardcditem.rowcount; // instance1.selectNodes("/root/init/hardcditem/hardcd");
- for(var i = 0 ; i < chkinstcd ; i++) {
- if(sysf_getUserInfo("dutplceinstcd") == ds_hardcditem.getColumn(i,"hardcd")) {
- if(flagchk == "S" && utlf_isNull(atdoct)){ // 결정인 상태에서 담당의가 비어있다면 블럭킹
- sysf_messageBox("담당의 선택은 필수","E008");
- return;
- }
- }
- }
- //2012/07/18 End
-
- //2013/10/29 Start 입원예정일 +1일에 전문의의 출장여부를 체크
- if(flagchk == "S"){
- ds_req.clear();
- dsf_makeValue(ds_req,"orddeptcd" ,"string",ds_inreqfrminfo.getColumn(0,"orddeptcd"));
- dsf_makeValue(ds_req,"orddrid" ,"string",ds_inreqfrminfo.getColumn(0,"orddrid"));
- dsf_makeValue(ds_req,"execfromdd","string",ds_inreqfrminfo.getColumn(0,"inhopedd"));
- dsf_makeValue(ds_req,"exectodd" ,"string",ds_inreqfrminfo.getColumn(0,"inhopedd"));
- //2013/12/05 시작(원무쪽 업무 변경에 따른 소스 수정)
- //model.makeValue("/root/send/reqdata/includeyn", "N");
- dsf_makeValue(ds_req,"ioflag","string","I");
- //2013/12/05 종료
-
- var oParam = {};
- oParam.id = "TRMMO00153";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetDrHoliday";
- oParam.inds = "req=ds_req";
- oParam.outds = "null";
- oParam.async = false;
- oParam.callback = "cf_TRMMO00153";
- tranf_submit(oParam);
- }
- //2013/10/29 End
-
- var status = ds_inreqfrminfo.getColumn(0,"status");
- if(status == "u"){ //수정인 경우
- var messageflag = sysf_messageBox("수정", "S001");
-
- if(messageflag == 6) {
- var updateflag = lf_compareNodeVal(ds_inreqfrminfo,ds_temp_inreqfrminfo);
- var diagflag = fSaveChkValidDiagOp(ds_diagcdlist);
- var opflag = fSaveChkValidDiagOp(ds_opcdlist);
- if(updateflag == false){ //입원의뢰서 내용이 변경된 사항이 없는 경우, status '-'로 처리
- ds_inreqfrminfo.setColumn(0,"status","-");
- }
- if(updateflag != true && diagflag != true && opflag != true){
- sysf_messageBox("변경된 내용이", "I004");
- return;
- }
-
- //입원의뢰서 진단 저장 전에 잔료일자(orddd)를 입원예정일(inhopedd)로 설정
- fSetDiagOpInhopeDD();
- //진단, 수술그리드의 입력을 위해 추가된 마지막 한줄을 제거한다.
- ds_diagcdlist.deleteRow(ds_diagcdlist.rowcount-1);
- ds_opcdlist.deleteRow(ds_opcdlist.rowcount-1);
- // var saveinreq = dsf_getDsCSV(ds_inreqfrminfo); // getNodeListCSV(model.instance1.selectNodes(sINREQFRMINFO_PATH));
- // var savediag = dsf_getDsCSV(ds_diagcdlist); // getNodeListCSV(model.instance1.selectNodes(sDIAGCDLIST_PATH));
- // var saveop = dsf_getDsCSV(ds_opcdlist); // getNodeListCSV(model.instance1.selectNodes(sOPCDLIST_PATH));
- // dsf_makeValue(ds_send_savedata,"inreq" ,"string",saveinreq);
- // dsf_makeValue(ds_send_savedata,"diag" ,"string",savediag);
- // dsf_makeValue(ds_send_savedata,"op" ,"string",saveop);
-
- var rtnval = "";
- var oParam = {};
- oParam.id = "TXMMO00102";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqExeSaveInReq";
- oParam.inds = "inreq=ds_inreqfrminfo diag=ds_diagcdlist op=ds_opcdlist";
- oParam.outds = "ds_inreqhistlist=inreqhistlist ds_diagcdlist=diagcdlist ds_opcdlist=opcdlist";
- oParam.async = false;
- oParam.callback = "cf_TXMMO00102";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TXMMO00102") >= 0){
- rtnval = true;
- } else {
- rtnval = false;
- }
- //ds_opcdlist.updateColID("diagcd","orgopcd");
-
- //2012/07/19 Start
- if(rtnval == true && opener.frmf_getParameter("opener_id")=="SPMMO26000"){ // 입원결정을 통해서 들어왔을 경우
- ds_req.clear();
- dsf_makeValue(ds_req,"instcd" ,"string",sysf_getUserInfo("dutplceinstcd"));
- dsf_makeValue(ds_req,"pid" ,"string",ds_temp.getColumn(0,"pid"));
- dsf_makeValue(ds_req,"orddd" ,"string",opener.frmf_getParameter("SPMMO00100_indd"));
- dsf_makeValue(ds_req,"cretno" ,"string",opener.frmf_getParameter("SPMMO00100_incretno"));
- dsf_makeValue(ds_req,"adflag" ,"string",opener.frmf_getParameter("SPMMO00100_decisionkind"));
- dsf_makeValue(ds_req,"answer" ,"string","7");
- var oParam = {};
- oParam.id = "TXMMO26001";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqInsDecisioninfo";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_main=item";
- oParam.async = false;
- oParam.callback = "cf_TXMMO26001";
- tranf_submit(oParam);
-
- } else if(rtnval == true){
- var pamInfoCvs = sysf_getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
- if(!utlf_isNull(pamInfoCvs)){
- dsf_setCSVToDs("ds_result_paminfo", pamInfoCvs);
- if(ds_result_paminfo.getColumn(0,"pid") == ds_inreqfrminfo.getColumn(0,"pid")) { //상단 정보와 입원의뢰서 환자의 번호가 같을시
- ds_req.clear();
- dsf_makeValue(ds_req,"instcd" ,"string",sysf_getUserInfo("dutplceinstcd"));
- dsf_makeValue(ds_req,"pid" ,"string",ds_result_paminfo.getColumn(0,"pid"));
- dsf_makeValue(ds_req,"orddd" ,"string",ds_result_paminfo.getColumn(0,"indd"));
- dsf_makeValue(ds_req,"cretno" ,"string",ds_result_paminfo.getColumn(0,"cretno"));
- dsf_makeValue(ds_req,"adflag" ,"string","A");
- dsf_makeValue(ds_req,"answer" ,"string","7");
- var oParam = {};
- oParam.id = "TXMMO26001";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqInsDecisioninfo";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_main=item";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
- } else if(ds_result_paminfo.getColumn(0,"pid") != ds_inreqfrminfo.getColumn(0,"pid")) { //상단 정보와 입원의뢰서 환자의 번호가 틀릴시
- ds_req.clear();
- dsf_makeValue(ds_req,"instcd" ,"string",sysf_getUserInfo("dutplceinstcd"));
- dsf_makeValue(ds_req,"pid" ,"string",ds_inreqfrminfo.getColumn(0,"pid"));
- dsf_makeValue(ds_req,"orddd" ,"string","");
- dsf_makeValue(ds_req,"cretno" ,"string","");
- dsf_makeValue(ds_req,"adflag" ,"string","A");
- dsf_makeValue(ds_req,"answer" ,"string","7");
- var oParam = {};
- oParam.id = "TXMMO26001";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqInsDecisioninfo";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_main=item";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
- }
- } else { // 상단 정보가 없고 메뉴를 통해서 바로 들어왔을시
- ds_req.clear();
- dsf_makeValue(ds_req,"instcd" ,"string",sysf_getUserInfo("dutplceinstcd"));
- dsf_makeValue(ds_req,"pid" ,"string",ds_inreqfrminfo.getColumn(0,"pid"));
- dsf_makeValue(ds_req,"orddd" ,"string","");
- dsf_makeValue(ds_req,"cretno" ,"string","");
- dsf_makeValue(ds_req,"adflag" ,"string","A");
- dsf_makeValue(ds_req,"answer" ,"string","7");
- var oParam = {};
- oParam.id = "TXMMO26001";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqInsDecisioninfo";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_main=item";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
- }
- }
- //2012/07/19 End
- } else {
- return;
- }
- } else { //신규인 경우
- ds_inreqfrminfo.setColumn(0,"status","i");
- //입원의뢰서 진단 저장 전에 잔료일자(orddd)를 입원예정일(inhopedd)로 설정
- fSetDiagOpInhopeDD();
- //진단, 수술그리드의 입력을 위해 추가된 마지막 한줄을 제거한다.
- //model.removeNode(sDIAGCDLIST_PATH + "[" + (grd_diaglist.rows-1) + "]");
- //model.removeNode(sOPCDLIST_PATH + "[" + (grd_oplist.rows-1) + "]");
- ds_diagcdlist.deleteRow(ds_diagcdlist.rowcount-1);
-
- // var saveinreq = dsf_getDsCSV(ds_inreqfrminfo); // getNodeListCSV(model.instance1.selectNodes(sINREQFRMINFO_PATH));
- // var savediag = dsf_getDsCSV(ds_diagcdlist); // getNodeListCSV(model.instance1.selectNodes(sDIAGCDLIST_PATH));
- // var saveop = dsf_getDsCSV(ds_opcdlist); // getNodeListCSV(model.instance1.selectNodes(sOPCDLIST_PATH));
- // dsf_makeValue(ds_send_savedata,"inreq" ,"string",saveinreq);
- // dsf_makeValue(ds_send_savedata,"diag" ,"string",savediag);
- // dsf_makeValue(ds_send_savedata,"op" ,"string",saveop);
-
- var rtnval = "";
- var oParam = {};
- oParam.id = "TXMMO00102";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqExeSaveInReq";
- oParam.inds = "inreq=ds_inreqfrminfo diag=ds_diagcdlist op=ds_opcdlist";
- oParam.outds = "ds_inreqhistlist=inreqhistlist ds_diagcdlist=diagcdlist ds_opcdlist=opcdlist";
- oParam.async = false;
- oParam.callback = "cf_TXMMO00102";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TXMMO00102") >= 0){
- rtnval = true;
- } else {
- rtnval = false;
- }
- //ds_opcdlist.updateColID("diagcd","orgopcd");
-
- //2012/07/19 Start
- if(rtnval == true && opener.frmf_getParameter("opener_id")=="SPMMO26000"){ // 입원결정을 통해서 들어왔을 경우
- ds_req.clear();
- dsf_makeValue(ds_req,"instcd" ,"string",sysf_getUserInfo("dutplceinstcd"));
- dsf_makeValue(ds_req,"pid" ,"string",ds_temp.getColumn(0,"pid"));
- dsf_makeValue(ds_req,"orddd" ,"string",opener.frmf_getParameter("SPMMO00100_indd"));
- dsf_makeValue(ds_req,"cretno" ,"string",opener.frmf_getParameter("SPMMO00100_incretno"));
- dsf_makeValue(ds_req,"adflag" ,"string",opener.frmf_getParameter("SPMMO00100_decisionkind"));
- dsf_makeValue(ds_req,"answer" ,"string","7");
- var oParam = {};
- oParam.id = "TXMMO26001";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqInsDecisioninfo";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_main=item";
- oParam.async = false;
- oParam.callback = "cf_TXMMO26001";
- tranf_submit(oParam);
- } else if(rtnval == true){
- var pamInfoCvs = sysf_getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
- if(!utlf_isNull(pamInfoCvs)){
- dsf_setCSVToDs("ds_result_paminfo", pamInfoCvs);
- if(ds_result_paminfo.getColumn(0,"pid") == ds_inreqfrminfo.getColumn(0,"pid")) { //상단 정보와 입원의뢰서 환자의 번호가 같을시
- ds_req.clear();
- dsf_makeValue(ds_req,"instcd" ,"string",sysf_getUserInfo("dutplceinstcd"));
- dsf_makeValue(ds_req,"pid" ,"string",ds_result_paminfo.getColumn(0,"pid"));
- dsf_makeValue(ds_req,"orddd" ,"string",ds_result_paminfo.getColumn(0,"indd"));
- dsf_makeValue(ds_req,"cretno" ,"string",ds_result_paminfo.getColumn(0,"cretno"));
- dsf_makeValue(ds_req,"adflag" ,"string","A");
- dsf_makeValue(ds_req,"answer" ,"string","7");
- var oParam = {};
- oParam.id = "TXMMO26001";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqInsDecisioninfo";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_main=item";
- oParam.async = false;
- oParam.callback = "cf_TXMMO26001";
- tranf_submit(oParam);
- } else if(ds_result_paminfo.getColumn(0,"pid") != ds_inreqfrminfo.getColumn(0,"pid")) { //상단 정보와 입원의뢰서 환자의 번호가 틀릴시
- ds_req.clear();
- dsf_makeValue(ds_req,"instcd" ,"string",sysf_getUserInfo("dutplceinstcd"));
- dsf_makeValue(ds_req,"pid" ,"string",ds_inreqfrminfo.getColumn(0,"pid"));
- dsf_makeValue(ds_req,"orddd" ,"string","");
- dsf_makeValue(ds_req,"cretno" ,"string","");
- dsf_makeValue(ds_req,"adflag" ,"string","A");
- dsf_makeValue(ds_req,"answer" ,"string","7");
- var oParam = {};
- oParam.id = "TXMMO26001";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqInsDecisioninfo";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_main=item";
- oParam.async = false;
- oParam.callback = "cf_TXMMO26001";
- tranf_submit(oParam);
- }
- } else { // 상단 정보가 없고 메뉴를 통해서 바로 들어왔을시
- ds_req.clear();
- dsf_makeValue(ds_req,"instcd" ,"string",sysf_getUserInfo("dutplceinstcd"));
- dsf_makeValue(ds_req,"pid" ,"string",ds_inreqfrminfo.getColumn(0,"pid"));
- dsf_makeValue(ds_req,"orddd" ,"string","");
- dsf_makeValue(ds_req,"cretno" ,"string","");
- dsf_makeValue(ds_req,"adflag" ,"string","A");
- dsf_makeValue(ds_req,"answer" ,"string","7");
- var oParam = {};
- oParam.id = "TXMMO26001";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqInsDecisioninfo";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_main=item";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
- }
- }
- //2012/07/19 End
- }
- }
- if(rtnval == true){ //저장이 성공한 경우
- //kimsj 100114 JCI _ 환자교육 입력화면 팝업
- if(ds_inreqfrminfo.getColumn(0,"status") == "i") fInsPatEduc();
- var chkrow = null;
-
- if(ds_inreqhistlist.rowcount > 0){
- if(ds_inreqfrminfo.getColumn(0,"status") == "-") { //2010-01-25 pyj 수정한 내역을 그대로 display해줄것
- fDispInReqHistInfo(displayrow);
- chkrow = displayrow;
- }else{ //내역이 있는 경우, 그리드의 첫번째(가장 최근의 입원의뢰 내역) display
- fDispInReqHistInfo(0);
- chkrow = 0;
- }
- }
-
- var sReqFlag = "1"; // 약정서 종류 1:입원약정서, 2:기간약정서
- if(sysf_getUserInfo("dutplceinstcd") == "032") {
- var msgData = sysf_messageBox("입원약정서를 출력", "S003", "기간약정서를 출력");
- if(msgData == "7") {
- sReqFlag = "2"; // 기간약정서.
- } else {
- sReqFlag = "1"; // 일반약정서.
- }
- }
-
- if(ds_inreqfrminfo.getColumn(0,"inrsrvstat") == "S") {
- fInDeciPrint(ds_inreqfrminfo.getColumn(0,"pid")
- ,ds_inreqfrminfo.getColumn(0,"inrsrvacptdd")
- ,ds_inreqfrminfo.getColumn(0,"orddeptcd")
- ,ds_inreqfrminfo.getColumn(0,"orddrid")
- ,ds_inreqfrminfo.getColumn(0,"insukind")
- ,sReqFlag); // 약정서종류 1:입원약정서, 2:기간약정서
- }
- fReqInReqHistList(); //입원의뢰서 이력 조회
- fReqInReqDiagOpList();//입원의뢰서 진단 조회
- fReqInReqCalendar(); //입원의뢰서 달력 조회
-
- //원무 선택진료의 팝업 호출 추가 (2009.11.03 JJE)
- var specOrd_Pid = ds_inreqfrminfo.getColumn(0,"pid");
- var specOrd_cretno = "0"; //입원장 작성 시점에는 입원등록 정보 없으므로 값 없음
- var specOrd_stnddd = ds_inreqfrminfo.getColumn(0,"inrsrvacptdd"); //입원일 확실치 않으므로 발행일을 대신 넘김
- var specOrd_orddeptcd = ds_inreqfrminfo.getColumn(0,"orddeptcd");
- var specOrd_orddrid = ds_inreqfrminfo.getColumn(0,"orddrid");
- lf_specOrdPopUpYN(specOrd_Pid, specOrd_cretno, specOrd_stnddd, specOrd_orddeptcd, specOrd_orddrid, "I");
-
- //2013/10/22 Strt 응급대상자 탭에서 바로 들어왔을시 플래그 값 세팅
- // var id = opener.window.javascript.getScreenID();
- var id = opener.frmf_getScreenID();
- sysf_trace(id);
- if(id == "SMMMO04400") {
- // parent.javascript.model.makeValue("/root/temp/SPMMO00100_rtn", "true");
- opener.dsf_createDs("ds_temp");
- opener.dsf_makeValue(ds_temp,"SPMMO00100_rtn","string","true");
- }
- //2013/10/22 End
- } else { //저장이 실패한 경우
- ds_inreqfrminfo.setColumn(0,"status",status); //원래 status값으로 복구
- ds_diagcdlist.addRow();
- //grd_oplist.addRow(true, true);
- // model.recalculate();
- }
- if(ds_inreqhistlist.rowcount > 0){
- ds_inreqhistlist.rowposition = chkrow;
- }
- var status = ds_inreqfrminfo.getColumn(0,"status");
- if(status == "u") {
- ds_main.setColumn(0,"status","수정상태");
- } else {
- ds_main.setColumn(0,"status","신규상태");
- }
- }
- /****************************************************************************************
- * Function : cf_TRMMO00149
- * Description : TRMMO00149 콜백 함수
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TRMMO00149(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- else {
- var flag = ds_hidden2_erprcpyn.getColumn(0,"erprcpyn"); // 응급의학관리료 처방 및 사유 입력 유무
- if(flag == "N"){
- var msgflag = sysf_messageBox(" 응급의료관리료 미발생 환자 입니다.\n 응급실에서 병동으로 입원하는 경우 응급의료관리료를\n 입력하시기 바랍니다.\n","Q003");
- if(msgflag == "7"){
- return;
- }
- }
- }
- }
- /****************************************************************************************
- * Function : cf_TRMMO00125
- * Description : TRMMO00125 콜백 함수
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TRMMO00125(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- else {
- if(ds_serdiagermsg.getColumn(0,"serdiageryn") == "Y") {
- //20080102 김영학 수정: 중증응급 등록한자의 진단명 alert 변경요청번호 533
- sysf_messageBox(ds_serdiagermsg.getColumn(0,"serdiagermsg"), "I" ) ;
- //20080102 서소영 선생님 blocking처리 요청
- return;
- }
- }
- }
- /****************************************************************************************
- * Function : cf_TRMMO00145
- * Description : TRMMO00145 콜백 함수
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TRMMO00145(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- else {
- if(ds_ablecp.getColumn(0,"ablecpyn") == "Y") {
- var ablecpdiagcd = ds_ablecp.getColumn(0,"ablecpdiagcd");
- if("6" == sysf_messageBox(ablecpdiagcd + " 진단은 CP 적용 가능한 진단입니다.\n\nCP적용 하시겠습니까?", "Q999" )) {
- ds_inreqfrminfo.setColumn(0,"cpyn", "Y");
- //rdo_cpyn.refresh(); // CP 적용여부 새로고침.
- }
- }
- }
- }
- /****************************************************************************************
- * Function : cf_TRMMO00153
- * Description : TRMMO00153 콜백 함수
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TRMMO00153(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- }
- /****************************************************************************************
- * Function : cf_TXMMO00102
- * Description : TXMMO00102 콜백 함수
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TXMMO00102(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /****************************************************************************************
- * Function : cf_TXMMO26001
- * Description : TXMMO26001 콜백 함수
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function cf_TXMMO26001(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
- else opener.opener.frmf_setParameter("adflag", "A");
- }
- /****************************************************************************************
- * Function : fClkBtnInReqDel
- * Description : 삭제버튼 클릭, 취소사유 선택 box를 화면에 띄운다.
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fClkBtnInReqDel(){
- // 원무에서 입원등록을 한 경우는 수정을 할 수 없도록 조건 추가 (2008.09.26 김영학)
- var inrsrvstat = ds_inreqfrminfo.getColumn(0,"inrsrvstat");
- var indd = ds_inreqfrminfo.getColumn(0,"indd");
- if((inrsrvstat != "S" && inrsrvstat != "T" && inrsrvstat != "D" ) || indd != "00000000" ) {
- sysf_messageBox("원무에서 입원등록을 한 경우는 입원의뢰서를 삭제", "E001");
- return;
- }
- if(fChkUserAuth()==false){
- var hngnm = ds_inreqfrminfo.getColumn(0,"hngnm");
- sysf_messageBox("[" + hngnm + "]환자의 입원결정서 삭제 권한이", "I004");
- return;
- }
- var status = ds_inreqfrminfo.getColumn(0,"status");
- var orddeptcd = ds_temp_inreqfrminfo.getColumn(0,"orddeptcd");
- if(status != "u"){
- sysf_messageBox("삭제할 입원의뢰를", "C002");
- return;
- }
- fCtrlObjDisable(false);
- group1.position.left = 250;
- group1.position.top = 385;
- group1.position.width = 260;
- group1.position.height = 157;
- group1.visible = true;
- }
- /****************************************************************************************
- * Function : fCtrlObjDisable
- * Description : 화면 Object의 enable / disable mode control
- * Argument : bflag : true/false
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fCtrlObjDisable(bflag){
- ipt_pid.enable = bflag; //등록번호
- ipt_patnm.enable = bflag; //성명
- cmb_orddeptcd.enable = bflag; //진료과
- cmb_orddrid.enable = bflag; //담당교수
- ipt_inhopedd.enable = bflag; //입원예정일
- ipt_scheopdd.enable = bflag; //수술예정일
- rdo_cpyn.enable = bflag; //CP적용
- ipt_fcstinterm.enable= bflag; //예상입원기간
- ipt_inrsrvrem.enable = bflag; //원무과 전달사항
- ipt_drrem.enable = bflag; //의료진 참고사항
- //bool_erreqlyn.disabled = bflag; //응급
- case1.rdo_specroomyn.enable= bflag; //병실
- btn_deldiag.enable = bflag; //진단삭제
- btn_opnote.enable = bflag; //수술예약장부
- btn_delop.enable = bflag; //수술삭제
- btn_init.enable = bflag; //초기화
- btn_save.enable = bflag; //저장
- btn_del.enable = bflag; //삭제
- btn_close.enable = bflag; //닫기
- }
- /****************************************************************************************
- * Function : fDelInReqHistList
- * Description : 입원의뢰서 내역 삭제
- * Argument :
- * :
- * return type :
- * Creator :
- ****************************************************************************************/
- function fDelInReqHistList(){
- var inrsrvcnclresn = ds_inreqfrminfo.getColumn(0,"inrsrvcnclresn");
- if(utlf_isNull(inrsrvcnclresn)){
- sysf_messageBox("입원의뢰 취소 사유를", "C002");
- return;
- }
-
- ds_inreqfrminfo.setColumn(0,"status" , "d");
- ds_inreqfrminfo.setColumn(0,"inrsrvstat", "X");
- for(var i = 0 ; i < ds_diagcdlist.rowcount - 1 ; i++) {
- ds_diagcdlist.setColumn(i,"status","d");
- }
-
- for(var i = 0 ; i < ds_opcdlist.rowcount - 1 ; i++) {
- ds_opcdlist.setColumn(i,"status","d");
- }
-
- // var saveinreq = dsf_getDsCSV(ds_inreqfrminfo); // getNodeListCSV(model.instance1.selectNodes(sINREQFRMINFO_PATH));
- // var savediag = dsf_getDsCSV(ds_diagcdlist); // getNodeListCSV(model.instance1.selectNodes(sDIAGCDLIST_PATH));
- // var saveop = dsf_getDsCSV(ds_opcdlist); // getNodeListCSV(model.instance1.selectNodes(sOPCDLIST_PATH));
- // dsf_makeValue(ds_send_savedata,"inreq" ,"string",saveinreq);
- // dsf_makeValue(ds_send_savedata,"diag" ,"string",savediag);
- // dsf_makeValue(ds_send_savedata,"op" ,"string",saveop);
- group1.visible = false;
-
- // if(submit("TXMMO00102") == true){
- var oParam = {};
- oParam.id = "TXMMO00102";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqExeSaveInReq";
- oParam.inds = "inreq=ds_inreqfrminfo diag=ds_diagcdlist op=ds_opcdlist";
- oParam.outds = "ds_inreqhistlist=inreqhistlist ds_diagcdlist=diagcdlist ds_opcdlist=opcdlist";
- oParam.async = false;
- oParam.callback = "cf_TXMMO00102";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TXMMO00102") >= 0){
- //2012/07/19 Start
- var pamInfoCvs = sysf_getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
- if(!utlf_isNull(pamInfoCvs)) {
- dsf_setCSVToDs("ds_result_paminfo", pamInfoCvs);
- if(ds_result_paminfo.getColumn(0,"pid") == ds_inreqfrminfo.getColumn(0,"pid")) { //상단 정보와 입원의뢰서 환자의 번호가 같을시
- ds_req.clear();
- dsf_makeValue(ds_req,"instcd" ,"string",sysf_getUserInfo("dutplceinstcd"));
- dsf_makeValue(ds_req,"pid" ,"string",ds_result_paminfo.getColumn(0,"pid"));
- dsf_makeValue(ds_req,"orddd" ,"string",ds_result_paminfo.getColumn(0,"indd"));
- dsf_makeValue(ds_req,"cretno" ,"string",ds_result_paminfo.getColumn(0,"cretno"));
- dsf_makeValue(ds_req,"adflag" ,"string","X");
- dsf_makeValue(ds_req,"answer" ,"string","7");
- var oParam = {};
- oParam.id = "TXMMO26002";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqDelDecisioninfo";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_main=item";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
- } else if(ds_result_paminfo.getColumn(0,"pid") != ds_inreqfrminfo.getColumn(0,"pid")) { //상단 정보와 입원의뢰서 환자의 번호가 틀릴시
- ds_req.clear();
- dsf_makeValue(ds_req,"instcd" ,"string",sysf_getUserInfo("dutplceinstcd"));
- dsf_makeValue(ds_req,"pid" ,"string",ipt_pid.value);
- dsf_makeValue(ds_req,"orddd" ,"string","");
- dsf_makeValue(ds_req,"cretno" ,"string","");
- dsf_makeValue(ds_req,"adflag" ,"string","X");
- dsf_makeValue(ds_req,"answer" ,"string","7");
- var oParam = {};
- oParam.id = "TXMMO26002";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqDelDecisioninfo";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_main=item";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
- }
- } else {
- ds_req.clear();
- dsf_makeValue(ds_req,"instcd" ,"string",sysf_getUserInfo("dutplceinstcd"));
- dsf_makeValue(ds_req,"pid" ,"string",ipt_pid.value);
- dsf_makeValue(ds_req,"orddd" ,"string","");
- dsf_makeValue(ds_req,"cretno" ,"string","");
- dsf_makeValue(ds_req,"adflag" ,"string","X");
- dsf_makeValue(ds_req,"answer" ,"string","7");
- var oParam = {};
- oParam.id = "TXMMO26002";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqDelDecisioninfo";
- oParam.inds = "req=ds_req";
- oParam.outds = "ds_main=item";
- oParam.async = false;
- oParam.callback = "";
- tranf_submit(oParam);
- }
- //2012/07/19 End
-
- fReqInReqHistList();
-
- fReqInReqCalendar(); //입원의뢰서 달력 조회
-
- fCtrlObjDisable(true); //disabled 해제
-
- fClkBtnInit(); //화면초기화
-
- //2012/06/19 Start
- fSetparam(); //파라미터 값 설정
- //2012/06/19 End
- } else {
- fCtrlObjDisable(true); //disabled 해제
- }
- var status = ds_inreqfrminfo.getColumn(0,"status");
- if(status == "u") {
- ds_main.setColumn(0,"status","수정상태");
- } else {
- ds_main.setColumn(0,"status","신규상태");
- }
-
- //2013/01/23 Start 입원의뢰내역 삭제후에 예상입원기간의 입원경로의 락을 풀어줌
- cmb_erreglyn.enable = true;
- //2013/01/23 End
- }]]></Script>
|