SMMMO04400.xjs 56 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[
  3. /*
  4. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  5. 응급환자리스트 ( SMMMO04400_응급환자리스트.xfdl - JScript )
  6. - ▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩▩
  7. */
  8. var arErrorCode = new HashArray();
  9. /**
  10. * @desc : 화면 초기화
  11. * @
  12. * @param :
  13. * @return :
  14. * @author : 오지훈
  15. * @---------------------------------------------------
  16. */
  17. function fInitialize_SMMMO04400(){
  18. ds_cond.setColumn(0, "srchdd", utlf_getCurrentDate());
  19. // var openflag = model.getValue(opener.root.list.erpatlistflag);
  20. // var reopenflag = model.getValue(opener.root.reopen.reopenflag); //진료대상자 리스트 open여부
  21. // var chngcolflag= model.getValue(opener.root.chngcol.chngcolflag); //컬럼변경 여부
  22. // 하드코드 테이블 한번에 조회하도록 프로그램 수정
  23. lf_gethardcdArrayList(new Array(
  24. "hardcdno|1" //응급의학과 부서코드 조회
  25. , "colorflag|113" //색깔변경 구분 Flag 조회
  26. , "calltime|190" // 응급실 의사호출 관련 자동 호출 시간
  27. , "bpcallyn|226" //응급실 BP호출 적용여부
  28. , "hardcd|445"
  29. , "hardcd6004|6004"
  30. ),
  31. new Array(
  32. "ds_hardcdno"
  33. , "ds_colorflag"
  34. , "ds_calltime"
  35. , "ds_bpcallyn"
  36. , "ds_hardcd"
  37. , "ds_hardcd6004"
  38. )
  39. );
  40. appf_getCodeList([{dsNm: "ds_M0623", cdGrpId: "M0623"}
  41. , {dsNm: "ds_M0720", cdGrpId: "M0720"}], true); //공통코드 보험유형 조회
  42. fReqSectionInfo(); //기본구역 정보 조회
  43. var dutplcecd = "-";
  44. var medispclid = "-";
  45. var atdoctid = "-";
  46. var erorddeptcd = "-";
  47. var ermedispclid = "-";
  48. var reopenflag = reopenflag = parent.parent.ds_reopen.getColumn(0, "reopenflag"); //진료대상자 리스트 open여부
  49. if(reopenflag == "Y"){ //다시 열린 경우, main에 ordtab의 condlist(화면이 닫힐때 설정된 정보)를 그대로 재설정
  50. try {
  51. ds_cond.copyData(parent.parent.ds_reopen_condlist);
  52. dutplcecd = ds_cond.getColumn(0, "orddeptcd");
  53. medispclid = ds_cond.getColumn(0, "medispclid");
  54. atdoctid = ds_cond.getColumn(0, "atdoctid");
  55. erorddeptcd = ds_cond.getColumn(0, "erorddeptcd");
  56. ermedispclid = ds_cond.getColumn(0, "ermedispclid");
  57. } catch(E) {
  58. }
  59. parent.parent.ds_reopen.setColumn(0, "reopenflag", "N");
  60. }
  61. setDeptCodeList(dutplcecd);
  62. setUserList(dutplcecd, medispclid, atdoctid);
  63. Div00.cmb_erorddeptcd.value = erorddeptcd;
  64. setErUserList(erorddeptcd, ermedispclid);
  65. //if(chngcolflag == "Y"){ //컬럼설정을 통해 재설정 한 경우, 컬럼순서를 다시 조회 처리
  66. reqOrderInfoOfCol(ds_reqdata1, ds_gridseq, "SMMMO04400", grd_erpatlist); //응급환자리스트 컬럼 조회 및 설정
  67. // model.setValue(opener.root.chngcol.chngcolflag, "N");
  68. //}
  69. fReqERPatList();
  70. }
  71. function setDeptCodeList(sDeptcd, sOrddd){
  72. lf_mmbfGetDeptCodeComboList(ds_orddept, "D", sOrddd); //부서코드 콤보
  73. frmf_addComboItem("Div00.cmb_orddept"); //부서콤보 Item '전체'추가
  74. if(!utlf_isNull(sDeptcd)) {
  75. Div00.cmb_orddept.value = sDeptcd; //진료과
  76. }
  77. }
  78. function setUserList(sOrddeptcd, sMedispclid, sAtdoctid, sOrddd){
  79. ds_userlist.clearData();
  80. ds_userlist2.clearData();
  81. if(sOrddeptcd != "-") {
  82. lf_mmbfGetUserComboList(ds_userlist, sOrddeptcd, "0330", "", "M", sOrddd, "", "P");
  83. lf_mmbfGetUserComboList(ds_userlist2, sOrddeptcd, "0330", "", "A", sOrddd, "", "P");
  84. }
  85. frmf_addComboItem("Div00.cmb_medispclid"); //의사콤보 전체항목 추가
  86. frmf_addComboItem("Div00.cmb_atdoctid"); //의사콤보 전체항목 추가
  87. Div00.cmb_medispclid.value = sMedispclid; //담당교수
  88. Div00.cmb_atdoctid.value = sAtdoctid; //전공의
  89. }
  90. function setErUserList(sOrddeptcd, sErmedispclid, sOrddd){
  91. ds_eruserlist.clearData();
  92. if(sOrddeptcd != "-")
  93. lf_mmbfGetUserComboList(ds_eruserlist, sOrddeptcd, "0330", "", "", sOrddd);
  94. frmf_addComboItem("Div00.cmb_orddrid"); //의사콤보 전체항목 추가
  95. Div00.cmb_orddrid.value = sErmedispclid; //전공의
  96. }
  97. /**
  98. * @desc : 응급실Triage
  99. * @
  100. * @param :
  101. * @return :
  102. * @author : 오지훈
  103. * @---------------------------------------------------
  104. */
  105. function fOpenERTriage(){
  106. var iRow = ds_grd_erpatlist.rowposition;
  107. if(iRow < 0){
  108. return;
  109. }
  110. var sa = ds_grd_erpatlist.getColumn(iRow, "sa");
  111. var temp = sa.split("/");
  112. var paramstr = ds_grd_erpatlist.getColumn(iRow, "pid") + "▦" +
  113. ds_grd_erpatlist.getColumn(iRow, "indd") + "▦" +
  114. ds_grd_erpatlist.getColumn(iRow, "cretno") + "▦" +
  115. temp[0] + "▦" +
  116. temp[1] + "▦" +
  117. ""/*ds_grd_erpatlist.getColumn(iRow, "etctel1")*/+ "▦" +
  118. ds_grd_erpatlist.getColumn(iRow, "hngnm") + "▦" +
  119. ds_grd_erpatlist.getColumn(iRow, "orddeptcd") + "▦" +
  120. ds_grd_erpatlist.getColumn(iRow, "orddeptnm") + "▦" +
  121. ds_grd_erpatlist.getColumn(iRow, "orddoctid");
  122. frmf_setParameter("SPMNE04400_param", paramstr);
  123. frmf_modal("SPMNE04400", "SPMNE04400", null, null, null, null, null, null, null, null, null, null, "M");
  124. frmf_setParameter("SPMNE04400_param", "");
  125. fReqERPatList();
  126. }
  127. /**
  128. * @desc : 응급환자리스트 조회
  129. * @
  130. * @param :
  131. * @return :
  132. * @author : 오지훈
  133. * @---------------------------------------------------
  134. */
  135. function fReqERPatList(){
  136. parent.parent.ds_cond_erpatlist.copyData(ds_cond);
  137. ds_reqErPat.copyData(ds_cond);
  138. var compsrefcnts = ds_gridseq.getColumn(0, "compsrefcnts");
  139. var compssizecnts = ds_gridseq.getColumn(0, "compssizecnts");
  140. if(utlf_isNull(compsrefcnts)) compsrefcnts = "";
  141. if(utlf_isNull(compssizecnts)) compssizecnts = "";
  142. ds_reqErPat.addColumn("compsrefcnts", "string", 1024);
  143. ds_reqErPat.addColumn("compssizecnts", "string", 1024);
  144. ds_reqErPat.setColumn(0, "compsrefcnts", compsrefcnts);
  145. ds_reqErPat.setColumn(0, "compssizecnts", compssizecnts);
  146. var oParam = {};
  147. oParam.id = "TRMMO04401";
  148. oParam.service = "prcpmngtapp.ErMngt";
  149. oParam.method = "reqGetERPatList";
  150. oParam.inds = "req=" + "ds_reqErPat";
  151. oParam.outds = "ds_grd_erpatlist=erpatlist" + " ds_erpatcnt=erpatcnt";
  152. oParam.async = true;
  153. oParam.callback = "cf_TRMMO04401";
  154. tranf_submit(oParam);
  155. }
  156. function cf_TRMMO04401(sSvcId, nErrorCode, sErrorMsg) {
  157. if(nErrorCode > -1) {
  158. //model.copyNode(opener.root.temp.erpatlist, root.init);
  159. //model.copyNode(opener.root.cond.erpatlist, root.main.cond);
  160. ds_erpatcnt.setColumn(0, "ercurpatcnt", ds_grd_erpatlist.rowcount);
  161. }
  162. var orderby = ds_cond.getColumn(0, "orderby");
  163. var sortcol = ds_cond.getColumn(0, "sortcol");
  164. if(!utlf_isNull(orderby) && !utlf_isNull(sortcol))
  165. ds_grd_erpatlist.keystring.current = "S:" + orderby + sortcol;
  166. }
  167. /**
  168. * @desc : 환자 선택 후, 환자 정보 조회 및 기록지 화면 연동
  169. * @
  170. * @param :
  171. * @return :
  172. * @author : 오지훈
  173. * @---------------------------------------------------
  174. */
  175. function fSelectERPat(){
  176. var currow = ds_grd_erpatlist.rowposition;
  177. if(currow < 0){
  178. return;
  179. }
  180. if( sysf_getGlobalVariable("able_sel_patlist", "M") == "N" ) { // 환자 선택 가능 여부 체크 2012.09.03 엄영만
  181. sysf_messageBox("현재 로그인한 '"+ sysf_getUserInfo("dutplcenm") +"' 부서는 기록저장 및 처방발행이 불가능한 부서 입니다.\n\n다시 로그인 후 진행 하십시오.","E");
  182. return false;
  183. }
  184. if(fChkArrivalTime()== false) { //응급실 콜비짓 여부에 따라 처방/기록 인증저장 제한하기 위한 값 셋팅 20100526 LYJ
  185. ds_cond.setColumn(0, "callvisityn" , "N");
  186. parent.parent.frmf_setParameter("SMMMO04100_callvisityn", "N");
  187. sysf_messageBox("응급실 Visit Time을 등록 하지 않으면 기록과 처방은 임시저장만 가능 합니다.", "E");
  188. }else {
  189. ds_cond.setColumn(0, "callvisityn" , "Y");
  190. parent.parent.frmf_setParameter("SMMMO04100_callvisityn", "Y");
  191. }
  192. //처방, CP화면에 modal 또는 modaless가 뜬 경우, 환자 선택 불가
  193. if(fChkScrnDisable()==false){
  194. return;
  195. }
  196. // 20200212 이돈희 : 진행가능 여부 체크
  197. if(!fCheckBfSelectErPat()) { return; }
  198. //변경요청(8106) : 응급간호에서 삭제처리한 환자 선택 시 blocking 메세지 처리 추가 (2009.10.09 JJE)
  199. //triage 기록지 여부 체크 전, 삭제환자 여부 체크하여 처방입력 blocking
  200. // rev.77552 TF와 동기화
  201. var instcd = sysf_getUserInfo("dutplceinstcd");
  202. var pid = ds_grd_erpatlist.getColumn(currow, "pid");
  203. var orddd = ds_grd_erpatlist.getColumn(currow, "indd");
  204. var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
  205. var visitno= ds_grd_erpatlist.getColumn(currow, "visitno");
  206. var sAtdoctid = ds_grd_erpatlist.getColumn(currow, "atdoctid"); //20190614 이돈희 : 담당의 추가
  207. var sMedispclid = ds_grd_erpatlist.getColumn(currow, "medispclid"); //20190614 이돈희 : 담당교수 추가
  208. var sOrddeptcd = ds_grd_erpatlist.getColumn(currow, "orddeptcd"); //20190614 이돈희 : 주진료과 추가
  209. lf_chkInCnclYN(pid, orddd, cretno, "C"); //return 없음, 진료기록창만 호출하므로 아래에서 컨트롤 함
  210. //응급실 의사 결정 관련 알림 팝업 엄영만 2012.07.25
  211. // 메세지 블러킹 처리 2012.08.10 추후 상황을 봐서 진행 하기로 함.
  212. var adflag = ds_grd_erpatlist.getColumn(currow, "adflag"); // 입원의사결정 상태(공통코드 M0720 A:병실입원, B:병실입원(EICU), C:병실입원(응급입원실), H:귀가, D:DNR, E:기타, X:삭제)
  213. var chosdd = ds_grd_erpatlist.getColumn(currow, "chosdd"); // 내원시간
  214. // rev.77552 TF와 동기화 S
  215. if(adflag != "A" && adflag != "B" && adflag != "C" && adflag != "D") {
  216. if(adflag == "H") { // 귀가로 선택시 본원, 동일한 부서 로그인시에만 추가 안내 팝업
  217. if(sysf_getUserInfo("dutplceinstcd") == "031" && sysf_getUserInfo("dutplcecd") == ds_grd_erpatlist.getColumn(currow, "orddeptcd")) {
  218. var currentDateTime = new Date();
  219. var adLastDateTime = ds_grd_erpatlist.getColumn(currow, "adlastdt").toDate("YYYYMMDDhhmm");
  220. var nDifferenceSeconde = currentDateTime.getTime() - adLastDateTime.getTime(); // 초 간격
  221. var nDifferenceHour = Math.floor(nDifferenceSeconde/1000/60/60); // 시간 차이
  222. // 20190415 이돈희 : 귀가로 의사 결정 후 추가제어를 위한 시간 추가, 고정에서 하드코드로 수정
  223. var sHour = lf_getHardCDList("Y", 709, 3);
  224. if(utlf_isNull(sHour)){
  225. sHour = 2;
  226. }
  227. // 20190415 이돈희 : 귀가로 의사 결정 후 추가제어를 위한 시점, A0 : 진료대상자리스트 환자 선택시, A1 : 처방 인증저장시
  228. var sApplyPoint = lf_getHardCDList("Y", 710, 3);
  229. if(utlf_isNull(sApplyPoint)){
  230. sApplyPoint = "A0";
  231. }
  232. if(sApplyPoint == "A0"){
  233. if ( nDifferenceHour >= parseInt(sHour)) { // 본원 귀가로 저장후 2시간 이상이면 알림 팝업 2018.01.19 엄영만
  234. sysf_messageBox("귀가로 의사결정후 " + sHour + "시간이 경과 하였습니다.\n\n환자를 확인하여 입·퇴원 결정을 하여 주시기 바랍니다.", "I999");
  235. fIntensionDecision(); // 의사결정 화면 팝업후 종료 처리
  236. return;
  237. }
  238. }
  239. }
  240. } else {
  241. var inDateTime = chosdd.toDate("YYYYMMDDhhmm");
  242. var currentDateTime = new Date();
  243. var checkDateTime = 0;
  244. var sInfoHour = lf_getHardCDList("Y", 544, 3); // 응급실 의사결정 정보제공 시간
  245. var sErrHour = lf_getHardCDList("Y", 545, 3); // 응급실 의사결정 환자선택 불가 시간
  246. var sApplyDoct = lf_getHardCDList("Y", 718, 3); // 응급실 의사결정 창 담당교수/담당의만 적용 여부
  247. dsf_createDs("ds_exceptiondeptcd"); // 응급실 의사결정 창 팝업 예외 부서
  248. ds_exceptiondeptcd.clear();
  249. lf_getHardCDList("N", 719, null, ds_exceptiondeptcd);
  250. if(utlf_isNull(sInfoHour)) {
  251. sInfoHour = "12";
  252. }
  253. if(utlf_isNull(sErrHour)) {
  254. sErrHour = "24";
  255. }
  256. var checkDateTime = chosdd.toDate("YYYYMMDDhhmm").getAddDate(parseInt(sErrHour), "h"); // 입원시간 기준 4시간 이후
  257. var nDifferenceSeconde = currentDateTime.getTime() - inDateTime.getTime(); // 초 간격
  258. var nDifferenceHour = Math.floor(nDifferenceSeconde/1000/60/60); // 시간 차이
  259. var nCheckSeconde = 0;
  260. var nCheckHour = 0;
  261. var nCheckMinute = 0;
  262. if ( nDifferenceHour >= parseInt(sInfoHour) && nDifferenceHour < parseInt(sErrHour) && adflag != "E") { // 본원 4시간으로 변경 2016.11.01, 본원 12시간으로 변경 2016.05.02 엄영만
  263. nCheckSeconde = checkDateTime.getTime() - currentDateTime.getTime();
  264. nCheckHour = Math.floor(nCheckSeconde/1000/60/60); // 시간 차이
  265. nCheckMinute = Math.floor((nCheckSeconde/1000/60) % 60); // 분 차이
  266. //경고메시지(20160428 이윤주)
  267. if(sysf_messageBox("응급실 환자에 대해 내원시간 기준 " + sErrHour + "시간이내에 입/퇴원 의사결정을 하셔야 합니다.\n입/퇴원 의사결정까지 " + nCheckHour + "시간 " + nCheckMinute + "분 남았습니다.\n\n입/퇴원 의사결정 하시겠습니까?", "Q999") == "6") {
  268. fIntensionDecision(); // 의사결정 화면 팝업후 종료 처리
  269. return;
  270. }
  271. } else if ( nDifferenceHour >= parseInt(sErrHour) ) {
  272. nCheckSeconde = currentDateTime.getTime() - checkDateTime.getTime();
  273. nCheckHour = Math.floor(nCheckSeconde/1000/60/60); // 시간 차이
  274. nCheckMinute = Math.floor((nCheckSeconde/1000/60) % 60); // 분 차이
  275. if(lf_ContainsHardCD("342", "Y")) { // 342 입퇴원 의사 결정에 따른 처방 블러킹 여부(본원만 블러킹) : 블러킹 처리 2012.12.03 엄영만 => 20160428 이윤주 변경
  276. var bApply = false;
  277. // 20190614 이돈희 : 담당교수 및 담당의만 의사결정 팝업 여부
  278. if((sApplyDoct != "Y") || (utlf_isNull(sApplyDoct)) || (sApplyDoct == "Y" && (sysf_getUserId() == sAtdoctid || sysf_getUserId() == sMedispclid))){
  279. bApply = true;
  280. }
  281. // 20190614 이돈희 : 의사결정 팝업 예외 부서
  282. if((ds_exceptiondeptcd.rowcount > 0) && ds_exceptiondeptcd.findRow("hardcd", sysf_getUserInfo("dutplcecd")) > -1 ){
  283. bApply = false;
  284. }
  285. if(bApply == true){
  286. sysf_messageBox("응급실 환자에 대해 내원시간 기준 " + sErrHour + "시간이내에 입/퇴원 의사결정을 하셔야 합니다.\n\n의사결정이 되지 않을경우 처방 입력이 불가하니 업무에 차질 없도록 협조 부탁 드립니다. -진료처장-\n\n정확한 입/퇴원 의사결정 시간이 " + nCheckHour +"시간 " + nCheckMinute + "분 초과 하였습니다.\n의사결정을 '기타'로 하신경우는 다른항목으로 변경 하셔야 합니다.", "E999");
  287. fIntensionDecision(); // 의사결정 화면 팝업후 종료 처리
  288. return;
  289. }
  290. } else {
  291. if(sysf_messageBox("응급실 환자에 대해 내원시간 기준 " + sErrHour + "시간이내에 입/퇴원 의사결정을 하셔야 합니다.\n정확한 입/퇴원 의사결정 시간이 " + nCheckHour +"시간 " + nCheckMinute + "분 초과 하였습니다.\n의사결정을 '기타'로 하신경우는 다른항목으로 변경 하셔야 합니다.\n\n입/퇴원 의사결정 하시겠습니까?", "Q999") == "6") {
  292. fIntensionDecision(); // 의사결정 화면 팝업후 종료 처리
  293. return;
  294. }
  295. }
  296. }
  297. }
  298. }
  299. // rev.77552 TF와 동기화 E
  300. //CP환자 여부 확인
  301. if(fChkCPPatValid(currow)==false){
  302. return;
  303. }
  304. // 응급환자에 대한 중증체류시간 팝업 띄우는 부분 시작
  305. // 작성일 2010.03.09
  306. // 작성자 김광성(kskim)
  307. // 관련 xrw : SPMMO21300_중증체류시간
  308. var wndobj = frmf_findPopup("SPMMO21300");
  309. var sysMessageobj = frmf_getViewer("sysMessage");
  310. if(utlf_isNull(wndobj)){
  311. if( !utlf_isNull( ds_grd_erpatlist.getColumn(currow, "recovwardnm") ) ){
  312. var SPMMO21300_param = pid+ "▦" + orddd + "▦" + cretno + "▦" + visitno;
  313. sysMessageobj.frmf_setParameter("SPMMO21300_param", SPMMO21300_param);
  314. sysMessageobj.frmf_open("SPMMO21300", "SPMMO21300", null, false, 1, null, null, 1280 - 300, 100, null, null, null, "M");
  315. //sysMessageobj.frmf_findPopup("SPMMO21300"); // SPMMO21300 윈도우를 열고나서 윈도우 객체를 가져옴
  316. }
  317. } else {
  318. if( !utlf_isNull( ds_grd_erpatlist.getColumn(currow, "recovwardnm") ) ){
  319. var SPMMO21300_param = pid+ "▦" + orddd + "▦" + cretno + "▦" + visitno;
  320. sysMessageobj.frmf_setParameter("SPMMO21300_param", SPMMO21300_param);
  321. wndobj.fStartWnd(); // SPMMO21300팝업 화면 데이터 reflash기능을 담당
  322. } else{
  323. wndobj.fCloseWnd();
  324. }
  325. }
  326. // 응급환자에 대한 중증체류시간 팝업 띄우는 부분 끝. kskim
  327. // 진료기록에 수정된 사항이 있을 경우 저장할 것인지 묻는 함수 호출 : 2009. 07. 27 김영학
  328. var mainobj = frmf_getMainViewer();
  329. var mainscrnid = mainobj.frmf_getScreenID(); //메인화면의 기록지 ID
  330. if(mainscrnid == "SMMMR00100"){
  331. var prvIntRecPamInfRtn = mainobj.fPrevInitRecPamInfo();
  332. if(prvIntRecPamInfRtn == false){
  333. return;
  334. }// 기록지에 필수 입력사항을 입력하지 않았을 때 그냥 넘어가 버리는 오류 수정 20100305 LYJ
  335. }
  336. // 상단정보 설정
  337. if(!fReqERPatPamInfo()) { return; }
  338. // 진료기록, 처방화면 연동
  339. var recflag = parent.parent.SMMMO04100_getDSMainCond("recflag");
  340. var inCnclYN = ds_hidden_erincnclinfo.getColumn(0, "incnclyn"); //응급간호 삭제 여부
  341. if (recflag == "Y" || inCnclYN == "Y") { //inCnclYN 조건 추가 (2009.10.26 by JJE)
  342. parent.parent.fOpenPrcpMainWnd("Y");
  343. } else {
  344. parent.parent.fOpenPrcpMainWnd("N");
  345. }
  346. }
  347. /**
  348. * @desc : 응급환자 상단정보 호출
  349. * @
  350. * @param :
  351. * @return :
  352. * @author : 오지훈
  353. * @---------------------------------------------------
  354. */
  355. function fReqERPatPamInfo(){
  356. var iRow = ds_grd_erpatlist.rowposition;
  357. var pid = ds_grd_erpatlist.getColumn(iRow, "pid");
  358. var indd = ds_grd_erpatlist.getColumn(iRow, "indd");
  359. var cretno = ds_grd_erpatlist.getColumn(iRow, "cretno");
  360. var instcd = ds_grd_erpatlist.getColumn(iRow, "instcd");
  361. var srchdd = ds_cond.getColumn(0, "srchdd");
  362. var callvisityn = ds_cond.getColumn(0, "callvisityn"); // 응급실 콜비짓 여부 추가 20100526 LYJ
  363. var param = "E" + "▦" + pid + "▦" + indd + "▦" + cretno + "▦" + instcd + "▦" + srchdd + "▦" + callvisityn ;// 응급실 콜비짓 여부 추가 20100526 LYJ
  364. return appf_initPatientInfo(param);
  365. }
  366. /**
  367. * @desc : 응급실 인턴의사관리
  368. * @
  369. * @param :
  370. * @return :
  371. * @author : 오지훈
  372. * @---------------------------------------------------
  373. */
  374. function fOpenErInternMngt(){
  375. var iRow = ds_grd_erpatlist.rowposition;
  376. if(iRow < 0){
  377. return;
  378. }
  379. var pid = ds_grd_erpatlist.getColumn(iRow, "pid");
  380. var orddd = ds_grd_erpatlist.getColumn(iRow, "indd");
  381. var cretno = ds_grd_erpatlist.getColumn(iRow, "cretno");
  382. var orddeptcd = ds_grd_erpatlist.getColumn(iRow, "orddeptcd");
  383. var param = pid + "▦" + orddd + "▦" + cretno + "▦" + orddeptcd;
  384. frmf_setParameter("SPMMO06300_param", param);
  385. frmf_modal("SPMMO06300", "SPMMO06300", null, null, null, null, null, null, null, null, null, null, "P");
  386. fReqERPatList();
  387. }
  388. /**
  389. * @desc : 그리드 data 엑셀화일로 저장
  390. * @
  391. * @param :
  392. * @return :
  393. * @author : 오지훈
  394. * @---------------------------------------------------
  395. */
  396. function fSaveGridToExcel(){
  397. grdf_exportExcel(grd_erpatlist, "응급환자리스트", "응급");
  398. }
  399. /**
  400. * @desc : 응급실호출 등록 화면 Open
  401. * @
  402. * @param :
  403. * @return :
  404. * @author : 오지훈
  405. * @---------------------------------------------------
  406. */
  407. function fOpenERCallDr(){
  408. var currow = ds_grd_erpatlist.rowposition;
  409. if(currow < 0){
  410. return;
  411. }
  412. var pid = ds_grd_erpatlist.getColumn(currow, "pid");
  413. var orddd = ds_grd_erpatlist.getColumn(currow, "indd");
  414. var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
  415. var visitno = ds_grd_erpatlist.getColumn(currow, "visitno");
  416. var param = pid + "▦" + orddd + "▦" + cretno + "▦" + visitno;
  417. if(ds_calltime.getColumn(0, "hardcd") == "-"){
  418. frmf_setParameter("SPMMO06700_param", param);
  419. frmf_modal("SPMMO06700", "SPMMO06700", null, null, null, null, null, null, null, null, null, null, "M");
  420. }else{
  421. setParameter("SPMMO32000_param", param);
  422. frmf_modal("SPMMO32000", "SPMMO32000", null, null, null, null, null, null, null, null, null, null, "M");
  423. }
  424. fReqERPatList();
  425. }
  426. /**
  427. * @desc : 권역외상센터호출 등록 화면 Open 2013.04.03
  428. * @
  429. * @param :
  430. * @return :
  431. * @author : 김지선
  432. * @---------------------------------------------------
  433. */
  434. function fOpenTRCallDr(){
  435. var currow = ds_grd_erpatlist.rowposition;
  436. if(currow < 0){
  437. return;
  438. }
  439. var pid = ds_grd_erpatlist.getColumn(currow, "pid");
  440. var nm = ds_grd_erpatlist.getColumn(currow, "hngnm");
  441. var orddd = ds_grd_erpatlist.getColumn(currow, "indd");
  442. var intm = ds_grd_erpatlist.getColumn(currow, "intm");
  443. var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
  444. var visitno = ds_grd_erpatlist.getColumn(currow, "visitno");
  445. var param = pid + "▦" + nm + "▦" + orddd + "▦" + intm + "▦" + cretno + "▦" + visitno;
  446. frmf_setParameter("SPMMO08000_param", param);
  447. frmf_modal("SPMMO08000", "SPMMO08000", null, null, null, null, null, null, null, null, null, null, "M");
  448. fReqERPatList();
  449. }
  450. /**
  451. * @desc : 기본구역 조회
  452. * @
  453. * @param :
  454. * @return :
  455. * @author : 오지훈
  456. * @---------------------------------------------------
  457. */
  458. function fReqSectionInfo(){
  459. ds_reqdata.clearData();
  460. ds_reqdata.addRow();
  461. ds_reqdata.setColumn(0, "baseclsflag" , "B");
  462. ds_reqdata.setColumn(0, "supbasetypecd", "BD");
  463. var oParam = {};
  464. oParam.id = "TRMMO04402";
  465. oParam.service = "prcpmngtapp.ErMngt";
  466. oParam.method = "reqGetSectionInfo";
  467. oParam.inds = "req=" + "ds_reqdata";
  468. oParam.outds = "ds_section=section";
  469. oParam.async = true;
  470. oParam.callback = "cf_TRMMO04402";
  471. tranf_submit(oParam);
  472. }
  473. function cf_TRMMO04402(sSvcId, nErrorCode, sErrorMsg) {
  474. if(nErrorCode < 0) return;
  475. frmf_addComboItem("Div00.cmb_section"); //기본구역 전체항목 추가
  476. }
  477. /**
  478. * @desc : 응급환자 정보에 따라 그리드의 row와 cell font color변경
  479. * @
  480. * @param :
  481. * @return :
  482. * @author : 오지훈
  483. * @---------------------------------------------------
  484. */
  485. function fChngColorERPatList_Serdiagflag(serdiagflag) {
  486. var color = "#000000";
  487. if(!utlf_isNull(serdiagflag) && serdiagflag != "-"){
  488. var serdiagval = parseInt(serdiagflag);
  489. switch(serdiagval){
  490. case 1:
  491. color = "#ff0000";
  492. break;
  493. case 2:
  494. color = "#ff6600";
  495. break;
  496. case 3:
  497. color = "#0000ff";
  498. break;
  499. case 4:
  500. color = "#000000";
  501. break;
  502. case 5:
  503. color = "#000000";
  504. break;
  505. }
  506. }
  507. return color;
  508. }
  509. function fChngColorERPatList_Recovwardnm(recovwardnm) {
  510. return (utlf_isNull(recovwardnm)) ? "#000000" : "#ff0000";
  511. }
  512. function fChngColorERPatList_Adrvflag(currow, adrvcolor) {
  513. return (utlf_isNull(adrvcolor)) ? "#000000" : "#ff0000";
  514. }
  515. function fChngGrdCellColor(color){
  516. if(color == undefined || color == "" || color == "ffffff")
  517. color = "default";
  518. else
  519. color = "#" + color;
  520. return color;
  521. }
  522. /**
  523. * @desc : (응급)관심환자등록창 호출
  524. * @
  525. * @param :
  526. * @return :
  527. * @author : 오지훈
  528. * @---------------------------------------------------
  529. */
  530. function fCallWndConcPatRgst(){
  531. var currow = ds_grd_erpatlist.rowposition;
  532. var pid = ds_grd_erpatlist.getColumn(currow, "pid");
  533. var hngnm = ds_grd_erpatlist.getColumn(currow, "hngnm");
  534. var indd = ds_grd_erpatlist.getColumn(currow, "indd");
  535. var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
  536. var instcd = ds_grd_erpatlist.getColumn(currow, "instcd");
  537. var seqno = "";
  538. var param = "I" + "▩" + pid + "▩" + hngnm + "▩" + indd + "▩" + cretno + "▩" + seqno + "▩" + instcd;
  539. frmf_setParameter("param", param);
  540. frmf_open("SPMMO08200", "SPMMO08200", null, null, null, null, null, null, null, null, null, null, "M");
  541. //frmf_modal("SPMMO08200", "SPMMO08200", null, null, null, null, null, null, null, null, null, null, "M");
  542. //fReqERPatList();
  543. }
  544. /**
  545. * @desc : (응급)주의요망환자창 호출
  546. * @
  547. * @param :
  548. * @return :
  549. * @author : 엄영만
  550. * @---------------------------------------------------
  551. */
  552. function fCallWndWarnPat(){
  553. var nCurRow = ds_grd_erpatlist.rowposition;
  554. var sPid = ds_grd_erpatlist.setColumn(nCurRow, "pid");
  555. var sHngnm = ds_grd_erpatlist.setColumn(nCurRow, "hngnm");
  556. frmf_setParameter("SMMMO19100_warncd" , sPid);
  557. frmf_setParameter("SMMMO19100_warnnm" , sHngnm);
  558. frmf_modal("SMMMO19100", "SMMMO19100", null, null, null, null, null, null, null, null, null, null, "M");
  559. frmf_clearParameter("SMMMO19100_warncd");
  560. frmf_clearParameter("SMMMO19100_warnnm");
  561. }
  562. /**
  563. * @desc : CP환자 여부 검사
  564. * @
  565. * @param :
  566. * @return :
  567. * @author : 오지훈
  568. * @---------------------------------------------------
  569. */
  570. function fChkCPPatValid(currow){
  571. fChkErTriagePatList();
  572. var pid = ds_grd_erpatlist.getColumn(currow, "pid");
  573. var orddd = ds_grd_erpatlist.getColumn(currow, "indd");
  574. var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
  575. var cpyn = "";//ds_grd_erpatlist.getColumn(currow, "cpyn"); // 현재 사용안하는 듯(2014.09.03)
  576. var hngnm = ds_grd_erpatlist.getColumn(currow, "hngnm");
  577. var orddeptcd = ds_grd_erpatlist.getColumn(currow, "orddeptcd");
  578. var ioflag = "";//ds_grd_erpatlist.getColumn(currow, "ioflag"); // 현재 사용안하는 듯(2014.09.03)
  579. if(utlf_isNull(orddeptcd)) orddeptcd = ds_cond.getColumn(0, "orddeptcd");
  580. if(utlf_isNull(ioflag)) ioflag = "E";
  581. ds_reqPatValid.clearData();
  582. ds_reqPatValid.addRow();
  583. ds_reqPatValid.setColumn(0, "pid" , pid);
  584. ds_reqPatValid.setColumn(0, "orddd" , orddd);
  585. ds_reqPatValid.setColumn(0, "cretno" , cretno);
  586. ds_reqPatValid.setColumn(0, "hngnm" , hngnm);
  587. ds_reqPatValid.setColumn(0, "prcpgenrflag", ioflag);
  588. ds_reqPatValid.setColumn(0, "srchtabflag" , "E"); //대상자리스트탭 구분
  589. var oParam = {};
  590. oParam.id = "TRMMO04303";
  591. oParam.service = "prcpbaseapp.CpMngt";
  592. oParam.method = "reqGePattValidity";
  593. oParam.inds = "req=" + "ds_reqPatValid";
  594. oParam.outds = "ds_rsltgetdata=getdata";
  595. oParam.async = false;
  596. oParam.callback = "cf_TRMMO04303";
  597. tranf_submit(oParam);
  598. if(arErrorCode.pop("TRMMO04303") >= 0){
  599. if(ds_rsltgetdata.rowcount < 1){ //cp적용환자 tbl에 유효한 데이터가 없는 경우
  600. parent.parent.SMMMO04100_setDSRoot("cpflag", "N");
  601. return true;
  602. } else { //CP적용환자 tbl에 유효한 데이터가 있는 경우
  603. dsf_setDefaultVal(ds_rsltgetdata, "appyn:Y");
  604. var appstat = ds_rsltgetdata.getColumn(0, "appstat");
  605. var cpgnm = ds_rsltgetdata.getColumn(0, "cpgnm");
  606. var cpgappno = ds_rsltgetdata.getColumn(0, "cpgappno");
  607. var msgcnts = ds_rsltgetdata.getColumn(0, "msgcnts");
  608. var msgflag = ds_rsltgetdata.getColumn(0, "msgflag");
  609. var prtlflagcd = ds_rsltgetdata.getColumn(0, "prtlflagcd"); //01:CP,02:CPG
  610. if(appstat == 52){
  611. //case52: 입원장 CP
  612. var rtnval = sysf_messageBox(msgcnts, msgflag);
  613. if(rtnval == 6){
  614. parent.parent.SMMMO04100_setDSRoot("cpflag", "X"); // CP Main open
  615. return true;
  616. } else {
  617. parent.parent.SMMMO04100_setDSRoot("cpflag", "N");
  618. // if(fUpdtCPPatAppStatVal(41) != false && !utlf_isNull(ds_grd_erpatlist.getColumn(currow, "cpyn"))){ //41 : CP 취소
  619. // ds_grd_erpatlist.setColumn(currow, "cpyn", "N");
  620. // return;
  621. // } else {
  622. return false;
  623. // }
  624. }
  625. } else {
  626. if( prtlflagcd == "02" && utlf_isNull(appstat) && msgflag == "P" ){ //모니터링구분:대상자탐색 Case. CPG & 호출flag:Popup(appyn:평가용여부)
  627. //CPG적용대상자 알림 팝업 호출 (2009.05.04)
  628. frmf_setParameter("SMMMO041_hngnm" , hngnm);
  629. frmf_setParameter("SMMMO041_pid" , pid);
  630. frmf_setParameter("SMMMO041_cretno" , cretno);
  631. frmf_setParameter("SMMMO041_orddd" , orddd);
  632. frmf_setParameter("SMMMO041_ordtype" , ioflag);
  633. frmf_setParameter("SMMMO041_orddeptcd" , orddeptcd);
  634. frmf_setParameter("SMMMO041_slipnm" , msgcnts); //cpgno▦cpghistseq▦cpgnm▦slipno▦slipnm▦valusgeyn▦valunm▦guidedocucnts
  635. frmf_setParameter("SMMMO041_cpgmntrflag", appstat); //null, SPMMP03200화면에서 cpgmntrflag(M or S)으로 따짐
  636. frmf_setParameter("SMMMO041_cpgappno" , cpgappno); //적용중인 CP가 존재하면 값이 있음
  637. frmf_setParameter("SMMMO041_cpgnm" , cpgnm); //적용중인 CP가 존재하면 값이 있음
  638. frmf_modal("SPMMP03200", "SPMMP03200", null, null, null, null, null, null, null, null, null, null, "P"); //CP대상자 알람 팝업
  639. // if( cpgappno > 0 && cpgappno != frmf_getParameter("SPMMP032_cpgappno") && !utlf_isNull(ds_grd_erpatlist.getColumn(currow, "cpyn"))){ //진행중인 CP가 있는데 팝업에서 Drop한 경우 CP여부 N으로..
  640. // ds_grd_erpatlist.setColumn(currow, "cpyn", "N");
  641. // }
  642. if( !utlf_isNull(frmf_getParameter("SPMMP032_cpgappno")) && frmf_getParameter("SPMMP032_cpgappno") > 0 ){
  643. parent.parent.SMMMO04100_setDSRoot("cpflag", "Y"); //CPG적용한 경우, MGPS 호출
  644. } else {
  645. parent.parent.SMMMO04100_setDSRoot("cpflag", "N"); //미적용 시 처방 화면 호출
  646. }
  647. frmf_clearParameter("SPMMP032_cpgappno");
  648. frmf_clearParameter("SMMMO041_hngnm");
  649. frmf_clearParameter("SMMMO041_pid");
  650. frmf_clearParameter("SMMMO041_cretno");
  651. frmf_clearParameter("SMMMO041_orddd");
  652. frmf_clearParameter("SMMMO041_ordtype");
  653. frmf_clearParameter("SMMMO041_orddeptcd");
  654. frmf_clearParameter("SMMMO041_slipnm");
  655. frmf_clearParameter("SMMMO041_cpgmntrflag");
  656. frmf_clearParameter("SMMMO041_cpgappno");
  657. frmf_clearParameter("SMMMO041_cpgnm");
  658. return true;
  659. } else {
  660. //case 12 : D0 ~ D1 CP
  661. //그외 case : (10 : 진행중...)
  662. if( !utlf_isNull(msgcnts) && !utlf_isNull(msgflag) ){
  663. //12: D0 처방일과 == 입원일 -> Drop 유도
  664. //그외: 오늘날짜 > CP퇴원예정일 -> Drop 유도
  665. sysf_messageBox(msgcnts, msgflag);
  666. frmf_setParameter("SMMMO043_cpgappno", cpgappno); //drop 팝업에서 인식할 수 있는 param
  667. frmf_setParameter("SMMMO043_drop" , "N"); //drop 팝업에서 인식할 수 있는 param
  668. frmf_modal("SPMMP02300", "SPMMP02300", null, null, null, null, null, null, null, null, null, null, "M");
  669. parent.parent.SMMMO04100_setDSRoot("cpflag", "N");
  670. if( frmf_getParameter("SMMMO043_drop") == "Y" ){
  671. //ds_grd_erpatlist.setColumn(currow, "cpyn", "N");
  672. }else{
  673. return false;
  674. }
  675. frmf_clearParameter("SMMMO043_cpgappno");
  676. frmf_clearParameter("SMMMO043_drop");
  677. return true;
  678. }
  679. parent.parent.SMMMO04100_setDSRoot("cpflag", "Y");
  680. return true;
  681. }
  682. }
  683. }
  684. }
  685. }
  686. function cf_TRMMO04303(sSvcId, nErrorCode, sErrorMsg) {
  687. arErrorCode.push(sSvcId, nErrorCode);
  688. }
  689. /**
  690. * @desc : 응급실의사 호출내역
  691. * @
  692. * @param :
  693. * @return :
  694. * @author :
  695. * @---------------------------------------------------
  696. */
  697. function fOpenErCallDrHist(){
  698. var currow = ds_grd_erpatlist.rowposition;
  699. var pid = ds_grd_erpatlist.getColumn(currow, "pid");
  700. var hngnm = ds_grd_erpatlist.getColumn(currow, "hngnm");
  701. frmf_setParameter("SPMMO06800_pid", pid);
  702. frmf_setParameter("SPMMO06800_hngnm", hngnm);
  703. frmf_open("SPMMO06800", "SPMMO06800", null, null, null, null, null, null, null, null, null, null, "M");
  704. }
  705. /**
  706. * @desc : Visit Time 체크하여 처방창 오픈 유무 결정
  707. * @ 타과나 call time이 없을 경우는 처방창이 열리지만 같은과나 해당의사의 경우
  708. * @ Visit Time이 없을 경우는 처방창이 열리지 않도록 함
  709. * @param :
  710. * @return :
  711. * @author : 김영학
  712. * @---------------------------------------------------
  713. */
  714. function fChkArrivalTime() {
  715. var userdeptcd = sysf_getUserInfo("dutplcecd");
  716. var userid = sysf_getUserId();
  717. var currow = ds_grd_erpatlist.rowposition;
  718. var orddoctid = ds_grd_erpatlist.getColumn(currow, "orddoctid");
  719. var orddeptcd = ds_grd_erpatlist.getColumn(currow, "erorddeptcd");
  720. var erorddeptcd = ds_hardcdno.getColumn(0, "hardcd");
  721. if (userdeptcd != erorddeptcd) { // 응급의학과가 아니면 도착시간이 없으면 처방창을 열지 못하도록 함.
  722. if (userid == orddoctid || userdeptcd == orddeptcd) { // 담당의 아이디 조건에서 과 포함함 : 2009. 07. 04)
  723. var visttm = ds_grd_erpatlist.getColumn(currow, "visttm");
  724. if (visttm =="------") {
  725. return false;
  726. }
  727. }
  728. }
  729. }
  730. /**
  731. * @desc : 진료대상자 리스트 출력
  732. * @param :
  733. * @return :
  734. * @author : 김영학
  735. * @---------------------------------------------------
  736. */
  737. function fPrtPatList() {
  738. if(utlf_isNull(ds_cond.getColumnInfo("orddeptnm"))) ds_cond.addColumn("orddeptnm", "string");
  739. if(utlf_isNull(ds_cond.getColumnInfo("orddrnm"))) ds_cond.addColumn("orddrnm", "string");
  740. if(utlf_isNull(ds_cond.getColumnInfo("sectionnm"))) ds_cond.addColumn("sectionnm", "string");
  741. ds_cond.setColumn(0, "orddeptnm", Div00.cmb_orddept.text);
  742. ds_cond.setColumn(0, "orddrnm", Div00.cmb_atdoctid.text);
  743. ds_cond.setColumn(0, "sectionnm", Div00.cmb_section.text);
  744. var objDOM = rptf_createDOM(); // DOM 객체 설정
  745. rptf_setNodeListToDOM(objDOM, "/root/main/erpatinfo/erpatlist", ds_grd_erpatlist); // 데이터셋 1
  746. rptf_setNodeListToDOM(objDOM, "/root/main/cond", ds_cond); // 데이터셋 2
  747. //sysf_trace(objDOM.documentElement.source); // XML 내용출력
  748. var objParam = new Object();
  749. objParam.xml_data_XML1 = objDOM.documentElement.source; // 최상의노드 XML 스트링 추출
  750. var option = "open=1;save=1;directprint=0;print=1;zoom=0;";
  751. rptf_exeReportPreview30(["RPMMO04104"],[objParam], option);
  752. }
  753. /**
  754. * @desc : 중증응급 (마우스 오른쪽 버튼 이벤트 )
  755. * @param :
  756. * @return :
  757. * @author : 김영학
  758. * @---------------------------------------------------
  759. */
  760. function fErRecoverWardRgst() {
  761. var currow = ds_grd_erpatlist.rowposition;
  762. var pid = ds_grd_erpatlist.getColumn(currow, "pid");
  763. var indd = ds_grd_erpatlist.getColumn(currow, "indd");
  764. var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
  765. var hngnm = ds_grd_erpatlist.getColumn(currow, "hngnm");
  766. var recovwardcd = ds_grd_erpatlist.getColumn(currow, "recovwardcd");
  767. frmf_setParameter("SPMNE04600_pid" , pid);
  768. frmf_setParameter("SPMNE04600_indd" , indd);
  769. frmf_setParameter("SPMNE04600_cretno" , cretno);
  770. frmf_setParameter("SPMNE04600_hngnm" , hngnm);
  771. frmf_setParameter("SPMNE04600_recovwardcd" , recovwardcd);
  772. frmf_modal("SPMNE04600", "SPMNE04600", null, null, null, null, null, null, null, null, null, null, "M"); // 중증응급등록
  773. fReqERPatList(); // 응급대상자 리스트 재조회
  774. }
  775. /**
  776. * @desc : 중증응급 환자조회
  777. * @param :
  778. * @return :
  779. * @author : 엄영만 2015.05.22
  780. * @---------------------------------------------------
  781. */
  782. function fErRecoverWardSrch() {
  783. frmf_open("SPMNE04700", "SPMNE04700", null, null, null, null, null, null, null, null, null, null, "M"); // 중증응급 환자조회
  784. }
  785. /**
  786. * @desc : Triage기록 작성유무
  787. * @param :
  788. * @return :
  789. * @author : 김영학
  790. * @---------------------------------------------------
  791. */
  792. function fChkErTriagePatList() {
  793. var currow = ds_grd_erpatlist.rowposition;
  794. var messageobj = frmf_getViewer("sysMessage");
  795. var pid = ds_grd_erpatlist.getColumn(currow, "pid");
  796. var orddd = ds_grd_erpatlist.getColumn(currow, "indd");
  797. var cretno = ds_grd_erpatlist.getColumn(currow, "cretno")
  798. var sa = ds_grd_erpatlist.getColumn(currow, "sa");
  799. var hngnm = ds_grd_erpatlist.getColumn(currow, "hngnm");
  800. var orddeptcd = ds_grd_erpatlist.getColumn(currow, "orddeptcd");
  801. var orddeptnm = ds_grd_erpatlist.getColumn(currow, "orddeptnm");
  802. var orddrid = ds_grd_erpatlist.getColumn(currow, "orddoctid");
  803. var condparam = sa.split("/");
  804. var sex = condparam[0];
  805. var age = condparam[1];
  806. ds_reqTriage.clearData();
  807. ds_reqTriage.addRow();
  808. ds_reqTriage.setColumn(0, "pid" , pid);
  809. ds_reqTriage.setColumn(0, "orddd" , orddd);
  810. ds_reqTriage.setColumn(0, "cretno" , cretno);
  811. var oParam = {};
  812. oParam.id = "TRMMO04403";
  813. oParam.service = "prcpmngtapp.ErMngt";
  814. oParam.method = "reqGetChkErTriageList";
  815. oParam.inds = "req=" + "ds_reqTriage";
  816. oParam.outds = "ds_pattriagelist=erpatlist";
  817. oParam.async = false;
  818. oParam.callback = "cf_TRMMO04403";
  819. tranf_submit(oParam);
  820. if(arErrorCode.pop("TRMMO04403") >= 0){
  821. var cnts = ds_pattriagelist.getColumn(0, "pid");
  822. if (utlf_isNull(cnts)) {
  823. if (sysf_messageBox ( "Triage 기록이 작성되지 않았습니다. \n 작성하시겠습니까?", "Q" ) == "6" ) {
  824. var param = pid + "▦" + orddd + "▦" + cretno + "▦" + sex + "▦" + age + "▦▦" + hngnm+ "▦" + orddeptcd + "▦" + orddeptnm + "▦" + orddrid;
  825. messageobj.frmf_setParameter("SPMNE04400_param", param); //parameter
  826. curErTriageObj = frmf_findPopup("SPMNE04400"); //활성화된 진료기록 화면 object loading
  827. if (!utlf_isNull(curErTriageObj)) {
  828. curErTriageObj.fInitialize_SPMNE04400();
  829. curErTriageObj.activate();
  830. } else {
  831. messageobj.frmf_open("SPMNE04400", "SPMNE04400", null, false, 2, null, null, 1025, 590, null, null, null, "M");
  832. curErTriageObj = frmf_findPopup("SPMNE04400"); //활성화된 진료기록 화면 object loading
  833. curErTriageObj.activate();
  834. }
  835. } else {
  836. curErTriageObj = frmf_findPopup("SPMNE04400"); //활성화된 진료기록 화면 object loading
  837. if (!utlf_isNull(curErTriageObj)) {
  838. curErTriageObj.button2.onclick.fireEvent(button2, new ClickEventInfo());
  839. }
  840. }
  841. } else {
  842. curErTriageObj = frmf_findPopup("SPMNE04400"); //활성화된 진료기록 화면 object loading
  843. if (!utlf_isNull(curErTriageObj)) {
  844. curErTriageObj.button2.onclick.fireEvent(button2, new ClickEventInfo());
  845. }
  846. }
  847. }
  848. }
  849. function cf_TRMMO04403(sSvcId, nErrorCode, sErrorMsg) {
  850. arErrorCode.push(sSvcId, nErrorCode);
  851. }
  852. /**
  853. * @desc : 간호 TPR 조회
  854. * @
  855. * @param :
  856. * @return :
  857. * @author :박유진 20091102
  858. * @---------------------------------------------------
  859. */
  860. function fCallCareTPRInfo(){
  861. var currow = ds_grd_erpatlist.rowposition;
  862. var pid = ds_grd_erpatlist.getColumn(currow, "pid");
  863. var indd = ds_grd_erpatlist.getColumn(currow, "indd");
  864. var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
  865. var instcd = sysf_getUserInfo("dutplceinstcd");
  866. frmf_setParameter("SMMNR00900_Param", "pid▦indd▦cretno▦instcd▦gbn▩" + pid + "▦" + indd + "▦" + cretno + "▦" + instcd +"▦dr▩");
  867. var curNurTprObj = frmf_findPopup("SMMNR00900"); //활성화된 간호 TPR 화면 object loading
  868. if(!utlf_isNull(curNurTprObj)){ //간호 TPR 화면 refresh
  869. curNurTprObj.fInitialize("init");
  870. curNurTprObj.fInitViewer();
  871. curNurTprObj.lf_emrSetTimer();
  872. } else {
  873. frmf_open("SMMNR00900", "SMMNR00900", null, null, null, null, null, null, null, null, null, null, "M");
  874. }
  875. }
  876. /**
  877. * @desc : 전공의 등록
  878. * @
  879. * @param :
  880. * @event : 팝업창 내 환자 적용 EVENT
  881. * @return :
  882. * @author : 오지훈
  883. * @---------------------------------------------------
  884. */
  885. function fRgstCnclAtDoct(){
  886. var mypatinfo = "";
  887. var currow = ds_grd_erpatlist.rowposition;
  888. var orddeptcd = ds_grd_erpatlist.getColumn(currow, "orddeptcd");
  889. var userdeptcd = sysf_getUserInfo("dutplcecd");
  890. if (orddeptcd != userdeptcd) {
  891. sysf_messageBox("환자의 진료과가 다르면 담당의 적용을 할 수 없습니다.", "I");
  892. return;
  893. }
  894. var totrow = ds_grd_erpatlist.rowcount;
  895. for(var currow = 0; currow < totrow ; currow++){
  896. if(ds_grd_erpatlist.getSelect(currow)){
  897. var pid = ds_grd_erpatlist.getColumn(currow, "pid");
  898. var indd = ds_grd_erpatlist.getColumn(currow, "indd");
  899. var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
  900. var seqno = "";//ds_grd_erpatlist.getColumn(currow, "seqno");
  901. var tmpstr = "▦" + pid +
  902. "▦" + indd +
  903. "▦" + cretno +
  904. "▦" + seqno +
  905. "▦" + orddeptcd +
  906. "▩";
  907. mypatinfo += tmpstr;
  908. }
  909. }
  910. frmf_setParameter("apntflag" , "atdoct"); //화면 적용 구분을 전공의 등록으로 적용
  911. frmf_setParameter("mypatinfo", mypatinfo);
  912. frmf_modal("SPMMO16200", "SPMMO16200", null, null, null, null, null, null, null, null, null, null, "P");
  913. fReqERPatList();
  914. }
  915. /**
  916. * @desc : 응급환자 의사결정
  917. * @
  918. * @param :
  919. * @return :
  920. * @author :
  921. * @---------------------------------------------------
  922. */
  923. function fIntensionDecision(){
  924. var currow = ds_grd_erpatlist.rowposition;
  925. var pid = ds_grd_erpatlist.getColumn(currow, "pid");
  926. var hngnm = ds_grd_erpatlist.getColumn(currow, "hngnm");
  927. var indd = ds_grd_erpatlist.getColumn(currow, "indd");
  928. var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
  929. var instcd = sysf_getUserInfo("dutplceinstcd");
  930. frmf_setParameter("SSPMMO26000_Param", pid + "▦" + hngnm + "▦" + indd + "▦" + cretno + "▦" + instcd);
  931. frmf_modal("SPMMO26000", "SPMMO26000", null, null, null, null, null, null, null, null, null, null, "P");
  932. fReqERPatList();
  933. }
  934. /**
  935. * @desc : 빈병상 현황
  936. * @
  937. * @param :
  938. * @return :
  939. * @author :
  940. * @---------------------------------------------------
  941. */
  942. function fEmptyBedCheck(){
  943. frmf_setParameter("SMPMI00100_MENUPARAM", "A");
  944. frmf_modal("SPPMI02001", "SPPMI02001", null, null, null, null, null, null, null, null, null, null, "M");
  945. }
  946. /**
  947. * @desc : 입원의뢰서
  948. * @
  949. * @param :
  950. * @return :
  951. * @author :
  952. * @---------------------------------------------------
  953. */
  954. function fEnterHosReq(){
  955. var currow = ds_grd_erpatlist.rowposition;
  956. var pid = ds_grd_erpatlist.getColumn(currow, "pid");
  957. frmf_setParameter("SPMMO00100_pid", pid);
  958. //20190125 이돈희 : 입원의뢰서의 진단 조회를 위하여 수진키 넘겨줌
  959. frmf_setParameter("SPMMO00100_indd", ds_grd_erpatlist.getColumn(currow, "indd")); //입원일
  960. frmf_setParameter("SPMMO00100_incretno", ds_grd_erpatlist.getColumn(currow, "cretno")); //원무키
  961. frmf_setParameter("SPMMO00100_erreglyn", "E"); //응급 플래그
  962. frmf_setParameter("opener_id", "SMMMO04400"); //20190129 설승민 선생님 요청으로 opener_id 추가
  963. frmf_modal("SPMMO00100", "SPMMO00100", null, null, null, null, null, null, null, null, null, null, "M");
  964. if(!utlf_isNull(this.objects["ds_temp"])) {
  965. var rtn = ds_temp.getColumn(0, "SPMMO00100_rtn");
  966. if(rtn=="true"){ //입원결정서가 성공적으로 저장됐을시 리스트의 내용을 갱신해준다.
  967. Div00.btn_req.onclick.fireEvent(Div00.btn_req, new ClickEventInfo());
  968. }
  969. }
  970. }
  971. /**
  972. * @desc : 안전사고 보고
  973. * @param :
  974. * @return :
  975. * @author : 엄영만
  976. * @---------------------------------------------------
  977. */
  978. function fPatQi(){
  979. var currow = ds_grd_erpatlist.rowposition;
  980. var pid = ds_grd_erpatlist.getColumn(currow, "pid");
  981. var orddd = ds_grd_erpatlist.getColumn(currow, "indd");
  982. var cretno = ds_grd_erpatlist.getColumn(currow, "cretno");
  983. var ordtype = "E";
  984. var oprsrvno = "";
  985. frmf_setParameter("SMMQR00100_PARAM2", pid + "▦" + orddd + "▦" + cretno + "▦" + ordtype+"▦" + oprsrvno);
  986. frmf_modal("SMMQR00100", "SMMQR00100", null, null, null, null, null, null, null, null, null, null, "M");
  987. }
  988. /**
  989. * @desc : 중증 의사 당직 관리
  990. * @
  991. * @param :
  992. * @return :
  993. * @author : 김영학
  994. * @---------------------------------------------------
  995. */
  996. function fOpenNurseERDrScheDrList() {
  997. frmf_modal("SMMNE05100", "SMMNE05100", null, null, null, null, null, null, null, null, null, null, "P"); //modal("SMMNE05100");
  998. }
  999. /**
  1000. * @desc : 중증 의사 호출
  1001. * @
  1002. * @param :
  1003. * @return :
  1004. * @author : 김영학
  1005. * @---------------------------------------------------
  1006. */
  1007. function fOpenNurseERCallDr() {
  1008. var currow = ds_grd_erpatlist.rowposition; //grd_erpatlist.row;
  1009. var pid = ds_grd_erpatlist.getColumn(currow, "pid"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/pid");
  1010. var orddd = ds_grd_erpatlist.getColumn(currow, "indd"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/indd");
  1011. var cretno = ds_grd_erpatlist.getColumn(currow, "cretno"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/cretno")
  1012. var visitno = ds_grd_erpatlist.getColumn(currow, "visitno"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/visitno")
  1013. var param = pid + "▦" + orddd + "▦" + cretno + "▦" + visitno;
  1014. frmf_setParameter("SMMNE05200_param", param);
  1015. frmf_modal("SMMNE05200", "SMMNE05200", null, null, null, null, null, null, null, null, null, null, "M"); //modal("SMMNE05200");
  1016. fReqERPatList();
  1017. }
  1018. /**
  1019. * @desc : 호출 의사 사용자 관리
  1020. * @
  1021. * @param :
  1022. * @return :
  1023. * @author : 김영학
  1024. * @---------------------------------------------------
  1025. */
  1026. function fOpenDrList() {
  1027. var bpcallyn = ds_bpcallyn.getColumn(0, "hardcd"); //model.getValue("/root/init/bpcallyn/hardcd/hardcd");
  1028. if ( !utlf_isNull(bpcallyn) && bpcallyn == "Y") {
  1029. frmf_setParameter("SMMNE05000_bpcallyn", "Y");
  1030. frmf_setParameter("SMMNE05000_param", "Y^Y^Y^Y^Y^Y^Y");
  1031. } else {
  1032. frmf_setParameter("SMMNE05000_bpcallyn", "N");
  1033. frmf_setParameter("SMMNE05000_param", "Y^Y^Y^Y^N^Y^Y");
  1034. }
  1035. frmf_modal("SMMNE05000", "SMMNE05000", null, null, null, null, null, null, null, null, null, null, "M"); //modal("SMMNE05000");
  1036. }
  1037. /**
  1038. * @desc : 의사 스케쥴등록
  1039. * @
  1040. * @param :
  1041. * @return :
  1042. * @author :박유진
  1043. * @---------------------------------------------------
  1044. */
  1045. function fSaveErCallVisit(){
  1046. frmf_open("SPMMO30000", "SPMMO30000", null, null, null, null, null, null, null, null, null, null, "M"); //open("SPMMO30000");
  1047. }
  1048. /**
  1049. * @desc : 응급실호출 등록 화면 Open
  1050. * @
  1051. * @param :
  1052. * @return :
  1053. * @author : 오지훈
  1054. * @---------------------------------------------------
  1055. */
  1056. function fOpenDrCallDeaction(){
  1057. var currow = ds_grd_erpatlist.rowposition; //grd_erpatlist.row;
  1058. if( currow < 0 ){
  1059. return;
  1060. }
  1061. var pid = ds_grd_erpatlist.getColumn(currow, "pid"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/pid");
  1062. var orddd = ds_grd_erpatlist.getColumn(currow, "indd"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/indd");
  1063. var cretno = ds_grd_erpatlist.getColumn(currow, "cretno"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/cretno")
  1064. var visitno = ds_grd_erpatlist.getColumn(currow, "visitno"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/visitno")
  1065. var param = pid + "▦" + orddd + "▦" + cretno + "▦" + visitno;
  1066. frmf_setParameter("SPMMO32300_param", param);
  1067. frmf_modal("SPMMO32300", "SPMMO32300", null, null, null, null, null, null, null, null, null, null, "M"); //modal("SPMMO32300");
  1068. fReqERPatList();
  1069. }
  1070. /**
  1071. * @desc : 응급실호출 내역추가 화면 Open
  1072. * @
  1073. * @param :
  1074. * @return :
  1075. * @author : 김소정
  1076. * @---------------------------------------------------
  1077. */
  1078. function fOpenDrCallAddition(){
  1079. var currow = grd_erpatlist.row;
  1080. if(currow < 0){
  1081. return;
  1082. }
  1083. var pid = ds_grd_erpatlist.getColumn(currow, "pid"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/pid");
  1084. var orddd = ds_grd_erpatlist.getColumn(currow, "indd"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/indd");
  1085. var cretno = ds_grd_erpatlist.getColumn(currow, "cretno"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/cretno")
  1086. var visitno = ds_grd_erpatlist.getColumn(currow, "visitno"); //model.getValue(sERPATLIST_PATH + "[" + currow + "]/visitno")
  1087. var param = pid + "▦" + orddd + "▦" + cretno + "▦" + visitno;
  1088. frmf_setParameter("SPMMO32400_param", param);
  1089. frmf_modal("SPMMO32400", "SPMMO32400", null, null, null, null, null, null, null, null, null, null, "M"); //modal("SPMMO32400");
  1090. fReqERPatList();
  1091. }
  1092. /**
  1093. * @desc : 환자라벨출력
  1094. * @param :
  1095. * @return :
  1096. * @author : 엄영만
  1097. * @---------------------------------------------------
  1098. */
  1099. function fPrintPatLabel(){
  1100. var currow = ds_grd_erpatlist.rowposition;
  1101. var pid = ds_grd_erpatlist.getColumn(currow, "pid");
  1102. var patnm = ds_grd_erpatlist.getColumn(currow, "hngnm");
  1103. var sexage = ds_grd_erpatlist.getColumn(currow, "sa");
  1104. frmf_setParameter("SMMMB00100_scrnid" , "SMMMO04100");
  1105. frmf_setParameter("SMMMB00100_pid" , pid);
  1106. frmf_setParameter("SMMMB00100_patnm" , patnm);
  1107. frmf_setParameter("SMMMB00100_sexage" , sexage);
  1108. frmf_modal("SMMMB00100", "SMMMB00100", null, null, null, null, null, null, null, null, null, null, "M");
  1109. }
  1110. function fSendSmsErPat(){
  1111. fSendSmsPatList(grd_erpatlist, ds_grd_erpatlist);
  1112. }
  1113. //20190802 이돈희 : 기록 작성유무 체크
  1114. function lf_RptmRecExist(formcd){
  1115. dsf_createDsRow("ds_cond_rptmform", [{col:"formcd", type:"STRING", size:256, val:formcd}
  1116. , {col:"instcd", type:"STRING", size:256, val:sysf_getUserInfo("dutplceinstcd")}
  1117. , {col:"pid" , type:"STRING", size:256, val:ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "pid")}
  1118. , {col:"orddd" , type:"STRING", size:256, val:ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "indd")}
  1119. , {col:"cretno", type:"STRING", size:256, val:ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "cretno")}]);
  1120. dsf_createDs("ds_data_rptmform", [{col:"formseqno", type:"BIGDECIMAL", size:256}
  1121. , {col:"espiseq", type:"STRING", size:256}]);
  1122. var oParam = {};
  1123. oParam.id = "TRMMO04404";
  1124. oParam.service = "prcpmngtapp.ErMngt";
  1125. oParam.method = "reqGetRptmFormSeqno";
  1126. oParam.inds = "reqdata=ds_cond_rptmform";
  1127. oParam.outds = "ds_data_rptmform=opanstform";
  1128. oParam.async = false;
  1129. oParam.callback = "cf_TRMMO04404";
  1130. tranf_submit(oParam);
  1131. dsf_deleteDs("ds_cond_rptmform");
  1132. if(arErrorCode.pop("TRMMO04404") < 0 )
  1133. return false;
  1134. if( ds_data_rptmform.rowcount == 0
  1135. || (utlf_isNull(ds_data_rptmform.getColumn(0, "formseqno")) || ds_data_rptmform.getColumn(0, "formseqno") == "0"))
  1136. return false;
  1137. return true;
  1138. }
  1139. function cf_TRMMO04404(sSvcId, nErrorCode, sErrorMsg) {
  1140. arErrorCode.push(sSvcId, nErrorCode);
  1141. }
  1142. //20190802 이돈희 : KTAS 선택 시
  1143. function fERSpecialistDirectTreatmentPopup(srcformcd)
  1144. {
  1145. //20200107 이돈희 : 칠곡 응급실 전문의 직접 진찰료 수가코드 종료로 진료공통코드 대신에 srcformcd로 기록지 조회
  1146. // : formcd로 현재 사용 가능한 formcd 조회
  1147. var formcd = "";
  1148. ds_send_formcd.setColumn(0, "formcd", srcformcd);
  1149. ds_send_formcd.setColumn(0, "srchdt", ds_cond.getColumn(0, "srchdd") + utlf_getCurrentTime());
  1150. var oParam = {};
  1151. oParam.id = "TRMMO04405";
  1152. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  1153. oParam.method = "reqGetLastestFormcd";
  1154. oParam.inds = "req=ds_send_formcd";
  1155. oParam.outds = "ds_result_formcd=result";
  1156. oParam.async = false;
  1157. tranf_submit(oParam);
  1158. if(ds_result_formcd.rowcount > 0){
  1159. formcd = ds_result_formcd.getColumn(0, "formcd");
  1160. } else {
  1161. sysf_messageBox("유효한 전문의 직접 진료 KTAS 서식이 존재하지 않습니다.(문의 6598)", "E");
  1162. return;
  1163. }
  1164. // 기록 작성유무 체크
  1165. lf_RptmRecExist(formcd);
  1166. var formseqno = ds_data_rptmform.getColumn(0,"formseqno"); // 기록키
  1167. var espiseq = ds_data_rptmform.getColumn(0,"espiseq"); //인증키
  1168. var vFormcd = "";
  1169. var vFormKind = "";
  1170. if(formseqno == "0" || utlf_isNull(formseqno)){
  1171. vFormcd = formcd;
  1172. vFormKind = "new";
  1173. }else{
  1174. vFormcd = formseqno;
  1175. vFormKind = "rec";
  1176. //sysf_messageBox("작성 된 서식이 있으므로 업로드를 할 수 없습니다.");
  1177. //return;
  1178. }
  1179. var pid = ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "pid");
  1180. var orddd = ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "indd");
  1181. var cretno = ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "cretno");
  1182. var orddeptcd = ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "orddeptcd");
  1183. var ioflag = "I";
  1184. var orddrid = ds_grd_erpatlist.getColumn(ds_grd_erpatlist.rowposition, "medispclid");
  1185. var instcd = sysf_getUserInfo("dutplceinstcd");
  1186. var param = ioflag + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd ;
  1187. var objArg = new Object();
  1188. ds_cond_formdata.clearData();
  1189. ds_cond_formdata.addRow();
  1190. ds_cond_formdata.setColumn(0, "formcd", vFormcd);
  1191. ds_cond_formdata.setColumn(0, "formkind", vFormKind);
  1192. ds_cond_formdata.setColumn(0, "btnvisible", true);
  1193. ds_cond_formdata.setColumn(0, "pid", pid);
  1194. ds_cond_formdata.setColumn(0, "orddd", orddd);
  1195. ds_cond_formdata.setColumn(0, "cretno", cretno);
  1196. ds_cond_formdata.setColumn(0, "modalyn", "Y");
  1197. ds_cond_formdata.setColumn(0, "topyn", "N");
  1198. ds_cond_formdata.setColumn(0, "orddeptcd", orddeptcd);
  1199. ds_cond_formdata.setColumn(0, "ioflag", ioflag);
  1200. ds_cond_formdata.setColumn(0, "orddrid", orddrid);
  1201. ds_cond_formdata.setColumn(0, "paminfo", param);
  1202. objArg.ds_cond_formdata = ds_cond_formdata;
  1203. lf_loadSMMMR01100(true, objArg);
  1204. }
  1205. //20200212 이돈희 : 응급 환자 선택후 진행 가능여부 체크 및 메세지 창 팝업
  1206. function fCheckBfSelectErPat() {
  1207. var bRtn = true;
  1208. var currow = ds_grd_erpatlist.rowposition;
  1209. if( sysf_getGlobalVariable("able_sel_patlist", "M") == "N" ) { // 환자 선택 가능 여부 체크 2012.09.03 엄영만
  1210. sysf_messageBox("현재 로그인한 '"+ sysf_getUserInfo("dutplcenm") +"' 부서는 기록저장 및 처방발행이 불가능한 부서 입니다.\n\n다시 로그인 후 진행 하십시오.","E");
  1211. return false;
  1212. }
  1213. dsf_createDsRow("ds_TRMMO04406", [{col:"pid", type:"string", size:256, val:ds_grd_erpatlist.getColumn(currow, "pid")}
  1214. ,{col:"orddd", type:"string", size:256, val:ds_grd_erpatlist.getColumn(currow, "indd")}
  1215. ,{col:"cretno", type:"string", size:256, val:ds_grd_erpatlist.getColumn(currow, "cretno")}]);
  1216. var oParam = {};
  1217. oParam.id = "TRMMO04406";
  1218. oParam.service = "prcpmngtapp.EtcPrcpMngt";
  1219. oParam.method = "reqGetCheckBfSelectErPat";
  1220. oParam.inds = "req=ds_TRMMO04406";
  1221. oParam.outds = "ds_bfselecterpat=bfselecterpat";
  1222. oParam.async = false;
  1223. bRtn = tranf_submit(oParam);
  1224. return bRtn;
  1225. }]]></Script>