MRD01000.xjs 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <Script type="xscript4.0"><![CDATA[/***************************************************************************************
  3. * System Name : KNUH2.0
  4. * Job Name : EMR
  5. * Creator :
  6. * Make Date : 2015-01-06
  7. * Description :
  8. *---------------------------------------------------------------------------------------
  9. * Modify Date Modifier Modify Description
  10. *---------------------------------------------------------------------------------------
  11. * 2015-01-06 TF->XP
  12. *
  13. *---------------------------------------------------------------------------------------
  14. ****************************************************************************************/
  15. var instcd = "";
  16. var pid = "";
  17. var userid = "";
  18. var deptcd = "";
  19. var ordtype = "";
  20. //=======================================================================================
  21. // Function
  22. //---------------------------------------------------------------------------------------
  23. /****************************************************************************************
  24. * Function : fFormInit
  25. * Description : 화면 초기화 실행
  26. * Argument :
  27. * :
  28. * return type :
  29. * Creator :
  30. ****************************************************************************************/
  31. function fFormInit(){
  32. // 기관코드, 사용자ID, 과코드
  33. instcd = sysf_getUserInfo("posinstcd");
  34. userid = sysf_getUserInfo("userid");
  35. deptcd = sysf_getUserInfo("dutplcecd");
  36. // 선택환자정보
  37. var node = sysf_getGlobalVariable("paminfo");
  38. ds_paminfo.clear();
  39. dsf_setCSVToDs("ds_paminfo",node);
  40. // 환자등록번호
  41. pid = ds_paminfo.getColumn(0,"pid");
  42. if (utlf_isNull(pid)) {
  43. sysf_messageBox("선택된 환자정보가","I004");
  44. this.close();
  45. return;
  46. }
  47. ordtype = ds_paminfo.getColumn(0,"ioflag");
  48. ds_send_reqdata.setColumn(0,"instcd", instcd);
  49. ds_send_reqdata.setColumn(0,"pid" , pid);
  50. // 부서코드 콤보조회
  51. // zbcfGetDeptCodeList(instcd, "orduseyn", "D", "/root/init/deptlist", "depthngnm");
  52. appf_getDeptCodeList(instcd,"orduseyn","D","depthngnm","","","","","ds_init_deptlist",true,"");
  53. // 환자의 사망여부 조회
  54. // submit("TRMRD01001");
  55. var oParam = {};
  56. oParam.id = "TRMRD01001";
  57. oParam.service = "dschanalyapp.OrdDethPat";
  58. oParam.method = "reqGetDethPat";
  59. oParam.inds = "reqdata=ds_send_reqdata";
  60. oParam.outds = "ds_main_dethpat=dethpat";
  61. oParam.async = false;
  62. oParam.callback = "";
  63. tranf_submit(oParam);
  64. //결핵으로 인한 진단이 있는지와 제일 최근의 진단명을 검색한다.
  65. // submit("TRMRD01099");
  66. var oParam = {};
  67. oParam.id = "TRMRD01099";
  68. oParam.service = "dschanalyapp.OrdDethPat";
  69. oParam.method = "reqGetTubePat";
  70. oParam.inds = "req=ds_send_reqdata";
  71. oParam.outds = "ds_main_dethpattube=tubepat ds_main_tubepatdiag=tubepatdiag";
  72. oParam.async = false;
  73. oParam.callback = "";
  74. tranf_submit(oParam);
  75. var tubechkyn = ds_main_dethpattube.getColumn(0,"chkyn"); //결핵으로 진단이 있는지 여부 체크
  76. var diagcd = ds_main_tubepatdiag.getColumn(0,"diagcd"); //제일 최근 진단코드
  77. var termengnm = ds_main_tubepatdiag.getColumn(0,"termengnm"); //제일 최근 진단명(영문)
  78. dsf_makeValue(ds_main_orddethpat,"ioflag","string","I");
  79. dsf_makeValue(ds_main_orddethpat,"pid", "string",pid);
  80. if(ds_main_dethpat.getColumn(0,"dethyn")=="Y"){
  81. fOrdDethPat();//사망내역 조회
  82. }else{
  83. //2012/09/10 Start
  84. if(tubechkyn=="Y"){
  85. var push_btn = sysf_messageBox("결핵으로 인한 사망입니까? 결핵 사망으로 등록", "S001", ""); //예:6 아니오:7 취소:2
  86. if(push_btn=="6"){
  87. dsf_makeValue(ds_main_orddethpat,"ioflag","string","T");
  88. sw_deth.tabindex = 2;
  89. var ev = new ClickEventInfo; btn_tube
  90. frmf_inputEnterKey("sw_deth", "onchanged", ev );
  91. if(!utlf_isNull(diagcd) && !utlf_isNull(termengnm)) {
  92. ds_main_tdeth.setColumn(0,"indirecdethcd",diagcd);
  93. ds_main_tdeth.setColumn(0,"indirecdeth", termengnm);
  94. }
  95. }
  96. }
  97. btn_dethcncl.enable = false;
  98. //2012/09/10 End
  99. }
  100. }
  101. /****************************************************************************************
  102. * Function : fOrdDethPat
  103. * Description : 진료 - 사망내역 조회
  104. * Argument :
  105. * :
  106. * return type :
  107. * Creator :
  108. ****************************************************************************************/
  109. function fOrdDethPat(){
  110. // 진료 - 사망내역 조회
  111. // submit("TRMRD01002");
  112. var oParam = {};
  113. oParam.id = "TRMRD01002";
  114. oParam.service = "dschanalyapp.OrdDethPat";
  115. oParam.method = "reqGetOrdDethPat";
  116. oParam.inds = "reqdata=ds_send_reqdata";
  117. oParam.outds = "ds_main_orddethpat=orddethpat";
  118. oParam.async = false;
  119. oParam.callback = "";
  120. tranf_submit(oParam);
  121. var dethyn = ds_main_orddethpat.getColumn(0,"dethyn"); // 사망여부
  122. var dethdd = ds_main_orddethpat.getColumn(0,"dethdd"); // 사망일자
  123. var dethtm = ds_main_orddethpat.getColumn(0,"dethtm"); // 사망시간
  124. var ioflag = ds_main_orddethpat.getColumn(0,"ioflag"); // 원내(I), 원외(O), 결핵(T)
  125. var inerflag = ds_main_orddethpat.getColumn(0,"inerflag"); // 입원(I), 응급실(E)
  126. if (utlf_isNull(inerflag)) { inerflag = "I" }
  127. var indirecdethcd = ds_main_orddethpat.getColumn(0,"indirecdethcd"); // 직접사인
  128. var indirecdeth = ds_main_orddethpat.getColumn(0,"indirecdeth"); // 직접사인
  129. var inbasedethcd = ds_main_orddethpat.getColumn(0,"inbasedethcd"); // 중간선행사인
  130. var inbasedeth = ds_main_orddethpat.getColumn(0,"inbasedeth"); // 중간선행사인
  131. var inmeddethcd = ds_main_orddethpat.getColumn(0,"inmeddethcd"); // 선행사인
  132. var inmeddeth = ds_main_orddethpat.getColumn(0,"inmeddeth"); // 선행사인
  133. var outestmdethcd = ds_main_orddethpat.getColumn(0,"outestmdethcd"); // 추정사인
  134. var outestmdeth = ds_main_orddethpat.getColumn(0,"outestmdeth"); // 추정사인
  135. var outdethplce = ds_main_orddethpat.getColumn(0,"outdethplce"); // 사망장소
  136. var dethdeptcd = ds_main_orddethpat.getColumn(0,"dethdeptcd"); // 등록부서
  137. var cnclid = ds_main_orddethpat.getColumn(0,"cnclid"); // 취소자ID
  138. var cncldt = ds_main_orddethpat.getColumn(0,"cncldt"); // 취소일시
  139. var dethresn = ds_main_orddethpat.getColumn(0,"dethresn"); // 결핵사망시 직접사인
  140. if (ioflag == "O") { //원외 사망
  141. sw_deth.tabindex = 1;
  142. var ev = new ClickEventInfo; btn_tube
  143. frmf_inputEnterKey("sw_deth", "onchanged", ev );
  144. // 사망일자, 사망시간
  145. ds_main_odeth.setColumn(0,"dethdd", dethdd);
  146. ds_main_odeth.setColumn(0,"dethtm", dethtm);
  147. // 추정사인
  148. ds_main_odeth.setColumn(0,"outestmdethcd", outestmdethcd);
  149. ds_main_odeth.setColumn(0,"outestmdeth", outestmdeth);
  150. // 사망장소
  151. ds_main_odeth.setColumn(0,"outdethplce", outdethplce);
  152. // 등록부서
  153. ds_main_odeth.setColumn(0,"dethdeptcd", dethdeptcd);
  154. } else if (ioflag == "I") { //원내 사망
  155. sw_deth.tabindex = 0;
  156. var ev = new ClickEventInfo; btn_tube
  157. frmf_inputEnterKey("sw_deth", "onchanged", ev );
  158. // 사망일자, 사망시간
  159. ds_main_ideth.setColumn(0,"dethdd", dethdd);
  160. ds_main_ideth.setColumn(0,"dethtm", dethtm);
  161. // 구분 - 입원(I), 응급실(E)
  162. ds_main_ideth.setColumn(0,"inerflag", inerflag);
  163. // 직접사인
  164. ds_main_ideth.setColumn(0,"indirecdethcd", indirecdethcd);
  165. ds_main_ideth.setColumn(0,"indirecdeth", indirecdeth);
  166. // 중간선행사인
  167. ds_main_ideth.setColumn(0,"inbasedethcd", inbasedethcd);
  168. ds_main_ideth.setColumn(0,"inbasedeth", inbasedeth);
  169. // 선행사인
  170. ds_main_ideth.setColumn(0,"inmeddethcd", inmeddethcd);
  171. ds_main_ideth.setColumn(0,"inmeddeth", inmeddeth);
  172. } else if(ioflag == "T"){ //결핵 사망
  173. sw_deth.tabindex = 2;
  174. var ev = new ClickEventInfo; btn_tube
  175. frmf_inputEnterKey("sw_deth", "onchanged", ev );
  176. // 사망일자, 사망시간
  177. ds_main_tdeth.setColumn(0,"dethdd", dethdd);
  178. ds_main_tdeth.setColumn(0,"dethtm", dethtm);
  179. // 구분 - 입원(I), 응급실(E)
  180. ds_main_tdeth.setColumn(0,"inerflag", inerflag);
  181. // 질병코드
  182. ds_main_tdeth.setColumn(0,"indirecdethcd", indirecdethcd);
  183. ds_main_tdeth.setColumn(0,"indirecdeth", indirecdeth);
  184. //직접사인
  185. ds_main_tdeth.setColumn(0,"dethresn", dethresn);
  186. }
  187. // 사망취소인 경우 - 취소정보
  188. if (!utlf_isNull(cnclid)) {
  189. var cnclinfo = "사망취소 : (" + cncldt.toDate("YYYYMMDDhhmm").getDateFormat("YYYY/MM/DD hh:mm") + ")";
  190. dsf_makeValue(ds_main_dethpat,"cnclinfo","string",cnclinfo);
  191. }
  192. }
  193. /****************************************************************************************
  194. * Function : fClickPopUp
  195. * Description : 진단 팝업
  196. * Argument : flag : 사인 종류 분류 flag
  197. * :
  198. * return type :
  199. * Creator :
  200. ****************************************************************************************/
  201. function fClickPopUp(flag) {
  202. ds_temp_selectdiaglist.clear();
  203. frmf_setParameter("SPMMO3200_param_nodepath","ds_temp_selectdiaglist");
  204. // modal("../../../emr/prcpmngtweb/xrw/SPMMO03200_진단팝업.xrw", 1, 0, 0, "", "", "");
  205. frmf_modal("SPMMO03200","SPMMO03200",null,null,1,null,null,null,null,null,null,null,"M");
  206. var sTmpdiagcd = "";
  207. var sTmpdiagengnm = "";
  208. if(ds_temp_selectdiaglist.rowcount > 0){
  209. sTmpdiagcd = ds_temp_selectdiaglist.getColumn(0,"diagcd");
  210. sTmpdiagengnm = ds_temp_selectdiaglist.getColumn(0,"diagengnm");
  211. if (flag == "1") {
  212. ds_main_ideth.setColumn(0,"indirecdethcd", sTmpdiagcd);
  213. ds_main_ideth.setColumn(0,"indirecdeth", sTmpdiagengnm);
  214. } else if (flag == "2") {
  215. ds_main_ideth.setColumn(0,"inbasedethcd", sTmpdiagcd);
  216. ds_main_ideth.setColumn(0,"inbasedeth", sTmpdiagengnm);
  217. } else if (flag == "3") {
  218. ds_main_ideth.setColumn(0,"inmeddethcd", sTmpdiagcd);
  219. ds_main_ideth.setColumn(0,"inmeddeth", sTmpdiagengnm);
  220. } else if (flag == "4") {
  221. ds_main_odeth.setColumn(0,"outestmdethcd", sTmpdiagcd);
  222. ds_main_odeth.setColumn(0,"outestmdeth", sTmpdiagengnm);
  223. } else if (flag == "5") {
  224. ds_main_tdeth.setColumn(0,"indirecdethcd", sTmpdiagcd);
  225. ds_main_tdeth.setColumn(0,"indirecdeth", sTmpdiagengnm);
  226. }
  227. }
  228. }
  229. /****************************************************************************************
  230. * Function : fSaveDethPat
  231. * Description : 사망등록
  232. * Argument :
  233. * :
  234. * return type :
  235. * Creator :
  236. ****************************************************************************************/
  237. function fSaveDethPat(){
  238. var ioflag = ds_main_orddethpat.getColumn(0,"ioflag"); // 원내(I), 원외(O), 결핵(T)
  239. if (ioflag == "O") {//원외 사망
  240. var dethdd = ds_main_odeth.getColumn(0,"dethdd"); // 사망일자
  241. var dethtm = ds_main_odeth.getColumn(0,"dethtm"); // 사망시간
  242. var outestmdethcd = ds_main_odeth.getColumn(0,"outestmdethcd"); // 추정사인
  243. var outdethplce = ds_main_odeth.getColumn(0,"outdethplce"); // 사망장소
  244. ds_main_orddethpat.setColumn(0,"dethdd", dethdd); // 사망일자
  245. ds_main_orddethpat.setColumn(0,"dethtm", dethtm); // 사망시간
  246. ds_main_orddethpat.setColumn(0,"inerflag", ""); // 입원(I), 응급실(E)
  247. ds_main_orddethpat.setColumn(0,"indirecdethcd", ""); // 직접사인
  248. ds_main_orddethpat.setColumn(0,"inbasedethcd", ""); // 중간선행사인
  249. ds_main_orddethpat.setColumn(0,"inmeddethcd", ""); // 선행사인
  250. ds_main_orddethpat.setColumn(0,"outestmdethcd", outestmdethcd); // 추정사인
  251. ds_main_orddethpat.setColumn(0,"outdethplce", outdethplce); // 사망장소
  252. ds_main_orddethpat.setColumn(0,"dethdeptcd", deptcd); // 등록부서
  253. ds_main_orddethpat.setColumn(0,"cnclid", ""); // 취소자ID
  254. ds_main_orddethpat.setColumn(0,"cncldt", ""); // 취소일시
  255. } else if (ioflag == "I") {//원내사망
  256. var dethdd = ds_main_ideth.getColumn(0,"dethdd"); // 사망일자
  257. var dethtm = ds_main_ideth.getColumn(0,"dethtm"); // 사망시간
  258. var inerflag = ds_main_ideth.getColumn(0,"inerflag"); // 입원(I), 응급실(E)
  259. var indirecdethcd = ds_main_ideth.getColumn(0,"indirecdethcd"); // 직접사인
  260. var inbasedethcd = ds_main_ideth.getColumn(0,"inbasedethcd"); // 중간선행사인
  261. var inmeddethcd = ds_main_ideth.getColumn(0,"inmeddethcd"); // 선행사인
  262. ds_main_orddethpat.setColumn(0,"dethdd", dethdd); // 사망일자
  263. ds_main_orddethpat.setColumn(0,"dethtm", dethtm); // 사망시간
  264. ds_main_orddethpat.setColumn(0,"inerflag", inerflag); // 입원(I), 응급실(E)
  265. ds_main_orddethpat.setColumn(0,"indirecdethcd", indirecdethcd); // 직접사인
  266. ds_main_orddethpat.setColumn(0,"inbasedethcd", inbasedethcd); // 중간선행사인
  267. ds_main_orddethpat.setColumn(0,"inmeddethcd", inmeddethcd); // 선행사인
  268. ds_main_orddethpat.setColumn(0,"outestmdethcd", ""); // 추정사인
  269. ds_main_orddethpat.setColumn(0,"outdethplce", ""); // 사망장소
  270. ds_main_orddethpat.setColumn(0,"dethdeptcd", deptcd); // 등록부서
  271. ds_main_orddethpat.setColumn(0,"cnclid", ""); // 취소자ID
  272. ds_main_orddethpat.setColumn(0,"cncldt", ""); // 취소일시
  273. // 2008.01.16. 입원환자인 경우 원무키 셋하여 입원내역에 사망일시 업데이트 하기...
  274. var indd = ds_paminfo.getColumn(0,"indd");
  275. var cretno = ds_paminfo.getColumn(0,"cretno");
  276. var seqno = ds_paminfo.getColumn(0,"seqno");
  277. dsf_makeValue(ds_main_orddethpat,"indd" ,"string", indd); // 원무키
  278. dsf_makeValue(ds_main_orddethpat,"cretno","string", cretno); // 원무키
  279. dsf_makeValue(ds_main_orddethpat,"seqno" ,"string", seqno); // 원무키
  280. }else if (ioflag == "T") { // 결핵사망
  281. var dethdd = ds_main_tdeth.getColumn(0,"dethdd"); // 사망일자
  282. var dethtm = ds_main_tdeth.getColumn(0,"dethtm"); // 사망시간
  283. var inerflag = ds_main_tdeth.getColumn(0,"inerflag"); // 입원(I), 응급실(E)
  284. var indirecdethcd = ds_main_tdeth.getColumn(0,"indirecdethcd"); // 직접사인
  285. var dethresn = ds_main_tdeth.getColumn(0,"dethresn"); // 직접사인
  286. ds_main_orddethpat.setColumn(0,"dethdd", dethdd); // 사망일자
  287. ds_main_orddethpat.setColumn(0,"dethtm", dethtm); // 사망시간
  288. ds_main_orddethpat.setColumn(0,"inerflag", inerflag); // 입원(I), 응급실(E)
  289. ds_main_orddethpat.setColumn(0,"indirecdethcd", indirecdethcd); // 직접사인
  290. ds_main_orddethpat.setColumn(0,"outestmdethcd", ""); // 추정사인
  291. ds_main_orddethpat.setColumn(0,"outdethplce", ""); // 사망장소
  292. ds_main_orddethpat.setColumn(0,"dethdeptcd", deptcd); // 등록부서
  293. ds_main_orddethpat.setColumn(0,"cnclid", ""); // 취소자ID
  294. ds_main_orddethpat.setColumn(0,"cncldt", ""); // 취소일시
  295. dsf_makeValue(ds_main_orddethpat,"dethresn","string", dethresn); // 취소일시
  296. dsf_makeValue(ds_main_orddethpat,"ordtype" ,"string", ordtype); // 원무키 수진형태
  297. // 2008.01.16. 입원환자인 경우 원무키 셋하여 입원내역에 사망일시 업데이트 하기...
  298. var indd = "";
  299. if(ds_paminfo.getColumn(0,"ioflag")=="O" || ds_paminfo.getColumn(0,"ioflag")=="S"){
  300. indd = ds_paminfo.getColumn(0,"orddd");
  301. }else if(ds_paminfo.getColumn(0,"ioflag")=="E" || ds_paminfo.getColumn(0,"ioflag")=="I"){
  302. indd = ds_paminfo.getColumn(0,"indd");
  303. }
  304. var cretno = ds_paminfo.getColumn(0,"cretno");
  305. var seqno = ds_paminfo.getColumn(0,"seqno");
  306. dsf_makeValue(ds_main_orddethpat,"indd" ,"string" , indd); // 원무키
  307. dsf_makeValue(ds_main_orddethpat,"cretno","string" , cretno); // 원무키
  308. dsf_makeValue(ds_main_orddethpat,"seqno" ,"string" , seqno); // 원무키
  309. }
  310. dsf_makeValue(ds_main_orddethpat,"dethyn","string","Y"); // 사망여부
  311. // 환자사망정보 copy...
  312. ds_send_orddethpat.copyData(ds_main_orddethpat);
  313. if(!fSaveCheck()){
  314. var oParam = {};
  315. oParam.id = "TXMRD01001";
  316. oParam.service = "dschanalyapp.OrdDethPat";
  317. oParam.method = "reqExeSaveOrdDethPat";
  318. oParam.inds = "orddepthpat=ds_send_orddethpat";
  319. oParam.outds = "ds_main_dethpat=dethpat";
  320. oParam.async = false;
  321. oParam.callback = "cf_TXMRD01001";
  322. tranf_submit(oParam);
  323. }else{
  324. return;
  325. }
  326. // 진료 - 사망내역 조회
  327. fOrdDethPat();
  328. }
  329. /****************************************************************************************
  330. * Function : cf_TXMRD01001
  331. * Description : TXMRD01001 콜백 함수
  332. * Argument :
  333. * :
  334. * return type :
  335. * Creator :
  336. ****************************************************************************************/
  337. function cf_TXMRD01001(sSvcId, nErrorCode, sErrorMsg) {
  338. if(nErrorCode < 0) return;
  339. else btn_dethcncl.enable = true;
  340. }
  341. /****************************************************************************************
  342. * Function : fSaveCheck
  343. * Description : 저장될 데이터 정확성 체크
  344. * Argument :
  345. * :
  346. * return type :
  347. * Creator :
  348. ****************************************************************************************/
  349. function fSaveCheck(){
  350. var ioflag = ds_main_orddethpat.getColumn(0,"ioflag");
  351. if(ioflag=="O"){
  352. var dethdd = ds_main_odeth.getColumn(0,"dethdd"); // 사망일자
  353. var dethtm = ds_main_odeth.getColumn(0,"dethtm"); // 사망시간
  354. if(utlf_isNull(dethdd) || utlf_isNull(dethtm)){
  355. sysf_messageBox ( "사망 추정 일시를 ", "C001" );
  356. return true;
  357. }
  358. var currentdt = utlf_getCurrentDate() + utlf_getCurrentTime();
  359. if(currentdt < (dethdd + dethtm)) {
  360. sysf_messageBox ( "미래 일시로 사망을 등록하실수", "I004" );
  361. return true;
  362. }
  363. return false;
  364. }else if(ioflag=="I"){
  365. var dethdd = ds_main_ideth.getColumn(0,"dethdd"); // 사망일자
  366. var dethtm = ds_main_ideth.getColumn(0,"dethtm"); // 사망시간
  367. if(utlf_isNull(dethdd) || utlf_isNull(dethtm)){
  368. sysf_messageBox ( "사망일시를 ", "C001" );
  369. return true;
  370. }
  371. var currentdt = utlf_getCurrentDate() + utlf_getCurrentTime();
  372. if(currentdt < (dethdd + dethtm)) {
  373. sysf_messageBox ( "미래 일시로 사망을 등록하실수", "I004" );
  374. return true;
  375. }
  376. return false;
  377. }else if(ioflag=="T"){
  378. var dethdd = ds_main_tdeth.getColumn(0,"dethdd"); // 사망일자
  379. var dethtm = ds_main_tdeth.getColumn(0,"dethtm"); // 사망시간
  380. var indirecdethcd = ds_main_tdeth.getColumn(0,"indirecdethcd"); //질병코드
  381. var dethresn = ds_main_tdeth.getColumn(0,"dethresn"); //직접사인
  382. var currentdt = utlf_getCurrentDate() + utlf_getCurrentTime();
  383. if(utlf_isNull(dethdd) || utlf_isNull(dethtm)){
  384. sysf_messageBox ( "사망일시를 ", "C001" );
  385. return true;
  386. }
  387. if(utlf_isNull(indirecdethcd)){
  388. sysf_messageBox ( "질병코드를 ", "C001" );
  389. return true;
  390. }
  391. if(utlf_isNull(dethresn)){
  392. sysf_messageBox ( "직접사인을 ", "C001" );
  393. return true;
  394. }
  395. if(currentdt < (dethdd + dethtm)) {
  396. sysf_messageBox ( "미래 일시로 사망을 등록하실 수", "I004" );
  397. return true;
  398. }
  399. return false;
  400. }
  401. }
  402. /****************************************************************************************
  403. * Function : fCancleDethPat
  404. * Description : 사망취소
  405. * Argument :
  406. * :
  407. * return type :
  408. * Creator :
  409. ****************************************************************************************/
  410. function fCancleDethPat(){
  411. // 2008.01.16. 입원환자인 경우 원무키 셋하여 입원내역에 사망일시 업데이트 하기...
  412. var indd = "";
  413. if(ds_paminfo.getColumn(0,"ioflag")=="O" || ds_paminfo.getColumn(0,"ioflag")=="S"){
  414. indd = ds_paminfo.getColumn(0,"orddd");
  415. }else if(ds_paminfo.getColumn(0,"ioflag")=="E" || ds_paminfo.getColumn(0,"ioflag")=="I"){
  416. indd = ds_paminfo.getColumn(0,"indd");
  417. }
  418. var cretno = ds_paminfo.getColumn(0,"cretno");
  419. var seqno = ds_paminfo.getColumn(0,"seqno");
  420. dsf_makeValue(ds_main_orddethpat,"indd", "string", indd); // 원무키
  421. dsf_makeValue(ds_main_orddethpat,"cretno","string", cretno); // 원무키
  422. dsf_makeValue(ds_main_orddethpat,"seqno", "string", seqno); // 원무키
  423. ds_main_orddethpat.setColumn(0,"cnclid", userid); // 취소자ID
  424. ds_main_orddethpat.setColumn(0,"cncldt", utlf_getCurrentDate() + utlf_getCurrentTime()); // 취소일시
  425. dsf_makeValue(ds_main_orddethpat,"dethyn","string", "N"); // 사망여부
  426. dsf_makeValue(ds_main_orddethpat,"dethdd","string", "99991231"); // 사망일자
  427. dsf_makeValue(ds_main_orddethpat,"dethtm","string", "595959"); // 사망시간
  428. // 환자사망정보 copy...
  429. ds_send_orddethpat.copyData(ds_main_orddethpat);
  430. // submit("TXMRD01001");
  431. var oParam = {};
  432. oParam.id = "TXMRD01001";
  433. oParam.service = "dschanalyapp.OrdDethPat";
  434. oParam.method = "reqExeSaveOrdDethPat";
  435. oParam.inds = "orddepthpat=ds_send_orddethpat";
  436. oParam.outds = "ds_main_dethpat=dethpat";
  437. oParam.async = false;
  438. oParam.callback = "";
  439. tranf_submit(oParam);
  440. // 진료 - 사망내역 조회
  441. fOrdDethPat();
  442. }]]></Script>