SMPAI00101.xjs 84 KB

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