SMPAI00101.js 81 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630
  1. //응급실 환자 응급의료관리료 정보 표시 //응급전원소견서 조회
  2. function fER_mngt_msg(grd_inpatinfo_row) {
  3. /*
  4. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_ordtype") == "E") {
  5. model.setValue("/root/send/data1/cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ grd_inpatinfo_row +"]/iphs_cretno"));
  6. submit("TRPAI00125");
  7. if (model.getValue("/root/main/ermngtamtmsg/ermsg/cdid") != "") {
  8. cpt_ermesg.text = "[" + model.getValue("/root/main/ermngtamtmsg/ermsg/detldesc") + "]";
  9. } else {
  10. cpt_ermesg.text = "";
  11. }
  12. } else {
  13. cpt_ermesg.text = "";
  14. }
  15. model.resetInstanceNode("/root/send/data1");
  16. */
  17. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_ordtype") == "E") {
  18. if (model.getValue("/root/main/ermngtamtmsg/ermsg/cdid") != "") {
  19. cpt_ermesg.text = "[" + model.getValue("/root/main/ermngtamtmsg/ermsg/detldesc") + "]";
  20. } else {
  21. cpt_ermesg.text = "";
  22. }
  23. } else {
  24. cpt_ermesg.text = "";
  25. }
  26. model.resetInstanceNode("/root/send/data1");
  27. }
  28. //신생아 : 1, 산모 : 2, 공여자 : 3, 수혜자 : 4 정보
  29. function fBabyHsct() {
  30. /*
  31. model.makeValue("/root/send/data4/pid", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  32. model.makeValue("/root/send/data4/indd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  33. model.makeValue("/root/send/data4/cretno", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_cretno"));
  34. model.makeValue("/root/send/data4/instcd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_instcd"));
  35. model.makeValue("/root/send/data4/mskind", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_mskind"));
  36. if (submit("TRPAI00107") == true) {
  37. if (model.getValue("/root/main/emr_ast_info/grdbabyhsct/flag") == "1") {
  38. grdbabyhsct.attribute("caption") = "퇴원상태^환자번호^산모명^입원일자^";
  39. grdbabyhsct.colHidden(3) = false;
  40. grdbabyhsct.rebuild();
  41. grd_inpatinfo.attribute("width") = "575"
  42. grdbabyhsct.attribute("visibility") = "visible";
  43. } else if (model.getValue("/root/main/emr_ast_info/grdbabyhsct/flag") == "2") {
  44. grdbabyhsct.attribute("caption") = "퇴원상태^환자번호^신생아명^입원일자^";
  45. grdbabyhsct.colHidden(3) = false;
  46. grdbabyhsct.rebuild();
  47. grd_inpatinfo.attribute("width") = "575"
  48. grdbabyhsct.attribute("visibility") = "visible";
  49. } else if (model.getValue("/root/main/emr_ast_info/grdbabyhsct/flag") == "3") {
  50. grdbabyhsct.attribute("caption") = "퇴원상태^환자번호^수혜자명^이식일자^이식종류";
  51. grdbabyhsct.colHidden(3) = true;
  52. grdbabyhsct.rebuild();
  53. grd_inpatinfo.attribute("width") = "575"
  54. grdbabyhsct.attribute("visibility") = "visible";
  55. } else if (model.getValue("/root/main/emr_ast_info/grdbabyhsct/flag") == "4") {
  56. grdbabyhsct.attribute("caption") = "퇴원상태^환자번호^공여자명^^이식종류";
  57. grdbabyhsct.colHidden(3) = false;
  58. grdbabyhsct.rebuild();
  59. grd_inpatinfo.attribute("width") = "575"
  60. grdbabyhsct.attribute("visibility") = "visible";
  61. } else {
  62. grd_inpatinfo.attribute("width") = "884"
  63. grdbabyhsct.attribute("visibility") = "hidden";
  64. }
  65. }
  66. */
  67. if (model.getValue("/root/main/emr_ast_info/grdbabyhsct/flag") == "1") {
  68. grdbabyhsct.attribute("caption") = "퇴원상태^환자번호^산모명^입원일자^";
  69. grdbabyhsct.colHidden(3) = false;
  70. grdbabyhsct.rebuild();
  71. grd_inpatinfo.attribute("width") = "575"
  72. grdbabyhsct.attribute("visibility") = "visible";
  73. } else if (model.getValue("/root/main/emr_ast_info/grdbabyhsct/flag") == "2") {
  74. grdbabyhsct.attribute("caption") = "퇴원상태^환자번호^신생아명^입원일자^";
  75. grdbabyhsct.colHidden(3) = false;
  76. grdbabyhsct.rebuild();
  77. grd_inpatinfo.attribute("width") = "575"
  78. grdbabyhsct.attribute("visibility") = "visible";
  79. } else if (model.getValue("/root/main/emr_ast_info/grdbabyhsct/flag") == "3") {
  80. grdbabyhsct.attribute("caption") = "퇴원상태^환자번호^수혜자명^이식일자^이식종류";
  81. grdbabyhsct.colHidden(3) = true;
  82. grdbabyhsct.rebuild();
  83. grd_inpatinfo.attribute("width") = "575"
  84. grdbabyhsct.attribute("visibility") = "visible";
  85. } else if (model.getValue("/root/main/emr_ast_info/grdbabyhsct/flag") == "4") {
  86. grdbabyhsct.attribute("caption") = "퇴원상태^환자번호^공여자명^^이식종류";
  87. grdbabyhsct.colHidden(3) = false;
  88. grdbabyhsct.rebuild();
  89. grd_inpatinfo.attribute("width") = "575"
  90. grdbabyhsct.attribute("visibility") = "visible";
  91. } else {
  92. grd_inpatinfo.attribute("width") = "884"
  93. grdbabyhsct.attribute("visibility") = "hidden";
  94. }
  95. }
  96. //응급 6시간 미만 외래 부담율 정보 메세지
  97. function fBrateflagMsg(){
  98. var srow = grd_inpatinfo.row
  99. if (srow <= 0 ) {srow = 1;}
  100. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_brateflag") == "O") {
  101. var sStartDDTM = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_calcdd") + model.getValue("/root/main/inpt_info/inptpatinfo/inpt_calctm");
  102. var sEndDDTM = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschnotidt");
  103. var sStartDDTM1 = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_calcdd");
  104. var sMessage = "";
  105. if (sStartDDTM1 == "00000000" || sStartDDTM1 == "" || sStartDDTM1 == '-' || sEndDDTM == "-" || sEndDDTM == "" || sEndDDTM == null) {
  106. sMessage = "";
  107. } else {
  108. sStartDDTM = sStartDDTM.substr(0,4) + "-" + sStartDDTM.substr(4,2) + "-" + sStartDDTM.substr(6,2) + " " + sStartDDTM.substr(8,2) + ":" + sStartDDTM.substr(10,2);
  109. sEndDDTM = sEndDDTM.substr(0,4) + "-" + sEndDDTM.substr(4,2) + "-" + sEndDDTM.substr(6,2) + " " + sEndDDTM.substr(8,2) + ":" + sEndDDTM.substr(10,2);
  110. sMessage = "(" + sStartDDTM + " ~ " + sEndDDTM + ")" ;
  111. }
  112. // 6시간 미만환자 팝업표시 해제 20120117 조중래
  113. /*
  114. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_ordtype") == "E") {
  115. messageBox("6시간 미만 응급 환자입니다. " + sMessage, "I999");
  116. } else if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_ordtype") == "D") {
  117. messageBox("6시간 미만 DSC / CHEMO 환자입니다. " + sMessage, "I999");
  118. } else if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_ordtype") == "I") {
  119. messageBox("6시간 미만 일반 환자입니다. " + sMessage, "I999");
  120. }
  121. */
  122. //보조유형 변경은 재원상태일 경우만 체크한다.
  123. // 2009.03.27 - 차상위2종 체크로직 추가 - 외래요율 차상위2종 6세미만 -> 차상위2종 정상
  124. for( i =1; i <= getNodesetCount("/root/main/iphs_info/h_grdipatinfo/grdipatinfo"); i++) {
  125. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_indschacptstat") == "A"
  126. && model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_dschjudgprcsstat") == "A"
  127. && (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_insukind") == "11"
  128. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_insukind") == "21"
  129. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_insukind") == "22") ) {
  130. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_suppkind") == "08"
  131. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_suppkind") == "31" //신생아
  132. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_suppkind") == "41") {
  133. var sMsg1 = "";
  134. var sMsg2 = "";
  135. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_suppkind") == "08") {
  136. sMsg1 = "[입원6세미만]";
  137. sMsg2 = "[정상]";
  138. }else if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_suppkind") == "31") {
  139. sMsg1 = "[신생아]";
  140. sMsg2 = "[정상]";
  141. }else if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_suppkind") == "41") {
  142. sMsg1 = "[차상위2종 입원6세미만]";
  143. sMsg2 = "[차상위2종 정상]";
  144. }
  145. if (messageBox("외래요율 환자는 " + sMsg1 + " 보조유형을 적용할 수 없습니다. \n보조유형을 " + sMsg2 + "으로 변경하시겠습니까?", "Q999","") != 7) {
  146. model.makevalue("/root/send/data7/pid", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  147. model.makevalue("/root/send/data7/instcd", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_instcd"));
  148. model.makevalue("/root/send/data7/cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_cretno"));
  149. model.makevalue("/root/send/data7/indd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  150. model.makevalue("/root/send/data7/prcpdd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  151. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_suppkind") == "08"
  152. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_suppkind") == "31") {
  153. model.makevalue("/root/send/data7/appsuppkind", "00");
  154. } else if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_suppkind") == "41") {
  155. model.makevalue("/root/send/data7/appsuppkind", "33");
  156. } else {
  157. }
  158. if (submit("TXPAI00108") == true) { //보조유형 변경
  159. model.removenode("/root/temp1/nexeccalc");
  160. model.makeNode("/root/temp1/nexeccalc");
  161. model.copyNode("/root/temp1/nexeccalc", "/root/main/inpt_info/inptpatinfo");
  162. model.setValue("/root/temp1/nexeccalc/inpt_cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_cretno"));
  163. model.setValue("/root/temp1/nexeccalc/inpt_mskind", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_mskind"));
  164. //nexeccalcflag : Y : 미시행계산(미시행 내역 node return), N : 시행처방, U : 미시행 처방
  165. model.makeValue("/root/temp1/nexeccalc/inpt_nexeccalcflag", "N");
  166. model.makeValue("/root/temp1/nexeccalc/inpt_nexeccalcflag_flag", "U");
  167. model.makeValue("/root/temp1/nexeccalc/inpt_calcbasedd", getCurrentDate());
  168. submit("TXPAI00103");
  169. //submit("TXPAI01801"); //계산배치 생성
  170. //수가계산 완료 후 환자 재조회
  171. var sPid = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid");
  172. if (sPid != "") {
  173. fInitialize("all");
  174. model.setValue("/root/main/inpt_info/inptpatinfo/inpt_pid", sPid);
  175. fInPatInfoRef("1");
  176. return;
  177. }
  178. } else {
  179. messageBox("적용시 오류가 발생하셨습니다. 수동으로 변경 후 재계산 하십시오.", "I999");
  180. }
  181. }
  182. }
  183. }
  184. }
  185. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_indschacptstat") == "A"
  186. && model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_dschjudgprcsstat") == "A"
  187. && (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_insukind") == "11"
  188. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_insukind") == "21"
  189. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_insukind") == "22") ) {
  190. // 2009.03.27 - 차상위2종 산정특례(45), 등록암(40) 조건 추가
  191. var sSpclSuppKind = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_spclsuppkind");
  192. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "11" &&
  193. (sSpclSuppKind == "02" || sSpclSuppKind == "03" || sSpclSuppKind == "07" || sSpclSuppKind == "06" || sSpclSuppKind == "45" || sSpclSuppKind == "40" || sSpclSuppKind == "50" || sSpclSuppKind == "46")) {
  194. var sSpclSuppKindNm = "";
  195. if (sSpclSuppKind == "07") {
  196. sSpclSuppKindNm = "산정특례";
  197. } else if (sSpclSuppKind == "06") {
  198. sSpclSuppKindNm = "중증";
  199. } else if (sSpclSuppKind == "45") {
  200. sSpclSuppKindNm = "차상위2종 산정특례";
  201. } else if (sSpclSuppKind == "40") {
  202. sSpclSuppKindNm = "차상위2종 중증";
  203. } else if (sSpclSuppKind == "02" || sSpclSuppKind == "03" || sSpclSuppKind == "50") {
  204. sSpclSuppKindNm = "희귀난치성산정특례";
  205. } else if (sSpclSuppKind == "46") {
  206. sSpclSuppKindNm = "차상위2종 희귀난치성산정특례";
  207. } else {
  208. }
  209. var sSuppKind = model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_suppkind");
  210. if (sSpclSuppKind != sSuppKind) {
  211. //산정특례일 경우 중증번호를 체크한다.(보험 일 경우 당일 sign 여부 체크)
  212. //if (sSpclSuppKind == "07") {
  213. // model.makevalue("/root/send/data7/pid", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  214. // model.makevalue("/root/send/data7/insukind", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind"));
  215. // model.makevalue("/root/send/data7/cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_cretno"));
  216. // model.makevalue("/root/send/data7/orddd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  217. // submit("TRPAI00128");
  218. //}
  219. if (messageBox(sSpclSuppKindNm + " 적용 환자입니다. 보조유형을 변경하시겠습니까?", "Q999","") != 7) {
  220. model.makevalue("/root/send/data7/pid", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  221. model.makevalue("/root/send/data7/instcd", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_instcd"));
  222. model.makevalue("/root/send/data7/cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_cretno"));
  223. model.makevalue("/root/send/data7/indd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  224. model.makevalue("/root/send/data7/prcpdd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  225. model.makevalue("/root/send/data7/appsuppkind", sSpclSuppKind);
  226. if (submit("TXPAI00108") == true) { //산정특례 변경
  227. model.removenode("/root/temp1/nexeccalc");
  228. model.makeNode("/root/temp1/nexeccalc");
  229. model.copyNode("/root/temp1/nexeccalc", "/root/main/inpt_info/inptpatinfo");
  230. model.setValue("/root/temp1/nexeccalc/inpt_cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_cretno"));
  231. model.setValue("/root/temp1/nexeccalc/inpt_mskind", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_mskind"));
  232. //nexeccalcflag : Y 미시행계산(미시행 내역 node return, N : 시행처방, U : 미시행 처방
  233. model.makeValue("/root/temp1/nexeccalc/inpt_nexeccalcflag", "N");
  234. model.makeValue("/root/temp1/nexeccalc/inpt_nexeccalcflag_flag", "U");
  235. model.makeValue("/root/temp1/nexeccalc/inpt_calcbasedd", getCurrentDate());
  236. submit("TXPAI00103");
  237. //submit("TXPAI01801"); //계산배치 생성
  238. //수가계산 완료 후 환자 재조회
  239. var sPid = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid");
  240. if (sPid != "") {
  241. fInitialize("all");
  242. model.setValue("/root/main/inpt_info/inptpatinfo/inpt_pid", sPid);
  243. fInPatInfoRef("1");
  244. return;
  245. }
  246. } else {
  247. messageBox(sSpclSuppKindNm + " 적용시 오류가 발생하셨습니다. 수동으로 변경 후 재계산 하십시오.", "I999");
  248. }
  249. }
  250. }
  251. }
  252. }
  253. }else{
  254. /**
  255. //신생아 처리 로직 추가
  256. var iDayno = getDateInterval(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_brthdd"), model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd")); // (dateHelper.js) 두 일자사이의 차를 일단위로 반환
  257. for( var a =1; ai <= getNodesetCount("/root/main/iphs_info/h_grdipatinfo/grdipatinfo/iphs_insukind"); a++) {
  258. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ a +"]/iphs_indschacptstat") == "A"
  259. && model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ a +"]/iphs_dschjudgprcsstat") == "A"){
  260. if(model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ a +"]/iphs_suppkind") == "31"){
  261. if( iDayno > 28 ){
  262. if (messageBox("생후 28일이 지나서 입원한 환자는 [신생아] 보조유형을 적용할 수 없습니다. \n보조유형을 [정상] 으로 변경하시겠습니까?", "Q999","") != 7) {
  263. model.makevalue("/root/send/data7/pid", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  264. model.makevalue("/root/send/data7/instcd", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_instcd"));
  265. model.makevalue("/root/send/data7/cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_cretno"));
  266. model.makevalue("/root/send/data7/indd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  267. model.makevalue("/root/send/data7/prcpdd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  268. model.makevalue("/root/send/data7/appsuppkind", "00");
  269. if (submit("TXPAI00108") == true) { //보조유형 변경
  270. model.removenode("/root/temp1/nexeccalc");
  271. model.makeNode("/root/temp1/nexeccalc");
  272. model.copyNode("/root/temp1/nexeccalc", "/root/main/inpt_info/inptpatinfo");
  273. model.setValue("/root/temp1/nexeccalc/inpt_cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_cretno"));
  274. model.setValue("/root/temp1/nexeccalc/inpt_mskind", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_mskind"));
  275. //nexeccalcflag : Y : 미시행계산(미시행 내역 node return), N : 시행처방, U : 미시행 처방
  276. model.makeValue("/root/temp1/nexeccalc/inpt_nexeccalcflag", "N");
  277. model.makeValue("/root/temp1/nexeccalc/inpt_nexeccalcflag_flag", "U");
  278. model.makeValue("/root/temp1/nexeccalc/inpt_calcbasedd", getCurrentDate());
  279. submit("TXPAI00103");
  280. //submit("TXPAI01801"); //계산배치 생성
  281. //수가계산 완료 후 환자 재조회
  282. var sPid = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid");
  283. if (sPid != "") {
  284. fInitialize("all");
  285. model.setValue("/root/main/inpt_info/inptpatinfo/inpt_pid", sPid);
  286. fInPatInfoRef("1");
  287. return;
  288. }
  289. } else {
  290. messageBox("적용시 오류가 발생하셨습니다. 수동으로 변경 후 재계산 하십시오.", "I999");
  291. }
  292. }
  293. }
  294. }else if( model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ a +"]/iphs_insukind") == "08"
  295. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ a +"]/iphs_insukind") == "41"){
  296. }
  297. }
  298. }
  299. **/
  300. }
  301. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_ordtype") == "E") {
  302. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_calcdd") == "00000000" && model.getValue("/root/main/inpt_info/inptpatinfo/inpt_calctm") == "0000") {
  303. messageBox("간호 입실확인이 되지 않은 응급실 내원 환자입니다.", "I999");
  304. } else {
  305. messageBox("응급실 내원 환자입니다.", "I999");
  306. }
  307. } else if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_ordtype") == "D") {
  308. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_calcdd") == "00000000" && model.getValue("/root/main/inpt_info/inptpatinfo/inpt_calctm") == "0000") {
  309. messageBox("간호 입실확인이 되지 않은 DSC / CHEMO 환자입니다.", "I999");
  310. } else {
  311. messageBox("DSC / CHEMO 환자입니다.", "I999");
  312. }
  313. }
  314. }
  315. //재원상태 보조유형 변경 체크
  316. function fInsukindChk(){
  317. // var srow = grd_inpatinfo.row
  318. // if (srow <= 0 ) {srow = 1;}
  319. //신생아 처리 로직 추가
  320. var iDayno = getDateInterval(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_brthdd"), model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd")); // (dateHelper.js) 두 일자사이의 차를 일단위로 반환
  321. for( var i =1; i <= getNodesetCount("/root/main/iphs_info/h_grdipatinfo/grdipatinfo/iphs_insukind"); i++) {
  322. //alert("11");
  323. //보조유형 변경은 재원상태일 경우만 체크한다.
  324. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_indschacptstat") == "A"
  325. && model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_dschjudgprcsstat") == "A"
  326. && (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_insukind") == "11"
  327. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_insukind") == "21"
  328. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_insukind") == "22") ) {
  329. //입원요율, 전액본인부담 아니고, 퇴원정리 완료 후
  330. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_brateflag") == "I"
  331. //&& model.getValue("/root/main/inpt_info/inptpatinfo/inpt_ordtype") != "I"
  332. && model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_suppkind") != "01"
  333. && model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschnotiyn") == "Y") {
  334. //for( var i =1; i <= getNodesetCount("/root/main/iphs_info/h_grdipatinfo/grdipatinfo/iphs_insukind"); i++) {
  335. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_insukind") == "11"
  336. && model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_suppkind") == "07") {
  337. messageBox("6시간 이상 환자입니다. [산정특례]를 적용할 수 없습니다. 보조유형을 변경하십시오.", "I999");
  338. //break;
  339. return;
  340. }
  341. // 2009.03.27 - 차상위2종 체크 추가
  342. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_insukind") == "11"
  343. && model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_suppkind") == "45") {
  344. messageBox("6시간 이상 환자입니다. [차상위2종 산정특례]를 적용할 수 없습니다. 보조유형을 변경하십시오.", "I999");
  345. //break;
  346. return;
  347. }
  348. var sIphsSuppKind = model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_suppkind");
  349. //2013-04-24 이동식
  350. //신생아 28일 미만 적용
  351. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_insukind") == "11"
  352. && sIphsSuppKind == "00"
  353. && parseInt(iDayno) <= 28) {
  354. if (messageBox("생후 28일 이전 입원환자입니다."
  355. +"\n신생아 입원요율 보조유형을 적용하시겠습니까?", "Q999","") != 7) {
  356. model.makevalue("/root/send/data7/pid", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  357. model.makevalue("/root/send/data7/instcd", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_instcd"));
  358. model.makevalue("/root/send/data7/cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_cretno"));
  359. model.makevalue("/root/send/data7/indd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  360. model.makevalue("/root/send/data7/prcpdd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  361. model.makevalue("/root/send/data7/appsuppkind", "31"); //신생아 보조유형
  362. if (submit("TXPAI00108") == true) { //보조유형 변경
  363. model.removenode("/root/temp1/nexeccalc");
  364. model.makeNode("/root/temp1/nexeccalc");
  365. model.copyNode("/root/temp1/nexeccalc", "/root/main/inpt_info/inptpatinfo");
  366. model.setValue("/root/temp1/nexeccalc/inpt_cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_cretno"));
  367. model.setValue("/root/temp1/nexeccalc/inpt_mskind", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_mskind"));
  368. //nexeccalcflag : Y 미시행계산(미시행 내역 node return, N : 시행처방, U : 미시행 처방
  369. model.makeValue("/root/temp1/nexeccalc/inpt_nexeccalcflag", "N");
  370. model.makeValue("/root/temp1/nexeccalc/inpt_nexeccalcflag_flag", "U");
  371. model.makeValue("/root/temp1/nexeccalc/inpt_calcbasedd", getCurrentDate());
  372. submit("TXPAI00103");
  373. //submit("TXPAI01801"); //계산배치 생성
  374. //수가계산 완료 후 환자 재조회
  375. var sPid = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid");
  376. if (sPid != "") {
  377. fInitialize("all");
  378. model.setValue("/root/main/inpt_info/inptpatinfo/inpt_pid", sPid);
  379. fInPatInfoRef("1");
  380. return;
  381. }
  382. } else {
  383. messageBox("적용시 오류가 발생하셨습니다. 수동으로 변경 후 재계산 하십시오.", "I999");
  384. }
  385. }
  386. }else if ((sIphsSuppKind == "00" || sIphsSuppKind == "33")
  387. && parseInt(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_age")) < 6) {
  388. var sSuppKindNM = "";
  389. if (sIphsSuppKind == "00") {
  390. sSuppKindNM = "[입원6세미만]";
  391. } else {
  392. sSuppKindNM = "[차상위2종 입원6세미만]";
  393. }
  394. if (messageBox("6세미만 입원요율 환자로 " + sSuppKindNM + " 보조유형을 적용하시겠습니까?", "Q999","") != 7) {
  395. model.makevalue("/root/send/data7/pid", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  396. model.makevalue("/root/send/data7/instcd", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_instcd"));
  397. model.makevalue("/root/send/data7/cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_cretno"));
  398. model.makevalue("/root/send/data7/indd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  399. model.makevalue("/root/send/data7/prcpdd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  400. if (sIphsSuppKind == "00") {
  401. model.makevalue("/root/send/data7/appsuppkind", "08");
  402. } else {
  403. model.makevalue("/root/send/data7/appsuppkind", "41");
  404. }
  405. if (submit("TXPAI00108") == true) { //보조유형 변경
  406. model.removenode("/root/temp1/nexeccalc");
  407. model.makeNode("/root/temp1/nexeccalc");
  408. model.copyNode("/root/temp1/nexeccalc", "/root/main/inpt_info/inptpatinfo");
  409. model.setValue("/root/temp1/nexeccalc/inpt_cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_cretno"));
  410. model.setValue("/root/temp1/nexeccalc/inpt_mskind", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_mskind"));
  411. //nexeccalcflag : Y 미시행계산(미시행 내역 node return, N : 시행처방, U : 미시행 처방
  412. model.makeValue("/root/temp1/nexeccalc/inpt_nexeccalcflag", "N");
  413. model.makeValue("/root/temp1/nexeccalc/inpt_nexeccalcflag_flag", "U");
  414. model.makeValue("/root/temp1/nexeccalc/inpt_calcbasedd", getCurrentDate());
  415. submit("TXPAI00103");
  416. //submit("TXPAI01801"); //계산배치 생성
  417. //수가계산 완료 후 환자 재조회
  418. var sPid = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid");
  419. if (sPid != "") {
  420. fInitialize("all");
  421. model.setValue("/root/main/inpt_info/inptpatinfo/inpt_pid", sPid);
  422. fInPatInfoRef("1");
  423. return;
  424. }
  425. } else {
  426. messageBox("적용시 오류가 발생하셨습니다. 수동으로 변경 후 재계산 하십시오.", "I999");
  427. }
  428. }
  429. }
  430. //입원요율 희귀난치성산정특례, 중증... 적용
  431. var sSpclSuppKind = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_spclsuppkind");
  432. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_insukind") == "11" &&
  433. (sSpclSuppKind == "06" || sSpclSuppKind == "50" || sSpclSuppKind == "46")) {
  434. var sSpclSuppKindNm = "";
  435. if (sSpclSuppKind == "50") {
  436. sSpclSuppKindNm = "희귀난치성산정특례";
  437. } else if (sSpclSuppKind == "46") {
  438. sSpclSuppKindNm = "차상위2종 희귀난치성산정특례";
  439. } else if (sSpclSuppKind == "06") {
  440. sSpclSuppKindNm = "중증";
  441. }
  442. var sSuppKind = model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_suppkind");
  443. if (sSpclSuppKind != sSuppKind) {
  444. if (messageBox(sSpclSuppKindNm + " 적용 환자입니다. 보조유형을 변경하시겠습니까?", "Q999","") != 7) {
  445. model.makevalue("/root/send/data7/pid", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  446. model.makevalue("/root/send/data7/instcd", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_instcd"));
  447. model.makevalue("/root/send/data7/cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_cretno"));
  448. model.makevalue("/root/send/data7/indd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  449. model.makevalue("/root/send/data7/prcpdd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  450. model.makevalue("/root/send/data7/appsuppkind", sSpclSuppKind);
  451. if (submit("TXPAI00108") == true) { //산정특례 변경
  452. model.removenode("/root/temp1/nexeccalc");
  453. model.makeNode("/root/temp1/nexeccalc");
  454. model.copyNode("/root/temp1/nexeccalc", "/root/main/inpt_info/inptpatinfo");
  455. model.setValue("/root/temp1/nexeccalc/inpt_cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_cretno"));
  456. model.setValue("/root/temp1/nexeccalc/inpt_mskind", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_mskind"));
  457. //nexeccalcflag : Y 미시행계산(미시행 내역 node return, N : 시행처방, U : 미시행 처방
  458. model.makeValue("/root/temp1/nexeccalc/inpt_nexeccalcflag", "N");
  459. model.makeValue("/root/temp1/nexeccalc/inpt_nexeccalcflag_flag", "U");
  460. model.makeValue("/root/temp1/nexeccalc/inpt_calcbasedd", getCurrentDate());
  461. submit("TXPAI00103");
  462. //submit("TXPAI01801"); //계산배치 생성
  463. //수가계산 완료 후 환자 재조회
  464. var sPid = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid");
  465. if (sPid != "") {
  466. fInitialize("all");
  467. model.setValue("/root/main/inpt_info/inptpatinfo/inpt_pid", sPid);
  468. fInPatInfoRef("1");
  469. return;
  470. }
  471. } else {
  472. messageBox(sSpclSuppKindNm + " 적용시 오류가 발생하셨습니다. 수동으로 변경 후 재계산 하십시오.", "I999");
  473. }
  474. }
  475. }
  476. } //입원요율 희귀난치성산정특례, 중증... 적용 끝
  477. //} // end of for
  478. }
  479. }
  480. } // end of for
  481. }
  482. //소급내역 조회
  483. function fRetcSpec() {
  484. var icount = getNodesetCount("/root/main/ipsc_info/retcspec[ indd != '' ]/pid")
  485. if (icount > 0) {
  486. if (messageBox("수가계산 미실시건 또는 반환요청약이 존재합니다. \r\n\r\n - 수가계산 미실시 : 퇴원수납 시 수가계산 실시 \r\n\r\n - 반환요청약 : 해당병동에 통보하여 처리 \r\n\r\n대상일자를 확인 하시겠습니까?", "Q999","") == 7) {
  487. return;
  488. } else {
  489. modal("SPPAI02400", "1","300", "300", "SPPAI02400", "/root/main/ipsc_info", "/root/send");
  490. if (getParameter("SPPAI02400_RTN") == "Y" ) {
  491. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indschacptstat") == 'D') {
  492. messageBox("퇴원환자는 소급 계산을 할 수", "I004");
  493. setParameter("SPPAI02400_RTN", "N");
  494. return;
  495. }
  496. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschjudgprcsstat") == 'B') {
  497. messageBox("해당환자는 현재 심사중 상태입니다. 소급 계산을 할 수", "I004");
  498. setParameter("SPPAI02400_RTN", "N");
  499. return;
  500. }
  501. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschjudgprcsstat") != 'A') {
  502. for (j = 1; j <= icount; j++) {
  503. if (model.getValue("/root/main/ipsc_info/retcspec["+ j + "]/retcgenrplce") != "W") {
  504. messageBox("심사완료된 환자 소급내역중 간호/진료/지원부서의 소급내역이 있습니다. 보험팀으로 연락하십시오.", "I999");
  505. setParameter("SPPAI02400_RTN", "N");
  506. return;
  507. }
  508. }
  509. }
  510. model.makevalue("/root/send/data7/pid", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  511. model.makevalue("/root/send/data7/instcd", model.getvalue("/root/main/inpt_info/inptpatinfo/inpt_instcd"));
  512. model.makevalue("/root/send/data7/prcpdd", model.getValue("/root/main/ipsc_info/retcspec[1]/recaldd"));
  513. /*
  514. //retcgenrplce --소급발생장소 (W:원무, C:진료, G:간호, L:LIS, A:지원부서)
  515. for ( i = 1; i <= icount; i++) {
  516. //같은 소급일자가 있을 경우 하루만 돌린다. 처방계산, 소급이 같이 있을 경우 처방계산만 돌린다.
  517. if (model.getValue("/root/main/ipsc_info/retcspec["+ i + "]/recaldd") != sCalcBaseDD) {
  518. if (model.getValue("/root/main/ipsc_info/retcspec["+ i + "]/retcgenrplce") != "W") {
  519. //calctype Y 처방 계상 != 소급내역 계산
  520. model.setValue("/root/send/data7/inpt_calctype" , "Y");
  521. model.makevalue("/root/send/data7/inpt_calcbasedd" , sCalcBaseDD);
  522. } else {
  523. model.setValue("/root/send/data7/inpt_calctype" , "N");
  524. //소급일 경우 기간으로 준다.
  525. model.setValue("/root/send/data7/inpt_calcfromdd" , sCalcBaseDD);
  526. model.setValue("/root/send/data7/inpt_calctodd" , sCalcBaseDD);
  527. }
  528. var rslt = submit("TXPAI01801");
  529. var rslt = submit("TXPAI01801");
  530. if (rslt == false ) {
  531. //messageBox( model.getvalue("/root/send/data3/calcbasedd") + "일 계산에서 오류가 발생되었습니다.", "I999");
  532. messageBox( "계산중 오류가 발생하였습니다. 수가계산에서 재계산", "I008");
  533. setParameter("SPPAI02400_RTN", "N");
  534. model.resetInstanceNode("/root/send/data7");
  535. return;
  536. }
  537. */
  538. submit("TXPAI01801");
  539. model.resetInstanceNode("/root/send/data7");
  540. //수가계산 완료 후 환자 재조회
  541. var sPid = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid");
  542. if (sPid != "") {
  543. fInitialize("all");
  544. model.setValue("/root/main/inpt_info/inptpatinfo/inpt_pid", sPid);
  545. fInPatInfoRef("1");
  546. }
  547. setParameter("SPPAI02400_RTN", "N");
  548. }//getParameter "Y" 완료
  549. }
  550. }else return true;
  551. }
  552. //미수금내역 여부 확인
  553. function fUncoAmtChk() {
  554. var suncomsg = "";
  555. if (model.getValue("/root/main/pat_info/h_unco_uncoamt/unco_uncoamt/unco_outuncoyn") == "외래 Y") {
  556. var unconm = "[" + model.getValue("/root/main/pat_info/h_unco_uncoamt/unco_uncoamt/unco_unconm") + "]";
  557. suncomsg = unconm + "[외래미수금 : " + model.getValue("/root/main/pat_info/h_unco_uncoamt/unco_uncoamt/unco_outuncoamt") + "] ";
  558. }
  559. if (model.getValue("/root/main/pat_info/h_unco_uncoamt/unco_uncoamt/unco_inuncoyn") == "입원 Y") {
  560. var unconm = "[" + model.getValue("/root/main/pat_info/h_unco_uncoamt/unco_uncoamt/unco_inunconm") + "]";
  561. suncomsg = suncomsg + unconm + "[입원미수금 : " + model.getValue("/root/main/pat_info/h_unco_uncoamt/unco_uncoamt/unco_inuncoamt") + "] ";
  562. }
  563. if (model.getValue("/root/main/pat_info/h_unco_uncoamt/unco_uncoamt/unco_aiduncoyn") == "후원 Y") {
  564. suncomsg = suncomsg + "[후원미수금 : " + model.getValue("/root/main/pat_info/h_unco_uncoamt/unco_uncoamt/unco_aiduncoamt") + "] ";
  565. }
  566. if (suncomsg != "") {
  567. if (messageBox(suncomsg + "\n미수 내역이 존재 합니다. 미수 내역을 확인 하시겠습니까?", "Q999","") != 7) {
  568. setParameter("SMPAM00100_PID_PARM", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  569. modal("../../../pam/uncoamtmngtweb/xrw/SMPAM00100", "1","", "", "SMPAM00100", "", "");
  570. setParameter("SMPAM00100_PID_PARM", "");
  571. }
  572. }
  573. }
  574. //보관금내역 여부 확인
  575. function fKeepAmtChk() {
  576. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_keepamt") != "0") {
  577. if (messageBox("보관금[" + model.getValue("/root/main/inpt_info/inptpatinfo/inpt_keepamt") + "]이 존재 합니다.\n보관금 내역을 확인 하시겠습니까?", "Q999","") != 7) {
  578. modal("../../../pam/inordamtmngtweb/xrw/SMPAI02300", "1","", "", "SMPAI02300", "/root/main/inpt_info/inptpatinfo", "/root/send/patinfo");
  579. }
  580. }
  581. }
  582. //버튼 상테 셋팅
  583. function fBtn_State() {
  584. if (model.getValue("/root/main/pat_info/h_unco_uncoamt/unco_uncoamt/unco_outuncoyn") == "외래 Y") {
  585. ipt_outunco.attribute("color") = "#ff0000";
  586. } else {
  587. ipt_outunco.attribute("color") = "#000000";
  588. }
  589. if (model.getValue("/root/main/pat_info/h_unco_uncoamt/unco_uncoamt/unco_inuncoyn") == "입원 Y") {
  590. ipt_inunco.attribute("color") = "#ff0000";
  591. } else {
  592. ipt_inunco.attribute("color") = "#000000";
  593. }
  594. if (model.getValue("/root/main/pat_info/h_unco_uncoamt/unco_uncoamt/unco_aiduncoyn") == "후원 Y") {
  595. ipt_aidunco.attribute("color") = "#ff0000";
  596. } else {
  597. ipt_aidunco.attribute("color") = "#000000";
  598. }
  599. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschdd") != "99991231") {
  600. ipt_dschdd.attribute("color") = "#0000FF";
  601. } else {
  602. ipt_dschdd.attribute("color") = "#000000";
  603. }
  604. var sopdcount = getNodesetCount("/root/main/pat_info/h_otpt_rsrv/otpt_rsrv");
  605. if (sopdcount >= 2) {
  606. btn_opdinfo.attribute("class") = "btn5_letter4";
  607. btn_opdinfo.attribute("color") = "#ff0066";
  608. } else {
  609. btn_opdinfo.attribute("class") = "btn2_letter4";
  610. }
  611. //특이환자여부
  612. if (model.getValue("/root/main/pat_info/h_ptsp_specpat/ptsp_specpat/ptsp_pid") != "" ){
  613. btn_patspcfyn.attribute("background-color") = "#ff0000";
  614. }else{
  615. btn_patspcfyn.attribute("background-color") = "#c0c0c0";
  616. }
  617. }
  618. //진료비 내역,청구수납, 미시행처방, 헌혈증
  619. function fRcpt_AllInfo(ord_info , rcpt_info, srcptkind) {
  620. //alert("ord_info :" + ord_info);
  621. //alert("rcpt_info :" + rcpt_info);
  622. //alert("srcptkind :" + srcptkind);
  623. var srow = grd_inpatinfo.row;
  624. //재원정보 grid 선택이 없을시 1번째를 선택하도록 한다
  625. if (srow <= 0 ) {
  626. srow = 1;
  627. grd_inpatinfo.isSelected(1) = true; //첫번째 grid row 색깔 변경
  628. }
  629. model.copynode("/root/send/rcptinfo/inpt_info/inptpatinfo" , "/root/main/inpt_info/inptpatinfo");
  630. model.copynode("/root/send/rcptinfo/iphs_info/grdipatinfo" , "/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]");
  631. model.setvalue("/root/send/rcptinfo/rcpt_info/rcptkind" , model.getValue("/root/hidden/rcptkind"));
  632. //수혈대체 내역 중 감면금액이 있을 경우 감면 제외처리
  633. if( srcptkind == '4'){
  634. model.makeNode("/root/send/rcptinfo/rcpt_info/bldcdiscamtdcYN");
  635. model.setvalue("/root/send/rcptinfo/rcpt_info/bldcdiscamtdcYN", "Y");
  636. model.makeNode("/root/send/rcptinfo/bldc_info/set_bldc");
  637. model.copynode("/root/send/rcptinfo/bldc_info/set_bldc" , "/root/send/set_bldc");
  638. }else if( model.getValue("/root/send/rcptinfo/rcpt_info/bldcdiscamtdcYN") == 'O' ){
  639. model.makeNode("/root/send/rcptinfo/rcpt_info/bldcdiscamtdcYN");
  640. model.setvalue("/root/send/rcptinfo/rcpt_info/bldcdiscamtdcYN", "O");
  641. }else{
  642. model.removeNodeset("/root/send/rcptinfo/bldc_info");
  643. model.removeNode("/root/send/rcptinfo/rcpt_info/bldcdiscamtdcYN");
  644. }
  645. submit("TRPAI00136");
  646. if(ord_info == "Y"){
  647. model.makeNode("/root/hidden/admi_info/ordamt/admispec");
  648. model.makeNode("/root/hidden/admi_info/ordamt/unco");
  649. model.makeNode("/root/hidden/admi_info/ordamt/dcgm");
  650. model.makeNode("/root/hidden/admi_info/ordamt/cash");
  651. model.makeNode("/root/hidden/admi_info/ordamt/onln");
  652. model.makeNode("/root/hidden/admi_info/ordamt/ownblim");
  653. model.makeNode("/root/hidden/admi_info/ordamt/aipm");
  654. model.makeNode("/root/hidden/admi_info/ordamt/prvnamt");
  655. model.makeNode("/root/hidden/admi_info/ordamt/inbornamt");
  656. model.makeNode("/root/hidden/admi_info/ordamt/tissueamt");
  657. model.copynode("/root/hidden/admi_info/ordamt/admispec" , "/root/hidden2/rcpt_info/pidinfo/h_admispec/admispec");
  658. //model.copynode("/root/hidden/admi_info/ordamt/unco" , "/root/hidden2/rcpt_info/pidinfo/h_unco/unco");
  659. copyNodesetType("/root/hidden/admi_info/ordamt/unco" , "/root/hidden2/rcpt_info/pidinfo/h_unco/unco", "replace");
  660. model.copynode("/root/hidden/admi_info/ordamt/dcgm" , "/root/hidden2/rcpt_info/pidinfo/h_dcgm/dcgm");
  661. model.copynode("/root/hidden/admi_info/ordamt/cash" , "/root/hidden2/rcpt_info/pidinfo/h_cash/cash");
  662. model.copynode("/root/hidden/admi_info/ordamt/onln" , "/root/hidden2/rcpt_info/pidinfo/h_onln/onln");
  663. model.copynode("/root/hidden/admi_info/ordamt/ownblim" , "/root/hidden2/rcpt_info/pidinfo/h_ownblim/ownblim");
  664. model.copynode("/root/hidden/admi_info/ordamt/aipm" , "/root/hidden2/rcpt_info/pidinfo/h_aipm/aipm");
  665. model.copynode("/root/hidden/admi_info/ordamt/prvnamt" , "/root/hidden2/rcpt_info/pidinfo/h_prvnamt/prvnamt");
  666. model.copynode("/root/hidden/admi_info/ordamt/inbornamt" , "/root/hidden2/rcpt_info/pidinfo/h_inbornamt/inbornamt");
  667. model.copynode("/root/hidden/admi_info/ordamt/tissueamt" , "/root/hidden2/rcpt_info/pidinfo/h_tissueamt/tissueamt");
  668. fOrdAmtInfo();
  669. }
  670. if(rcpt_info == "Y"){
  671. model.makeNode("/root/hidden/admi_info/admi");
  672. model.makeNode("/root/hidden/admi_info/admietc");
  673. model.copynode("/root/hidden/admi_info/admi" , "/root/hidden2/rcpt_info/pidinfo/h_grdclamrcpt");
  674. model.copynode("/root/hidden/admi_info/admietc" , "/root/hidden2/rcpt_info/pidinfo/h_grdbloodspec");
  675. fRcptInfo(srcptkind);
  676. }
  677. model.copynode("/root/main/ipsc_info" , "/root/hidden2/rcpt_info/pidinfo/h_retcspec");
  678. model.refresh();
  679. }
  680. //진료비 내역
  681. function fOrdAmtInfo() {
  682. /*
  683. var srow = grd_inpatinfo.row;
  684. //재원정보 grid 선택이 없을시 1번째를 선택하도록 한다
  685. if (srow <= 0 ) {
  686. srow = 1;
  687. grd_inpatinfo.isSelected(1) = true; //첫번째 grid row 색깔 변경
  688. }
  689. model.resetInstanceNode("/root/send/data1");
  690. model.resetInstanceNode("/root/send/data2");
  691. model.copyNode("/root/send/data1", "/root/main/inpt_info/inptpatinfo");
  692. model.copyNode("/root/send/data2", "/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]");
  693. submit("TRPAI00104","false");
  694. copyNodesetType("/root/main/admi_info/ordamt/admispec","/root/hidden/admi_info/ordamt/admispec","replace");
  695. copyNodesetType("/root/main/admi_info/unco/unco","/root/hidden/admi_info/ordamt/unco","replace");
  696. copyNodesetType("/root/main/admi_info/dcgm/dcgm","/root/hidden/admi_info/ordamt/dcgm","replace");
  697. //미수내역이 2개이상이면 버튼을 색을 변경
  698. var uncocnt = getNodesetCount("/root/main/admi_info/unco/unco");
  699. if(uncocnt>1){
  700. btn_uncoamt.attribute("class") = "btn5_letter3";
  701. btn_uncoamt.attribute("color") = "#ff0066";
  702. }else{
  703. btn_uncoamt.attribute("class") = "btn2_letter3";
  704. }
  705. //감면내역이 2개 이상이면 버튼의 색깔을 변경
  706. var dcgmnt = getNodesetCount("/root/main/admi_info/dcgm/dcgm");
  707. if(dcgmnt>1){
  708. btn_reduamt.attribute("class") = "btn5_letter4";
  709. btn_reduamt.attribute("color") = "#ff0066";
  710. }else{
  711. btn_reduamt.attribute("class") = "btn2_letter4";
  712. }
  713. //카드팝업에서 카드 승인, 취소할 내역을 넘겨 받는다. 화면 mapping은 hidden에 있는것으로 dispaly만 한다.
  714. copyNodesetType("/root/main/admi_info/cash/cash","/root/hidden/admi_info/ordamt/cash","replace");
  715. copyNodesetType("/root/main/admi_info/onln/onln","/root/hidden/admi_info/ordamt/onln","replace");
  716. copyNodesetType("/root/main/admi_info/ownblim/ownblim","/root/hidden/admi_info/ordamt/ownblim","replace");
  717. copyNodesetType("/root/main/admi_info/aipm/aipm","/root/hidden/admi_info/ordamt/aipm","replace");
  718. copyNodesetType("/root/main/admi_info/prvnamt/prvnamt","/root/hidden/admi_info/ordamt/prvnamt","replace");
  719. copyNodesetType("/root/main/admi_info/inbornamt/inbornamt","/root/hidden/admi_info/ordamt/inbornamt","replace");
  720. //가퇴원금 변경 후 다시 가퇴원금 계산을 하기 위해 납부금액을 세팅함.
  721. model.setValue("/root/temp1/admi_orgrcptpayamt", model.getValue("/root/main/admi_info/ordamt/admispec/admi_rcptpayamt"));
  722. //수납방법 card, cash에 납부할 금액을 setting
  723. if (model.getValue("/root/main/admi_info/rcptmthd/rcptmthd") == "1") {
  724. model.setValue("/root/main/admi_info/ordamt/admispec/admi_cardamt", model.getValue("/root/main/admi_info/ordamt/admispec/admi_rcptpayamt"));
  725. model.setValue("/root/main/admi_info/ordamt/admispec/admi_cashamt", "0")
  726. } else {
  727. model.setValue("/root/main/admi_info/ordamt/admispec/admi_cashamt", model.getValue("/root/main/admi_info/ordamt/admispec/admi_rcptpayamt"));
  728. model.setValue("/root/main/admi_info/ordamt/admispec/admi_cardamt", "0")
  729. }
  730. grd_cardspec.rebuild();
  731. //자보한도액이 있을 경우 버튼 변경 / 자보한도액 popup 호출
  732. var nodeList = getNodesetCount("/root/main/admi_info/aipm/aipm");
  733. if (nodeList > 0 && parseInt(model.getValue("/root/main/admi_info/aipm/aipm/aipm_paylimamt")) >= 0) {
  734. btn_aipm.attribute("class") = "btn5_letter5";
  735. btn_aipm.attribute("color") = "#ff0066";
  736. model.resetInstanceNode("/root/hidden/source");
  737. model.setValue("/root/hidden/source/pid", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  738. model.setValue("/root/hidden/source/orddd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  739. model.setValue("/root/hidden/source/instcd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_instcd"));
  740. modal("../../../pam/inordamtmngtweb/xrw/SPPAI02600", "1","200", "200", "SPPAI02600", "/root/hidden/source", "/root/send", "align:center");
  741. model.resetInstanceNode("/root/hidden/source");
  742. } else {
  743. btn_aipm.attribute("class") = "btn2_letter5";
  744. }
  745. //조직은행 미수 대상금액 메세지
  746. model.makeNode("/root/main/admi_info/tissuebank/tissueamt");
  747. copyNodesetType("/root/main/admi_info/tissuebank/tissueamt","/root/hidden/admi_info/ordamt/tissueamt","replace");
  748. if( model.getValue("/root/main/admi_info/tissuebank/tissueamt/pid") != '' && model.getValue("/root/main/admi_info/tissuebank/tissueamt/totalamt") != '' ){
  749. messageBox("조직은행 대상환자 입니다. 대상 금액만큼 조직은행 미수 처리해 주세요!"
  750. + "\n주의!! 조직은행 처방중 미시행 건은 대상금액에 포함되지 않습니다. 최종금액은 퇴원수납하실 때 확인 후 적용하세요!"
  751. + "\n[ 대상 금액 : " + model.getValue("/root/main/admi_info/tissuebank/tissueamt/totalamt") + " 원 ][ 미수코드 : A38(조직은행) ]"
  752. , "E999", "");
  753. }
  754. //퇴원통보이후에 실시된 처방 blocking
  755. var vdschnotidt = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschnotidt");
  756. if (vdschnotidt == "-" || vdschnotidt == "" || vdschnotidt == null) {
  757. }else{
  758. model.resetInstanceNode("/root/send/data1");
  759. model.resetInstanceNode("/root/main/admicheck/admichecklist/execddnotiyn");
  760. model.makeValue("/root/send/data1/pid", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  761. model.makeValue("/root/send/data1/indd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  762. model.makeValue("/root/send/data1/dschnotidt", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschnotidt"));
  763. model.makeValue("/root/send/data1/cretno", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_cretno"));
  764. submit("TRPAI00131","false");
  765. }
  766. //선택진료 사인 체크
  767. //선택진료 응급실 환자인 경우에는 체크하지 않음 -> 체크로 변경 20120103 조중래
  768. model.resetInstanceNode("/root/main/admicheck1/rgst/rgstyn");
  769. var inddspec = model.getValue("/root/init/PAM/P0041list/P0041[cdid = 'J01']/cdnm");
  770. if(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd") >= inddspec){
  771. if (fCheckSpecOrdApp() == true) {
  772. }
  773. }
  774. model.refresh();
  775. */
  776. // 입원6세미만 보조유형 체크추가 by 조중래 20161219
  777. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_brateflag") == "O"
  778. && model.getValue("/root/main/inpt_info/inptpatinfo/inpt_insukind") == "11"
  779. && model.getValue("/root/main/inpt_info/inptpatinfo/inpt_suppkind") == "08") {
  780. messageBox("입원6세미만 보조유형은 입원요율에만 사용가능합니다.\r\n보조유형을 변경하십시오!!", "E000");
  781. return false;
  782. }
  783. model.makeNode("/root/main/admi_info/ordamt/admispec");
  784. model.makeNode("/root/main/admi_info/unco/unco");
  785. model.makeNode("/root/main/admi_info/dcgm/dcgm");
  786. model.makeNode("/root/main/admi_info/cash/cash");
  787. model.makeNode("/root/main/admi_info/onln/onln");
  788. model.makeNode("/root/main/admi_info/ownblim/ownblim");
  789. model.makeNode("/root/main/admi_info/aipm/aipm");
  790. model.makeNode("/root/main/admi_info/prvnamt/prvnamt");
  791. model.makeNode("/root/main/admi_info/inbornamt/inbornamt");
  792. model.makeNode("/root/main/admi_info/tissuebank/tissueamt");
  793. copyNodesetType("/root/main/admi_info/ordamt/admispec","/root/hidden/admi_info/ordamt/admispec","replace");
  794. copyNodesetType("/root/main/admi_info/unco/unco" ,"/root/hidden/admi_info/ordamt/unco","replace");
  795. copyNodesetType("/root/main/admi_info/dcgm/dcgm" ,"/root/hidden/admi_info/ordamt/dcgm","replace");
  796. //카드팝업에서 카드 승인, 취소할 내역을 넘겨 받는다. 화면 mapping은 hidden에 있는것으로 dispaly만 한다.
  797. copyNodesetType("/root/main/admi_info/cash/cash" ,"/root/hidden/admi_info/ordamt/cash","replace");
  798. copyNodesetType("/root/main/admi_info/onln/onln" ,"/root/hidden/admi_info/ordamt/onln","replace");
  799. copyNodesetType("/root/main/admi_info/ownblim/ownblim" ,"/root/hidden/admi_info/ordamt/ownblim","replace");
  800. copyNodesetType("/root/main/admi_info/aipm/aipm" ,"/root/hidden/admi_info/ordamt/aipm","replace");
  801. copyNodesetType("/root/main/admi_info/prvnamt/prvnamt" ,"/root/hidden/admi_info/ordamt/prvnamt","replace");
  802. copyNodesetType("/root/main/admi_info/inbornamt/inbornamt" ,"/root/hidden/admi_info/ordamt/inbornamt","replace");
  803. copyNodesetType("/root/main/admi_info/tissuebank/tissueamt","/root/hidden/admi_info/ordamt/tissueamt","replace");
  804. //미수내역이 2개이상이면 버튼을 색을 변경
  805. var uncocnt = getNodesetCount("/root/main/admi_info/unco/unco");
  806. if(uncocnt>1){
  807. btn_uncoamt.attribute("class") = "btn5_letter3";
  808. btn_uncoamt.attribute("color") = "#ff0066";
  809. }else{
  810. btn_uncoamt.attribute("class") = "btn2_letter3";
  811. }
  812. //감면내역이 2개 이상이면 버튼의 색깔을 변경
  813. var dcgmnt = getNodesetCount("/root/main/admi_info/dcgm/dcgm");
  814. if(dcgmnt>1){
  815. btn_reduamt.attribute("class") = "btn5_letter4";
  816. btn_reduamt.attribute("color") = "#ff0066";
  817. }else{
  818. btn_reduamt.attribute("class") = "btn2_letter4";
  819. }
  820. //가퇴원금 변경 후 다시 가퇴원금 계산을 하기 위해 납부금액을 세팅함.
  821. model.setValue("/root/temp1/admi_orgrcptpayamt", model.getValue("/root/main/admi_info/ordamt/admispec/admi_rcptpayamt"));
  822. //수납방법 card, cash에 납부할 금액을 setting
  823. if (model.getValue("/root/main/admi_info/rcptmthd/rcptmthd") == "1") {
  824. model.setValue("/root/main/admi_info/ordamt/admispec/admi_cardamt", model.getValue("/root/main/admi_info/ordamt/admispec/admi_rcptpayamt"));
  825. model.setValue("/root/main/admi_info/ordamt/admispec/admi_cashamt", "0")
  826. } else {
  827. model.setValue("/root/main/admi_info/ordamt/admispec/admi_cashamt", model.getValue("/root/main/admi_info/ordamt/admispec/admi_rcptpayamt"));
  828. model.setValue("/root/main/admi_info/ordamt/admispec/admi_cardamt", "0")
  829. }
  830. grd_cardspec.rebuild();
  831. //자보한도액이 있을 경우 버튼 변경 / 자보한도액 popup 호출
  832. var nodeList = getNodesetCount("/root/main/admi_info/aipm/aipm");
  833. if (nodeList > 0 && parseInt(model.getValue("/root/main/admi_info/aipm/aipm/aipm_paylimamt")) >= 0) {
  834. btn_aipm.attribute("class") = "btn5_letter4";
  835. btn_aipm.attribute("color") = "#ff0066";
  836. model.resetInstanceNode("/root/hidden/source");
  837. model.setValue("/root/hidden/source/pid", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  838. model.setValue("/root/hidden/source/orddd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  839. model.setValue("/root/hidden/source/instcd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_instcd"));
  840. modal("../../../pam/inordamtmngtweb/xrw/SPPAI02600", "1","200", "200", "SPPAI02600", "/root/hidden/source", "/root/send", "align:center");
  841. model.resetInstanceNode("/root/hidden/source");
  842. } else {
  843. btn_aipm.attribute("class") = "btn2_letter4";
  844. }
  845. //조직은행 미수 대상금액 메세지
  846. if( model.getValue("/root/main/admi_info/tissuebank/tissueamt/pid") != '' && model.getValue("/root/main/admi_info/tissuebank/tissueamt/totalamt") != '' ){
  847. messageBox("조직은행 대상환자 입니다. 대상 금액만큼 조직은행 미수 처리해 주세요!"
  848. + "\n주의!! 조직은행 처방중 미시행 건은 대상금액에 포함되지 않습니다. 최종금액은 퇴원수납하실 때 확인 후 적용하세요!"
  849. + "\n[ 대상 금액 : " + model.getValue("/root/main/admi_info/tissuebank/tissueamt/totalamt") + " 원 ][ 미수코드 : A38(조직은행) ]"
  850. , "E999", "");
  851. }
  852. //퇴원통보이후에 실시된 처방 blocking
  853. var vdschnotidt = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschnotidt");
  854. if (vdschnotidt == "-" || vdschnotidt == "" || vdschnotidt == null) {
  855. //
  856. }else{
  857. model.copynode("/root/main/admicheck/admichecklist" , "/root/hidden2/rcpt_info/pidinfo/h_admichecklist/admichecklist");
  858. }
  859. //선택진료 사인 체크
  860. //선택진료 응급실 환자인 경우에는 체크하지 않음 -> 체크로 변경 20120103 조중래
  861. model.resetInstanceNode("/root/main/admicheck1/rgst/rgstyn");
  862. var inddspec = model.getValue("/root/init/PAM/P0041list/P0041[cdid = 'J01']/cdnm");
  863. // 선택진료신청서 유효성 체크는 선택진료비가 발생한 경우에만 처리
  864. var specamt = parseInt(model.getValue("/root/main/admi_info/ordamt/admispec/admi_specinsubamt")) + parseInt(model.getValue("/root/main/admi_info/ordamt/admispec/admi_specownbamt"));
  865. if (specamt > 0) {
  866. if(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd") >= inddspec){
  867. if (fCheckSpecOrdApp() == true) {
  868. }
  869. }
  870. }
  871. var srow = grd_inpatinfo.row;
  872. // 최초로딩 시 -1 -> 1 보정처리
  873. if (srow < 1) srow = 1;
  874. //2012-02-09
  875. //퇴원수납시에 심사필수여부 표시 요청
  876. //실제 수납제어용 로직은 화면단에 있음에 유의할 것!!
  877. // 치과 진료과 세분화로 인해 앞 2자리만으로 처리 by 조중래 20170516
  878. var orddeptcd = model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_orddeptcd");
  879. var reqdeptno = model.getValue("/root/hidden/init/orddeptcd[cd = '" + orddeptcd + "']/reqdeptno").substr(0,2);
  880. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indschacptstat") == "A" //재원 및 가퇴원.
  881. && ( model.getValue("/root/main/inpt_info/inptpatinfo/inpt_ordtype") == "D" || model.getValue("/root/main/inpt_info/inptpatinfo/inpt_ordtype") == "E") //응급, DSC/CHEMO
  882. && model.getValue("/root/main/inpt_info/inptpatinfo/inpt_brateflag") == 'I'){ //입원요율
  883. cpt_judgneedmsg.text = "필수심사(입원요율)";
  884. }else if(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indschacptstat") == "A" //재원 및 가퇴원.
  885. && model.getValue("/root/main/inpt_info/inptpatinfo/inpt_brateflag") == 'O' //외래요율.
  886. && reqdeptno != '55' //치과제외
  887. && parseInt(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_bfjudgcnt")) > 0
  888. && ( (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "21" || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "22"
  889. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "11" )
  890. && model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_suppkind") != "01") ){
  891. cpt_judgneedmsg.text = "필수심사(사전심사처방)";
  892. }else if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschjudgprcsstat") == "G"
  893. && parseInt(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_bfjudgcnt")) > 0
  894. && reqdeptno != '55' //치과제외
  895. && model.getValue("/root/main/inpt_info/inptpatinfo/inpt_brateflag") == 'I' //입원요율
  896. && ( (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "21" || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "22"
  897. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "11" )
  898. && model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_suppkind") != "01") ) {
  899. cpt_judgneedmsg.text = "필수심사(예고심사 이후 실시처방)";
  900. }else if(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschjudgprcsstat") != "G"
  901. && parseInt(model.getValue("/root/main/admi_info/ordamt/admispec/admi_totamt")) > 500000 //총진료비 50만원 초과
  902. && reqdeptno != '55' //치과제외
  903. && ( (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "21" || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "22"
  904. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "11" )
  905. && model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_suppkind") != "01") ){
  906. cpt_judgneedmsg.text = "필수심사(총진료비)";
  907. }else if(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_brateflag") == "O"
  908. && model.getValue("/root/main/inpt_info/inptpatinfo/inpt_emerprcpyn") == "Y"
  909. && ((model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "11"
  910. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "21"
  911. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "22"
  912. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "31")
  913. && model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_suppkind") != "01")
  914. && model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschjudgprcsstat") != 'C'
  915. && model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschjudgprcsstat") != 'E') {
  916. cpt_judgneedmsg.text = "필수심사(응급의료관리료)";
  917. }else if(model.getValue("/root/hidden2/all_info/pidinfo/h_dump/dump/dumpexistyn") == "Y") {
  918. cpt_judgneedmsg.text = "필수심사(외래처방 덤프)";
  919. }else{
  920. cpt_judgneedmsg.text = "";
  921. }
  922. }
  923. //청구수납, 미시행처방, 헌혈증
  924. //청구수납의 srcptkind 1: 전체, 2:중간, 3:퇴원
  925. function fRcptInfo(srcptkind) {
  926. /*
  927. var srow = grd_inpatinfo.row
  928. //재원정보 grid 선택이 없을시 1번째를 선택하도록 한다
  929. if (srow <= 0 ) {
  930. srow = 1;
  931. }
  932. model.resetInstanceNode("/root/send/data1");
  933. model.makeValue("/root/send/data1/pid", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  934. model.makeValue("/root/send/data1/indd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  935. model.makeValue("/root/send/data1/dschdd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschdd"));
  936. model.makeValue("/root/send/data1/mskind", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_mskind"));
  937. model.makeValue("/root/send/data1/fromdd", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_fromdd"));
  938. model.makeValue("/root/send/data1/todd", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_todd"));
  939. model.makeValue("/root/send/data1/cretno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_cretno"));
  940. model.makeValue("/root/send/data1/insukind", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind"));
  941. model.makeValue("/root/send/data1/suppkind", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_suppkind"));
  942. model.makeValue("/root/send/data1/rcptkind", model.getValue("/root/hidden/rcptkind"));
  943. submit("TRPAI00105","false");
  944. copyNodeType("/root/main/admi_info/admi","/root/hidden/admi_info/admi","replace");
  945. if (srcptkind == "1") {
  946. submit("TRPAI00106","false");
  947. copyNodeType("/root/main/admi_info/admietc","/root/hidden/admi_info/admietc","replace");
  948. grd_bloodspec.rebuild();
  949. }
  950. //[2012.03.30 이성웅 추가] 가퇴원 수납이나 가퇴원 취소 계정일 경우, 사유를 툴팁으로 보여줌
  951. for(var i = 1; i < grd_rcptamt.rows; i++) {
  952. grd_rcptamt.tooltipText(i, grd_rcptamt.colRef("rcptflag") ) = grd_rcptamt.valueMatrix(i, grd_rcptamt.colRef("keepresn"));
  953. }
  954. grd_rcptamt.rebuild();
  955. var scount = getNodesetCount("/root/main/admi_info/admi/grdclamrcpt");
  956. var schk = model.getValue("/root/hidden/dcrcptkind");
  957. if (schk != "0") {
  958. for( i =1; i <= scount; i++) {
  959. var srcptstat = model.getValue("/root/main/admi_info/admi/grdclamrcpt["+ i +"]/rcptstat");
  960. if (srcptstat == "Y") {
  961. grd_rcptamt.rowHidden(i) = false;
  962. } else {
  963. grd_rcptamt.rowHidden(i) = true;
  964. }
  965. }
  966. }
  967. model.refresh();
  968. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ srow +"]/iphs_insukind") == "71") {
  969. messageBox("임상환자 입니다. 수납시 임상미수로 생성하십시오.", "I999");
  970. }
  971. */
  972. copyNodeType("/root/main/admi_info/admi","/root/hidden/admi_info/admi","replace");
  973. if (srcptkind == "1") {
  974. copyNodeType("/root/main/admi_info/admietc","/root/hidden/admi_info/admietc","replace");
  975. grd_bloodspec.rebuild();
  976. }
  977. //[2012.03.30 이성웅 추가] 가퇴원 수납이나 가퇴원 취소 계정일 경우, 사유를 툴팁으로 보여줌
  978. for(var i = 1; i < grd_rcptamt.rows; i++) {
  979. grd_rcptamt.tooltipText(i, grd_rcptamt.colRef("rcptflag") ) = grd_rcptamt.valueMatrix(i, grd_rcptamt.colRef("keepresn"));
  980. }
  981. grd_rcptamt.rebuild();
  982. var scount = getNodesetCount("/root/main/admi_info/admi/grdclamrcpt");
  983. var schk = model.getValue("/root/hidden/dcrcptkind");
  984. if (schk != "0") {
  985. for( i =1; i <= scount; i++) {
  986. var srcptstat = model.getValue("/root/main/admi_info/admi/grdclamrcpt["+ i +"]/rcptstat");
  987. if (srcptstat == "Y") {
  988. grd_rcptamt.rowHidden(i) = false;
  989. } else {
  990. grd_rcptamt.rowHidden(i) = true;
  991. }
  992. }
  993. }
  994. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ grd_inpatinfo.row +"]/iphs_insukind") == "71") {
  995. messageBox("임상환자 입니다. 수납시 임상미수로 생성하십시오.", "I999");
  996. }
  997. }
  998. //재원유형 정보조회
  999. function fIphs_Info() {
  1000. /*
  1001. model.resetInstanceNode("/root/send/data1");
  1002. model.makeValue("/root/send/data1/pid" , model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  1003. model.makeValue("/root/send/data1/cretno" , model.getValue("/root/main/inpt_info/inptpatinfo/inpt_cretno"));
  1004. model.makeValue("/root/send/data1/indd" , model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  1005. model.makeValue("/root/send/data1/orddeptcd" , model.getValue("/root/main/inpt_info/inptpatinfo/inpt_orddeptcd"));
  1006. model.makeValue("/root/send/data1/dschdclrtyn", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschdclrtyn"));
  1007. model.makeValue("/root/send/data1/dschdclrdt" , model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschdclrdt").substr(0, 8));
  1008. model.makeValue("/root/send/data1/dschnotiyn" , model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschnotiyn"));
  1009. model.makeValue("/root/send/data1/dschnotidt" , model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschnotidt").substr(0, 8));
  1010. model.makeValue("/root/send/data1/dschdd" , model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschdd"));
  1011. model.resetInstanceNode("/root/main/iphs_info/h_opspec/opspec");
  1012. submit("TRPAI00102"); //재원정보 조회 //수술내역
  1013. // 재원유형 건수 표시
  1014. // 합치기 이전의 유형건수를 표시함 2011/04/22 조중래
  1015. var scount = model.getValue("/root/main/iphs_info/h_iphscnt/iphscnt/count");
  1016. if (scount <= 0) {
  1017. messageBox("환자의 재원정보를 가져 올 수", "I004");
  1018. fInitialize("all");
  1019. return;
  1020. }
  1021. if (scount >= 1) {
  1022. cpt_iphs.text = "재원유형 [ "+ scount +" ]건";
  1023. } else {
  1024. cpt_iphs.text = "";
  1025. }
  1026. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_brateflag") == "O") {
  1027. cpt_amtflag.text = "[외래요율환자]";
  1028. } else {
  1029. cpt_amtflag.text = "";
  1030. }
  1031. scount = getNodesetCount("/root/main/iphs_info/h_grdipatinfo/grdipatinfo");
  1032. for( i =1; i <= scount; i++)
  1033. {
  1034. var rcptyn = model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_rcptyn");
  1035. if (rcptyn == "Y") {
  1036. grd_inpatinfo.rowStyle(i,"data","color") = "#0000FF";//"#ff6600"
  1037. } else {
  1038. grd_inpatinfo.rowStyle(i,"data","color") = "#000000";
  1039. }
  1040. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_handicaprbookpossnyn") == "Y") {
  1041. grd_inpatinfo.cellStyle("color", i, grd_inpatinfo.colref("iphs_handicaprbookpossnyn")) = "#ff0000";
  1042. }
  1043. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_rareobstflag") == "H") {
  1044. grd_inpatinfo.cellStyle("color", i, grd_inpatinfo.colref("iphs_rareobstflag")) = "#ff0000";
  1045. }
  1046. }
  1047. var sopcount = getNodesetCount("/root/main/iphs_info/h_opspec/opspec");
  1048. if (sopcount >= 2) {
  1049. btn_opspec.attribute("class") = "btn5_letter2";
  1050. btn_opspec.attribute("color") = "#ff0066";
  1051. } else {
  1052. btn_opspec.attribute("class") = "btn2_letter2";
  1053. }
  1054. //퇴원참고사항이 있을 경우 버튼 변경
  1055. var sdschmemo = trim(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dscharngmnmemo"));
  1056. if (sdschmemo == "" || sdschmemo == "-") {
  1057. btn_dscharngmnmemo.attribute("class") = "btn2_letter6";
  1058. } else {
  1059. btn_dscharngmnmemo.attribute("class") = "btn5_letter6";
  1060. btn_dscharngmnmemo.attribute("color") = "#ff0066";
  1061. }
  1062. */
  1063. // 재원유형 건수 표시
  1064. // 합치기 이전의 유형건수를 표시함 2011/04/22 조중래
  1065. var scount = model.getValue("/root/main/iphs_info/h_iphscnt/iphscnt/count");
  1066. if (scount <= 0) {
  1067. messageBox("환자의 재원정보를 가져 올 수", "I004");
  1068. fInitialize("all");
  1069. return;
  1070. }
  1071. if (scount >= 1) {
  1072. cpt_iphs.text = "재원유형 [ "+ scount +" ]건";
  1073. } else {
  1074. cpt_iphs.text = "";
  1075. }
  1076. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_brateflag") == "O") {
  1077. cpt_amtflag.text = "[외래요율환자]";
  1078. } else {
  1079. cpt_amtflag.text = "";
  1080. }
  1081. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_specordtype") != "-") {
  1082. var msg = "KTAS-" + model.getValue("/root/main/inpt_info/inptpatinfo/inpt_specordtype")
  1083. // 응급실 접퇴처리 표시
  1084. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_etcordflag") == "X") {
  1085. msg = msg + " 접퇴";
  1086. }
  1087. cap_ktas.text = "[" + msg + "]";
  1088. // KTAS 등급별 색깔지정 1, 2, 3 : 빨강 / 그외 : 파랑
  1089. if (model.getValue("/root/main/inpt_info/inptpatinfo/inpt_specordtype") == "1"
  1090. || model.getValue("/root/main/inpt_info/inptpatinfo/inpt_specordtype") == "2"
  1091. || model.getValue("/root/main/inpt_info/inptpatinfo/inpt_specordtype") == "3") {
  1092. cap_ktas.attribute("color") = "#ff0066";
  1093. } else {
  1094. cap_ktas.attribute("color") = "#6600ff";
  1095. }
  1096. } else {
  1097. cap_ktas.text = "";
  1098. }
  1099. scount = getNodesetCount("/root/main/iphs_info/h_grdipatinfo/grdipatinfo");
  1100. // DRG정보 reset
  1101. model.setValue("/root/hidden/drginfo/drgno", "");
  1102. model.setValue("/root/hidden/drginfo/rowno", "");
  1103. for(var i =1; i <= scount; i++)
  1104. {
  1105. var rcptyn = model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_rcptyn");
  1106. if (rcptyn == "Y") {
  1107. grd_inpatinfo.rowStyle(i,"data","color") = "#0000FF";//"#ff6600"
  1108. } else {
  1109. grd_inpatinfo.rowStyle(i,"data","color") = "#000000";
  1110. }
  1111. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_handicaprbookpossnyn") == "Y") {
  1112. grd_inpatinfo.cellStyle("color", i, grd_inpatinfo.colref("iphs_handicaprbookpossnyn")) = "#ff0000";
  1113. }
  1114. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_rareobstflag") == "H"
  1115. || model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_rareobstflag") == "L") {
  1116. grd_inpatinfo.cellStyle("color", i, grd_inpatinfo.colref("iphs_rareobstflag")) = "#ff0000";
  1117. }
  1118. // DRG정보 추가 by 조중래 20130403
  1119. // iphs에 DRG정보가 복수개 존재하는 경우, 제일 첫번째 정보를 세팅한다.
  1120. if (model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_drgno") != ""
  1121. && model.getValue("/root/hidden/drginfo/drgno") == "") {
  1122. model.setValue("/root/hidden/drginfo/drgno", model.getValue("/root/main/iphs_info/h_grdipatinfo/grdipatinfo["+ i +"]/iphs_drgno"));
  1123. model.setValue("/root/hidden/drginfo/rowno", i);
  1124. } else {
  1125. model.setValue("/root/hidden/drginfo/drgno", "");
  1126. model.setValue("/root/hidden/drginfo/rowno", "");
  1127. }
  1128. }
  1129. var sopcount = getNodesetCount("/root/main/iphs_info/h_opspec/opspec");
  1130. if (sopcount >= 2) {
  1131. btn_opspec.attribute("class") = "btn5_letter2";
  1132. btn_opspec.attribute("color") = "#ff0066";
  1133. } else {
  1134. btn_opspec.attribute("class") = "btn2_letter2";
  1135. }
  1136. //퇴원참고사항이 있을 경우 버튼 변경
  1137. var sdschmemo = trim(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dscharngmnmemo"));
  1138. if (sdschmemo == "" || sdschmemo == "-") {
  1139. btn_dscharngmnmemo.attribute("class") = "btn2_letter4";
  1140. } else {
  1141. btn_dscharngmnmemo.attribute("class") = "btn5_letter4";
  1142. btn_dscharngmnmemo.attribute("color") = "#ff0066";
  1143. }
  1144. }
  1145. //사망환자일 경우 외래접수내역조회 - 순천향버전 경북대 사용안함
  1146. function fDethordlist() {
  1147. //[2012.03.20 이성웅 추가]사망환자일 경우, 외래접수내역, 검사예약내역, 미시행처방을 보여준다.
  1148. /*
  1149. if(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dethyn") == "Y"){//사망환자
  1150. var dschdclrdt = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschdclrdt");
  1151. model.setValue("/root/send/dschdclrdt", dschdclrdt);
  1152. submit("TRPAI05008");
  1153. //[2012.03.21 이성웅 수정]내역이 존재할때만 사망내역 탭을 활성화
  1154. if(grd_dethordlist.rows > 1){
  1155. button60.visible = true;
  1156. }else{
  1157. button60.visible = false;
  1158. }
  1159. }else{
  1160. button60.visible = false;
  1161. }
  1162. */
  1163. if(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dethyn") == "Y"){//사망환자
  1164. //[2012.03.21 이성웅 수정]내역이 존재할때만 사망내역 탭을 활성화
  1165. if(getNodesetCount("/root/temp6/deathinfo/deathlist/orddd") > 0){
  1166. button60.visible = true;
  1167. }else{
  1168. button60.visible = false;
  1169. }
  1170. }else{
  1171. button60.visible = false;
  1172. }
  1173. }
  1174. //검사예약내역 - 순천향버전 경북대 사용안함
  1175. function fTestRsrv(){
  1176. //[2012.03.21 이성웅 수정]환자 조회 시 환자 퇴원 후, 검사예약내역 및 제증명 내역 존재 시 버튼 color 변경
  1177. /*
  1178. var pid = model.getValue("/root/send/data1/pid");
  1179. var dschdclrdt = model.getValue("/root/main/inpt_info/inptpatinfo/inpt_dschdclrdt");
  1180. model.setValue("/root/temp5/pid", pid);
  1181. model.setValue("/root/temp5/dschdclrdt", dschdclrdt);
  1182. submit("TRPAI05009");//검사예약내역
  1183. if(getNodesetCount("/root/temp7/testrsrvinfo/testrsrvlist") > 0){
  1184. button59.attribute("class") = "btn5_letter4";
  1185. button59.attribute("color") = "#ff0066";
  1186. }else{
  1187. button59.attribute("class") = "btn2_letter4";
  1188. }
  1189. */
  1190. if(getNodesetCount("/root/temp7/testrsrvinfo/testrsrvlist/rsrvdt") > 0){
  1191. button59.attribute("class") = "btn5_letter4";
  1192. button59.attribute("color") = "#ff0066";
  1193. }else{
  1194. button59.attribute("class") = "btn2_letter4";
  1195. }
  1196. }
  1197. //제증명내역 - 순천향버전 경북대 사용안함
  1198. function fProfCert(){
  1199. /*
  1200. submit("TRPAI05010");
  1201. if(getNodesetCount("/root/temp8/profcertinfo/profcertlist") > 0){
  1202. button57.attribute("class") = "btn5_letter5";
  1203. button57.attribute("color") = "#ff0066";
  1204. }else{
  1205. button57.attribute("class") = "btn2_letter5";
  1206. }
  1207. */
  1208. if(getNodesetCount("/root/temp8/profcertinfo/profcertlist/issdt") > 0){
  1209. button57.attribute("class") = "btn5_letter5";
  1210. button57.attribute("color") = "#ff0066";
  1211. }else{
  1212. button57.attribute("class") = "btn2_letter5";
  1213. }
  1214. }
  1215. // iphs단위로 의사 휴진일정 검증실시
  1216. function fGetDrHoliInfo(rcptyn) {
  1217. model.makeValue("/root/send/data1/pid", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid")); //환자번호
  1218. model.makeValue("/root/send/data1/indd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd")); //입원일자
  1219. model.makeValue("/root/send/data1/cretno", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_cretno")); //생성번호
  1220. // 수납시는 조회 스킵
  1221. if (rcptyn != "Y") {
  1222. submit("TRPAI00139");
  1223. }
  1224. var holiMsg = "";
  1225. for(var i=0; i<=getNodesetCount("/root/hidden/drholilist/drholilist"); i++) {
  1226. if (model.getValue("/root/hidden/drholilist/drholilist[" + i + "]/holimsg") != null
  1227. && model.getValue("/root/hidden/drholilist/drholilist[" + i + "]/holimsg") != "") {
  1228. holiMsg += "\r\n" + model.getValue("/root/hidden/drholilist/drholilist[" + i + "]/holimsg");
  1229. }
  1230. }
  1231. if (holiMsg != null && holiMsg != "") {
  1232. holiMsg = "주치의 휴진정보가 존재합니다. \r\n다음의 휴진정보를 참고하여 재원변경처리하십시요.\r\n휴진정보가 존재하는 경우 퇴원수납 불가능합니다. \r\n"
  1233. + holiMsg;
  1234. alert(holiMsg);
  1235. }
  1236. // 수납 시 블러킹처리
  1237. if (rcptyn == "Y") {
  1238. return false;
  1239. } else {
  1240. return true;
  1241. }
  1242. }
  1243. function fGetPatName() {
  1244. // 0. 입원약정서 출력
  1245. var ivrObjt = document.all("ivr_agmt");
  1246. if (ivrObjt == null) {
  1247. body.createChild("xforms:iviewer", "id:ivr_agmt; src:../../../pam/ipatmngtweb/xrw/SPPMI03200_입원약정서관리.xrw");
  1248. ivrObjt = document.all("ivr_agmt");
  1249. }
  1250. var retMsg = ivrObjt.window.javascript.fReqGetInAgmtCount(
  1251. model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid"),
  1252. model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"),
  1253. model.getValue("/root/main/inpt_info/inptpatinfo/inpt_agmttype")
  1254. );
  1255. // 1. 해당 입원에 대한 약정서가 존재하지 않는 경우 약정서 자동출력
  1256. // 2. 환자가 입원약정서를 지참하지 않은 경우 입원약정서 관리화면에서 재출력
  1257. if (retMsg != true) {
  1258. // 전자동의서 제어로직 추가 by 조중래 20130314
  1259. if (model.getValue("/root/init/PAM/PK018list/PK018[cdid='" + app.clientIp + "']/cdnm") == "Y") {
  1260. // 입원정보 설정
  1261. model.makeValue("/root/main/ininfo/orddeptnm", model.getValue("/root/hidden/init/wardcd[cd=2280200000]/nm"));
  1262. model.makeValue("/root/main/ininfo/roomcd", model.getValue("/root/hidden/erroomcd"));
  1263. model.makeValue("/root/main/ininfo/bedcnt", 0);
  1264. model.makeValue("/root/main/ininfo/insukind", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_insukind"));
  1265. // 전자동의서 파라미터 설정
  1266. setParameter("SSMRC03160_param_instcd", getUserInfo("dutplceinstcd"));
  1267. setParameter("SSMRC03160_param_patid", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  1268. setParameter("SSMRC03160_param_indate", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  1269. setParameter("SSMRC03160_param_cretno", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_cretno"));
  1270. setParameter("SSMRC03160_param_class", "I");
  1271. setParameter("SSMRC03160_param_docucd", model.getValue("/root/init/prncd/hardcd[cdseqno='5']/hardcd")); // 1300013648 일반약정서
  1272. setParameter("SSMRC03160_param_flag", "A"); // S : 선택진료신청서, A : 입원약정서, T : 기간약정서
  1273. setParameter("SSMRC03160_param_cuser", getUserInfo("userid"));
  1274. model.makeValue("/root/main/ininfo/fromdd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  1275. model.makeValue("/root/main/ininfo/todd", model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"));
  1276. model.makeValue("/root/main/ininfo/agmttype", "1"); // 1:일반약정서
  1277. // 담당자 연락처 설정
  1278. // 치과병원 법인화 관련 033 추가 by 조중래 20151123
  1279. if (getUserInfo("dutplceinstcd") == '031') {
  1280. model.makeValue("/root/main/ininfo/officetelno", "053-200-5061");
  1281. } else if (getUserInfo("dutplceinstcd") == '032') {
  1282. model.makeValue("/root/main/ininfo/officetelno", "053-200-2073");
  1283. } else if (getUserInfo("dutplceinstcd") == '033') {
  1284. model.makeValue("/root/main/ininfo/officetelno", "053-200-5061");
  1285. } else {
  1286. model.makeValue("/root/main/ininfo/officetelno", "");
  1287. }
  1288. // 전자동의서 팝업 호출
  1289. modal("SSMRC03160");
  1290. } else {
  1291. ivrObjt.window.javascript.fPrintAgmt(
  1292. model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid"),
  1293. model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"),
  1294. model.getValue("/root/main/inpt_info/inptpatinfo/inpt_orddeptcd"),
  1295. model.getValue("/root/main/inpt_info/inptpatinfo/inpt_medispclid"),
  1296. model.getValue("/root/main/inpt_info/inptpatinfo/inpt_agmttype"),
  1297. "N",
  1298. "",
  1299. "",
  1300. model.getValue("/root/main/inpt_info/inptpatinfo/inpt_insukind"),
  1301. "",
  1302. model.getValue("/root/main/inpt_info/inptpatinfo/inpt_cretno")
  1303. );
  1304. }
  1305. }
  1306. // 1. 환자팔찌 출력
  1307. var sPrintYN = model.getValue("/root/init/PAM/P0041list/P0041[cdid = 'E03']/cdnm"); // 바코드출력여부
  1308. if (sPrintYN == "Y") {
  1309. pmifPrintBarCode(model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid"),
  1310. model.getValue("/root/main/inpt_info/inptpatinfo/inpt_indd"),
  1311. model.getValue("/root/main/inpt_info/inptpatinfo/inpt_cretno"),
  1312. model.getValue("/root/main/inpt_info/inptpatinfo/inpt_mskind"),
  1313. "Y",
  1314. "Y",
  1315. "SMPAI00100",
  1316. "",
  1317. "",
  1318. "",
  1319. "Y");
  1320. }
  1321. // 2. 환자 이름표 출력 : 환자 이름표는 간호에서 전실완료시점에 출력하기로 협의(with 김지선선생님 20140117)
  1322. // model.makeValue("/root/send/patnameinfo/pid" , model.getValue("/root/main/inpt_info/inptpatinfo/inpt_pid"));
  1323. // model.makeValue("/root/send/patnameinfo/wardcd", "ERBD");
  1324. //
  1325. // model.makeNode("/root/main_nm/temp2");
  1326. //
  1327. // // 출력정보 조회
  1328. // submit("TRMNE00110");
  1329. //
  1330. // // 이름표 조회결과가 존재하는 경우에만 출력
  1331. // if (model.getValue("/root/main_nm/temp2/patnamelist/pid") != null
  1332. // && model.getValue("/root/main_nm/temp2/patnamelist/pid") != "") {
  1333. //
  1334. // model.makeNode("/root/send/temp2");
  1335. // model.makeNode("/root/send/temp2/patnamelist");
  1336. // model.copyNode("/root/send/temp2/patnamelist", "/root/main_nm/temp2/patnamelist");
  1337. //
  1338. //
  1339. //
  1340. // // 소방안전 구분 추가 by 조중래 2012/04/09
  1341. // model.makeValue("/root/send/temp2/patnamelist/method", "Foot");
  1342. //
  1343. // //공통코드 P0045에서 프린터 명칭과 트레이 호출 - 입원환자팔찌 프린터
  1344. // fGetPrintName();
  1345. // var print_name = getGlobalVariable("SPPAO00100_P0045_10_nm","p");
  1346. // var print_tray = getGlobalVariable("SPPAO00100_P0045_10_tray","p");
  1347. // //호출끝
  1348. //
  1349. // if(print_name != "false"){
  1350. // exeReportPreview("RPMNE00110", "XMLSTR" , "" , "" , print_name , "", "", "", "", "true", "", "", print_tray);
  1351. // }
  1352. //
  1353. // model.removeNodeset("/root/send/temp2");
  1354. // model.removeNodeset("/root/main_nm/temp2");
  1355. // }
  1356. }