12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421 |
- <?xml version="1.0" encoding="utf-8"?>
- <Script type="xscript4.0"><![CDATA[
- /*
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- 응급환자리스트 ( SMMMO04400_응급환자리스트.xfdl - JScript )
-
- - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
- */
- var arErrorCode = new HashArray();
- /**
- * @desc : 화면 초기화
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fInitialize_SMMMO04400(){
- ds_cond.setColumn(0, "srchdd", utlf_getCurrentDate());
-
- // var openflag = model.getValue(opener.root.list.erpatlistflag);
- // var reopenflag = model.getValue(opener.root.reopen.reopenflag); //진료대상자 리스트 open여부
- // var chngcolflag= model.getValue(opener.root.chngcol.chngcolflag); //컬럼변경 여부
-
- // 하드코드 테이블 한번에 조회하도록 프로그램 수정
- lf_gethardcdArrayList(new Array(
- "hardcdno|1" //응급의학과 부서코드 조회
- , "colorflag|113" //색깔변경 구분 Flag 조회
- , "calltime|190" // 응급실 의사호출 관련 자동 호출 시간
- , "bpcallyn|226" //응급실 BP호출 적용여부
- , "hardcd|445"
- , "hardcd6004|6004"
- ),
- new Array(
- "ds_hardcdno"
- , "ds_colorflag"
- , "ds_calltime"
- , "ds_bpcallyn"
- , "ds_hardcd"
- , "ds_hardcd6004"
- )
- );
- appf_getCodeList([{dsNm: "ds_M0623", cdGrpId: "M0623"}
- , {dsNm: "ds_M0720", cdGrpId: "M0720"}], true); //공통코드 보험유형 조회
-
- fReqSectionInfo(); //기본구역 정보 조회
-
- var dutplcecd = "-";
- var medispclid = "-";
- var atdoctid = "-";
- var erorddeptcd = "-";
- var ermedispclid = "-";
-
- var reopenflag = reopenflag = parent.parent.ds_reopen.getColumn(0, "reopenflag"); //진료대상자 리스트 open여부
- if(reopenflag == "Y"){ //다시 열린 경우, main에 ordtab의 condlist(화면이 닫힐때 설정된 정보)를 그대로 재설정
- try {
- ds_cond.copyData(parent.parent.ds_reopen_condlist);
- dutplcecd = ds_cond.getColumn(0, "orddeptcd");
- medispclid = ds_cond.getColumn(0, "medispclid");
- atdoctid = ds_cond.getColumn(0, "atdoctid");
- erorddeptcd = ds_cond.getColumn(0, "erorddeptcd");
- ermedispclid = ds_cond.getColumn(0, "ermedispclid");
- } catch(E) {
- }
-
- parent.parent.ds_reopen.setColumn(0, "reopenflag", "N");
- }
-
- setDeptCodeList(dutplcecd);
- setUserList(dutplcecd, medispclid, atdoctid);
- Div00.cmb_erorddeptcd.value = erorddeptcd;
- setErUserList(erorddeptcd, ermedispclid);
- //if(chngcolflag == "Y"){ //컬럼설정을 통해 재설정 한 경우, 컬럼순서를 다시 조회 처리
- reqOrderInfoOfCol(ds_reqdata1, ds_gridseq, "SMMMO04400", grd_erpatlist); //응급환자리스트 컬럼 조회 및 설정
- // model.setValue(opener.root.chngcol.chngcolflag, "N");
- //}
- fReqERPatList();
- }
- function setDeptCodeList(sDeptcd, sOrddd){
- lf_mmbfGetDeptCodeComboList(ds_orddept, "D", sOrddd); //부서코드 콤보
-
- frmf_addComboItem("Div00.cmb_orddept"); //부서콤보 Item '전체'추가
-
- if(!utlf_isNull(sDeptcd)) {
- Div00.cmb_orddept.value = sDeptcd; //진료과
- }
- }
- function setUserList(sOrddeptcd, sMedispclid, sAtdoctid, sOrddd){
- ds_userlist.clearData();
- ds_userlist2.clearData();
-
- if(sOrddeptcd != "-") {
- lf_mmbfGetUserComboList(ds_userlist, sOrddeptcd, "0330", "", "M", sOrddd, "", "P");
- lf_mmbfGetUserComboList(ds_userlist2, sOrddeptcd, "0330", "", "A", sOrddd, "", "P");
- }
- frmf_addComboItem("Div00.cmb_medispclid"); //의사콤보 전체항목 추가
- frmf_addComboItem("Div00.cmb_atdoctid"); //의사콤보 전체항목 추가
- Div00.cmb_medispclid.value = sMedispclid; //담당교수
- Div00.cmb_atdoctid.value = sAtdoctid; //전공의
- }
- function setErUserList(sOrddeptcd, sErmedispclid, sOrddd){
- ds_eruserlist.clearData();
-
- if(sOrddeptcd != "-")
- lf_mmbfGetUserComboList(ds_eruserlist, sOrddeptcd, "0330", "", "", sOrddd);
-
- frmf_addComboItem("Div00.cmb_orddrid"); //의사콤보 전체항목 추가
-
- Div00.cmb_orddrid.value = sErmedispclid; //전공의
- }
- /**
- * @desc : 응급실Triage
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenERTriage(){
- var iRow = ds_grd_erpatlist.rowposition;
- if(iRow < 0){
- return;
- }
- var sa = ds_grd_erpatlist.getColumn(iRow, "sa");
- var temp = sa.split("/");
- var paramstr = ds_grd_erpatlist.getColumn(iRow, "pid") + "▦" +
- ds_grd_erpatlist.getColumn(iRow, "indd") + "▦" +
- ds_grd_erpatlist.getColumn(iRow, "cretno") + "▦" +
- temp[0] + "▦" +
- temp[1] + "▦" +
- ""/*ds_grd_erpatlist.getColumn(iRow, "etctel1")*/+ "▦" +
- ds_grd_erpatlist.getColumn(iRow, "hngnm") + "▦" +
- ds_grd_erpatlist.getColumn(iRow, "orddeptcd") + "▦" +
- ds_grd_erpatlist.getColumn(iRow, "orddeptnm") + "▦" +
- ds_grd_erpatlist.getColumn(iRow, "orddoctid");
-
-
- frmf_setParameter("SPMNE04400_param", paramstr);
- frmf_modal("SPMNE04400", "SPMNE04400", null, null, null, null, null, null, null, null, null, null, "M");
-
- frmf_setParameter("SPMNE04400_param", "");
- fReqERPatList();
- }
- /**
- * @desc : 응급환자리스트 조회
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqERPatList(){
- parent.parent.ds_cond_erpatlist.copyData(ds_cond);
-
- ds_reqErPat.copyData(ds_cond);
-
- var compsrefcnts = ds_gridseq.getColumn(0, "compsrefcnts");
- var compssizecnts = ds_gridseq.getColumn(0, "compssizecnts");
-
- if(utlf_isNull(compsrefcnts)) compsrefcnts = "";
- if(utlf_isNull(compssizecnts)) compssizecnts = "";
-
- ds_reqErPat.addColumn("compsrefcnts", "string", 1024);
- ds_reqErPat.addColumn("compssizecnts", "string", 1024);
-
- ds_reqErPat.setColumn(0, "compsrefcnts", compsrefcnts);
- ds_reqErPat.setColumn(0, "compssizecnts", compssizecnts);
-
- var oParam = {};
- oParam.id = "TRMMO04401";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetERPatList";
- oParam.inds = "req=" + "ds_reqErPat";
- oParam.outds = "ds_grd_erpatlist=erpatlist" + " ds_erpatcnt=erpatcnt";
- oParam.async = true;
- oParam.callback = "cf_TRMMO04401";
- tranf_submit(oParam);
- }
- function cf_TRMMO04401(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode > -1) {
- //model.copyNode(opener.root.temp.erpatlist, root.init);
- //model.copyNode(opener.root.cond.erpatlist, root.main.cond);
-
- ds_erpatcnt.setColumn(0, "ercurpatcnt", ds_grd_erpatlist.rowcount);
- }
-
- var orderby = ds_cond.getColumn(0, "orderby");
- var sortcol = ds_cond.getColumn(0, "sortcol");
-
- if(!utlf_isNull(orderby) && !utlf_isNull(sortcol))
- ds_grd_erpatlist.keystring.current = "S:" + orderby + sortcol;
- }
- /**
- * @desc : 환자 선택 후, 환자 정보 조회 및 기록지 화면 연동
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSelectERPat(){
- var currow = ds_grd_erpatlist.rowposition;
- if(currow < 0){
- return;
- }
- if( sysf_getGlobalVariable("able_sel_patlist", "M") == "N" ) { // 환자 선택 가능 여부 체크 2012.09.03 엄영만
- sysf_messageBox("현재 로그인한 '"+ sysf_getUserInfo("dutplcenm") +"' 부서는 기록저장 및 처방발행이 불가능한 부서 입니다.\n\n다시 로그인 후 진행 하십시오.","E");
- return false;
- }
- if(fChkArrivalTime()== false) { //응급실 콜비짓 여부에 따라 처방/기록 인증저장 제한하기 위한 값 셋팅 20100526 LYJ
- ds_cond.setColumn(0, "callvisityn" , "N");
- parent.parent.frmf_setParameter("SMMMO04100_callvisityn", "N");
- sysf_messageBox("응급실 Visit Time을 등록 하지 않으면 기록과 처방은 임시저장만 가능 합니다.", "E");
- }else {
- ds_cond.setColumn(0, "callvisityn" , "Y");
- parent.parent.frmf_setParameter("SMMMO04100_callvisityn", "Y");
- }
- //처방, CP화면에 modal 또는 modaless가 뜬 경우, 환자 선택 불가
- if(fChkScrnDisable()==false){
- return;
- }
-
- // 20200212 이돈희 : 진행가능 여부 체크
- if(!fCheckBfSelectErPat()) { return; }
-
- //변경요청(8106) : 응급간호에서 삭제처리한 환자 선택 시 blocking 메세지 처리 추가 (2009.10.09 JJE)
- //triage 기록지 여부 체크 전, 삭제환자 여부 체크하여 처방입력 blocking
- // rev.77552 TF와 동기화
- var instcd = sysf_getUserInfo("dutplceinstcd");
- var pid = ds_grd_erpatlist.getColumn(currow, "pid");
- var orddd = ds_grd_erpatlist.getColumn(currow, "indd");
- var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
- var visitno= ds_grd_erpatlist.getColumn(currow, "visitno");
- var sAtdoctid = ds_grd_erpatlist.getColumn(currow, "atdoctid"); //20190614 이돈희 : 담당의 추가
- var sMedispclid = ds_grd_erpatlist.getColumn(currow, "medispclid"); //20190614 이돈희 : 담당교수 추가
- var sOrddeptcd = ds_grd_erpatlist.getColumn(currow, "orddeptcd"); //20190614 이돈희 : 주진료과 추가
- lf_chkInCnclYN(pid, orddd, cretno, "C"); //return 없음, 진료기록창만 호출하므로 아래에서 컨트롤 함
-
- //응급실 의사 결정 관련 알림 팝업 엄영만 2012.07.25
- // 메세지 블러킹 처리 2012.08.10 추후 상황을 봐서 진행 하기로 함.
- var adflag = ds_grd_erpatlist.getColumn(currow, "adflag"); // 입원의사결정 상태(공통코드 M0720 A:병실입원, B:병실입원(EICU), C:병실입원(응급입원실), H:귀가, D:DNR, E:기타, X:삭제)
- var chosdd = ds_grd_erpatlist.getColumn(currow, "chosdd"); // 내원시간
- // rev.77552 TF와 동기화 S
- if(adflag != "A" && adflag != "B" && adflag != "C" && adflag != "D") {
- if(adflag == "H") { // 귀가로 선택시 본원, 동일한 부서 로그인시에만 추가 안내 팝업
- if(sysf_getUserInfo("dutplceinstcd") == "031" && sysf_getUserInfo("dutplcecd") == ds_grd_erpatlist.getColumn(currow, "orddeptcd")) {
- var currentDateTime = new Date();
- var adLastDateTime = ds_grd_erpatlist.getColumn(currow, "adlastdt").toDate("YYYYMMDDhhmm");
-
- var nDifferenceSeconde = currentDateTime.getTime() - adLastDateTime.getTime(); // 초 간격
- var nDifferenceHour = Math.floor(nDifferenceSeconde/1000/60/60); // 시간 차이
-
- // 20190415 이돈희 : 귀가로 의사 결정 후 추가제어를 위한 시간 추가, 고정에서 하드코드로 수정
- var sHour = lf_getHardCDList("Y", 709, 3);
- if(utlf_isNull(sHour)){
- sHour = 2;
- }
- // 20190415 이돈희 : 귀가로 의사 결정 후 추가제어를 위한 시점, A0 : 진료대상자리스트 환자 선택시, A1 : 처방 인증저장시
- var sApplyPoint = lf_getHardCDList("Y", 710, 3);
- if(utlf_isNull(sApplyPoint)){
- sApplyPoint = "A0";
- }
-
- if(sApplyPoint == "A0"){
- if ( nDifferenceHour >= parseInt(sHour)) { // 본원 귀가로 저장후 2시간 이상이면 알림 팝업 2018.01.19 엄영만
- sysf_messageBox("귀가로 의사결정후 " + sHour + "시간이 경과 하였습니다.\n\n환자를 확인하여 입·퇴원 결정을 하여 주시기 바랍니다.", "I999");
- fIntensionDecision(); // 의사결정 화면 팝업후 종료 처리
- return;
- }
- }
- }
- } else {
- var inDateTime = chosdd.toDate("YYYYMMDDhhmm");
- var currentDateTime = new Date();
- var checkDateTime = 0;
-
- var sInfoHour = lf_getHardCDList("Y", 544, 3); // 응급실 의사결정 정보제공 시간
- var sErrHour = lf_getHardCDList("Y", 545, 3); // 응급실 의사결정 환자선택 불가 시간
- var sApplyDoct = lf_getHardCDList("Y", 718, 3); // 응급실 의사결정 창 담당교수/담당의만 적용 여부
-
- dsf_createDs("ds_exceptiondeptcd"); // 응급실 의사결정 창 팝업 예외 부서
- ds_exceptiondeptcd.clear();
- lf_getHardCDList("N", 719, null, ds_exceptiondeptcd);
-
- if(utlf_isNull(sInfoHour)) {
- sInfoHour = "12";
- }
- if(utlf_isNull(sErrHour)) {
- sErrHour = "24";
- }
-
- var checkDateTime = chosdd.toDate("YYYYMMDDhhmm").getAddDate(parseInt(sErrHour), "h"); // 입원시간 기준 4시간 이후
- var nDifferenceSeconde = currentDateTime.getTime() - inDateTime.getTime(); // 초 간격
- var nDifferenceHour = Math.floor(nDifferenceSeconde/1000/60/60); // 시간 차이
-
- var nCheckSeconde = 0;
- var nCheckHour = 0;
- var nCheckMinute = 0;
-
- if ( nDifferenceHour >= parseInt(sInfoHour) && nDifferenceHour < parseInt(sErrHour) && adflag != "E") { // 본원 4시간으로 변경 2016.11.01, 본원 12시간으로 변경 2016.05.02 엄영만
- nCheckSeconde = checkDateTime.getTime() - currentDateTime.getTime();
- nCheckHour = Math.floor(nCheckSeconde/1000/60/60); // 시간 차이
- nCheckMinute = Math.floor((nCheckSeconde/1000/60) % 60); // 분 차이
- //경고메시지(20160428 이윤주)
- if(sysf_messageBox("응급실 환자에 대해 내원시간 기준 " + sErrHour + "시간이내에 입/퇴원 의사결정을 하셔야 합니다.\n입/퇴원 의사결정까지 " + nCheckHour + "시간 " + nCheckMinute + "분 남았습니다.\n\n입/퇴원 의사결정 하시겠습니까?", "Q999") == "6") {
- fIntensionDecision(); // 의사결정 화면 팝업후 종료 처리
- return;
- }
- } else if ( nDifferenceHour >= parseInt(sErrHour) ) {
- nCheckSeconde = currentDateTime.getTime() - checkDateTime.getTime();
- nCheckHour = Math.floor(nCheckSeconde/1000/60/60); // 시간 차이
- nCheckMinute = Math.floor((nCheckSeconde/1000/60) % 60); // 분 차이
- if(lf_ContainsHardCD("342", "Y")) { // 342 입퇴원 의사 결정에 따른 처방 블러킹 여부(본원만 블러킹) : 블러킹 처리 2012.12.03 엄영만 => 20160428 이윤주 변경
- var bApply = false;
- // 20190614 이돈희 : 담당교수 및 담당의만 의사결정 팝업 여부
- if((sApplyDoct != "Y") || (utlf_isNull(sApplyDoct)) || (sApplyDoct == "Y" && (sysf_getUserId() == sAtdoctid || sysf_getUserId() == sMedispclid))){
- bApply = true;
- }
-
- // 20190614 이돈희 : 의사결정 팝업 예외 부서
- if((ds_exceptiondeptcd.rowcount > 0) && ds_exceptiondeptcd.findRow("hardcd", sysf_getUserInfo("dutplcecd")) > -1 ){
- bApply = false;
- }
-
- if(bApply == true){
- sysf_messageBox("응급실 환자에 대해 내원시간 기준 " + sErrHour + "시간이내에 입/퇴원 의사결정을 하셔야 합니다.\n\n의사결정이 되지 않을경우 처방 입력이 불가하니 업무에 차질 없도록 협조 부탁 드립니다. -진료처장-\n\n정확한 입/퇴원 의사결정 시간이 " + nCheckHour +"시간 " + nCheckMinute + "분 초과 하였습니다.\n의사결정을 '기타'로 하신경우는 다른항목으로 변경 하셔야 합니다.", "E999");
- fIntensionDecision(); // 의사결정 화면 팝업후 종료 처리
- return;
- }
- } else {
- if(sysf_messageBox("응급실 환자에 대해 내원시간 기준 " + sErrHour + "시간이내에 입/퇴원 의사결정을 하셔야 합니다.\n정확한 입/퇴원 의사결정 시간이 " + nCheckHour +"시간 " + nCheckMinute + "분 초과 하였습니다.\n의사결정을 '기타'로 하신경우는 다른항목으로 변경 하셔야 합니다.\n\n입/퇴원 의사결정 하시겠습니까?", "Q999") == "6") {
- fIntensionDecision(); // 의사결정 화면 팝업후 종료 처리
- return;
- }
- }
- }
- }
- }
- // rev.77552 TF와 동기화 E
-
- //CP환자 여부 확인
- if(fChkCPPatValid(currow)==false){
- return;
- }
-
- // 응급환자에 대한 중증체류시간 팝업 띄우는 부분 시작
- // 작성일 2010.03.09
- // 작성자 김광성(kskim)
- // 관련 xrw : SPMMO21300_중증체류시간
- var wndobj = frmf_findPopup("SPMMO21300");
- var sysMessageobj = frmf_getViewer("sysMessage");
-
- if(utlf_isNull(wndobj)){
- if( !utlf_isNull( ds_grd_erpatlist.getColumn(currow, "recovwardnm") ) ){
- var SPMMO21300_param = pid+ "▦" + orddd + "▦" + cretno + "▦" + visitno;
- sysMessageobj.frmf_setParameter("SPMMO21300_param", SPMMO21300_param);
- sysMessageobj.frmf_open("SPMMO21300", "SPMMO21300", null, false, 1, null, null, 1280 - 300, 100, null, null, null, "M");
- //sysMessageobj.frmf_findPopup("SPMMO21300"); // SPMMO21300 윈도우를 열고나서 윈도우 객체를 가져옴
- }
- } else {
- if( !utlf_isNull( ds_grd_erpatlist.getColumn(currow, "recovwardnm") ) ){
- var SPMMO21300_param = pid+ "▦" + orddd + "▦" + cretno + "▦" + visitno;
- sysMessageobj.frmf_setParameter("SPMMO21300_param", SPMMO21300_param);
- wndobj.fStartWnd(); // SPMMO21300팝업 화면 데이터 reflash기능을 담당
- } else{
- wndobj.fCloseWnd();
- }
- }
- // 응급환자에 대한 중증체류시간 팝업 띄우는 부분 끝. kskim
-
- // 진료기록에 수정된 사항이 있을 경우 저장할 것인지 묻는 함수 호출 : 2009. 07. 27 김영학
- var mainobj = frmf_getMainViewer();
- var mainscrnid = mainobj.frmf_getScreenID(); //메인화면의 기록지 ID
- if(mainscrnid == "SMMMR00100"){
- var prvIntRecPamInfRtn = mainobj.fPrevInitRecPamInfo();
- if(prvIntRecPamInfRtn == false){
- return;
- }// 기록지에 필수 입력사항을 입력하지 않았을 때 그냥 넘어가 버리는 오류 수정 20100305 LYJ
- }
-
- // 상단정보 설정
- if(!fReqERPatPamInfo()) { return; }
-
- // 진료기록, 처방화면 연동
- var recflag = parent.parent.SMMMO04100_getDSMainCond("recflag");
- var inCnclYN = ds_hidden_erincnclinfo.getColumn(0, "incnclyn"); //응급간호 삭제 여부
-
- if (recflag == "Y" || inCnclYN == "Y") { //inCnclYN 조건 추가 (2009.10.26 by JJE)
- parent.parent.fOpenPrcpMainWnd("Y");
- } else {
- parent.parent.fOpenPrcpMainWnd("N");
- }
- }
- /**
- * @desc : 응급환자 상단정보 호출
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqERPatPamInfo(){
- var iRow = ds_grd_erpatlist.rowposition;
- var pid = ds_grd_erpatlist.getColumn(iRow, "pid");
- var indd = ds_grd_erpatlist.getColumn(iRow, "indd");
- var cretno = ds_grd_erpatlist.getColumn(iRow, "cretno");
- var instcd = ds_grd_erpatlist.getColumn(iRow, "instcd");
- var srchdd = ds_cond.getColumn(0, "srchdd");
- var callvisityn = ds_cond.getColumn(0, "callvisityn"); // 응급실 콜비짓 여부 추가 20100526 LYJ
- var param = "E" + "▦" + pid + "▦" + indd + "▦" + cretno + "▦" + instcd + "▦" + srchdd + "▦" + callvisityn ;// 응급실 콜비짓 여부 추가 20100526 LYJ
-
- return appf_initPatientInfo(param);
- }
- /**
- * @desc : 응급실 인턴의사관리
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenErInternMngt(){
- var iRow = ds_grd_erpatlist.rowposition;
- if(iRow < 0){
- return;
- }
- var pid = ds_grd_erpatlist.getColumn(iRow, "pid");
- var orddd = ds_grd_erpatlist.getColumn(iRow, "indd");
- var cretno = ds_grd_erpatlist.getColumn(iRow, "cretno");
- var orddeptcd = ds_grd_erpatlist.getColumn(iRow, "orddeptcd");
- var param = pid + "▦" + orddd + "▦" + cretno + "▦" + orddeptcd;
- frmf_setParameter("SPMMO06300_param", param);
- frmf_modal("SPMMO06300", "SPMMO06300", null, null, null, null, null, null, null, null, null, null, "P");
-
- fReqERPatList();
- }
- /**
- * @desc : 그리드 data 엑셀화일로 저장
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fSaveGridToExcel(){
- grdf_exportExcel(grd_erpatlist, "응급환자리스트", "응급");
- }
- /**
- * @desc : 응급실호출 등록 화면 Open
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenERCallDr(){
- var currow = ds_grd_erpatlist.rowposition;
- if(currow < 0){
- return;
- }
- var pid = ds_grd_erpatlist.getColumn(currow, "pid");
- var orddd = ds_grd_erpatlist.getColumn(currow, "indd");
- var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
- var visitno = ds_grd_erpatlist.getColumn(currow, "visitno");
- var param = pid + "▦" + orddd + "▦" + cretno + "▦" + visitno;
-
- if(ds_calltime.getColumn(0, "hardcd") == "-"){
- frmf_setParameter("SPMMO06700_param", param);
- frmf_modal("SPMMO06700", "SPMMO06700", null, null, null, null, null, null, null, null, null, null, "M");
- }else{
- setParameter("SPMMO32000_param", param);
- frmf_modal("SPMMO32000", "SPMMO32000", null, null, null, null, null, null, null, null, null, null, "M");
- }
- fReqERPatList();
- }
- /**
- * @desc : 권역외상센터호출 등록 화면 Open 2013.04.03
- * @
- * @param :
- * @return :
- * @author : 김지선
- * @---------------------------------------------------
- */
- function fOpenTRCallDr(){
- var currow = ds_grd_erpatlist.rowposition;
- if(currow < 0){
- return;
- }
- var pid = ds_grd_erpatlist.getColumn(currow, "pid");
- var nm = ds_grd_erpatlist.getColumn(currow, "hngnm");
- var orddd = ds_grd_erpatlist.getColumn(currow, "indd");
- var intm = ds_grd_erpatlist.getColumn(currow, "intm");
- var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
- var visitno = ds_grd_erpatlist.getColumn(currow, "visitno");
- var param = pid + "▦" + nm + "▦" + orddd + "▦" + intm + "▦" + cretno + "▦" + visitno;
-
- frmf_setParameter("SPMMO08000_param", param);
- frmf_modal("SPMMO08000", "SPMMO08000", null, null, null, null, null, null, null, null, null, null, "M");
-
- fReqERPatList();
- }
- /**
- * @desc : 기본구역 조회
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fReqSectionInfo(){
- ds_reqdata.clearData();
- ds_reqdata.addRow();
- ds_reqdata.setColumn(0, "baseclsflag" , "B");
- ds_reqdata.setColumn(0, "supbasetypecd", "BD");
-
- var oParam = {};
- oParam.id = "TRMMO04402";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetSectionInfo";
- oParam.inds = "req=" + "ds_reqdata";
- oParam.outds = "ds_section=section";
- oParam.async = true;
- oParam.callback = "cf_TRMMO04402";
- tranf_submit(oParam);
- }
- function cf_TRMMO04402(sSvcId, nErrorCode, sErrorMsg) {
- if(nErrorCode < 0) return;
-
- frmf_addComboItem("Div00.cmb_section"); //기본구역 전체항목 추가
- }
- /**
- * @desc : 응급환자 정보에 따라 그리드의 row와 cell font color변경
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChngColorERPatList_Serdiagflag(serdiagflag) {
- var color = "#000000";
- if(!utlf_isNull(serdiagflag) && serdiagflag != "-"){
- var serdiagval = parseInt(serdiagflag);
-
- switch(serdiagval){
- case 1:
- color = "#ff0000";
- break;
- case 2:
- color = "#ff6600";
- break;
- case 3:
- color = "#0000ff";
- break;
- case 4:
- color = "#000000";
- break;
- case 5:
- color = "#000000";
- break;
- }
- }
-
- return color;
- }
- function fChngColorERPatList_Recovwardnm(recovwardnm) {
- return (utlf_isNull(recovwardnm)) ? "#000000" : "#ff0000";
- }
- function fChngColorERPatList_Adrvflag(currow, adrvcolor) {
- return (utlf_isNull(adrvcolor)) ? "#000000" : "#ff0000";
- }
- function fChngGrdCellColor(color){
- if(color == undefined || color == "" || color == "ffffff")
- color = "default";
- else
- color = "#" + color;
-
- return color;
- }
- /**
- * @desc : (응급)관심환자등록창 호출
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fCallWndConcPatRgst(){
- var currow = ds_grd_erpatlist.rowposition;
- var pid = ds_grd_erpatlist.getColumn(currow, "pid");
- var hngnm = ds_grd_erpatlist.getColumn(currow, "hngnm");
- var indd = ds_grd_erpatlist.getColumn(currow, "indd");
- var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
- var instcd = ds_grd_erpatlist.getColumn(currow, "instcd");
- var seqno = "";
- var param = "I" + "▩" + pid + "▩" + hngnm + "▩" + indd + "▩" + cretno + "▩" + seqno + "▩" + instcd;
- frmf_setParameter("param", param);
- frmf_open("SPMMO08200", "SPMMO08200", null, null, null, null, null, null, null, null, null, null, "M");
- //frmf_modal("SPMMO08200", "SPMMO08200", null, null, null, null, null, null, null, null, null, null, "M");
- //fReqERPatList();
- }
- /**
- * @desc : (응급)주의요망환자창 호출
- * @
- * @param :
- * @return :
- * @author : 엄영만
- * @---------------------------------------------------
- */
- function fCallWndWarnPat(){
- var nCurRow = ds_grd_erpatlist.rowposition;
- var sPid = ds_grd_erpatlist.setColumn(nCurRow, "pid");
- var sHngnm = ds_grd_erpatlist.setColumn(nCurRow, "hngnm");
-
- frmf_setParameter("SMMMO19100_warncd" , sPid);
- frmf_setParameter("SMMMO19100_warnnm" , sHngnm);
-
- frmf_modal("SMMMO19100", "SMMMO19100", null, null, null, null, null, null, null, null, null, null, "M");
-
- frmf_clearParameter("SMMMO19100_warncd");
- frmf_clearParameter("SMMMO19100_warnnm");
- }
- /**
- * @desc : CP환자 여부 검사
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fChkCPPatValid(currow){
- fChkErTriagePatList();
- var pid = ds_grd_erpatlist.getColumn(currow, "pid");
- var orddd = ds_grd_erpatlist.getColumn(currow, "indd");
- var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
- var cpyn = "";//ds_grd_erpatlist.getColumn(currow, "cpyn"); // 현재 사용안하는 듯(2014.09.03)
- var hngnm = ds_grd_erpatlist.getColumn(currow, "hngnm");
- var orddeptcd = ds_grd_erpatlist.getColumn(currow, "orddeptcd");
- var ioflag = "";//ds_grd_erpatlist.getColumn(currow, "ioflag"); // 현재 사용안하는 듯(2014.09.03)
- if(utlf_isNull(orddeptcd)) orddeptcd = ds_cond.getColumn(0, "orddeptcd");
- if(utlf_isNull(ioflag)) ioflag = "E";
-
- ds_reqPatValid.clearData();
- ds_reqPatValid.addRow();
- ds_reqPatValid.setColumn(0, "pid" , pid);
- ds_reqPatValid.setColumn(0, "orddd" , orddd);
- ds_reqPatValid.setColumn(0, "cretno" , cretno);
- ds_reqPatValid.setColumn(0, "hngnm" , hngnm);
- ds_reqPatValid.setColumn(0, "prcpgenrflag", ioflag);
- ds_reqPatValid.setColumn(0, "srchtabflag" , "E"); //대상자리스트탭 구분
-
- var oParam = {};
- oParam.id = "TRMMO04303";
- oParam.service = "prcpbaseapp.CpMngt";
- oParam.method = "reqGePattValidity";
- oParam.inds = "req=" + "ds_reqPatValid";
- oParam.outds = "ds_rsltgetdata=getdata";
- oParam.async = false;
- oParam.callback = "cf_TRMMO04303";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO04303") >= 0){
- if(ds_rsltgetdata.rowcount < 1){ //cp적용환자 tbl에 유효한 데이터가 없는 경우
- parent.parent.SMMMO04100_setDSRoot("cpflag", "N");
- return true;
- } else { //CP적용환자 tbl에 유효한 데이터가 있는 경우
- dsf_setDefaultVal(ds_rsltgetdata, "appyn:Y");
-
- var appstat = ds_rsltgetdata.getColumn(0, "appstat");
- var cpgnm = ds_rsltgetdata.getColumn(0, "cpgnm");
- var cpgappno = ds_rsltgetdata.getColumn(0, "cpgappno");
- var msgcnts = ds_rsltgetdata.getColumn(0, "msgcnts");
- var msgflag = ds_rsltgetdata.getColumn(0, "msgflag");
- var prtlflagcd = ds_rsltgetdata.getColumn(0, "prtlflagcd"); //01:CP,02:CPG
- if(appstat == 52){
- //case52: 입원장 CP
- var rtnval = sysf_messageBox(msgcnts, msgflag);
- if(rtnval == 6){
- parent.parent.SMMMO04100_setDSRoot("cpflag", "X"); // CP Main open
- return true;
- } else {
- parent.parent.SMMMO04100_setDSRoot("cpflag", "N");
- // if(fUpdtCPPatAppStatVal(41) != false && !utlf_isNull(ds_grd_erpatlist.getColumn(currow, "cpyn"))){ //41 : CP 취소
- // ds_grd_erpatlist.setColumn(currow, "cpyn", "N");
- // return;
- // } else {
- return false;
- // }
- }
- } else {
- if( prtlflagcd == "02" && utlf_isNull(appstat) && msgflag == "P" ){ //모니터링구분:대상자탐색 Case. CPG & 호출flag:Popup(appyn:평가용여부)
- //CPG적용대상자 알림 팝업 호출 (2009.05.04)
- frmf_setParameter("SMMMO041_hngnm" , hngnm);
- frmf_setParameter("SMMMO041_pid" , pid);
- frmf_setParameter("SMMMO041_cretno" , cretno);
- frmf_setParameter("SMMMO041_orddd" , orddd);
- frmf_setParameter("SMMMO041_ordtype" , ioflag);
- frmf_setParameter("SMMMO041_orddeptcd" , orddeptcd);
- frmf_setParameter("SMMMO041_slipnm" , msgcnts); //cpgno▦cpghistseq▦cpgnm▦slipno▦slipnm▦valusgeyn▦valunm▦guidedocucnts
- frmf_setParameter("SMMMO041_cpgmntrflag", appstat); //null, SPMMP03200화면에서 cpgmntrflag(M or S)으로 따짐
- frmf_setParameter("SMMMO041_cpgappno" , cpgappno); //적용중인 CP가 존재하면 값이 있음
- frmf_setParameter("SMMMO041_cpgnm" , cpgnm); //적용중인 CP가 존재하면 값이 있음
-
- frmf_modal("SPMMP03200", "SPMMP03200", null, null, null, null, null, null, null, null, null, null, "P"); //CP대상자 알람 팝업
-
- // if( cpgappno > 0 && cpgappno != frmf_getParameter("SPMMP032_cpgappno") && !utlf_isNull(ds_grd_erpatlist.getColumn(currow, "cpyn"))){ //진행중인 CP가 있는데 팝업에서 Drop한 경우 CP여부 N으로..
- // ds_grd_erpatlist.setColumn(currow, "cpyn", "N");
- // }
- if( !utlf_isNull(frmf_getParameter("SPMMP032_cpgappno")) && frmf_getParameter("SPMMP032_cpgappno") > 0 ){
- parent.parent.SMMMO04100_setDSRoot("cpflag", "Y"); //CPG적용한 경우, MGPS 호출
- } else {
- parent.parent.SMMMO04100_setDSRoot("cpflag", "N"); //미적용 시 처방 화면 호출
- }
-
- frmf_clearParameter("SPMMP032_cpgappno");
- frmf_clearParameter("SMMMO041_hngnm");
- frmf_clearParameter("SMMMO041_pid");
- frmf_clearParameter("SMMMO041_cretno");
- frmf_clearParameter("SMMMO041_orddd");
- frmf_clearParameter("SMMMO041_ordtype");
- frmf_clearParameter("SMMMO041_orddeptcd");
- frmf_clearParameter("SMMMO041_slipnm");
- frmf_clearParameter("SMMMO041_cpgmntrflag");
- frmf_clearParameter("SMMMO041_cpgappno");
- frmf_clearParameter("SMMMO041_cpgnm");
-
- return true;
- } else {
- //case 12 : D0 ~ D1 CP
- //그외 case : (10 : 진행중...)
- if( !utlf_isNull(msgcnts) && !utlf_isNull(msgflag) ){
- //12: D0 처방일과 == 입원일 -> Drop 유도
- //그외: 오늘날짜 > CP퇴원예정일 -> Drop 유도
- sysf_messageBox(msgcnts, msgflag);
- frmf_setParameter("SMMMO043_cpgappno", cpgappno); //drop 팝업에서 인식할 수 있는 param
- frmf_setParameter("SMMMO043_drop" , "N"); //drop 팝업에서 인식할 수 있는 param
-
- frmf_modal("SPMMP02300", "SPMMP02300", null, null, null, null, null, null, null, null, null, null, "M");
-
- parent.parent.SMMMO04100_setDSRoot("cpflag", "N");
- if( frmf_getParameter("SMMMO043_drop") == "Y" ){
- //ds_grd_erpatlist.setColumn(currow, "cpyn", "N");
- }else{
- return false;
- }
- frmf_clearParameter("SMMMO043_cpgappno");
- frmf_clearParameter("SMMMO043_drop");
- return true;
- }
-
- parent.parent.SMMMO04100_setDSRoot("cpflag", "Y");
- return true;
- }
- }
- }
- }
- }
- function cf_TRMMO04303(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @desc : 응급실의사 호출내역
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fOpenErCallDrHist(){
- var currow = ds_grd_erpatlist.rowposition;
- var pid = ds_grd_erpatlist.getColumn(currow, "pid");
- var hngnm = ds_grd_erpatlist.getColumn(currow, "hngnm");
- frmf_setParameter("SPMMO06800_pid", pid);
- frmf_setParameter("SPMMO06800_hngnm", hngnm);
- frmf_open("SPMMO06800", "SPMMO06800", null, null, null, null, null, null, null, null, null, null, "M");
- }
- /**
- * @desc : Visit Time 체크하여 처방창 오픈 유무 결정
- * @ 타과나 call time이 없을 경우는 처방창이 열리지만 같은과나 해당의사의 경우
- * @ Visit Time이 없을 경우는 처방창이 열리지 않도록 함
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fChkArrivalTime() {
- var userdeptcd = sysf_getUserInfo("dutplcecd");
- var userid = sysf_getUserId();
- var currow = ds_grd_erpatlist.rowposition;
- var orddoctid = ds_grd_erpatlist.getColumn(currow, "orddoctid");
- var orddeptcd = ds_grd_erpatlist.getColumn(currow, "erorddeptcd");
- var erorddeptcd = ds_hardcdno.getColumn(0, "hardcd");
- if (userdeptcd != erorddeptcd) { // 응급의학과가 아니면 도착시간이 없으면 처방창을 열지 못하도록 함.
- if (userid == orddoctid || userdeptcd == orddeptcd) { // 담당의 아이디 조건에서 과 포함함 : 2009. 07. 04)
- var visttm = ds_grd_erpatlist.getColumn(currow, "visttm");
- if (visttm =="------") {
- return false;
- }
- }
- }
- }
- /**
- * @desc : 진료대상자 리스트 출력
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fPrtPatList() {
- if(utlf_isNull(ds_cond.getColumnInfo("orddeptnm"))) ds_cond.addColumn("orddeptnm", "string");
- if(utlf_isNull(ds_cond.getColumnInfo("orddrnm"))) ds_cond.addColumn("orddrnm", "string");
- if(utlf_isNull(ds_cond.getColumnInfo("sectionnm"))) ds_cond.addColumn("sectionnm", "string");
- ds_cond.setColumn(0, "orddeptnm", Div00.cmb_orddept.text);
- ds_cond.setColumn(0, "orddrnm", Div00.cmb_atdoctid.text);
- ds_cond.setColumn(0, "sectionnm", Div00.cmb_section.text);
-
- var objDOM = rptf_createDOM(); // DOM 객체 설정
- rptf_setNodeListToDOM(objDOM, "/root/main/erpatinfo/erpatlist", ds_grd_erpatlist); // 데이터셋 1
- rptf_setNodeListToDOM(objDOM, "/root/main/cond", ds_cond); // 데이터셋 2
- //sysf_trace(objDOM.documentElement.source); // XML 내용출력
-
- var objParam = new Object();
- objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
- var option = "open=1;save=1;directprint=0;print=1;zoom=0;";
- rptf_exeReportPreview30(["RPMMO04104"],[objParam], option);
- }
- /**
- * @desc : 중증응급 (마우스 오른쪽 버튼 이벤트 )
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fErRecoverWardRgst() {
- var currow = ds_grd_erpatlist.rowposition;
- var pid = ds_grd_erpatlist.getColumn(currow, "pid");
- var indd = ds_grd_erpatlist.getColumn(currow, "indd");
- var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
- var hngnm = ds_grd_erpatlist.getColumn(currow, "hngnm");
- var recovwardcd = ds_grd_erpatlist.getColumn(currow, "recovwardcd");
-
- frmf_setParameter("SPMNE04600_pid" , pid);
- frmf_setParameter("SPMNE04600_indd" , indd);
- frmf_setParameter("SPMNE04600_cretno" , cretno);
- frmf_setParameter("SPMNE04600_hngnm" , hngnm);
- frmf_setParameter("SPMNE04600_recovwardcd" , recovwardcd);
- frmf_modal("SPMNE04600", "SPMNE04600", null, null, null, null, null, null, null, null, null, null, "M"); // 중증응급등록
- fReqERPatList(); // 응급대상자 리스트 재조회
- }
- /**
- * @desc : 중증응급 환자조회
- * @param :
- * @return :
- * @author : 엄영만 2015.05.22
- * @---------------------------------------------------
- */
- function fErRecoverWardSrch() {
- frmf_open("SPMNE04700", "SPMNE04700", null, null, null, null, null, null, null, null, null, null, "M"); // 중증응급 환자조회
- }
- /**
- * @desc : Triage기록 작성유무
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fChkErTriagePatList() {
- var currow = ds_grd_erpatlist.rowposition;
- var messageobj = frmf_getViewer("sysMessage");
- var pid = ds_grd_erpatlist.getColumn(currow, "pid");
- var orddd = ds_grd_erpatlist.getColumn(currow, "indd");
- var cretno = ds_grd_erpatlist.getColumn(currow, "cretno")
- var sa = ds_grd_erpatlist.getColumn(currow, "sa");
- var hngnm = ds_grd_erpatlist.getColumn(currow, "hngnm");
- var orddeptcd = ds_grd_erpatlist.getColumn(currow, "orddeptcd");
- var orddeptnm = ds_grd_erpatlist.getColumn(currow, "orddeptnm");
- var orddrid = ds_grd_erpatlist.getColumn(currow, "orddoctid");
-
- var condparam = sa.split("/");
- var sex = condparam[0];
- var age = condparam[1];
-
- ds_reqTriage.clearData();
- ds_reqTriage.addRow();
- ds_reqTriage.setColumn(0, "pid" , pid);
- ds_reqTriage.setColumn(0, "orddd" , orddd);
- ds_reqTriage.setColumn(0, "cretno" , cretno);
-
- var oParam = {};
- oParam.id = "TRMMO04403";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetChkErTriageList";
- oParam.inds = "req=" + "ds_reqTriage";
- oParam.outds = "ds_pattriagelist=erpatlist";
- oParam.async = false;
- oParam.callback = "cf_TRMMO04403";
- tranf_submit(oParam);
-
- if(arErrorCode.pop("TRMMO04403") >= 0){
- var cnts = ds_pattriagelist.getColumn(0, "pid");
- if (utlf_isNull(cnts)) {
- if (sysf_messageBox ( "Triage 기록이 작성되지 않았습니다. \n 작성하시겠습니까?", "Q" ) == "6" ) {
- var param = pid + "▦" + orddd + "▦" + cretno + "▦" + sex + "▦" + age + "▦▦" + hngnm+ "▦" + orddeptcd + "▦" + orddeptnm + "▦" + orddrid;
- messageobj.frmf_setParameter("SPMNE04400_param", param); //parameter
- curErTriageObj = frmf_findPopup("SPMNE04400"); //활성화된 진료기록 화면 object loading
- if (!utlf_isNull(curErTriageObj)) {
- curErTriageObj.fInitialize_SPMNE04400();
- curErTriageObj.activate();
- } else {
- messageobj.frmf_open("SPMNE04400", "SPMNE04400", null, false, 2, null, null, 1025, 590, null, null, null, "M");
- curErTriageObj = frmf_findPopup("SPMNE04400"); //활성화된 진료기록 화면 object loading
- curErTriageObj.activate();
- }
- } else {
- curErTriageObj = frmf_findPopup("SPMNE04400"); //활성화된 진료기록 화면 object loading
- if (!utlf_isNull(curErTriageObj)) {
- curErTriageObj.button2.onclick.fireEvent(button2, new ClickEventInfo());
- }
- }
- } else {
- curErTriageObj = frmf_findPopup("SPMNE04400"); //활성화된 진료기록 화면 object loading
- if (!utlf_isNull(curErTriageObj)) {
- curErTriageObj.button2.onclick.fireEvent(button2, new ClickEventInfo());
- }
- }
- }
- }
- function cf_TRMMO04403(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- /**
- * @desc : 간호 TPR 조회
- * @
- * @param :
- * @return :
- * @author :박유진 20091102
- * @---------------------------------------------------
- */
- function fCallCareTPRInfo(){
- var currow = ds_grd_erpatlist.rowposition;
- var pid = ds_grd_erpatlist.getColumn(currow, "pid");
- var indd = ds_grd_erpatlist.getColumn(currow, "indd");
- var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
- var instcd = sysf_getUserInfo("dutplceinstcd");
- frmf_setParameter("SMMNR00900_Param", "pid▦indd▦cretno▦instcd▦gbn▩" + pid + "▦" + indd + "▦" + cretno + "▦" + instcd +"▦dr▩");
- var curNurTprObj = frmf_findPopup("SMMNR00900"); //활성화된 간호 TPR 화면 object loading
- if(!utlf_isNull(curNurTprObj)){ //간호 TPR 화면 refresh
- curNurTprObj.fInitialize("init");
- curNurTprObj.fInitViewer();
- curNurTprObj.lf_emrSetTimer();
- } else {
- frmf_open("SMMNR00900", "SMMNR00900", null, null, null, null, null, null, null, null, null, null, "M");
- }
- }
- /**
- * @desc : 전공의 등록
- * @
- * @param :
- * @event : 팝업창 내 환자 적용 EVENT
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fRgstCnclAtDoct(){
- var mypatinfo = "";
- var currow = ds_grd_erpatlist.rowposition;
- var orddeptcd = ds_grd_erpatlist.getColumn(currow, "orddeptcd");
- var userdeptcd = sysf_getUserInfo("dutplcecd");
- if (orddeptcd != userdeptcd) {
- sysf_messageBox("환자의 진료과가 다르면 담당의 적용을 할 수 없습니다.", "I");
- return;
- }
-
- var totrow = ds_grd_erpatlist.rowcount;
- for(var currow = 0; currow < totrow ; currow++){
- if(ds_grd_erpatlist.getSelect(currow)){
- var pid = ds_grd_erpatlist.getColumn(currow, "pid");
- var indd = ds_grd_erpatlist.getColumn(currow, "indd");
- var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
- var seqno = "";//ds_grd_erpatlist.getColumn(currow, "seqno");
- var tmpstr = "▦" + pid +
- "▦" + indd +
- "▦" + cretno +
- "▦" + seqno +
- "▦" + orddeptcd +
- "▩";
- mypatinfo += tmpstr;
- }
- }
-
- frmf_setParameter("apntflag" , "atdoct"); //화면 적용 구분을 전공의 등록으로 적용
- frmf_setParameter("mypatinfo", mypatinfo);
- frmf_modal("SPMMO16200", "SPMMO16200", null, null, null, null, null, null, null, null, null, null, "P");
- fReqERPatList();
- }
- /**
- * @desc : 응급환자 의사결정
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fIntensionDecision(){
- var currow = ds_grd_erpatlist.rowposition;
- var pid = ds_grd_erpatlist.getColumn(currow, "pid");
- var hngnm = ds_grd_erpatlist.getColumn(currow, "hngnm");
- var indd = ds_grd_erpatlist.getColumn(currow, "indd");
- var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
- var instcd = sysf_getUserInfo("dutplceinstcd");
- frmf_setParameter("SSPMMO26000_Param", pid + "▦" + hngnm + "▦" + indd + "▦" + cretno + "▦" + instcd);
- frmf_modal("SPMMO26000", "SPMMO26000", null, null, null, null, null, null, null, null, null, null, "P");
-
- fReqERPatList();
- }
- /**
- * @desc : 빈병상 현황
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fEmptyBedCheck(){
- frmf_setParameter("SMPMI00100_MENUPARAM", "A");
- frmf_modal("SPPMI02001", "SPPMI02001", null, null, null, null, null, null, null, null, null, null, "M");
- }
- /**
- * @desc : 입원의뢰서
- * @
- * @param :
- * @return :
- * @author :
- * @---------------------------------------------------
- */
- function fEnterHosReq(){
- var currow = ds_grd_erpatlist.rowposition;
- var pid = ds_grd_erpatlist.getColumn(currow, "pid");
- frmf_setParameter("SPMMO00100_pid", pid);
-
- //20190125 이돈희 : 입원의뢰서의 진단 조회를 위하여 수진키 넘겨줌
- frmf_setParameter("SPMMO00100_indd", ds_grd_erpatlist.getColumn(currow, "indd")); //입원일
- frmf_setParameter("SPMMO00100_incretno", ds_grd_erpatlist.getColumn(currow, "cretno")); //원무키
- frmf_setParameter("SPMMO00100_erreglyn", "E"); //응급 플래그
- frmf_setParameter("opener_id", "SMMMO04400"); //20190129 설승민 선생님 요청으로 opener_id 추가
- frmf_modal("SPMMO00100", "SPMMO00100", null, null, null, null, null, null, null, null, null, null, "M");
- if(!utlf_isNull(this.objects["ds_temp"])) {
- var rtn = ds_temp.getColumn(0, "SPMMO00100_rtn");
- if(rtn=="true"){ //입원결정서가 성공적으로 저장됐을시 리스트의 내용을 갱신해준다.
- Div00.btn_req.onclick.fireEvent(Div00.btn_req, new ClickEventInfo());
- }
- }
- }
- /**
- * @desc : 안전사고 보고
- * @param :
- * @return :
- * @author : 엄영만
- * @---------------------------------------------------
- */
- function fPatQi(){
- var currow = ds_grd_erpatlist.rowposition;
- var pid = ds_grd_erpatlist.getColumn(currow, "pid");
- var orddd = ds_grd_erpatlist.getColumn(currow, "indd");
- var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
- var ordtype = "E";
- var oprsrvno = "";
-
- frmf_setParameter("SMMQR00100_PARAM2", pid + "▦" + orddd + "▦" + cretno + "▦" + ordtype+"▦" + oprsrvno);
- frmf_modal("SMMQR00100", "SMMQR00100", null, null, null, null, null, null, null, null, null, null, "M");
- }
- /**
- * @desc : 중증 의사 당직 관리
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fOpenNurseERDrScheDrList() {
- frmf_modal("SMMNE05100", "SMMNE05100", null, null, null, null, null, null, null, null, null, null, "P"); //modal("SMMNE05100");
- }
- /**
- * @desc : 중증 의사 호출
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fOpenNurseERCallDr() {
- var currow = ds_grd_erpatlist.rowposition; //grd_erpatlist.row;
- var pid = ds_grd_erpatlist.getColumn(currow, "pid"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/pid");
- var orddd = ds_grd_erpatlist.getColumn(currow, "indd"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/indd");
- var cretno = ds_grd_erpatlist.getColumn(currow, "cretno"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/cretno")
- var visitno = ds_grd_erpatlist.getColumn(currow, "visitno"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/visitno")
- var param = pid + "▦" + orddd + "▦" + cretno + "▦" + visitno;
- frmf_setParameter("SMMNE05200_param", param);
-
- frmf_modal("SMMNE05200", "SMMNE05200", null, null, null, null, null, null, null, null, null, null, "M"); //modal("SMMNE05200");
- fReqERPatList();
- }
- /**
- * @desc : 호출 의사 사용자 관리
- * @
- * @param :
- * @return :
- * @author : 김영학
- * @---------------------------------------------------
- */
- function fOpenDrList() {
- var bpcallyn = ds_bpcallyn.getColumn(0, "hardcd"); //model.getValue("/root/init/bpcallyn/hardcd/hardcd");
- if ( !utlf_isNull(bpcallyn) && bpcallyn == "Y") {
- frmf_setParameter("SMMNE05000_bpcallyn", "Y");
- frmf_setParameter("SMMNE05000_param", "Y^Y^Y^Y^Y^Y^Y");
- } else {
- frmf_setParameter("SMMNE05000_bpcallyn", "N");
- frmf_setParameter("SMMNE05000_param", "Y^Y^Y^Y^N^Y^Y");
- }
-
- frmf_modal("SMMNE05000", "SMMNE05000", null, null, null, null, null, null, null, null, null, null, "M"); //modal("SMMNE05000");
- }
- /**
- * @desc : 의사 스케쥴등록
- * @
- * @param :
- * @return :
- * @author :박유진
- * @---------------------------------------------------
- */
- function fSaveErCallVisit(){
- frmf_open("SPMMO30000", "SPMMO30000", null, null, null, null, null, null, null, null, null, null, "M"); //open("SPMMO30000");
- }
- /**
- * @desc : 응급실호출 등록 화면 Open
- * @
- * @param :
- * @return :
- * @author : 오지훈
- * @---------------------------------------------------
- */
- function fOpenDrCallDeaction(){
- var currow = ds_grd_erpatlist.rowposition; //grd_erpatlist.row;
- if( currow < 0 ){
- return;
- }
- var pid = ds_grd_erpatlist.getColumn(currow, "pid"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/pid");
- var orddd = ds_grd_erpatlist.getColumn(currow, "indd"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/indd");
- var cretno = ds_grd_erpatlist.getColumn(currow, "cretno"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/cretno")
- var visitno = ds_grd_erpatlist.getColumn(currow, "visitno"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/visitno")
- var param = pid + "▦" + orddd + "▦" + cretno + "▦" + visitno;
- frmf_setParameter("SPMMO32300_param", param);
- frmf_modal("SPMMO32300", "SPMMO32300", null, null, null, null, null, null, null, null, null, null, "M"); //modal("SPMMO32300");
- fReqERPatList();
- }
- /**
- * @desc : 응급실호출 내역추가 화면 Open
- * @
- * @param :
- * @return :
- * @author : 김소정
- * @---------------------------------------------------
- */
- function fOpenDrCallAddition(){
- var currow = grd_erpatlist.row;
- if(currow < 0){
- return;
- }
- var pid = ds_grd_erpatlist.getColumn(currow, "pid"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/pid");
- var orddd = ds_grd_erpatlist.getColumn(currow, "indd"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/indd");
- var cretno = ds_grd_erpatlist.getColumn(currow, "cretno"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/cretno")
- var visitno = ds_grd_erpatlist.getColumn(currow, "visitno"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/visitno")
-
- var param = pid + "▦" + orddd + "▦" + cretno + "▦" + visitno;
- frmf_setParameter("SPMMO32400_param", param);
- frmf_modal("SPMMO32400", "SPMMO32400", null, null, null, null, null, null, null, null, null, null, "M"); //modal("SPMMO32400");
- fReqERPatList();
- }
- /**
- * @desc : 환자라벨출력
- * @param :
- * @return :
- * @author : 엄영만
- * @---------------------------------------------------
- */
- function fPrintPatLabel(){
- var currow = ds_grd_erpatlist.rowposition;
- var pid = ds_grd_erpatlist.getColumn(currow, "pid");
- var patnm = ds_grd_erpatlist.getColumn(currow, "hngnm");
- var sexage = ds_grd_erpatlist.getColumn(currow, "sa");
-
- frmf_setParameter("SMMMB00100_scrnid" , "SMMMO04100");
- frmf_setParameter("SMMMB00100_pid" , pid);
- frmf_setParameter("SMMMB00100_patnm" , patnm);
- frmf_setParameter("SMMMB00100_sexage" , sexage);
- frmf_modal("SMMMB00100", "SMMMB00100", null, null, null, null, null, null, null, null, null, null, "M");
- }
- function fSendSmsErPat(){
- fSendSmsPatList(grd_erpatlist, ds_grd_erpatlist);
- }
- //20190802 이돈희 : 기록 작성유무 체크
- function lf_RptmRecExist(formcd){
-
- dsf_createDsRow("ds_cond_rptmform", [{col:"formcd", type:"STRING", size:256, val:formcd}
- , {col:"instcd", type:"STRING", size:256, val:sysf_getUserInfo("dutplceinstcd")}
- , {col:"pid" , type:"STRING", size:256, val:ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "pid")}
- , {col:"orddd" , type:"STRING", size:256, val:ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "indd")}
- , {col:"cretno", type:"STRING", size:256, val:ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "cretno")}]);
- dsf_createDs("ds_data_rptmform", [{col:"formseqno", type:"BIGDECIMAL", size:256}
- , {col:"espiseq", type:"STRING", size:256}]);
-
- var oParam = {};
- oParam.id = "TRMMO04404";
- oParam.service = "prcpmngtapp.ErMngt";
- oParam.method = "reqGetRptmFormSeqno";
- oParam.inds = "reqdata=ds_cond_rptmform";
- oParam.outds = "ds_data_rptmform=opanstform";
- oParam.async = false;
- oParam.callback = "cf_TRMMO04404";
-
- tranf_submit(oParam);
-
- dsf_deleteDs("ds_cond_rptmform");
-
- if(arErrorCode.pop("TRMMO04404") < 0 )
- return false;
-
- if( ds_data_rptmform.rowcount == 0
- || (utlf_isNull(ds_data_rptmform.getColumn(0, "formseqno")) || ds_data_rptmform.getColumn(0, "formseqno") == "0"))
- return false;
-
- return true;
- }
- function cf_TRMMO04404(sSvcId, nErrorCode, sErrorMsg) {
- arErrorCode.push(sSvcId, nErrorCode);
- }
- //20190802 이돈희 : KTAS 선택 시
- function fERSpecialistDirectTreatmentPopup(srcformcd)
- {
- //20200107 이돈희 : 칠곡 응급실 전문의 직접 진찰료 수가코드 종료로 진료공통코드 대신에 srcformcd로 기록지 조회
- // : formcd로 현재 사용 가능한 formcd 조회
- var formcd = "";
- ds_send_formcd.setColumn(0, "formcd", srcformcd);
- ds_send_formcd.setColumn(0, "srchdt", ds_cond.getColumn(0, "srchdd") + utlf_getCurrentTime());
-
- var oParam = {};
- oParam.id = "TRMMO04405";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetLastestFormcd";
- oParam.inds = "req=ds_send_formcd";
- oParam.outds = "ds_result_formcd=result";
- oParam.async = false;
- tranf_submit(oParam);
- if(ds_result_formcd.rowcount > 0){
- formcd = ds_result_formcd.getColumn(0, "formcd");
- } else {
- sysf_messageBox("유효한 전문의 직접 진료 KTAS 서식이 존재하지 않습니다.(문의 6598)", "E");
- return;
- }
-
- // 기록 작성유무 체크
- lf_RptmRecExist(formcd);
-
- var formseqno = ds_data_rptmform.getColumn(0,"formseqno"); // 기록키
- var espiseq = ds_data_rptmform.getColumn(0,"espiseq"); //인증키
-
- var vFormcd = "";
- var vFormKind = "";
- if(formseqno == "0" || utlf_isNull(formseqno)){
- vFormcd = formcd;
- vFormKind = "new";
- }else{
- vFormcd = formseqno;
- vFormKind = "rec";
-
- //sysf_messageBox("작성 된 서식이 있으므로 업로드를 할 수 없습니다.");
- //return;
- }
- var pid = ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "pid");
- var orddd = ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "indd");
- var cretno = ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "cretno");
- var orddeptcd = ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "orddeptcd");
- var ioflag = "I";
- var orddrid = ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "medispclid");
-
- var instcd = sysf_getUserInfo("dutplceinstcd");
- var param = ioflag + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd ;
-
- var objArg = new Object();
-
- ds_cond_formdata.clearData();
- ds_cond_formdata.addRow();
- ds_cond_formdata.setColumn(0, "formcd", vFormcd);
- ds_cond_formdata.setColumn(0, "formkind", vFormKind);
- ds_cond_formdata.setColumn(0, "btnvisible", true);
- ds_cond_formdata.setColumn(0, "pid", pid);
- ds_cond_formdata.setColumn(0, "orddd", orddd);
- ds_cond_formdata.setColumn(0, "cretno", cretno);
- ds_cond_formdata.setColumn(0, "modalyn", "Y");
- ds_cond_formdata.setColumn(0, "topyn", "N");
- ds_cond_formdata.setColumn(0, "orddeptcd", orddeptcd);
- ds_cond_formdata.setColumn(0, "ioflag", ioflag);
- ds_cond_formdata.setColumn(0, "orddrid", orddrid);
- ds_cond_formdata.setColumn(0, "paminfo", param);
-
- objArg.ds_cond_formdata = ds_cond_formdata;
-
- lf_loadSMMMR01100(true, objArg);
- }
- //20200212 이돈희 : 응급 환자 선택후 진행 가능여부 체크 및 메세지 창 팝업
- function fCheckBfSelectErPat() {
- var bRtn = true;
- var currow = ds_grd_erpatlist.rowposition;
-
- if( sysf_getGlobalVariable("able_sel_patlist", "M") == "N" ) { // 환자 선택 가능 여부 체크 2012.09.03 엄영만
- sysf_messageBox("현재 로그인한 '"+ sysf_getUserInfo("dutplcenm") +"' 부서는 기록저장 및 처방발행이 불가능한 부서 입니다.\n\n다시 로그인 후 진행 하십시오.","E");
- return false;
- }
-
- dsf_createDsRow("ds_TRMMO04406", [{col:"pid", type:"string", size:256, val:ds_grd_erpatlist.getColumn(currow, "pid")}
- ,{col:"orddd", type:"string", size:256, val:ds_grd_erpatlist.getColumn(currow, "indd")}
- ,{col:"cretno", type:"string", size:256, val:ds_grd_erpatlist.getColumn(currow, "cretno")}]);
- var oParam = {};
- oParam.id = "TRMMO04406";
- oParam.service = "prcpmngtapp.EtcPrcpMngt";
- oParam.method = "reqGetCheckBfSelectErPat";
- oParam.inds = "req=ds_TRMMO04406";
- oParam.outds = "ds_bfselecterpat=bfselecterpat";
- oParam.async = false;
- bRtn = tranf_submit(oParam);
-
- return bRtn;
- }]]></Script>
|