SMMMO00200.xjs 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/**
  3. * @desc : 화면초기화
  4. * @
  5. * @param :
  6. * @return :
  7. * @author : 문세희
  8. * @---------------------------------------------------
  9. */
  10. function fInitAfSignScrn(){
  11. var admininfo = ds_root.getColumn(0, "admininfo"); //model.getValue ( "/root/admininfo" );
  12. var pid = "";
  13. var orddd = "";
  14. var cretno = "";
  15. var instcd = "";
  16. var ioflag = "";
  17. var issdept = "";
  18. var indschacptstat = "";
  19. var dschdd = "";
  20. //PRN 적용여부를 실시간으로 가져와서 체크한다. 2010-01-02 by LYJ
  21. lf_reqHardCodeInfo(ds_hidden_prnprcpyninfo, "173");
  22. ds_save_saveflaginfo.setColumn(0, "prnprcpyninfo", ds_hidden_prnprcpyninfo.getColumn(0, "hardcd")); //model.makeValue( "/root/save/saveflaginfo/prnprcpyninfo", model.getValue("/root/hidden/prnprcpyninfo/hardcd/hardcd") );
  23. pid = opener.frmf_getParameter ( "SMMMO00200_pid" );
  24. if (!utlf_isNull ( pid )) {
  25. orddd = opener.frmf_getParameter ( "SMMMO00200_orddd");
  26. cretno = opener.frmf_getParameter ( "SMMMO00200_cretno");
  27. instcd = opener.frmf_getParameter ( "SMMMO00200_instcd");
  28. ioflag = opener.frmf_getParameter ( "SMMMO00200_ioflag");
  29. issdept = opener.frmf_getParameter ( "SMMMO00200_issdept");
  30. } else {
  31. var pamInfoCvs = sysf_getGlobalVariable("paminfo"); //상단정보가 있을 경우는 검색
  32. var patFlagCvs = sysf_getGlobalVariable("patflag");
  33. var pid = "";
  34. if(!utlf_isNull(pamInfoCvs)){
  35. ds_paminfo.clearData(); //model.removeNodeSet ( "/root/paminfo/list" );
  36. ds_patflag.clearData(); //model.removeNodeSet ( "/root/patflag/list" );
  37. dsf_setCSVToDs("ds_paminfo", pamInfoCvs); //setCSVToNode ( "/root/paminfo", pamInfoCvs );
  38. dsf_setCSVToDs("ds_patflag", patFlagCvs); //setCSVToNode ( "/root/patflag" , patFlagCvs );
  39. pid = ds_paminfo.getColumn(0, "pid"); //model.getValue ( "/root/paminfo/list/pid" );
  40. ioflag = ds_paminfo.getColumn(0, "ioflag"); //model.getValue ( "/root/paminfo/list/ioflag" );
  41. if ( ioflag == "O" || ioflag == "S") {
  42. orddd = ds_paminfo.getColumn(0, "orddd"); //model.getValue ( "/root/paminfo/list/orddd" );
  43. } else {
  44. orddd = ds_paminfo.getColumn(0, "indd"); //model.getValue ( "/root/paminfo/list/indd" );
  45. }
  46. cretno = ds_paminfo.getColumn(0, "cretno"); //model.getValue ( "/root/paminfo/list/cretno" );
  47. instcd = ds_paminfo.getColumn(0, "instcd"); //model.getValue ( "/root/paminfo/list/instcd");
  48. }
  49. ds_init.setColumn(0, "srchcond2", pid);
  50. ds_init.setColumn(0, "srchcond3", ds_paminfo.getColumn(0, "hngnm"));
  51. ds_init.setColumn(0, "orddd", orddd);
  52. ds_init.setColumn(0, "orddeptnm", ds_paminfo.getColumn(0, "orddeptnm"));
  53. ds_init.setColumn(0, "wardcd", ds_paminfo.getColumn(0, "wardcd"));
  54. }
  55. if ( !utlf_isNull ( pid )) {
  56. ds_send.setColumn(0, "cond1", "1");
  57. ds_send.setColumn(0, "cond2", pid);
  58. ds_send.setColumn(0, "cond3", instcd);
  59. ds_send.setColumn(0, "cond4", "Y");
  60. ds_send.setColumn(0, "cond5", "N");
  61. ds_send.setColumn(0, "cond6", ioflag);
  62. ds_send.setColumn(0, "cond7", pid);
  63. ds_send.setColumn(0, "cond8", orddd);
  64. ds_send.setColumn(0, "cond9", cretno);
  65. ds_init.setColumn(0, "srchcond2", pid); //model.setValue("/root/init/srchcond2", pid);
  66. var oParam = {};
  67. oParam.id = "TRMMO00200";
  68. oParam.service = "prcpmngtapp.PrcpMngt";
  69. oParam.method = "reqGetComnPatOrdInfo";
  70. oParam.inds = "req=ds_send";
  71. oParam.outds = "ds_patordinfolist=patordinfolist";
  72. oParam.async = false;
  73. oParam.callback = "cf_TRMMO00200";
  74. tranf_submit(oParam);
  75. //var srcNodeList = model.instances(0).selectNodes("/root/patordinfo/patordinfolist");
  76. var patordinfolistCnt = ds_patordinfolist.rowcount;
  77. var currentDate = utlf_getCurrentDate();
  78. ds_formerkey.setColumn(0 , "pseuacptflag", "N"); //model.setValue("/root/formerkey/pseuacptflag", "N");
  79. if ( patordinfolistCnt < 1) {
  80. ds_init.setColumn(0 , "srchcond1", "1"); //model.setValue ("/root/init/srchcond1", "1" );
  81. ds_init.setColumn(0, "srchcond2", pid); //model.setValue ("/root/init/srchcond2", pid);
  82. ds_init.setColumn(0, "srchcond5", utlf_getCurrentDate().toDate().getAddDate(-12,"M").getDateFormat()); // 12달전
  83. fAfSignPatSrch();
  84. } else if ( patordinfolistCnt == 1 ) { //값이 한개면 바로 화면에 보여준다.
  85. var pid = ds_patordinfolist.getColumn(0, "pid"); //model.getValue("/root/patordinfo/patordinfolist/pid" );
  86. var orddd = ds_patordinfolist.getColumn(0, "orddd"); //model.getValue("/root/patordinfo/patordinfolist/orddd" );
  87. var cretno = ds_patordinfolist.getColumn(0, "cretno"); //model.getValue("/root/patordinfo/patordinfolist/cretno" );
  88. var instcd = ds_patordinfolist.getColumn(0, "instcd"); //model.getValue("/root/patordinfo/patordinfolist/instcd" );
  89. var ioflag = ds_patordinfolist.getColumn(0, "ioflag"); //model.getValue("/root/patordinfo/patordinfolist/ioflag" );
  90. var orddeptcd = ds_patordinfolist.getColumn(0, "orddeptcd");//model.getValue("/root/patordinfo/patordinfolist/orddeptcd" );
  91. var orddrid = ds_patordinfolist.getColumn(0, "orddrid"); //model.getValue("/root/patordinfo/patordinfolist/orddrid" );
  92. var insukind = ds_patordinfolist.getColumn(0, "insukindcd");//model.getValue("/root/patordinfo/patordinfolist/insukindcd" );
  93. var suppkind = ds_patordinfolist.getColumn(0, "suppkind"); //model.getValue("/root/patordinfo/patordinfolist/suppkind" );
  94. var drvalidyn = ds_patordinfolist.getColumn(0, "drvalidyn"); //model.getValue("/root/patordinfo/patordinfolist/drvalidyn" );
  95. indschacptstat = ds_patordinfolist.getColumn(0, "indschacptstat"); //model.getValue("/root/patordinfo/patordinfolist/indschacptstat" );
  96. dschdd = ds_patordinfolist.getColumn(0, "dschdd"); //model.getValue("/root/patordinfo/patordinfolist/dschdd" );
  97. if ( drvalidyn == "N" || drvalidyn == "H") { // 퇴직이나 출장 중이면
  98. ds_init.setColumn(0, "srchcond1", "1"); //model.setValue ("/root/init/srchcond1", "1" );
  99. ds_init.setColumn(0, "srchcond2", pid); //model.setValue ("/root/init/srchcond2", pid);
  100. ds_init.setColumn(0, "srchcond5", utlf_getCurrentDate().toDate().getAddDate(-12,"M").getDateFormat()); // 12달전
  101. fAfSignPatSrch();
  102. } else if ( "T" == indschacptstat && admininfo.substring( 0, 1 ) == "Y") {
  103. ds_init.setColumn(0, "srchcond1", "1"); //model.setValue ("/root/init/srchcond1", "1" );
  104. ds_init.setColumn(0, "srchcond2", pid); //model.setValue ("/root/init/srchcond2", pid);
  105. ds_init.setColumn(0, "srchcond5", utlf_getCurrentDate().toDate().getAddDate(-12,"M").getDateFormat()); // 12달전
  106. fAfSignPatSrch();
  107. } else {
  108. // 진료일과 현재일이 다른 경우 가접수 후 데이타 셋팅
  109. if ( currentDate != orddd && ( ioflag == "O" || ioflag == "S" )) {
  110. // 진단명 조회를 위한 구 키 셋팅
  111. ds_formerkey.setColumn(0, "pid", pid); //model.setValue("/root/formerkey/pid", pid);
  112. ds_formerkey.setColumn(0, "orddd_old", orddd); //model.setValue("/root/formerkey/orddd_old", orddd);
  113. ds_formerkey.setColumn(0, "cretno_old", cretno); //model.setValue("/root/formerkey/cretno_old", cretno);
  114. ds_formerkey.setColumn(0, "instcd", instcd); //model.setValue("/root/formerkey/instcd", instcd);
  115. ds_formerkey.setColumn(0, "genrflagcd_old", ioflag); //model.setValue("/root/formerkey/genrflagcd_old", ioflag);
  116. ds_formerkey.setColumn(0, "pseuacptflag", "Y"); //model.setValue("/root/formerkey/pseuacptflag", "Y");
  117. var returnkey = fSetAssumAccept(pid, orddd, cretno, "O", orddeptcd, orddrid); // 여기서
  118. if (returnkey == false) return ;
  119. pid = ds_execpatordinfolist.getColumn(0, "otpt_pid"); //model.getValue("/root/execpatordinfo/execpatordinfolist/otpt_pid" );
  120. orddd = ds_execpatordinfolist.getColumn(0, "otpt_orddd"); //model.getValue("/root/execpatordinfo/execpatordinfolist/otpt_orddd" );
  121. cretno = ds_execpatordinfolist.getColumn(0, "otpt_cretno"); //model.getValue("/root/execpatordinfo/execpatordinfolist/otpt_cretno" );
  122. ds_formerkey.setColumn(0, "orddd", orddd); // model.setValue("/root/formerkey/orddd", orddd);
  123. ds_formerkey.setColumn(0, "cretno", cretno); // model.setValue("/root/formerkey/cretno", cretno);
  124. ds_formerkey.setColumn(0, "genrflagcd", ioflag); // model.setValue("/root/formerkey/genrflagcd", ioflag);
  125. } else if ( (ioflag == "I" || ioflag == "D" || ioflag == "E") && indschacptstat == "D" ) {
  126. // 진단명 조회를 위한 구 키 셋팅
  127. ds_formerkey.setColumn(0, "pid", pid); // model.setValue("/root/formerkey/pid", pid);
  128. ds_formerkey.setColumn(0, "orddd_old", orddd); // model.setValue("/root/formerkey/orddd_old", orddd);
  129. ds_formerkey.setColumn(0, "cretno_old", cretno); // model.setValue("/root/formerkey/cretno_old", cretno);
  130. ds_formerkey.setColumn(0, "instcd", instcd); // model.setValue("/root/formerkey/instcd", instcd);
  131. ds_formerkey.setColumn(0, "genrflagcd_old", ioflag);// model.setValue("/root/formerkey/genrflagcd_old", ioflag);
  132. ds_formerkey.setColumn(0, "pseuacptflag", "Y"); // model.setValue("/root/formerkey/pseuacptflag", "Y");
  133. var returnkey = fSetAssumAccept(pid, orddd, cretno, "I", orddeptcd, orddrid, insukind, suppkind );
  134. if (returnkey == false) return ;
  135. pid = ds_followup.getColumn(0, "otpt_pid"); //model.getValue ( "/root/followup/followup/otpt_pid" );
  136. orddd = ds_followup.getColumn(0, "otpt_orddd"); //model.getValue ( "/root/followup/followup/otpt_orddd" );
  137. cretno = ds_followup.getColumn(0, "otpt_cretno"); //model.getValue ( "/root/followup/followup/otpt_cretno" );
  138. ioflag = "O" ; // 강제로 외래 셋팅
  139. ds_patordinfolist.setColumn(0, "ioflag", ioflag); //model.setValue( "/root/patordinfo/patordinfolist/ioflag", ioflag);
  140. ds_formerkey.setColumn(0, "orddd", orddd); // model.setValue("/root/formerkey/orddd", orddd);
  141. ds_formerkey.setColumn(0, "cretno", cretno); // model.setValue("/root/formerkey/cretno", cretno);
  142. ds_formerkey.setColumn(0, "genrflagcd", ioflag); // model.setValue("/root/formerkey/genrflagcd", ioflag);
  143. }
  144. fAddPrcpInitConDone( pid, orddd, cretno, instcd, ioflag , "N", dschdd );
  145. }
  146. } else if ( patordinfolistCnt >= 1 ) { //값이 한개이상이면 팝업을 띄운다.
  147. var xpt = this.getOwnerFrame().position.x + 50;
  148. var ypt = this.getOwnerFrame().position.y + 80;
  149. var mon = sysf_getCurrentMonitorNumber();
  150. var objArg = new Object();
  151. objArg.arg_ds_patordinfolist = ds_patordinfolist;
  152. frmf_modal("SPMMO09100","SPMMO09100",objArg,null,mon,xpt,ypt,null,null,null,null,null,"M");
  153. // var coord = getRelativeCoordinate ( xpt, ypt );
  154. // var mon = coord[0];
  155. // xpt = coord[1];
  156. // ypt = coord[2];
  157. // modal ( "SPMMO09100", mon, xpt, ypt, "patordinfo", "/root/patordinfo", "/root/patordinfo", "", false );
  158. // 팝업에서 취소 시 이벤트 처리
  159. var cancelKey = frmf_getParameter ( "SPMMO09100_rtnyn");
  160. if (cancelKey != "Y") {
  161. fClearAddPrcp();
  162. frmf_clearParameter("SPMMO09100_rtnyn" );
  163. return ;
  164. }
  165. ds_patordinfolist.clearData(); //model.removeNodeset("/root/patordinfo/patordinfolist");
  166. var rtnparam = frmf_getParameter( "SPMMO09100_rtn_param");
  167. dsf_setCSVToDs("ds_patordinfolist", rtnparam); //setCSVToNode("/root/patordinfo", rtnparam, "patordinfolist");
  168. var pid = frmf_getParameter ( "SPMMO09100_pid" );
  169. var orddd = frmf_getParameter ( "SPMMO09100_orddd");
  170. var cretno = frmf_getParameter ( "SPMMO09100_cretno");
  171. var instcd = frmf_getParameter ( "SPMMO09100_instcd");
  172. var ioflag = frmf_getParameter ( "SPMMO09100_ioflag");
  173. var orddeptcd = frmf_getParameter ( "SPMMO09100_orddeptcd");
  174. var orddrid = frmf_getParameter ( "SPMMO09100_orddrid");
  175. var insukind = frmf_getParameter ( "SPMMO09100_insukind");
  176. var suppkind = frmf_getParameter ( "SPMMO09100_suppkind");
  177. indschacptstat = frmf_getParameter ( "SPMMO09100_indschacptstat");
  178. dschdd = frmf_getParameter ( "SPMMO09100_dschdd");
  179. if ( frmf_getParameter ( "SPMMO09100_dc") != "DC" ) {
  180. // 진료일과 현재일이 다른 경우 가접수 후 데이타 셋팅
  181. if ( currentDate != orddd && (ioflag == "O" || ioflag == "S")) {
  182. // 진단명 조회를 위한 구 키 셋팅
  183. ds_formerkey.setColumn(0, "pid", pid); // model.setValue("/root/formerkey/pid", pid);
  184. ds_formerkey.setColumn(0, "orddd_old", orddd); // model.setValue("/root/formerkey/orddd_old", orddd);
  185. ds_formerkey.setColumn(0, "cretno_old", cretno); // model.setValue("/root/formerkey/cretno_old", cretno);
  186. ds_formerkey.setColumn(0, "instcd", instcd); // model.setValue("/root/formerkey/instcd", instcd);
  187. ds_formerkey.setColumn(0, "genrflagcd_old", ioflag); // model.setValue("/root/formerkey/genrflagcd_old", ioflag);
  188. ds_formerkey.setColumn(0, "pseuacptflag", "Y"); // model.setValue("/root/formerkey/pseuacptflag", "Y");
  189. var returnkey = fSetAssumAccept(pid, orddd, cretno, "O", orddeptcd, orddrid);
  190. if (returnkey == false) return ;
  191. pid = ds_execpatordinfolist.getColumn(0, "otpt_pid"); //model.getValue ( "/root/execpatordinfo/execpatordinfolist/otpt_pid" );
  192. orddd = ds_execpatordinfolist.getColumn(0, "otpt_orddd"); //model.getValue ( "/root/execpatordinfo/execpatordinfolist/otpt_orddd" );
  193. cretno = ds_execpatordinfolist.getColumn(0, "otpt_cretno"); //model.getValue ( "/root/execpatordinfo/execpatordinfolist/otpt_cretno" );
  194. ds_formerkey.setColumn(0, "orddd", orddd); // model.setValue("/root/formerkey/orddd", orddd);
  195. ds_formerkey.setColumn(0, "cretno", cretno); // model.setValue("/root/formerkey/cretno", cretno);
  196. ds_formerkey.setColumn(0, "genrflagcd", ioflag); // model.setValue("/root/formerkey/genrflagcd", ioflag);
  197. } else if ( (ioflag == "I" || ioflag == "D" || ioflag == "E") && indschacptstat == "D" ) {
  198. // 진단명 조회를 위한 구 키 셋팅
  199. ds_formerkey.setColumn(0, "pid", pid); // model.setValue("/root/formerkey/pid", pid);
  200. ds_formerkey.setColumn(0, "orddd_old", orddd); // model.setValue("/root/formerkey/orddd_old", orddd);
  201. ds_formerkey.setColumn(0, "cretno_old", cretno); // model.setValue("/root/formerkey/cretno_old", cretno);
  202. ds_formerkey.setColumn(0, "instcd", instcd); // model.setValue("/root/formerkey/instcd", instcd);
  203. ds_formerkey.setColumn(0, "genrflagcd_old", ioflag); // model.setValue("/root/formerkey/genrflagcd_old", ioflag);
  204. ds_formerkey.setColumn(0, "pseuacptflag", "Y"); // model.setValue("/root/formerkey/pseuacptflag", "Y");
  205. var returnkey = fSetAssumAccept(pid, orddd, cretno, "I", orddeptcd, orddrid, insukind, suppkind );
  206. if (returnkey == false) return ;
  207. pid = ds_followup.getColumn(0, "otpt_pid"); //model.getValue ( "/root/followup/followup/otpt_pid" );
  208. orddd = ds_followup.getColumn(0, "otpt_orddd"); //model.getValue ( "/root/followup/followup/otpt_orddd" );
  209. cretno = ds_followup.getColumn(0, "otpt_cretno"); //model.getValue ( "/root/followup/followup/otpt_cretno" );
  210. ioflag = "O" ; // 강제로 외래 셋팅
  211. ds_patordinfolist.setColumn(0, "ioflag", ioflag); //model.setValue( "/root/patordinfo/patordinfolist/ioflag", ioflag);
  212. ds_formerkey.setColumn(0, "orddd", orddd); // model.setValue("/root/formerkey/orddd", orddd);
  213. ds_formerkey.setColumn(0, "cretno", cretno); // model.setValue("/root/formerkey/cretno", cretno);
  214. ds_formerkey.setColumn(0, "genrflagcd", ioflag); // model.setValue("/root/formerkey/genrflagcd", ioflag);
  215. }
  216. }
  217. frmf_clearParameter("SPMMO09100_pid" );
  218. frmf_clearParameter("SPMMO09100_orddd");
  219. frmf_clearParameter("SPMMO09100_cretno");
  220. frmf_clearParameter("SPMMO09100_instcd");
  221. frmf_clearParameter("SPMMO09100_ioflag");
  222. frmf_clearParameter("SPMMO09100_orddeptcd");
  223. frmf_clearParameter("SPMMO09100_orddrid");
  224. frmf_clearParameter("SPMMO09100_indschacptstat");
  225. frmf_clearParameter("SPMMO09100_dschdd");
  226. frmf_clearParameter("SPMMO09100_insukind");
  227. frmf_clearParameter("SPMMO09100_suppkind");
  228. if ( utlf_isNull(pid) ) {
  229. fClearAddPrcp();
  230. } else {
  231. fAddPrcpInitConDone( pid, orddd, cretno, instcd, ioflag , "N", dschdd );
  232. }
  233. }
  234. }
  235. if ( ioflag == "O" ) div_all.caption14.visible = true; //원내처방사유
  236. if (utlf_isNull(issdept)) issdept = sysf_getUserInfo( "dutplcecd" ); //발행처
  237. ds_init.setColumn(0, "issdept", issdept); //model.setValue ( "/root/init/issdept", issdept );
  238. var depthngnm = ds_init_issdept.lookup("deptcd", issdept, "depthngnm"); //model.getValue ( "/root/init/issdept/dept[deptcd='" + issdept + "']/depthngnm" );
  239. var sDutPlceCd = sysf_getUserInfo("dutplcecd");
  240. if ( utlf_isNull(depthngnm)) {
  241. if (sDutPlceCd != "4072000000" && sDutPlceCd != "4070700000" ) { // 심사실 요청으로 메세지 팝업 제거 2012.09.18 엄영만
  242. sysf_messageBox ( "현재 시행부서처방의 발행부서는 [" + sysf_getUserInfo ( "dutplcenm" ) + "] 입니다. \n해당부서 코드는 발행부서로 등록되어 있지는 않습니다. \n다른 발행부서로 처방을 등록하시려면 발행처를 수정하여 주십시오.", "E");
  243. }
  244. }
  245. if (frmf_getMenuParam() == "PAM") {
  246. div_all.cmb_prcpkind.enable = false;
  247. }
  248. zesf_InitSign();
  249. ds_M0003.deleteRow(ds_M0003.findRow("cdid", 80)); //model.removeNode ( "/root/init/prcpkindcd/M0003[cdid=80]" );
  250. ds_init.setColumn(0, "setprcpyn", "Y"); //model.setValue ( "/root/init/setprcpyn", "Y" );
  251. if (sDutPlceCd != "4072000000" && sDutPlceCd != "4070700000" ) { // 심사실 요청으로 전처방탭 조회 하도록 수정. 2012.09.18 엄영만
  252. //div_all.Tab_prcp.tabindex = 0;
  253. }
  254. /*
  255. if (sDutPlceCd != "4072000000" && sDutPlceCd != "4070700000" ) { // 심사실 요청으로 전처방탭 조회 하도록 수정. 2012.09.18 엄영만
  256. if (ivw_prcp3 != null) {
  257. ivw_prcp3.visible = false;
  258. ivw_prcp3.src = "SMMMO02100_전회처방.xrw";
  259. }
  260. }*/
  261. //20131119 이정택 추가(산정특례 기간 알 수 있도록 표시)
  262. if(!utlf_isNull(ds_initsrchprcp_prcpetccnts.getColumn(0, "message"))){
  263. ds_init.setColumn(0, "message", ds_initsrchprcp_prcpetccnts.getColumn(0, "message"));
  264. }else{
  265. ds_init.setColumn(0, "message", "");
  266. }//20131119
  267. }
  268. function cf_TRMMO00200(sSvcId, nErrorCode, sErrorMsg) {
  269. if(nErrorCode < 0) {
  270. fClearAddPrcp();
  271. return;
  272. }
  273. }
  274. /**
  275. * @desc : 환자 조회
  276. * @
  277. * @param :
  278. * @return :
  279. * @author : 문세희
  280. * 변환완료
  281. * @---------------------------------------------------
  282. */
  283. function fAfSignPatSrch(){
  284. var adminInfo = ds_root.getColumn(0, "admininfo"); //model.getValue ( "/root/admininfo" );
  285. var srchcond4 = ds_init.getColumn(0, "srchcond4"); //model.getValue ( "/root/init/srchcond4" );
  286. frmf_setParameter("SPMMO09100_paminfoyn", ds_init.getColumn(0, "paminfoyn"));
  287. if (utlf_isNull(srchcond4)) {
  288. ds_init.setColumn(0, "srchcond4", "-"); //model.setValue ( "/root/init/srchcond4", "-" );
  289. //model.refresh();
  290. }
  291. // 누락처방입력 정보 초기화
  292. sysf_setGlobalVariable("SPMMO16800_rtn1", "");
  293. ds_prcpresn.clearData(); //model.resetInstanceNode("/root/prcpresn");
  294. // 구 인스턴스 초기화
  295. ds_formerkey.clearData(); //model.resetInstanceNode("/root/formerkey");
  296. ds_formerkey.addRow();
  297. ds_paminfo.clearData(); //model.resetInstanceNode("/root/paminfo");
  298. frmf_clearParameter("SPMMO09100_pid" );
  299. frmf_clearParameter("SPMMO09100_orddd");
  300. frmf_clearParameter("SPMMO09100_cretno");
  301. frmf_clearParameter("SPMMO09100_instcd");
  302. frmf_clearParameter("SPMMO09100_ioflag");
  303. frmf_clearParameter("SPMMO09100_orddeptcd");
  304. frmf_clearParameter("SPMMO09100_orddrid");
  305. frmf_clearParameter("SPMMO09100_indschacptstat");
  306. frmf_clearParameter("SPMMO09100_rtnyn");
  307. frmf_clearParameter("SPMMO09100_dschdd");
  308. frmf_clearParameter("SPMMO09100_dc");
  309. frmf_clearParameter("SPMMO09100_insukind");
  310. frmf_clearParameter("SPMMO09100_suppkind");
  311. frmf_clearParameter("SPMMO09100_drvalidyn");
  312. ds_init.setColumn(0, "rrgstno1", ""); // model.setValue ( "/root/init/rrgstno1", "");
  313. ds_init.setColumn(0, "rrgstno2", ""); // model.setValue ( "/root/init/rrgstno2", "");
  314. ds_init.setColumn(0, "orddeptnm", ""); // model.setValue ( "/root/init/orddeptnm", "");
  315. ds_init.setColumn(0, "sex", ""); // model.setValue ( "/root/init/sex", "");
  316. ds_init.setColumn(0, "age", ""); // model.setValue ( "/root/init/age", "");
  317. ds_init.setColumn(0, "wardcd", ""); // model.setValue ( "/root/init/wardcd", "");
  318. ds_init.setColumn(0, "orddd", null); // model.setValue ( "/root/init/orddd", "");
  319. ds_send.setColumn(0, "cond1", ds_init.getColumn(0, "srchcond1")); //model.setValue ( "/root/send/cond1", model.getValue ( "/root/init/srchcond1" ));
  320. if ( ds_send.getColumn(0, "cond1") == "1" ) {
  321. ds_send.setColumn(0, "cond2", ds_init.getColumn(0, "srchcond2")); //model.setValue ( "/root/send/cond2", model.getValue ("/root/init/srchcond2" ));
  322. } else {
  323. //이름으로 검색할 경우
  324. ds_send.setColumn(0, "cond2", ds_init.getColumn(0, "srchcond3")); //model.setValue ( "/root/send/cond2", model.getValue ("/root/init/srchcond3" ));
  325. }
  326. ds_send.setColumn(0, "cond3", sysf_getUserInfo("dutplceinstcd")); //model.setValue ( "/root/send/cond3", getUserInfo("dutplceinstcd"));
  327. ds_send.setColumn(0, "cond4", "N"); //model.setValue ( "/root/send/cond4", "N");
  328. ds_send.setColumn(0, "cond5", "N"); //model.setValue ( "/root/send/cond5", "N");
  329. ds_send.setColumn(0, "cond6", ds_init.getColumn(0, "srchcond4")); //model.setValue ( "/root/send/cond6", model.getValue ("/root/init/srchcond4"));
  330. ds_send.setColumn(0, "cond10", ds_init.getColumn(0, "srchcond5")); //model.setValue ( "/root/send/cond10", model.getValue ("/root/init/srchcond5"));
  331. ds_send.setColumn(0, "cond11", ds_init.getColumn(0, "srchcond6")); //model.setValue ( "/root/send/cond11", model.getValue ("/root/init/srchcond6"));
  332. var oParam = {};
  333. oParam.id = "TRMMO00200";
  334. oParam.service = "prcpmngtapp.PrcpMngt";
  335. oParam.method = "reqGetComnPatOrdInfo";
  336. oParam.inds = "req=ds_send";
  337. oParam.outds = "ds_patordinfolist=patordinfolist";
  338. oParam.async = false;
  339. oParam.callback = "cf_TRMMO00200";
  340. tranf_submit(oParam);
  341. var patordinfolistCnt = ds_patordinfolist.rowcount; //model.instances(0).selectNodes("/root/patordinfo/patordinfolist");
  342. var currentDate = utlf_getCurrentDate();
  343. ds_formerkey.setColumn(0, "pseuacptflag", "N"); //model.setValue("/root/formerkey/pseuacptflag", "N");
  344. if ( patordinfolistCnt >= 1 ) { //값이 한개이상이면 팝업을 띄운다.
  345. var xpt = this.getOwnerFrame().position.x + 50;
  346. var ypt = this.getOwnerFrame().position.y + 80;
  347. var mon = sysf_getCurrentMonitorNumber();
  348. var objArg = new Object();
  349. objArg.arg_ds_patordinfolist = ds_patordinfolist;
  350. frmf_modal("SPMMO09100","SPMMO09100",objArg,null,mon,xpt,ypt,null,null,null,null,null,"M");
  351. // var coord = getRelativeCoordinate ( xpt, ypt );
  352. // var mon = coord[0];
  353. // xpt = coord[1];
  354. // ypt = coord[2];
  355. // modal ( "SPMMO09100", mon, xpt, ypt, "patordinfo", "/root/patordinfo", "/root/patordinfo", "", false );
  356. // 팝업에서 취소 시 이벤트 처리
  357. var cancelKey = frmf_getParameter ( "SPMMO09100_rtnyn");
  358. if (cancelKey != "Y") {
  359. fClearAddPrcp();
  360. frmf_clearParameter("SPMMO09100_rtnyn" );
  361. frmf_clearParameter("SPMMO09100_paminfoyn" );
  362. return ;
  363. }
  364. ds_patordinfolist.clearData(); //model.removeNodeset("/root/patordinfo/patordinfolist");
  365. var rtnparam = frmf_getParameter( "SPMMO09100_rtn_param");
  366. dsf_setCSVToDs("ds_patordinfolist", rtnparam); //setCSVToNode("/root/patordinfo", rtnparam, "patordinfolist");
  367. var pid = frmf_getParameter ( "SPMMO09100_pid" );
  368. var orddd = frmf_getParameter ( "SPMMO09100_orddd");
  369. var cretno = frmf_getParameter ( "SPMMO09100_cretno");
  370. var instcd = frmf_getParameter ( "SPMMO09100_instcd");
  371. var ioflag = frmf_getParameter ( "SPMMO09100_ioflag");
  372. var orddeptcd = frmf_getParameter ( "SPMMO09100_orddeptcd");
  373. var orddrid = frmf_getParameter ( "SPMMO09100_orddrid");
  374. var indschacptstat = frmf_getParameter ( "SPMMO09100_indschacptstat");
  375. var dschdd = frmf_getParameter ( "SPMMO09100_dschdd");
  376. var insukind = frmf_getParameter ( "SPMMO09100_insukind");
  377. var suppkind = frmf_getParameter ( "SPMMO09100_suppkind");
  378. var dcflag = frmf_getParameter ( "SPMMO09100_dc");
  379. var drvalidyn = frmf_getParameter ( "SPMMO09100_drvalidyn");
  380. var srchdd = ""; // 기존에 입원일자로 조회 하던것을 퇴원 일자로 조회 하도록 수정 응급실 내원후 병동 이동일 경우 icdr에 ordtype 'E' 로 존재 하여 상단정보 조회시 오류 발생 방지 2014.07.11 엄영만
  381. if(dschdd == "99991231") {
  382. srchdd = utlf_getCurrentDate();
  383. } else {
  384. srchdd = dschdd;
  385. }
  386. if ( dcflag != "DC" ) {
  387. if ( currentDate != orddd && (ioflag == "O" || ioflag == "S")) { // 진료일과 현재일이 다른 경우 가접수 후 데이타 셋팅. 20090604 퇴원후 바로 가접수처리건때문에 외래에만 적용.
  388. // 진단명 조회를 위한 구 키 셋팅
  389. ds_formerkey.setColumn(0, "pid", pid); // model.setValue("/root/formerkey/pid", pid);
  390. ds_formerkey.setColumn(0, "orddd_old", orddd); // model.setValue("/root/formerkey/orddd_old", orddd);
  391. ds_formerkey.setColumn(0, "cretno_old", cretno); // model.setValue("/root/formerkey/cretno_old", cretno);
  392. ds_formerkey.setColumn(0, "instcd", instcd); // model.setValue("/root/formerkey/instcd", instcd);
  393. ds_formerkey.setColumn(0, "genrflagcd_old", ioflag); // model.setValue("/root/formerkey/genrflagcd_old", ioflag);
  394. ds_formerkey.setColumn(0, "pseuacptflag", "Y"); // model.setValue("/root/formerkey/pseuacptflag", "Y");
  395. var returnkey = fSetAssumAccept(pid, orddd, cretno, "O", orddeptcd, orddrid);
  396. if (returnkey == false) return ;
  397. pid = ds_execpatordinfolist.getColumn(0, "otpt_pid"); //model.getValue ( "/root/execpatordinfo/execpatordinfolist/otpt_pid" );
  398. orddd = ds_execpatordinfolist.getColumn(0, "otpt_orddd"); //model.getValue ( "/root/execpatordinfo/execpatordinfolist/otpt_orddd" );
  399. cretno = ds_execpatordinfolist.getColumn(0, "otpt_cretno"); //model.getValue ( "/root/execpatordinfo/execpatordinfolist/otpt_cretno" );
  400. ds_formerkey.setColumn(0, "orddd", orddd); // model.setValue("/root/formerkey/orddd", orddd);
  401. ds_formerkey.setColumn(0, "cretno", cretno); // model.setValue("/root/formerkey/cretno", cretno);
  402. ds_formerkey.setColumn(0, "genrflagcd", ioflag); // model.setValue("/root/formerkey/genrflagcd", ioflag);
  403. } else if ( (ioflag == "I" || ioflag == "D" || ioflag == "E") && indschacptstat == "D" ) {
  404. // 진단명 조회를 위한 구 키 셋팅
  405. ds_formerkey.setColumn(0, "pid", pid); // model.setValue("/root/formerkey/pid", pid);
  406. ds_formerkey.setColumn(0, "orddd_old", orddd); // model.setValue("/root/formerkey/orddd_old", orddd);
  407. ds_formerkey.setColumn(0, "cretno_old", cretno); // model.setValue("/root/formerkey/cretno_old", cretno);
  408. ds_formerkey.setColumn(0, "instcd", instcd); // model.setValue("/root/formerkey/instcd", instcd);
  409. ds_formerkey.setColumn(0, "genrflagcd_old", ioflag); // model.setValue("/root/formerkey/genrflagcd_old", ioflag);
  410. ds_formerkey.setColumn(0, "pseuacptflag", "Y"); // model.setValue("/root/formerkey/pseuacptflag", "Y");
  411. var returnkey = fSetAssumAccept(pid, orddd, cretno, "I", orddeptcd, orddrid, insukind, suppkind );
  412. if (returnkey == false) return ;
  413. pid = ds_followup.getColumn(0, "otpt_pid"); //model.getValue ( "/root/followup/followup/otpt_pid" );
  414. orddd = ds_followup.getColumn(0, "otpt_orddd"); //model.getValue ( "/root/followup/followup/otpt_orddd" );
  415. cretno = ds_followup.getColumn(0, "otpt_cretno"); //model.getValue ( "/root/followup/followup/otpt_cretno" );
  416. ioflag = "O" ; // 강제로 외래 셋팅
  417. ds_patordinfolist.setColumn(0, "ioflag", ioflag); // model.setValue( "/root/patordinfo/patordinfolist/ioflag", ioflag);
  418. ds_formerkey.setColumn(0, "orddd", orddd); // model.setValue("/root/formerkey/orddd", orddd);
  419. ds_formerkey.setColumn(0, "cretno", cretno); // model.setValue("/root/formerkey/cretno", cretno);
  420. ds_formerkey.setColumn(0, "genrflagcd", ioflag); // model.setValue("/root/formerkey/genrflagcd", ioflag);
  421. }
  422. }
  423. frmf_clearParameter("SPMMO09100_pid" );
  424. frmf_clearParameter("SPMMO09100_orddd");
  425. frmf_clearParameter("SPMMO09100_cretno");
  426. frmf_clearParameter("SPMMO09100_instcd");
  427. frmf_clearParameter("SPMMO09100_ioflag");
  428. frmf_clearParameter("SPMMO09100_orddeptcd");
  429. frmf_clearParameter("SPMMO09100_orddrid");
  430. frmf_clearParameter("SPMMO09100_indschacptstat");
  431. frmf_clearParameter("SPMMO09100_rtnyn");
  432. frmf_clearParameter("SPMMO09100_dschdd");
  433. frmf_clearParameter("SPMMO09100_dc");
  434. frmf_clearParameter("SPMMO09100_insukind");
  435. frmf_clearParameter("SPMMO09100_suppkind");
  436. frmf_clearParameter("SPMMO09100_drvalidyn");
  437. if ( utlf_isNull(pid )) {
  438. fClearAddPrcp();
  439. } else {
  440. var sPamInfoYn = ds_init.getColumn(0, "paminfoyn"); //model.getValue ( "/root/init/paminfoyn" );
  441. if ( dcflag == "DC" || sPamInfoYn == "Y") { // 상단정보 설정(과거처방DC, 상단정보 연계)
  442. // 퇴직의사에 대해서 admin 권한을 가진 사람일 경우는 입원일로 체크하도록 한다.
  443. var sTopSrchDd = "";
  444. if ( drvalidyn == "N" && adminInfo.substring(0, 6) == "YYYYYY") {
  445. sTopSrchDd = orddd;
  446. }
  447. // 상단 정보 세팅
  448. fSetTopPatInfo(instcd, ioflag, pid, orddd, cretno, sTopSrchDd);
  449. frmf_setParameter("SPMMO08900_rtn_useyn", ""); // 처방 저장후 의사처방화면 설정로직을 스킵 하기 위해
  450. } else {
  451. var sDutPlceCd = sysf_getUserInfo("dutplcecd");
  452. if (sDutPlceCd != "4072000000" && sDutPlceCd != "4070700000" ) { // 심사실에서 가퇴원 환자 선택시 상단 정보 삭제 되지 않도록 처리 2013.09.25 엄영만
  453. appf_delPatientInfos(); // 환자정보 삭제
  454. }
  455. }
  456. if(adminInfo.substring(0, 6) != "YYYYYY") {
  457. fAddPrcpInitConDone( pid, orddd, cretno, instcd, ioflag , "N", dschdd );
  458. } else {
  459. fAddPrcpInitConDone( pid, orddd, cretno, instcd, ioflag , "N", dschdd , srchdd);
  460. }
  461. fPatDethInfo(); //사망환자 alert(2009.12.21 JJE)
  462. }
  463. }
  464. //model.refresh();
  465. }
  466. /**
  467. * @desc : 상단 정보를 셋팅 한다.
  468. * @
  469. * @param :
  470. * @return :
  471. * @author : 2014-06-09 엄영만
  472. * @---------------------------------------------------
  473. */
  474. function fSetTopPatInfo(sInstCd, sIoFlag, sPid, sOrdDd, sCretNo, sSrchDd) {
  475. var sTopIoFlag = "";
  476. if(sIoFlag == "O" || sIoFlag =="S") { //외래, 건진
  477. sTopIoFlag = "O";
  478. } else if(sIoFlag == "I" || sIoFlag =="D") { //입원환자, DSC
  479. sTopIoFlag = "I";
  480. } else if(sIoFlag == "E") { //응급실
  481. sTopIoFlag = "E";
  482. }
  483. var sParam = sTopIoFlag + "▦"
  484. + sPid + "▦"
  485. + sOrdDd + "▦"
  486. + sCretNo + "▦"
  487. + sInstCd + "▦"
  488. + sSrchDd;
  489. // setParameter("condparam", sParam);
  490. // modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  491. appf_initPatientInfo(sParam); //상단정보 셋팅
  492. }
  493. /**
  494. * @desc : 후인증 대상 검사
  495. * @
  496. * @param :
  497. * @return :
  498. * @author : 오지훈
  499. * @---------------------------------------------------
  500. */
  501. function fChkAfSignUser(){
  502. //20090302 마정민 수정 의사 직정코드가 아니면 모두 후인증 팝업 뜨도록 수정
  503. var jobkindcd = sysf_getUserInfo("jobkindcd");
  504. var userid = sysf_getUserInfo("userid");
  505. if ( utlf_isNull( ds_initsrch_drjobkindcd.lookup("trgtcd", jobkindcd, "trgtcd") )) { // model.getValue ( "/root/initsrch/drjobkindcd[trgtcd='" + jobkindcd + "']/trgtcd" )
  506. //후인증 대상의사 선택 팝업 띄움
  507. if (!fChkAfSignPrcpInfo()){
  508. return false;
  509. }
  510. var prcpflag = ds_init.getColumn(0, "prcpauthflag"); //model.getValue("/root/init/prcpauthflag");
  511. if(!fPrcpSave(prcpflag)) {
  512. ds_prcpdc_prcplist.clearData(); //model.removeNodeset("/root/prcpdc/prcplist");
  513. }
  514. } else {
  515. var prcpflag = ds_init.getColumn(0, "prcpauthflag"); //model.getValue("/root/init/prcpauthflag");
  516. if(!fPrcpSave(prcpflag)) {
  517. ds_prcpdc_prcplist.clearData(); //model.removeNodeset("/root/prcpdc/prcplist");
  518. }
  519. }
  520. }
  521. /**
  522. * @desc : 후인증 처방 검사
  523. * : H2 - 수술
  524. * : A2 - 경구
  525. * : A4 - 외용
  526. * : A6 - 주사
  527. * : C2 - 영상
  528. * : C4 - Angio
  529. * : B2 - 진검
  530. * : B4 - 수혈
  531. * @param :
  532. * @return :
  533. * @author : 오지훈
  534. * @---------------------------------------------------
  535. */
  536. function fChkAfSignPrcpInfo(){
  537. //var prcpclscd = model.getValue("/root/main/prcp/prcplist[prcpclscd='H2' or prcpclscd='A2' or prcpclscd='A4' or prcpclscd='A6' or prcpclscd='C2' or prcpclscd='C4' or prcpclscd='B2' or prcpclscd='B4' or prcpclscd='G2']/prcpclscd");
  538. var chkprcpclscd = "";
  539. var chkearnclscd = "";
  540. var chkaftcertyn = "";
  541. //20090302 마정민 수정: 후인증 처방종류, 수익분류 체크. hardcd 테이블 정보 이용
  542. for ( var i = 0; i < ds_main_prcplist.rowcount; i++ ) {
  543. chkprcpclscd = ds_main_prcplist.getColumn(i, "prcpclscd");
  544. chkearnclscd = ds_main_prcplist.getColumn(i, "tempcol2");
  545. if (!utlf_isNull( ds_initsrch_aftcertprcpcls.lookup("trgtcd", chkprcpclscd, "trgtcd") )) {
  546. chkaftcertyn = "Y";
  547. break;
  548. } else if (!utlf_isNull( ds_initsrch_aftcertprcpcls.lookup("trgtcd", chkprcpclscd, "trgtcd") )) {
  549. chkaftcertyn = "Y";
  550. break;
  551. }
  552. }
  553. if ( chkaftcertyn == "Y" ) {
  554. var ioflag = ds_paminfo.getColumn(0, "ioflag");
  555. if ( ioflag == "O" || ioflag == "S" ) {
  556. frmf_setParameter("SPMMB04100_orddrid", ds_paminfo.getColumn(0, "orddrid"));
  557. } else {
  558. frmf_setParameter("SPMMB04100_orddrid", ds_paminfo.getColumn(0, "medispclid"));
  559. }
  560. frmf_setParameter("SPMMB04100_defdeptcd", ds_paminfo.getColumn(0, "orddeptcd"));
  561. frmf_setParameter("SPMMB04100_prcpcd", ds_init.getColumn(0, "prcpdd"));
  562. frmf_modal("SPMMB04100", "SPMMB04100", null, null, null, null, null, null, null, null, null, null, "M");
  563. var useyn = frmf_getParameter("SPMMB04100_useyn");
  564. if (useyn != "Y") {
  565. return false;
  566. }
  567. if(useyn == "Y"){ //후인증 선택의사로 설정
  568. var orddrid = frmf_getParameter("SPMMB04100_orddrid");
  569. } else if(useyn == "X"){ //환자의 전문의로 설정
  570. var ioflag = ds_patflag.getColumn(0, "prcpgenrflag");
  571. if(ioflag == "O" || ioflag == "S"){ //외래, 건진
  572. var orddrid = ds_paminfo.getColumn(0, "orddrid");
  573. }else{
  574. var orddrid = ds_paminfo.getColumn(0, "medispclid");
  575. }
  576. }
  577. fSetAfSignDr(orddrid); //후인증 구분 및 의사 설정
  578. }
  579. return true;
  580. }
  581. /**
  582. * @desc : 후인증 구분 및 의사 설정
  583. * @
  584. * @param :
  585. * @return :
  586. * @author : 오지훈
  587. * @---------------------------------------------------
  588. */
  589. function fSetAfSignDr( orddrid ) {
  590. //20090302 마정민 수정: 후인증 처방종류, 수익분류 체크. hardcd 테이블 정보 이용
  591. for (var i = 0; i < ds_main_prcplist.rowcount; i++) {
  592. chkprcpclscd = ds_main_prcplist.getColumn(i, "prcpclscd");
  593. chkearnclscd = ds_main_prcplist.getColumn(i, "tempcol2");
  594. if (!utlf_isNull(ds_initsrch_aftcertprcpcls.lookup("trgtcd", chkprcpclscd, "trgtcd") )) {
  595. ds_main_prcplist.setColumn(i, "aftcertflag", "01");
  596. ds_main_prcplist.setColumn(i, "aftcertdrid", orddrid);
  597. } else if (!utlf_isNull(ds_initsrch_aftcertearncls.lookup("trgtcd", chkearnclscd, "trgtcd") )) {
  598. ds_main_prcplist.setColumn(i, "aftcertflag", "01");
  599. ds_main_prcplist.setColumn(i, "aftcertdrid", "orddrid");
  600. }
  601. }
  602. }
  603. /**
  604. * @desc : 발생일이 틀릴 경우 가접수 발생
  605. * @
  606. * @param :
  607. * @return :
  608. * @author : 문세희
  609. * 변환완료
  610. * @---------------------------------------------------
  611. */
  612. function fSetAssumAccept( pid, orddd, cretno, ioflag, orddeptcd, orddrid, insukind, suppkind ){
  613. // 수진정보가 외래, 입원일 경우 따로 처리
  614. if (ioflag == "O") {
  615. dsf_makeValue(ds_send, "flag", "string", "I"); // model.makeValue("root/send/flag", "I");
  616. dsf_makeValue(ds_send, "otpt_pid", "string", pid); // model.makeValue("root/send/otpt_pid", pid);
  617. dsf_makeValue(ds_send, "otpt_orddd", "string", orddd); // model.makeValue("root/send/otpt_orddd", orddd);
  618. dsf_makeValue(ds_send, "otpt_cretno", "string", cretno); // model.makeValue("root/send/otpt_cretno", cretno);
  619. dsf_makeValue(ds_send, "otpt_orddeptcd", "string", orddeptcd); // model.makeValue("root/send/otpt_orddeptcd", orddeptcd);
  620. dsf_makeValue(ds_send, "otpt_orddrid", "string", orddrid); // model.makeValue("root/send/otpt_orddrid", orddrid);
  621. dsf_makeValue(ds_send, "otpt_histstat", "string", "T"); // model.makeValue("root/send/otpt_histstat", "T");
  622. var oParam = {};
  623. oParam.id = "TRMMO09101";
  624. oParam.service = "prcpmngtapp.PrcpMngt";
  625. oParam.method = "reqExeSetOtptActDeptPrcp";
  626. oParam.inds = "req=ds_send";
  627. oParam.outds = "ds_execpatordinfolist=execpatordinfolist";
  628. oParam.async = false;
  629. oParam.callback = "cf_TRMMO09101";
  630. tranf_submit(oParam);
  631. } else if (ioflag == "I") {
  632. var otpt_flag = "I"; // 구분 정보
  633. var otpt_orddd = utlf_getCurrentDate(); // 발생일
  634. var otpt_orddeptcd = orddeptcd; // 발생부서
  635. var otpt_orddrid = orddrid; // 발생의
  636. var otpt_ordtm = eval(utlf_getCurrentTime().substr(0,4)); // 현재 시간
  637. var otpt_rsrvflag = "P"; // 시행부서 처방 'P'
  638. var sess_userid = sysf_getUserInfo("userid"); // 사용자 ID
  639. var indd = orddd; // 입원일
  640. var otpt_pid = pid; // 환자ID
  641. var otpt_etcordflag = "-" ; // 재활 :M 외에는 넣지 말것, 기타접수구분
  642. var otpt_medamtestmyn = "N"; // 'N' 진찰료산정여부 면제
  643. var otpt_medamtfreeresn = "17"; // 진찰료미산정사유 - '17' 시행부서처방
  644. dsf_makeValue(ds_send, "otpt_flag" , "string", otpt_flag); // model.makeValue("/root/send/cond1", otpt_flag);
  645. dsf_makeValue(ds_send, "otpt_orddd" , "string", otpt_orddd); // model.makeValue("/root/send/cond3", otpt_orddd);
  646. dsf_makeValue(ds_send, "otpt_orddeptcd" , "string", otpt_orddeptcd); // model.makeValue("/root/send/cond4", otpt_orddeptcd);
  647. dsf_makeValue(ds_send, "otpt_orddrid" , "string", otpt_orddrid); // model.makeValue("/root/send/cond5", otpt_orddrid);
  648. dsf_makeValue(ds_send, "otpt_ordtm" , "string", otpt_ordtm); // model.makeValue("/root/send/cond6", otpt_ordtm);
  649. dsf_makeValue(ds_send, "otpt_rsrvflag" , "string", otpt_rsrvflag); // model.makeValue("/root/send/cond7", otpt_rsrvflag);
  650. dsf_makeValue(ds_send, "sess_userid" , "string", sess_userid); // model.makeValue("/root/send/cond8", sess_userid);
  651. dsf_makeValue(ds_send, "indd" , "string", indd); // model.makeValue("/root/send/cond9", indd);
  652. dsf_makeValue(ds_send, "cretno" , "string", cretno); // model.makeValue("/root/send/cond10", cretno);
  653. dsf_makeValue(ds_send, "otpt_pid" , "string", otpt_pid); // model.makeValue("/root/send/cond11", otpt_pid);
  654. dsf_makeValue(ds_send, "otpt_etcordflag", "string", otpt_etcordflag); // model.makeValue("/root/send/cond12", otpt_etcordflag);
  655. dsf_makeValue(ds_send, "otpt_medamtestmyn", "string", otpt_medamtestmyn); // model.makeValue("/root/send/cond13", otpt_medamtestmyn);
  656. dsf_makeValue(ds_send, "otpt_medamtfreeresn", "string", otpt_medamtfreeresn); // model.makeValue("/root/send/cond14", otpt_medamtfreeresn);
  657. dsf_makeValue(ds_send, "otpt_insukind" , "string", insukind); // model.makeValue("/root/send/cond15", insukind);
  658. dsf_makeValue(ds_send, "otpt_suppkind" , "string", suppkind); // model.makeValue("/root/send/cond16", suppkind);
  659. var oParam = {};
  660. oParam.id = "TXMMO00107";
  661. oParam.service = "prcpmngtapp.PrcpMngt";
  662. oParam.method = "reqExeSaveFollowUp";
  663. oParam.inds = "req=ds_send";
  664. oParam.outds = "ds_followup=followup";
  665. oParam.async = false;
  666. oParam.callback = "cf_TXMMO00107";
  667. tranf_submit(oParam);
  668. }
  669. }
  670. function cf_TXMMO00107(sSvcId, nErrorCode, sErrorMsg) {
  671. arErrorCode.push(sSvcId, nErrorCode);
  672. // 진단명 조회를 위한 구 인스턴스 초기화
  673. // model.resetInstanceNode("/root/formerkey");
  674. // return false;
  675. }
  676. function cf_TRMMO09101(sSvcId, nErrorCode, sErrorMsg) {
  677. arErrorCode.push(sSvcId, nErrorCode);
  678. // 진단명 조회를 위한 구 인스턴스 초기화
  679. // model.resetInstanceNode("/root/formerkey");
  680. // return;
  681. }
  682. /**
  683. * @desc : 간호에서 환자의 사망정보 불러오기
  684. * @
  685. * @param :
  686. * @return :
  687. * @author : 박유진
  688. * @---------------------------------------------------
  689. */
  690. function fPatDethInfo(){
  691. var pid = ds_paminfo.getColumn(0, "pid"); //model.getValue("/root/paminfo/list/pid");
  692. if(!utlf_isNull(pid)){
  693. ds_send.addColumn("getpatdethinfo", "string");
  694. ds_send.setColumn(0, "getpatdethinfo", pid); //model.makeValue("root/send/getpatdethinfo",pid);
  695. var oParam = {};
  696. oParam.id = "TRMMO00216";
  697. oParam.service = "prcpmngtapp.PrcpMngt";
  698. oParam.method = "reqGetPatDethInfo";
  699. oParam.inds = "req=ds_send";
  700. oParam.outds = "ds_dethinfo=dethinfo";
  701. oParam.async = false;
  702. oParam.callback = "cf_TRMMO00216";
  703. tranf_submit(oParam);
  704. var dethyn = ds_dethinfo.getColumn(0, "dethyn"); //model.getValue("/root/temp/deth/dethinfo/dethyn");
  705. if(dethyn == "Y"){
  706. var dethdd = ds_dethinfo.getColumn(0, "dethdd"); //model.getValue("/root/temp/deth/dethinfo/dethdd");
  707. sysf_messageBox( dethdd + " 사망 등록된", "I005");
  708. }
  709. ds_send.deleteColumn("getpatdethinfo"); //model.removeNode ("root/send/getpatdethinfo");
  710. }
  711. }
  712. function cf_TRMMO00216(sSvcId, nErrorCode, sErrorMsg) {
  713. arErrorCode.push(sSvcId, nErrorCode);
  714. }
  715. function fClearAddPrcp() {
  716. div_all.cmb_prcpdd.visible = false;
  717. div_all.cmb_issdept.visible = false;
  718. div_all.cmb_hosinprcpresn.visible = false;
  719. div_all.caption14.visible = false;
  720. div_all.cmb_prcpkind.visible = false;
  721. ds_init.setColumn(0, "srchcond2", ""); // model.setValue ( "/root/init/srchcond2","" );
  722. ds_init.setColumn(0, "srchcond3", ""); // model.setValue ( "/root/init/srchcond3","" );
  723. ds_init.setColumn(0, "rrgstno2", ""); // model.setValue ( "/root/init/rrgstno2","" );
  724. ds_init.setColumn(0, "orddeptnm", ""); // model.setValue ( "/root/init/orddeptnm","" );
  725. ds_main_diagcdlist.clearData(); // model.removeNodeSet ( "/root/main/diaginfo/diagcdlist");
  726. ds_main_prcplist.clearData(); // model.removeNodeSet ( "/root/main/prcp/prcplist");
  727. ds_paminfo.clearData(); // model.removeNodeSet ( "/root/paminfo/list");
  728. ds_patflag.clearData(); // model.removeNodeSet ( "/root/patflag/list");
  729. div_all.Div00.output2.value = "";
  730. div_all.Div00.output3.value = "";
  731. div_all.Div00.output4.value = "";
  732. div_all.Div00.output6.value = null;
  733. div_all.Div00.output7.value = "";
  734. lf_appendChildPrcp("ds_reset_prcplist", "ds_main_prcplist", "main"); //appendChildPrcp ( "/root/reset/prcplist", "/root/main/prcp", "main" )
  735. div_all.Tab_prcp.tabpages = 2; //div_all.btn_prmsprcp.selected = true;
  736. //ivw_prcp.src = "SMMMO02300_약속처방.xrw";
  737. div_all.btn_issdept.visible = false;
  738. return;
  739. }
  740. ]]></Script>