SMMNL00100_입원전검사실메인.xrw 77 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>입원전검사실 메인</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <cond>
  11. <appfromdd/>
  12. <apptodd/>
  13. <daysrchflag>1</daysrchflag>
  14. <prcpsrchflag>1</prcpsrchflag>
  15. <pid/>
  16. <patnm/>
  17. <sexage/>
  18. <orddeptcd/>
  19. <arvflag>1</arvflag>
  20. <trgtpid/>
  21. <trgtpatnm/>
  22. </cond>
  23. <patbdpaminfo>
  24. <pid/>
  25. <patnm/>
  26. <sexage/>
  27. <orddeptnm/>
  28. <orddrnm/>
  29. <prcpdd/>
  30. <orddd/>
  31. <cretno/>
  32. <prcphopedd/>
  33. <instcd/>
  34. <ordtype/>
  35. <orddeptcd/>
  36. <orddrid/>
  37. </patbdpaminfo>
  38. <trgtpatinfo>
  39. <trgtpatlist>
  40. <chk/>
  41. <patstatus/>
  42. <pid/>
  43. <patnm/>
  44. <sexage/>
  45. <orddeptnm/>
  46. <orddrnm/>
  47. <diagnm/>
  48. <reforddd/>
  49. <refprcphopedd/>
  50. <inhopedd/>
  51. <bftestflag/>
  52. <tdaytestflag/>
  53. <assgroom/>
  54. <arvcnfmdt/>
  55. <arvcnfmrnm/>
  56. <orddd/>
  57. <cretno/>
  58. <acptseqno/>
  59. <prcphopedd/>
  60. <instcd/>
  61. <ordtype/>
  62. <orgorddd/>
  63. <prcpdd/>
  64. <orddeptcd/>
  65. <orddrid/>
  66. <rcptchk/>
  67. </trgtpatlist>
  68. <trgtpatcnt>
  69. <bfarvcnt/>
  70. <afarvcnt/>
  71. </trgtpatcnt>
  72. </trgtpatinfo>
  73. <patbdinfo>
  74. <patbddetlinfo>
  75. <lowbp/>
  76. <highbp/>
  77. <pulse/>
  78. <breth/>
  79. <bdtp/>
  80. <bdtppartcd/>
  81. <bdht/>
  82. <bdwt/>
  83. <bdbtype/>
  84. <spo2/>
  85. <spcffact>
  86. <spcf>
  87. <spcffactinclyn/>
  88. <spcffactdetl/>
  89. </spcf>
  90. </spcffact>
  91. </patbddetlinfo>
  92. </patbdinfo>
  93. <prcpinfo>
  94. <prcplist>
  95. <prcpclsnm/>
  96. <chk/>
  97. <dcflag/>
  98. <prcpcd/>
  99. <prcpnm/>
  100. <spcnm/>
  101. <prcpdelivefact/>
  102. <prcpstat/>
  103. <basecdflagdesc/>
  104. <execdeptnm/>
  105. <rcptflag/>
  106. <payflagcd/>
  107. <erprcpflag/>
  108. <prcpdt/>
  109. <prcphopedd/>
  110. <execdd/>
  111. <execrnm/>
  112. <resultdd/>
  113. <prcpclscd/>
  114. <prcpkindcd/>
  115. <prcpkindnm/>
  116. <prcpdd/>
  117. <prcpno/>
  118. <prcphistno/>
  119. <instcd/>
  120. <prcpstatcd/>
  121. <prcpvol/>
  122. <prcpvolunitflag/>
  123. <prcpqty/>
  124. <prcpqtyunitflag/>
  125. <prcpdayno/>
  126. <abbrnm/>
  127. <enddd/>
  128. <raycnt/>
  129. </prcplist>
  130. </prcpinfo>
  131. <totrcptamt/>
  132. <paminfo/>
  133. <patinfo>
  134. <patinfolist/>
  135. </patinfo>
  136. <popupmenu>
  137. <prcplist>
  138. <item>
  139. <name>수가정보확인</name>
  140. <func>fGetCalcScorInfo</func>
  141. </item>
  142. <item>
  143. <name>검사정보확인</name>
  144. <func>fGetTestInfo</func>
  145. </item>
  146. </prcplist>
  147. </popupmenu>
  148. </main>
  149. <send>
  150. </send>
  151. <init>
  152. <mlist/>
  153. </init>
  154. <hidden>
  155. <spcffact>
  156. <spcf>
  157. <spcffactinclyn/>
  158. <spcffactdetl/>
  159. </spcf>
  160. </spcffact>
  161. </hidden>
  162. <temp>
  163. <tempprcpinfo/>
  164. <send>
  165. <pid/>
  166. <srchcond/>
  167. </send>
  168. <srchpatinfo>
  169. <patinfolist>
  170. <pid/>
  171. <patnm/>
  172. <sexage/>
  173. <orddeptnm/>
  174. <orddeptcd/>
  175. <orddd/>
  176. <cretno/>
  177. <instcd/>
  178. </patinfolist>
  179. </srchpatinfo>
  180. </temp>
  181. </root>
  182. </instance>
  183. <script type="javascript" ev:event="xforms-ready">
  184. <![CDATA[
  185. var syscd = getSystemCd() ;
  186. if (syscd.substr(0,6)=="HIS012") {
  187. button7.visible=false;
  188. }else {
  189. }
  190. //조회조건 초기화
  191. model.setValue("/root/main/cond/appfromdd", getCurrentDate().toDate().getAddDate(-1,"D").getDateFormat());
  192. model.setValue("/root/main/cond/apptodd", getCurrentDate());
  193. model.setFocus("ipt_condpid");
  194. //그리드 초기화
  195. model.removeNodeset("/root/main/trgtpatinfo");
  196. model.removeNodeset("/root/main/prcpinfo");
  197. // 공통코드 스크립트 호출
  198. zbcfGetCodeList( new Array("M0375", "M0376"), new Array("/root/init/mlist", "/root/init/mlist")); //체온부위, 혈액형
  199. fGetTrgtList();
  200. ]]>
  201. </script>
  202. <script type="javascript">
  203. <![CDATA[
  204. //대상자리스트 조회
  205. function fGetTrgtList(){
  206. model.removeNodeset("/root/main/trgtpatinfo");
  207. model.removeNodeset("/root/main/prcpinfo");
  208. model.resetInstanceNode("/root/main/patbdpaminfo");
  209. model.resetInstanceNode("/root/main/patbdinfo");
  210. model.removeNodeset("/root/send");
  211. model.makeNode("/root/send");
  212. model.copyNode("/root/send", "/root/main/cond");
  213. /*
  214. //환자아이디로 바로 대상자를 조회하므로 사용하지 않음
  215. if(model.getValue("/root/main/cond/pid") != ""){
  216. if(model.getValue("/root/main/cond/patnm") == ""){
  217. model.resetInstanceNode("/root/main/cond/pid");
  218. return;
  219. }
  220. if(model.getValue("/root/main/cond/orddeptcd") == ""){
  221. messageBox("진료과를 선택하세요.", "I");
  222. return;
  223. }
  224. model.makeValue("/root/send/orddd", model.getValue("/root/temp/srchpatinfo/patinfolist/orddd"));
  225. model.makeValue("/root/send/cretno", model.getValue("/root/temp/srchpatinfo/patinfolist/cretno"));
  226. model.makeValue("/root/send/instcd", model.getValue("/root/temp/srchpatinfo/patinfolist/instcd"));
  227. }
  228. */
  229. if(submit("TRMNL00101", false)){
  230. if(model.getValue("/root/main/cond/arvflag") == "1"){ //도착전
  231. grd_trgtlist.colHidden(grd_trgtlist.colRef("arvcnfmdt")) = true;
  232. grd_trgtlist.colHidden(grd_trgtlist.colRef("arvcnfmrnm")) = true;
  233. }else{ //도착후
  234. grd_trgtlist.colHidden(grd_trgtlist.colRef("arvcnfmdt")) = false;
  235. grd_trgtlist.colHidden(grd_trgtlist.colRef("arvcnfmrnm")) = false;
  236. }
  237. grd_trgtlist.rebuildStyle();
  238. grd_trgtlist.rebuild();
  239. //rcptchk : 수납체크구분(N:미수납, V:수납VIP, Y:당일선검사, F:진찰료후수납, R:선불수납)
  240. for(var i=1; i < grd_trgtlist.rows; i++) {
  241. var rcptchk = model.getValue("/root/main/trgtpatinfo/trgtpatlist["+ i +"]/rcptchk");
  242. if(rcptchk == "N") {
  243. grd_trgtlist.rowStyle(i, "data", "background-color") = "#ff9a00";
  244. }else if(rcptchk == "V") {
  245. grd_trgtlist.rowStyle(i, "data", "background-color") = "#ffff00";
  246. }else if(rcptchk == "Y") {
  247. grd_trgtlist.rowStyle(i, "data", "background-color") = "#ccffcc";
  248. }else if(rcptchk == "F") {
  249. grd_trgtlist.rowStyle(i, "data", "background-color") = "#ff99cc";
  250. }else{
  251. grd_trgtlist.rowStyle(i, "data", "background-color") = "#ffffff";
  252. }
  253. }
  254. }
  255. model.refresh();
  256. }
  257. //*************************************************************************************************
  258. //환자검색 ==> 현재 환자아이디로 바로 대상자를 조회하므로 사용하지 않음
  259. function fSearchPatinfo() {
  260. delPatientInfos(); //화면상단정보 삭제
  261. setGlobalVariable("paminfo", ""); //원무정보 reset
  262. //진료과 콤보리스트로 조회
  263. model.removeNodeset("/root/send");
  264. model.makeNode("/root/send");
  265. model.makeValue("/root/send/pid", model.getValue("/root/main/cond/pid"));
  266. model.makeValue("/root/send/appfromdd", model.getValue("/root/main/cond/appfromdd"));
  267. model.makeValue("/root/send/apptodd", model.getValue("/root/main/cond/apptodd"));
  268. if(submit("TRMNL00104")){
  269. model.setValue("/root/main/cond/patnm", model.getValue("/root/temp/srchpatinfo/patinfolist/patnm"));
  270. model.setValue("/root/main/cond/sexage", model.getValue("/root/temp/srchpatinfo/patinfolist/sexage"));
  271. model.setValue("/root/main/cond/orddeptcd", model.getValue("/root/temp/srchpatinfo/patinfolist/orddeptnm"));
  272. }
  273. model.refresh();
  274. /*
  275. //원무 환자조회 팝업
  276. model.removeNodeset("/root/temp");
  277. model.makeNode("/root/temp");
  278. model.makeValue("/root/temp/send/pid", model.getValue("/root/main/cond/pid"));
  279. model.makeValue("/root/temp/send/srchcond", "1");
  280. modal("SPPMC02500", 1, 150, 150, "SPPMC02500", "/root/temp/send", "/root/send");
  281. if(model.getValue("/root/main/patinfo/patinfolist/pid") != ""){
  282. model.setValue("/root/main/cond/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  283. model.setValue("/root/main/cond/patnm" , model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  284. model.setValue("/root/main/cond/sexage", model.getValue("/root/main/patinfo/patinfolist/sex") + "/" + model.getValue("/root/main/patinfo/patinfolist/age"));
  285. model.setValue("/root/main/cond/orddeptnm", model.getValue(""));
  286. }
  287. */
  288. }
  289. //***********************************************************************************
  290. //대상자 리스트 클릭시
  291. function fClickTrgtPatList(){
  292. if (isDataCell()) {
  293. var iRow = grd_trgtlist.row;
  294. var ordtype = model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/ordtype");
  295. var pid = model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/pid");
  296. var orddd = model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/orddd");
  297. var cretno = model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/cretno");
  298. var prcphopedd = model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/prcphopedd");
  299. var instcd = model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/instcd");
  300. var acptseqno = model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/acptseqno");
  301. var orgorddd = model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/orgorddd");
  302. //상단정보 셋팅
  303. var param = ordtype + "▦" + pid + "▦" + orddd + "▦" + cretno + "▦" + instcd + "▦" + "" + "▦" + orgorddd;
  304. setParameter("condparam", param);
  305. modal("SPMMO08900", 1, "", "", "", "", "", "left:0; right:0; width:0; height:0; sysmenu:hidden; caption:hidden; min:hidden, max:hidden;");
  306. var node = getGlobalVariable("paminfo");
  307. setCSVToNode("/root/main/paminfo", node);
  308. //신체정보 셋팅
  309. model.setValue("/root/main/patbdpaminfo/pid", pid);
  310. model.setValue("/root/main/patbdpaminfo/patnm", model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/patnm"));
  311. model.setValue("/root/main/patbdpaminfo/sexage", model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/sexage"));
  312. model.setValue("/root/main/patbdpaminfo/orddeptnm", model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/orddeptnm"));
  313. model.setValue("/root/main/patbdpaminfo/orddrnm", model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/orddrnm"));
  314. model.setValue("/root/main/patbdpaminfo/prcpdd", model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/prcpdd"));
  315. model.setValue("/root/main/patbdpaminfo/orddd", orddd);
  316. model.setValue("/root/main/patbdpaminfo/cretno", cretno);
  317. model.setValue("/root/main/patbdpaminfo/prcphopedd", prcphopedd);
  318. model.setValue("/root/main/patbdpaminfo/instcd", instcd);
  319. model.setValue("/root/main/patbdpaminfo/ordtype", ordtype);
  320. model.setValue("/root/main/patbdpaminfo/orddeptcd", model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/orddeptcd"));
  321. model.setValue("/root/main/patbdpaminfo/orddrid", model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + iRow + "]/orddrid"));
  322. //조회조건 셋팅
  323. model.removeNodeset("/root/send");
  324. model.makeNode("/root/send");
  325. model.makeValue("/root/send/pid", pid);
  326. model.makeValue("/root/send/orddd", orddd);
  327. model.makeValue("/root/send/cretno", cretno);
  328. model.makeValue("/root/send/prcphopedd", prcphopedd);
  329. model.makeValue("/root/send/instcd", instcd);
  330. //기본신체정보조회
  331. if(model.getValue("/root/main/cond/arvflag") == "2"){ //도착후일 경우만 조회
  332. if(submit("TRMNL00102", false)){
  333. //특이사항 정보를 저장하지 않은 경우 XML TYPE저장을 위해 인스턴스 맞춰줌
  334. if (model.getValue("/root/main/patbdinfo/patbddetlinfo/spcffact") == "" && model.getValue("/root/main/patbdinfo/patbddetlinfo/spcffact/spcf/spcffactdetl") == "") {
  335. model.copyNode("/root/main/patbdinfo/patbddetlinfo/spcffact","/root/hidden/spcffact");
  336. }
  337. }
  338. }
  339. //처방조회
  340. fGetPrcpList();
  341. }
  342. }
  343. /*
  344. //대상자리스트에서 등록번호, 환자명으로 검색시
  345. function fSrchGridTrgtList(srchflag){
  346. for(var i=1, i <= getNodesetCount("/root/main/trgtpatinfo/trgtpatlist"); i++) {
  347. var trgt_pid = model.getValue("/root/main/cond/trgtpid");
  348. var trgt_patnm = model.getValue("/root/main/cond/trgtpatnm");
  349. var list_pid = model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + i + "]/pid");
  350. var list_patnm = model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + i + "]/patnm");
  351. if(srchflag == "pid"){
  352. if(
  353. }else{
  354. }
  355. }
  356. }
  357. */
  358. //처방조회
  359. function fGetPrcpList(){
  360. model.removeNodeset("/root/send");
  361. model.makeNode("/root/send");
  362. model.makeValue("/root/send/pid", model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + grd_trgtlist.row + "]/pid"));
  363. model.makeValue("/root/send/orddd", model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + grd_trgtlist.row + "]/orddd"));
  364. model.makeValue("/root/send/cretno", model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + grd_trgtlist.row + "]/cretno"));
  365. model.makeValue("/root/send/prcphopedd", model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + grd_trgtlist.row + "]/prcphopedd"));
  366. model.makeValue("/root/send/instcd", model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + grd_trgtlist.row + "]/instcd"));
  367. model.makeValue("/root/send/prcpsrchflag", model.getValue("/root/main/cond/prcpsrchflag"));
  368. grd_prcplist.fixedcellischeck(0, grd_prcplist.colRef("chk")) = false;
  369. if(submit("TRMNL00103")){
  370. //처방시간별 정렬
  371. var bfprcpclscd = "";
  372. var bfprcpkindcd = "";
  373. var bfprcpkindnm = "";
  374. var bfsortdt = "";
  375. var prestprcpclscd = "";
  376. var prestprcpkindcd = "";
  377. var prestprcpkindnm = "";
  378. var prestsortdt = "";
  379. model.makeNode("/root/temp/tempprcpinfo");
  380. for(var i=1, j=1; i <= getNodesetCount("/root/main/prcpinfo/prcplist"); i++, j++) {
  381. prestprcpclscd = model.getValue("/root/main/prcpinfo/prcplist["+ i +"]/prcpclscd");
  382. prestprcpkindcd = model.getValue("/root/main/prcpinfo/prcplist["+ i +"]/prcpkindcd");
  383. prestprcpkindnm = model.getValue("/root/main/prcpinfo/prcplist["+ i +"]/prcpkindnm");
  384. prestsortdt = model.getValue("/root/main/prcpinfo/prcplist["+ i +"]/prcpdt");
  385. if(bfprcpkindcd != prestprcpkindcd || bfsortdt != prestsortdt) {
  386. model.duplicate("/root/temp/tempprcpinfo", "/root/main/prcpinfo/prcplist["+ i +"]");
  387. var node = model.instance1.selectSingleNode("/root/temp/tempprcpinfo/prcplist["+ j +"]");
  388. var childNodeList = node.childNodes;
  389. var childNode;
  390. while( childNode = childNodeList.nextNode() ) {
  391. childNode.value ="";
  392. }
  393. //처방구분해더 생성
  394. model.setValue("/root/temp/tempprcpinfo/prcplist["+ j +"]/prcpclsnm", prestprcpkindnm + " " + prestsortdt);
  395. //생성된해더 구분
  396. model.setValue("/root/temp/tempprcpinfo/prcplist["+ j +"]/prcpkindnm", "H");
  397. model.duplicate("/root/temp/tempprcpinfo", "/root/main/prcpinfo/prcplist["+ i +"]");
  398. j++;
  399. } else {
  400. model.duplicate("/root/temp/tempprcpinfo", "/root/main/prcpinfo/prcplist["+ i +"]");
  401. }
  402. if(bfprcpkindcd == prestprcpkindcd && bfsortdt == prestsortdt) {
  403. model.setValue("/root/temp/tempprcpinfo/prcplist["+ j +"]/prcpclsnm", "");
  404. }
  405. bfprcpclscd = prestprcpclscd;
  406. bfprcpkindcd = prestprcpkindcd;
  407. bfprcpkindnm = prestprcpkindnm;
  408. bfsortdt = prestsortdt;
  409. }
  410. grd_prcplist.rebuildStyle();
  411. grd_prcplist.rebuild();
  412. model.copyNode("/root/main/prcpinfo","/root/temp/tempprcpinfo");
  413. model.removeNodeset("/root/temp/tempprcpinfo");
  414. model.refresh();
  415. for(var i=1; i < grd_prcplist.rows; i++) {
  416. if(model.getValue("/root/main/prcpinfo/prcplist["+ i +"]/prcpkindnm") == "H") { //prcpkindnm
  417. grd_prcplist.mergeByFree(i, 0, i, grd_prcplist.colRef("resultdd"));
  418. grd_prcplist.rowStyle(i, "data", "background-color") = "#EDE774";
  419. grd_prcplist.rowStyle(i, "data", "font-weight") = "bold";
  420. }else{
  421. if(model.getValue("/root/main/prcpinfo/prcplist["+ i +"]/dcflag") == "D/C"){
  422. grd_prcplist.cellStyle("color", i, grd_prcplist.colRef("dcflag"), i, grd_prcplist.colRef("resultdd")) = "#FF0000";
  423. }
  424. }
  425. }
  426. }
  427. model.refresh();
  428. }
  429. //수가정보확인
  430. function fGetCalcScorInfo(){
  431. model.makeValue("/root/main/prcpcd", model.getValue("/root/main/prcpinfo/prcplist[" + grd_prcplist.row + "]/prcpcd"));
  432. modal("SMPIC00200", "1", "400", "400", "", "/root/main/prcpcd" , "/root/temp");
  433. model.removenode("/root/main/prcpcd");
  434. }
  435. //검사정보확인
  436. function fGetTestInfo(){
  437. var selectdPrcpclscd = model.getValue("/root/main/prcpinfo/prcplist[" + grd_prcplist.row + "]/prcpclscd");
  438. model.makeValue("/root/main/prcpcd", model.getValue("/root/main/prcpinfo/prcplist[" + grd_prcplist.row + "]/prcpcd"));
  439. if ( selectdPrcpclscd == "B2" || selectdPrcpclscd == "B6" || selectdPrcpclscd == "D2" ) { //진검, 핵의학검체, 병리
  440. modal("SMLLF90100", "1", "400", "400", "", "/root/main/prcpcd" , "/root/hidden/tclscd");
  441. } else if ( selectdPrcpclscd == "C2" || selectdPrcpclscd == "C4" || selectdPrcpclscd == "C6" || selectdPrcpclscd == "E2" ) { //영상, 핵의학영상, Angio, 기능
  442. } else {
  443. messageBox("검사정보확인이 가능한 처방이 아닙니다.", "I");
  444. }
  445. model.removenode("/root/main/prcpcd");
  446. }
  447. ]]>
  448. </script>
  449. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  450. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  451. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  452. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  453. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  454. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
  455. <submission id="TRMNL00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/trgtpatinfo"/>
  456. <submission id="TRMNL00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/patbdinfo"/>
  457. <submission id="TRMNL00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/main/prcpinfo"/>
  458. <submission id="TRMNL00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp/srchpatinfo"/>
  459. <submission id="TXMNL00101" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send"/>
  460. <submission id="TXMNL00102" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send"/>
  461. <submission id="TXMNL00103" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send"/>
  462. <submission id="TXMNL00104" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/temp/resultmsg"/>
  463. </model>
  464. </xhtml:head>
  465. <xhtml:body>
  466. <group id="group2" scroll="auto" style="left:0px; top:13px; width:1195px; height:744px; ">
  467. <select1 id="rdo_arvflag" ref="/root/main/cond/arvflag" appearance="full" cellspacing="105" cols="2" overflow="visible" style="left:3px; top:103px; width:220px; height:18px; border-style:none; ">
  468. <choices>
  469. <item>
  470. <label>도착전</label>
  471. <value>1</value>
  472. </item>
  473. <item>
  474. <label>도착후</label>
  475. <value>2</value>
  476. </item>
  477. </choices>
  478. <script type="javascript" ev:event="xforms-value-changed">
  479. <![CDATA[
  480. if(model.getValue("/root/main/cond/arvflag") == "1"){ //도착전
  481. btn_arv.attribute("text") = "도착";
  482. btn_arv.attribute("left") = "742px";
  483. btn_arv.attribute("class") = "btn5_letter2";
  484. btn_bdinfo.disabled = true;
  485. btn_zoom.attribute("text") = "확대하기";
  486. btn_zoom.attribute("left") = "675px";
  487. grd_trgtlist.attribute("width") = "784";
  488. grd_trgtlist.colWidth(grd_trgtlist.colRef("diagnm")) = 125;
  489. }else{ //도착후
  490. btn_arv.attribute("text") = "도착취소";
  491. btn_arv.attribute("left") = "720px";
  492. btn_arv.attribute("class") = "btn5_letter4";
  493. btn_bdinfo.disabled = false;
  494. btn_zoom.attribute("text") = "확대하기";
  495. btn_zoom.attribute("left") = "653px";
  496. grd_trgtlist.attribute("width") = "784";
  497. grd_trgtlist.colWidth(grd_trgtlist.colRef("diagnm")) = 125;
  498. }
  499. btn_arv.refresh();
  500. btn_bdinfo.refresh();
  501. btn_zoom.refresh();
  502. delPatientInfos(); //화면상단정보 삭제
  503. setGlobalVariable("paminfo", ""); //원무정보 reset
  504. fGetTrgtList();
  505. ]]>
  506. </script>
  507. </select1>
  508. <caption id="caption1" class="cell_1" style="left:323px; top:100px; width:95px; height:23px; vertical-align:middle; ">등록번호</caption>
  509. <input id="input1" ref="/root/main/patbdinfo/patbddetlinfo/spo2" navindex="32" maxlength="6" style="left:1077px; top:221px; width:77px; height:19px; text-align:center; "/>
  510. <output id="output1" ref="/root/main/patbdpaminfo/prcphopedd" class="output_fix" format="yyyy-mm-dd" appearance="output" style="left:1118px; top:125px; width:75px; height:19px; "/>
  511. <line id="line1" class="line_1" style="x1:0px; y1:95px; x2:784px; y2:95px; "/>
  512. <caption id="caption2" class="cell_1" style="left:787px; top:244px; width:60px; height:121px; ">특이사항</caption>
  513. <input id="input2" ref="/root/main/patbdinfo/patbddetlinfo/pulse" navindex="25" imemode="alpha" maxlength="3" style="left:850px; top:173px; width:103px; height:19px; text-align:center; "/>
  514. <line id="line2" class="line_1" style="x1:0px; y1:392px; x2:1195px; y2:392px; "/>
  515. <caption id="caption3" class="output_fix" style="left:1157px; top:173px; width:36px; height:19px; text-align:center; ">Kg</caption>
  516. <input id="input3" ref="/root/main/trgtpatinfo/trgtpatcnt/bfarvcnt" class="output_fix" disabled="true" style="left:60px; top:101px; width:100px; height:19px; text-align:center; "/>
  517. <caption id="caption4" class="cell_1" style="left:554px; top:100px; width:95px; height:23px; vertical-align:middle; ">환자명</caption>
  518. <caption id="caption5" class="output_fix" style="left:957px; top:148px; width:53px; height:19px; text-align:center; ">mmHg</caption>
  519. <caption id="caption7" class="cell_1" style="left:787px; top:100px; width:60px; height:23px; vertical-align:middle; ">등록번호</caption>
  520. <line id="line3" class="line_2" style="x1:787px; y1:121px; x2:1195px; y2:121px; "/>
  521. <caption id="caption8" class="tit_2" style="left:792px; top:79px; width:100px; height:13px; ">기본 신체정보</caption>
  522. <line id="line4" class="line_1" style="x1:787px; y1:95px; x2:1195px; y2:95px; "/>
  523. <caption id="caption9" class="output_fix" style="left:957px; top:221px; width:53px; height:19px; text-align:center; ">℃</caption>
  524. <caption id="caption10" class="cell_1" style="left:922px; top:123px; width:60px; height:23px; vertical-align:middle; ">주치의</caption>
  525. <line id="line5" class="line_2" style="x1:787px; y1:146px; x2:1195px; y2:146px; "/>
  526. <caption id="caption12" class="cell_1" style="left:787px; top:148px; width:60px; height:23px; ">혈압</caption>
  527. <input id="input4" ref="/root/main/patbdinfo/patbddetlinfo/breth" navindex="26" imemode="alpha" maxlength="2" style="left:850px; top:197px; width:103px; height:19px; text-align:center; "/>
  528. <line id="line6" class="line_2" style="x1:787px; y1:194px; x2:1195px; y2:194px; "/>
  529. <caption id="caption13" class="cell_1" style="left:1055px; top:124px; width:60px; height:23px; vertical-align:middle; ">처방일</caption>
  530. <textarea id="textarea1" ref="/root/main/patbdinfo/patbddetlinfo/spcffact/spcf/spcffactdetl" navindex="33" scroll="autovscroll" imemode="hangul" style="left:850px; top:245px; width:343px; height:119px; "/>
  531. <caption id="caption15" class="output_fix" style="left:957px; top:173px; width:53px; height:19px; text-align:center; ">회/분</caption>
  532. <input id="input5" ref="/root/main/patbdinfo/patbddetlinfo/highbp" navindex="24" imemode="alpha" maxlength="3" style="left:850px; top:149px; width:50px; height:19px; text-align:center; "/>
  533. <caption id="caption16" class="cell_1" style="left:787px; top:124px; width:60px; height:23px; vertical-align:middle; ">진료과</caption>
  534. <output id="output2" ref="/root/main/patbdpaminfo/orddeptnm" class="output_fix" appearance="output" style="left:850px; top:125px; width:70px; height:19px; "/>
  535. <output id="output3" ref="/root/main/patbdpaminfo/sexage" class="output_fix" appearance="output" style="left:1118px; top:101px; width:75px; height:19px; "/>
  536. <button id="button1" class="btn2_letter8" style="left:1020px; top:371px; width:108px; height:19px; ">
  537. <caption>필름판독대출신청</caption>
  538. <script type="javascript" ev:event="DOMActivate">
  539. <![CDATA[
  540. open("SMAEF00100","1","15","128");
  541. ]]>
  542. </script>
  543. </button>
  544. <caption id="caption17" class="cell_1" style="left:787px; top:172px; width:60px; height:23px; ">맥박</caption>
  545. <input id="input6" ref="/root/main/patbdinfo/patbddetlinfo/lowbp" navindex="23" imemode="alpha" maxlength="3" style="left:903px; top:149px; width:50px; height:19px; text-align:center; "/>
  546. <select1 id="combo2" ref="/root/main/patbdinfo/patbddetlinfo/bdbtype" class="combo_default" navindex="31" appearance="minimal" style="left:1077px; top:197px; width:116px; height:19px; ">
  547. <choices>
  548. <itemset nodeset="/root/init/mlist/M0376">
  549. <label ref="cdnm"/>
  550. <value ref="cdid"/>
  551. </itemset>
  552. </choices>
  553. </select1>
  554. <caption id="caption18" class="cell_1" style="left:1014px; top:148px; width:60px; height:23px; ">신장</caption>
  555. <line id="line13" class="line_2" style="x1:787px; y1:218px; x2:1195px; y2:218px; "/>
  556. <output id="output4" ref="/root/main/patbdpaminfo/patnm" class="output_fix" appearance="output" style="left:985px; top:101px; width:67px; height:19px; "/>
  557. <caption id="caption19" class="cell_1" style="left:787px; top:196px; width:60px; height:23px; ">호흡</caption>
  558. <input id="input9" ref="/root/main/patbdinfo/patbddetlinfo/bdht" navindex="29" maxlength="3" style="left:1077px; top:149px; width:77px; height:19px; text-align:center; "/>
  559. <caption id="caption20" class="output_fix" style="left:957px; top:198px; width:53px; height:19px; text-align:center; ">회/분</caption>
  560. <caption id="caption21" class="tit_2" style="left:5px; top:79px; width:100px; height:13px; ">대상자 리스트</caption>
  561. <group id="group3" style="left:0px; top:5px; width:1194px; height:60px; vertical-align:top; ">
  562. <shape id="roundrect2" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:59px; "/>
  563. <input id="input16" ref="/root/main/cond/appfromdd" class="input_s_essential" inputtype="date" style="left:107px; top:8px; width:100px; height:19px; "/>
  564. <caption id="caption22" class="search_name" style="left:15px; top:9px; width:86px; height:17px; ">적용일자 :</caption>
  565. <caption id="caption23" style="left:212px; top:11px; width:11px; height:13px; ">~</caption>
  566. <input id="input17" ref="/root/main/cond/apptodd" class="input_s_essential" inputtype="date" style="left:228px; top:8px; width:100px; height:19px; "/>
  567. <caption id="caption24" class="search_name" style="left:385px; top:9px; width:61px; height:17px; ">구분 :</caption>
  568. <select1 id="radio2" ref="/root/main/cond/daysrchflag" class="radio_search" appearance="full" cellspacing="15" cols="2" overflow="visible" style="left:450px; top:9px; width:220px; height:19px; border-style:none; ">
  569. <choices>
  570. <item>
  571. <label>입원예정일</label>
  572. <value>1</value>
  573. </item>
  574. <item>
  575. <label>처방일(검사희망일)</label>
  576. <value>2</value>
  577. </item>
  578. </choices>
  579. </select1>
  580. <select1 id="radio3" ref="/root/main/cond/prcpsrchflag" class="radio_search" appearance="full" cellspacing="15" cols="3" overflow="visible" style="left:770px; top:9px; width:290px; height:19px; border-style:none; ">
  581. <choices>
  582. <item>
  583. <label>전체</label>
  584. <value>1</value>
  585. </item>
  586. <item>
  587. <label>입원전일검사</label>
  588. <value>2</value>
  589. </item>
  590. <item>
  591. <label>입원당일검사</label>
  592. <value>3</value>
  593. </item>
  594. </choices>
  595. </select1>
  596. <caption id="caption25" class="search_name" style="left:705px; top:9px; width:61px; height:17px; ">처방 :</caption>
  597. <button id="button2" class="btn1_letter2" style="left:1125px; top:19px; width:56px; height:22px; ">
  598. <caption>조회</caption>
  599. <script type="javascript" ev:event="DOMActivate">
  600. <![CDATA[
  601. fGetTrgtList();
  602. ]]>
  603. </script>
  604. </button>
  605. <line id="line15" class="line_4" style="x1:1109px; y1:8px; x2:1109px; y2:51px; "/>
  606. <caption id="caption26" class="search_name" style="left:15px; top:33px; width:91px; height:17px; ">등록번호 :</caption>
  607. <input id="ipt_condpid" ref="/root/main/cond/pid" class="input_search" style="left:107px; top:34px; width:100px; height:19px; ">
  608. <script type="javascript" ev:event="onkeydown">
  609. <![CDATA[
  610. if(event.keycode == "13"){
  611. model.resetInstanceNode("/root/main/cond/patnm");
  612. model.resetInstanceNode("/root/main/cond/sexage");
  613. model.setFocus("cmb_orddept");
  614. //fSearchPatinfo();
  615. delPatientInfos(); //화면상단정보 삭제
  616. setGlobalVariable("paminfo", ""); //원무정보 reset
  617. fGetTrgtList();
  618. }
  619. ]]>
  620. </script>
  621. </input>
  622. <button id="btn_srch" class="icon_search" visibility="visible" style="left:210px; top:35px; width:16px; height:16px; ">
  623. <caption/>
  624. <script type="javascript" ev:event="DOMActivate">
  625. <![CDATA[
  626. modal("../../../pam/commonweb/xrw/SPPMC02500", "1","150", "150", "SPPMC02500", "/root/source", "/root/main/cond");
  627. //환자번호 copy
  628. var popupendflag = model.getValue("/root/main/popupendflag");
  629. if (popupendflag == "ok"){
  630. model.setValue("/root/main/cond/pid", model.getValue("/root/main/patinfo/patinfolist/pid"));
  631. model.setValue("/root/main/cond/patnm", model.getValue("/root/main/patinfo/patinfolist/hngnm"));
  632. model.setValue("/root/main/cond/sexage", model.getValue("/root/main/patinfo/patinfolist/sex") + "/" + model.getValue("/root/main/patinfo/patinfolist/age") );
  633. model.refresh();
  634. }
  635. //fSearchPatinfo();
  636. delPatientInfos(); //화면상단정보 삭제
  637. setGlobalVariable("paminfo", ""); //원무정보 reset
  638. fGetTrgtList();
  639. ]]>
  640. </script>
  641. </button>
  642. <output id="opt_patnm" ref="/root/main/cond/patnm" class="output_search" visibility="visible" style="left:228px; top:34px; width:100px; height:19px; "/>
  643. <output id="output5" ref="/root/main/cond/sexage" class="output_search" visibility="visible" style="left:331px; top:34px; width:50px; height:19px; "/>
  644. <select1 id="cmb_orddept" ref="/root/main/cond/orddeptcd" class="combo_search" navindex="28" visibility="hidden" appearance="minimal" style="left:384px; top:34px; width:150px; height:19px; ">
  645. <choices>
  646. <itemset nodeset="/root/temp/srchpatinfo/patinfolist">
  647. <label ref="orddeptnm"/>
  648. <value ref="orddeptcd"/>
  649. </itemset>
  650. </choices>
  651. </select1>
  652. </group>
  653. <input id="ipt_trgtpid" ref="/root/main/cond/trgtpid" class="input_search" style="left:421px; top:101px; width:130px; height:19px; ">
  654. <script type="javascript" ev:event="onkeydown">
  655. <![CDATA[
  656. if(event.keycode == "13"){
  657. model.setFocus("cmb_orddept");
  658. delPatientInfos(); //화면상단정보 삭제
  659. setGlobalVariable("paminfo", ""); //원무정보 reset
  660. fGetTrgtList();
  661. //fSrchGridTrgtList("pid");
  662. }
  663. ]]>
  664. </script>
  665. </input>
  666. <caption id="caption28" class="cell_1" style="left:1014px; top:196px; width:60px; height:23px; ">혈액형</caption>
  667. <input id="input20" ref="/root/main/patbdinfo/patbddetlinfo/bdtp" navindex="27" style="left:850px; top:221px; width:50px; height:19px; text-align:center; "/>
  668. <line id="line20" class="line_2" style="x1:787px; y1:170px; x2:1195px; y2:170px; "/>
  669. <caption id="caption30" class="output_fix" style="left:1157px; top:149px; width:36px; height:19px; text-align:center; ">Cm</caption>
  670. <caption id="caption31" class="tit_2" style="left:5px; top:376px; width:100px; height:13px; ">처방 상세내역</caption>
  671. <caption id="caption33" class="cell_1" style="left:787px; top:220px; width:60px; height:23px; ">체온</caption>
  672. <input id="input21" ref="/root/main/patbdinfo/patbddetlinfo/bdwt" navindex="30" style="left:1077px; top:173px; width:77px; height:19px; text-align:center; "/>
  673. <line id="line21" class="line_2" style="x1:787px; y1:242px; x2:1195px; y2:242px; "/>
  674. <select1 id="combo3" ref="/root/main/patbdinfo/patbddetlinfo/bdtppartcd" class="combo_default" navindex="28" appearance="minimal" style="left:903px; top:221px; width:50px; height:19px; ">
  675. <choices>
  676. <itemset nodeset="/root/init/mlist/M0375">
  677. <label ref="cdnm"/>
  678. <value ref="cdid"/>
  679. </itemset>
  680. </choices>
  681. </select1>
  682. <input id="ipt_trgtpatnm" ref="/root/main/cond/trgtpatnm" class="input_search" style="left:652px; top:101px; width:132px; height:19px; ">
  683. <script type="javascript" ev:event="onkeydown">
  684. <![CDATA[
  685. if(event.keycode == "13"){
  686. model.setFocus("cmb_orddept");
  687. delPatientInfos(); //화면상단정보 삭제
  688. setGlobalVariable("paminfo", ""); //원무정보 reset
  689. fGetTrgtList();
  690. //fSrchGridTrgtList("patnm");
  691. }
  692. ]]>
  693. </script>
  694. </input>
  695. <line id="line23" class="line_2" style="x1:787px; y1:365px; x2:1195px; y2:365px; "/>
  696. <caption id="caption36" class="cell_1" style="left:1014px; top:220px; width:60px; height:23px; ">SpO2</caption>
  697. <caption id="caption38" class="cell_1" style="left:1014px; top:172px; width:60px; height:23px; ">체중</caption>
  698. <caption id="caption47" class="cell_1" style="left:922px; top:99px; width:60px; height:23px; vertical-align:middle; ">환자명</caption>
  699. <output id="output9" ref="/root/main/patbdpaminfo/pid" class="output_fix" appearance="output" style="left:850px; top:101px; width:70px; height:19px; "/>
  700. <line id="line24" class="line_3" style="x1:0px; y1:122px; x2:784px; y2:122px; "/>
  701. <caption id="caption61" class="output_fix" style="left:1157px; top:221px; width:36px; height:19px; text-align:center; ">%</caption>
  702. <output id="output10" ref="/root/main/patbdpaminfo/orddrnm" class="output_fix" appearance="output" style="left:985px; top:125px; width:67px; height:19px; "/>
  703. <caption id="caption62" class="cell_1" style="left:1055px; top:100px; width:60px; height:23px; vertical-align:middle; ">S/A</caption>
  704. <input id="input23" ref="/root/main/trgtpatinfo/trgtpatcnt/afarvcnt" class="output_fix" disabled="true" style="left:220px; top:101px; width:100px; height:19px; text-align:center; "/>
  705. <datagrid id="grd_prcplist" nodeset="/root/main/prcpinfo/prcplist" caption="구분^선택^D/C^처방코드^처방명^검체^전달사항^상태^방사선실배정^수행부서^수납^급비^응급^처방일시^검사희망일^실시일^실시자^결과일" colsep="^" colwidth="52, 30, 34, 71, 200, 82, 100, 70, 88, 90, 30, 30, 30, 154, 80, 80, 52, 80" ellipsis="true" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="true" style="left:0px; top:397px; width:1195px; height:343px; ">
  706. <col ref="prcpclsnm"/>
  707. <col checkvalue="true,false" ref="chk" type="checkbox"/>
  708. <col ref="dcflag"/>
  709. <col ref="prcpcd"/>
  710. <col ref="prcpnm"/>
  711. <col ref="spcnm"/>
  712. <col ref="prcpdelivefact"/>
  713. <col ref="prcpstat"/>
  714. <col ref="basecdflagdesc" style="text-align:center; "/>
  715. <col ref="execdeptnm"/>
  716. <col ref="rcptflag" style="text-align:center; "/>
  717. <col ref="payflagcd" style="text-align:center; "/>
  718. <col ref="erprcpflag" style="text-align:center; "/>
  719. <col ref="prcpdt"/>
  720. <col ref="prcphopedd" style="text-align:center; "/>
  721. <col ref="execdd" style="text-align:center; "/>
  722. <col ref="execrnm" style="text-align:center; "/>
  723. <col ref="resultdd" style="text-align:center; "/>
  724. <script type="javascript" ev:event="onclick">
  725. <![CDATA[
  726. if (isDataCell()) {
  727. //생성된해더를 클릭한 경우 해더에 포함된 모든 체크박스를 토글시킴
  728. if(model.getValue("/root/main/prcpinfo/prcplist[" + grd_prcplist.row + "]/prcpkindnm") == "H" ) {
  729. if(model.getValue("/root/main/prcpinfo/prcplist[" + grd_prcplist.row + "]/prcpkindcd") == "C" ){
  730. model.setValue("/root/main/prcpinfo/prcplist[" + grd_prcplist.row + "]/prcpkindcd", "");
  731. for(var i = grd_prcplist.row+1; i < grd_prcplist.rows; i++) {
  732. //진행된 로우가 해더인 경우 체크 종료
  733. if(model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpkindnm") == "H" ) {
  734. break;
  735. } else {
  736. //기존에 체크가 되었던 해더 이므로 포함된 모든 로우의 체크박스를 해제함
  737. model.setValue("/root/main/prcpinfo/prcplist["+ i +"]/chk", "false");
  738. }
  739. }
  740. } else {
  741. model.setValue("/root/main/prcpinfo/prcplist[" + grd_prcplist.row + "]/prcpkindcd", "C");
  742. for(var i = grd_prcplist.row+1; i < grd_prcplist.rows; i++) {
  743. //진행된 로우가 해더인 경우 체크 종료
  744. if(model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpkindnm") == "H" ) {
  745. break;
  746. } else {
  747. //기존에 체크가 되었던 해더 이므로 포함된 모든 로우의 체크박스를 체크함
  748. model.setValue("/root/main/prcpinfo/prcplist["+ i +"]/chk", "true");
  749. }
  750. }
  751. }
  752. } else {
  753. //체크박스에 클릭이벤트가 들어올 경우 체크박스를 토글시킴
  754. if(grd_prcplist.col == grd_prcplist.colRef("chk")-1 || grd_prcplist.col == grd_prcplist.colRef("chk")+1 ) { //체크박스 앞뒤 컬럼 클릭시
  755. if(model.getValue("/root/main/prcpinfo/prcplist[" + grd_prcplist.row + "]/chk") == "false") {
  756. model.setValue("/root/main/prcpinfo/prcplist[" + grd_prcplist.row + "]/chk", "true");
  757. } else if(model.getValue("/root/main/prcpinfo/prcplist[" + grd_prcplist.row + "]/chk") == "true") {
  758. model.setValue("/root/main/prcpinfo/prcplist[" + grd_prcplist.row + "]/chk", "false");
  759. }
  760. }
  761. }
  762. model.refresh();
  763. }
  764. ]]>
  765. </script>
  766. <script type="javascript" ev:event="onmousedown">
  767. <![CDATA[
  768. setPopupMenu("grd_prcplist", false, "/root/main/popupmenu/prcplist/item", "name", "func");
  769. ]]>
  770. </script>
  771. <script type="javascript" ev:event="DOMFocusOut">
  772. <![CDATA[
  773. initPopupMenu();
  774. ]]>
  775. </script>
  776. </datagrid>
  777. <datagrid id="grd_trgtlist" nodeset="/root/main/trgtpatinfo/trgtpatlist" caption="입실^상태^등록번호^성명^S/A^진료과^주치의^진단명^진료일^검사희망일^입원예약일^입원전일검사^입원당일검사^입원예정병실^도착일시^도착확인자" colsep="^" colwidth="31, 64, 59, 65, 40, 80, 63, 125, 68, 68, 68, 80, 80, 80, 100, 77" ellipsis="true" mergecellsfixedrows="bycolrec" rowsep="|" tooltip="true" style="left:0px; top:124px; width:784px; height:241px; ">
  778. <col checkvalue="true,false" ref="chk" type="checkbox"/>
  779. <col ref="patstatus" style="text-align:center; "/>
  780. <col ref="pid" style="text-align:center; "/>
  781. <col ref="patnm" style="text-align:center; "/>
  782. <col ref="sexage" style="text-align:center; "/>
  783. <col ref="orddeptnm"/>
  784. <col ref="orddrnm" style="text-align:center; "/>
  785. <col ref="diagnm"/>
  786. <col ref="reforddd"/>
  787. <col ref="refprcphopedd"/>
  788. <col ref="inhopedd"/>
  789. <col ref="bftestflag" style="text-align:center; "/>
  790. <col ref="tdaytestflag" style="text-align:center; "/>
  791. <col ref="assgroom"/>
  792. <col ref="arvcnfmdt"/>
  793. <col ref="arvcnfmrnm" style="text-align:center; "/>
  794. <script type="javascript" ev:event="ondblclick">
  795. <![CDATA[
  796. fClickTrgtPatList();
  797. ]]>
  798. </script>
  799. </datagrid>
  800. <button id="btn_bdinfo" class="btn5_letter2" disabled="true" style="left:1153px; top:75px; width:42px; height:19px; ">
  801. <caption>저장</caption>
  802. <script type="javascript" ev:event="DOMActivate">
  803. <![CDATA[
  804. model.removeNodeset("/root/send");
  805. model.makeNode("/root/send");
  806. model.makeNode("/root/send/saveinfo");
  807. model.copyNode("/root/send/saveinfo", "/root/main/patbdinfo/patbddetlinfo");
  808. model.removeNodeset("/root/send/saveinfo/spcffact");
  809. model.makeValue("/root/send/saveinfo/spcffact", instance1.selectNodesXml("/root/main/patbdinfo/patbddetlinfo/spcffact/spcf"));
  810. model.makeValue("/root/send/saveinfo/pid", model.getValue("/root/main/patbdpaminfo/pid"));
  811. model.makeValue("/root/send/saveinfo/orddd", model.getValue("/root/main/patbdpaminfo/orddd"));
  812. model.makeValue("/root/send/saveinfo/cretno", model.getValue("/root/main/patbdpaminfo/cretno"));
  813. model.makeValue("/root/send/saveinfo/prcphopedd", model.getValue("/root/main/patbdpaminfo/prcphopedd"));
  814. model.makeValue("/root/send/saveinfo/instcd", model.getValue("/root/main/patbdpaminfo/instcd"));
  815. submit("TXMNL00102", false);
  816. //기본신체정보조회
  817. if(model.getValue("/root/main/cond/arvflag") == "2"){ //도착후일 경우만 조회
  818. submit("TRMNL00102");
  819. }
  820. model.refresh();
  821. ]]>
  822. </script>
  823. </button>
  824. <button id="btn_rslt" class="btn2_letter4" style="left:1131px; top:371px; width:64px; height:19px; ">
  825. <caption>결과조회</caption>
  826. <script type="javascript" ev:event="DOMActivate">
  827. <![CDATA[
  828. open("SMAER00800","1","15","128");
  829. ]]>
  830. </script>
  831. </button>
  832. <button id="btn_carerec" class="btn2_letter4" style="left:953px; top:371px; width:64px; height:19px; ">
  833. <caption>TYPE ll</caption>
  834. <script type="javascript" ev:event="onclick">
  835. <![CDATA[
  836. /*
  837. - 기록구분(recflag) :
  838. G : 일반간호기록
  839. B : 혈당간호기록
  840. O : 외래간호기록
  841. F : 기능검사기록
  842. I : 주사실간호기록
  843. D : DSC간호기록
  844. S : 전문간호기록
  845. H : 가정간호기록
  846. E : 응급간호기록
  847. A : 마취간호기록
  848. R : 회복간호기록
  849. L : 투석간호기록
  850. P : 수술간호기록
  851. T : 수혈간호기록
  852. W : 병동간호기록
  853. - 부서코드(dutplaccd) :
  854. -- 200890708 이전 Ver.
  855. 00001 혈당기록 혈당기록
  856. 12611 외래 외래
  857. 33100 기능검사 기능검사
  858. 31900 주사실 주사실
  859. 34100 DSC DSC
  860. 50112 가정간호 가정간호
  861. 82015 응급실 응급실
  862. 10900 마취 마취
  863. 31170 회복실 회복실
  864. 31400 투석실 투석실
  865. 00002 수술 수술간호기록
  866. 00003 수혈 수혈기록
  867. 00004 병동 병동기록
  868. -- 20080708 이후 Ver.
  869. 가정 001
  870. 간클리닉 002
  871. 기관지 003
  872. 내시경 004
  873. 병동 005
  874. 부정맥 006
  875. 분만 007
  876. 성분 008
  877. 외래 009
  878. 응급 010
  879. 전문 011
  880. 주사 012
  881. 통원 013
  882. 투석 014
  883. 혈당 015
  884. Echo 016
  885. 외래항암 017
  886. 수술 900
  887. 마취 900
  888. 회복 900
  889. - 처방구분(prcpflag) :
  890. A : 투약 ('A2', 'A4', 'A6')
  891. H : 처치 ('H4')
  892. T : 검사 ('B2','B4','B6','C2','C4','C6','D2','E2')를 포함한 나머지 처방
  893. - 기록 구분 정보
  894. SMMNR03400_ParamBase : recflag▦dutplaccd▦reclnkkey => 기록구분▦부서코드▦기록연계키
  895. SMMNR03400_ParamPrcp : prcpflag▦prcpnm => 처방구분▦처방정보
  896. */
  897. var ParamBaseHeader = "recflag▦dutplaccd▦reclnkkey▩";
  898. var ParamPrcpHeader = "prcpflag▦prcpnm▩";
  899. var ParamBaseData = "";
  900. var ParamPrcpData = "";
  901. var prcpflag = "";
  902. ParamBaseData += "T▦018▦"
  903. + model.getValue("/root/main/patbdpaminfo/pid")
  904. + "," + model.getValue("/root/main/patbdpaminfo/orddd")
  905. + "," + model.getValue("/root/main/patbdpaminfo/cretno")
  906. + "," + model.getValue("/root/main/patbdpaminfo/instcd")
  907. + "▩";
  908. for (var i = 1; i<= getNodesetCount("/root/main/prcpinfo/prcplist"); i++) {
  909. if (model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/chk") == "true" && model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpkindnm") != "H" ) {
  910. var prcpclscd = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpclscd");
  911. var prcpnm;
  912. //var prcpnm = model.getValue("/root/main_om/ominfo/prcpinfo/prcplist[" + i + "]/prcpnm");
  913. //** 20080709수정 **//
  914. // ① 투약 : 처방코드/처방명/일일용량/단위/일일수량/단위/일수/경로/용법
  915. if ("A2" == prcpclscd || "A4" == prcpclscd || "A6" == prcpclscd) {
  916. prcpflag = "A";
  917. prcpnm = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpcd") +"/" // 처방코드
  918. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpnm") +"/" // 처방명
  919. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpvol")
  920. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpvolunitflag") +"/" // 일일용량+단위
  921. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpqty")
  922. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpqtyunitflag") +"/" // 일일수량+단위
  923. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpdayno") +"/" // 일수
  924. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/abbrnm") +"/" // 경로+용법
  925. ;
  926. }
  927. // ② 처치 : 처방명/일일수량/Remark(의사처방의 remark)
  928. else if ("H4" == prcpclscd) {
  929. prcpflag = "H"; // H :처치
  930. prcpnm = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpnm") +"/" // 처방명
  931. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpqty")
  932. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpqtyunitflag") +"/" // 일일수량+단위
  933. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpdelivefact") // Remark
  934. ;
  935. }
  936. // ③ 검사 : 처방명/일일수량/Remark(의사처방의 remark)
  937. else {
  938. prcpflag = "T"; // T :그외 검사
  939. prcpnm = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpnm") +"/" // 처방명
  940. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpqty")
  941. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpqtyunitflag") +"/" // 일일수량+단위
  942. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpdelivefact") // Remark
  943. ;
  944. }
  945. ParamPrcpData += prcpflag + "▦" + prcpnm + "▩";
  946. }
  947. }
  948. setParameter("SMMNR03400_ParamBase", ParamBaseHeader + ParamBaseData);
  949. setParameter("SMMNR03400_ParamPrcp", ParamPrcpHeader + ParamPrcpData);
  950. modal("SMMNR03400","1","15","128");
  951. ]]>
  952. </script>
  953. </button>
  954. <button id="button5" class="btn5_letter4" style="left:798px; top:371px; width:64px; height:19px; ">
  955. <caption>반환요청</caption>
  956. <script type="javascript" ev:event="DOMActivate">
  957. <![CDATA[
  958. model.removeNodeset("/root/send");
  959. model.makeNode("/root/send/savedata");
  960. model.makeNode("/root/send/savedata/saveflaginfo"); //저장구분정보(saveFlagInfoVO)
  961. model.makeNode("/root/send/savedata/savergstinfo"); //저장등록정보(saveRgstInfoVO)
  962. model.makeNode("/root/send/savedata/saveprcpinfo"); //저장처방정보(savePrcpInfoVO)
  963. model.makeNode("/root/send/savedata/savesigninfo"); //저장인증정보(saveSignInfoVO)
  964. model.makeNode("/root/temp/result"); //에러 팝업
  965. model.makeNode("/root/endinfo/result"); //마감반환사유
  966. var FlagInfoHeader = "savedataflag▦saveflag▦prcpflag▦inptflag▦pamflag▦diagflag▦prcperrflag▦deptcd▦deptnm▦userid▦usernm▦signyn▩";
  967. var RgstInfoHeader = "pid▦orddd▦indd▦cretno▦orddeptcd▦orddrid▦instcd▩";
  968. var PrcpInfoHeader = "status▦rowno▦prcpdd▦prcpno▦prcphistno▦instcd▦pid▦orddd▦cretno▦orddeptcd▦orddrid▦prcpgenrflag▦prcpstatcd▦prcpkindcd▦prcpcd▦calcscorcd▦inclprcpcd▦"
  969. +"inclprcpno▦prcpexecdeptcd▦prcphopedd▦prcpqty▦prcpqtyunitflag▦prcptims▦prcpdayno▦payflagcd▦erprcpflag▦precureprcpflag▦nigtprcpflag▦portprcpflag▦fixprcpflag▦"
  970. +"choiordflag▦anamneflag▦prcpdirecflag▦angioflagcd▦opansflagcd▦ansttm▦offictourhealexamflag▦stemcellflag▦hosinhosoutflag▦hosinprcpresncd▦issdeptcd▦prcpauthflag▦"
  971. +"prcpinptflag▦prcpsignflag▦oprsrvno▦clincstdyflag▦clincstdycd▦drugmthdspccd▦prcpdelivefact▦tootfact▦matrsetprcpspec▦calcflag▦rsrvflag▦rsrvdd▦rsrvtm▦rsrvrid▦execdd▦"
  972. +"exectm▦execrid▦direcprcplnkdd▦direcprcplnkno▦ordreqlnkno▦testreqlnkno▦aftcertflag▦aftcertdrid▩";
  973. var SignInfoHeader = "signdd▦signno▦instcd▦pid▦orddd▦cretno▦signflag▦signgenrflag▦rgstdeptcd▦rgstdd▦rgsttm▦rgstrid▦updtdeptcd▦updtdd▦updttm▦updtrid▦fstrgstrid▦fstrgstdt▦lastupdtrid▦"
  974. +"lastupdtdt▦signbfcnts▦signaftcnts▩";
  975. var FlagInfoData = "";
  976. var RgstInfoData = "";
  977. var PrcpInfoData = "";
  978. var SignInfoData = "";
  979. var ordtype = model.getValue("/root/main/patbdpaminfo/ordtype"); //환자진료형태(외래 O, 응급 E ,입원 I)
  980. var deptcd = getUserInfo("dutplcecd"); //부서코드
  981. var deptnm = getUserInfo("dutplcenm"); //부서명
  982. var indd = "-"; //입원일자
  983. var orddd = model.getValue("/root/main/patbdpaminfo/orddd"); //진료일자
  984. var prcphistno = ""; //처방이력번호
  985. var prcpno = ""; //처방번호
  986. var ordindd = model.getValue("/root/main/patbdpaminfo/orddd"); //진료일자(외래일 경우 orddd, 입원일 경우 indd)
  987. //***** 저장구분정보(saveFlagInfoVO)
  988. FlagInfoData = '2' +"▦" //저장자료구분 (2:처방)
  989. + ordtype +"▦" //저장구분 (O:외래, I:입원, E:응급, S:건진)
  990. + '1' +"▦" //처방구분(M0035 처방권한에 대한 구분종류 )
  991. + '1' +"▦" //입력구분(M0034 처방입력에 대한 구분종류 )
  992. + 'Y' +"▦" //원무정보 처리구분 (Y/N)
  993. + 'N' +"▦" //진단정보 처리구분 (Y/N)
  994. + 'Y' +"▦" //처방오류구분(Y/N) -> Y일 경우 의사처방과 동일하게 오류리스트를 반환, N이면 오류를 확인하지 않음
  995. + deptcd +"▦" //부서코드 (입력자 또는 로그인한 사용자의 부서코드)
  996. + deptnm +"▦" //부서명 (입력자 또는 로그인한 사용자의 부서명)
  997. + getUserId() +"▦" //사용자ID (입력자 또는 로그인한 사용자ID)
  998. + getUserName() +"▦" //사용자명 (입력자 또는 로그인한 사용자명)
  999. + 'N' +"▩"; //전자서명여부 (Y/N)
  1000. //***** 저장등록정보(saveRgstInfoVO)
  1001. RgstInfoData = model.getValue("/root/main/patbdpaminfo/pid") +"▦"
  1002. + orddd +"▦"
  1003. + indd +"▦"
  1004. + model.getValue("/root/main/patbdpaminfo/cretno") +"▦"
  1005. + model.getValue("/root/main/patbdpaminfo/orddeptcd") +"▦"
  1006. + model.getValue("/root/main/patbdpaminfo/orddrid") +"▦"
  1007. + model.getValue("/root/main/patbdpaminfo/instcd") +"▩";
  1008. for (var i = 1; i<= getNodesetCount("/root/main/prcpinfo/prcplist"); i++) {
  1009. if(model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/chk") == "true" && model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpkindnm") != "H" ) {
  1010. var prcpdd = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpdd");
  1011. var prcpno = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpno");
  1012. var prcphistno = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcphistno");
  1013. var instcd = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/instcd");
  1014. var prcpcd = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpcd");
  1015. var prcpnm = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpnm");
  1016. var execdd = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/execdd");
  1017. var enddd = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/enddd");
  1018. var dcflag = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/dcflag");
  1019. var raycnt = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/raycnt"); //방사선실배정 가능코드여부(1:가능)
  1020. var prcpstatcd = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpstatcd");
  1021. if (dcflag == "D/C") { //20090225_SMY추가
  1022. model.makeValue("/root/temp/tempresult/prcperrlist/prcpno", prcpno);
  1023. model.makeValue("/root/temp/tempresult/prcperrlist/prcpcd", prcpcd);
  1024. model.makeValue("/root/temp/tempresult/prcperrlist/prcpnm", prcpnm);
  1025. model.makeValue("/root/temp/tempresult/prcperrlist/prcperr", "이미 반환된 처방입니다.");
  1026. model.duplicate("/root/temp/result","/root/temp/tempresult/prcperrlist");
  1027. } else if(execdd != "") { //실시하지 않은 처방에 대해서만 반환요청함
  1028. model.makeValue("/root/temp/tempresult/prcperrlist/prcpno", prcpno);
  1029. model.makeValue("/root/temp/tempresult/prcperrlist/prcpcd", prcpcd);
  1030. model.makeValue("/root/temp/tempresult/prcperrlist/prcpnm", prcpnm);
  1031. model.makeValue("/root/temp/tempresult/prcperrlist/prcperr", "실시된 처방은 반환할 수 없습니다.");
  1032. model.duplicate("/root/temp/result","/root/temp/tempresult/prcperrlist");
  1033. } else if (raycnt == "1" && prcpstatcd >= "440") { //20090225_SMY추가
  1034. model.makeValue("/root/temp/tempresult/prcperrlist/prcpno", prcpno);
  1035. model.makeValue("/root/temp/tempresult/prcperrlist/prcpcd", prcpcd);
  1036. model.makeValue("/root/temp/tempresult/prcperrlist/prcpnm", prcpnm);
  1037. model.makeValue("/root/temp/tempresult/prcperrlist/prcperr", "방배정되어 반환이 불가능합니다.");
  1038. model.duplicate("/root/temp/result","/root/temp/tempresult/prcperrlist");
  1039. }
  1040. //마감 이후에 반환일 경우 반환사유 입력 팝업
  1041. if(enddd.substr(0,8) != '99991231'){
  1042. model.makeValue("/root/endinfo/endinforesult/list/prcpdd", prcpdd);
  1043. model.makeValue("/root/endinfo/endinforesult/list/prcpno", prcpno);
  1044. model.makeValue("/root/endinfo/endinforesult/list/prcphistno", prcphistno);
  1045. model.makeValue("/root/endinfo/endinforesult/list/execprcpno", "");
  1046. model.makeValue("/root/endinfo/endinforesult/list/instcd", instcd);
  1047. model.makeValue("/root/endinfo/endinforesult/list/ioflag", ordtype);
  1048. model.duplicate("/root/endinfo/result","/root/endinfo/endinforesult/list");
  1049. }
  1050. //처방 반환 시 필요한 부분. 시작
  1051. PrcpInfoData += "C" +"▦" //신규(I), DC(C)
  1052. + i +"▦" //줄번호 (병리 요구)
  1053. + prcpdd +"▦" //처방일자(외래/종건은 orddd와 동일, 입원은 처방일자)
  1054. + prcpno +"▦" //처방번호 (status가 'I'일 경우 0)
  1055. + prcphistno +"▦" //처방이력번호 (status가 'I'일 경우 0)
  1056. + instcd +"▦" //기관코드
  1057. + model.getValue("/root/main/patbdpaminfo/pid") +"▦" //등록번호(원무Key)
  1058. + model.getValue("/root/main/patbdpaminfo/orddd") +"▦" //진료일자(원무Key) - 입원환자일 경우 indd
  1059. + model.getValue("/root/main/patbdpaminfo/cretno") +"▦" //생성번호(원무Key)
  1060. + model.getValue("/root/main/patbdpaminfo/orddeptcd") +"▦" //진료과(원무)
  1061. + model.getValue("/root/main/patbdpaminfo/orddrid") +"▦" //진료의ID(원무)
  1062. + ordtype +"▦" //처방발생구분(원무) - O:외래, I:입원, E:응급, S:건진
  1063. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpstatcd") +"▦" //처방상태 : '000'
  1064. + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpkindcd") +"▦" //처방종류 : '20'
  1065. + prcpcd +"▦" //처방코드
  1066. +"" +"▦" //수가코드
  1067. +"-" +"▦" //종속처방코드 ('-') => default : '-' //***
  1068. + 0 +"▦" //종속처방번호 (일련번호 - 종속처방코드별로 생성) => default : 0 //***
  1069. + "-" +"▦" //처방실시부서코드 (수가의 접수부서를 넣어 주거나, 접수하는 부서코드, 없을 경우 '-'로 처리)
  1070. + "" +"▦" //처방희망일자 (처방일자 이전으로 발생불가)
  1071. + "" +"▦" //처방수량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) => default : 1
  1072. + '-' +"▦" //처방수량단위 (약품일 경우 '3', 그렇지 않을경우 '-') => default : '-' //***
  1073. + 1 +"▦" //처방횟수 (1) (입원일 경우 횟수에 따라 풀림) => default : 1 //***
  1074. + 1 +"▦" //처방일수 (1) (지원부서에서는 주사처방에 대하여 일수를 넣으면 안됨, 넣으면 자료가 문제가 생김) => default : 1 //***
  1075. + "" +"▦" //급여구분코드 (M0029 참조) -> '-'로 넣으주면 환자의 보험유형에 따라 자동 발생
  1076. + "N" +"▦" //응급처방구분 (Y/N) ==> default : 'N' //***
  1077. + "N" +"▦" //선처치처방구분 (Y/N) ==> default : 'N'
  1078. + "N" +"▦" //야간처방구분 (Y/N) : 야간가산에 해당 될 경우 ==> default : 'N' //***
  1079. + "N" +"▦" //포터블처방구분 (Y/N) ==> default : 'N' //***
  1080. + "N" +"▦" //정액처방구분 (Y/N) ==> default : 'N' //***
  1081. + "N" +"▦" //선택처방구분 (Y/N) -> 만약 '-'일 경우 원무정보 기준으로 처리 ==> default : 'N' //***
  1082. + "N" +"▦" //기왕력(증)구분 (Y/N) ==> default : 'N' //***
  1083. + "-" +"▦" //처방방향구분 (코드정의서 M0041 참조), 재활은 위치구분으로 사용 : '-' => default : '-' //***
  1084. + "-" +"▦" //Angio구분 (코드정의서 M0006 참조) : '-' => default : '-' //***
  1085. + "-" +"▦" //수술마취구분 (코드정의서 M0007, M0008 참조) : '-' => default : '-' //***
  1086. + "0000" +"▦" //마취처방에 대한 마취적용시간 - 분을 4자리로 표현, 연속검사 검사간격 => default : '0000' //***
  1087. + "N" +"▦" //출장검진구분 (Y/N) => default : 'N' //***
  1088. + "00NNN" +"▦" //'00NNN' 건진청구구분, 조혈모(줄기)세포 구분 - Stem Cell Source 여부 ,Cryo여부, CD34 채집여부, 해동여부의 조합으로 구성 => default : '00NNN' //***
  1089. + "-" +"▦" //원내외구분(건진은 'I', 약이 아닐경우 '-') => default : '-' //***
  1090. + "00" +"▦" //원내처방사유 (건진에 해당하는 사유 - 정의, 약이 아닐경우 '00') => default : '00' //***
  1091. + deptcd +"▦" //발행부서코드 (집계가 타부서일 경우 타과코드, 입원은 기본이 병동) -> '-' 로 처리하면 자동 처리(기본은 처방입력부서이나 입원은 해당 병동으로 처리) => default : '-' //***
  1092. + "1" +"▦" //처방권한구분(0:의사처방화면, 1:의사및간호사공유처방, 2:순수간호처방, 3:지원부서의사처방, 4:기타처방 - 기타 지원부서 추가, 5:계산용원무처방, 6:건진처방 ==> 0,1만 의사처방화면에 보임, 단 3은 추후에 결정)
  1093. + "" +"▦" //처방입력구분(저장구분정보의 inptflag와 동일하게 처리)
  1094. + "1" +"▦" //처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료) => default : '2' //***
  1095. + "-" +"▦" //수술예약번호(0) => default : '-' //***
  1096. + "N" +"▦" //임상연구구분 (Y/N)
  1097. + "-" +"▦" //임상연구코드 ('-') -> 임상연구구분이 'Y'일 경우 임상연구코드를 등록 => default : '-' //***
  1098. + "-" +"▦" //투여방법및검체코드(약일 경우 복용방법, 진검 및 병리일 경우 검체코드, Default '-') => default : '-' //***
  1099. + "" +"▦" //처방전달사항 //***
  1100. + "-" +"▦" //치식 (병리만 사용, 나머지는 '-') => default : '-' //***
  1101. + "-" +"▦" //재료처방내용 ('-') -> 추후정의 //***
  1102. + "N" +"▦" //계산구분 (Y/N)
  1103. + "N" +"▦" //예약구분 (Y/N)
  1104. + "00000000" +"▦" //예약일자 ('N'일 경우 '00000000')
  1105. + "000000" +"▦" //예약시간 ('N'일 경우 '000000')
  1106. + "-" +"▦" //예약자ID ('-')
  1107. + "00000000" +"▦" //실시일자 ('00000000')
  1108. + "000000" +"▦" //실시시간 ('000000')
  1109. + "" +"▦" //실시자ID ('-')
  1110. + '00000000' +"▦" //지시처방연계일자 (00000000) -> 지원부서에서 사용 - 원지시처방의 처방일자
  1111. + '0' +"▦" //지시처방연계번호 (0) -> 지원부서에서 사용 - 원지시처방의 실시처방유일번호
  1112. + '0' +"▦" //진료의뢰연계번호 (0)
  1113. + '0' +"▦" //검사의뢰연계번호 (0) -> 병리와 진단검사 사용
  1114. + "06" +"▦" // 후인증구분
  1115. + model.getValue("/root/main/patbdpaminfo/orddrid") +"▩" // 후인증의사ID(전문의ID)
  1116. }
  1117. } //for end
  1118. if (PrcpInfoData == "") {
  1119. messageBox("반납할 처방내역이", "I004");
  1120. return;
  1121. }else{
  1122. if (getNodesetCount ("/root/temp/result/prcperrlist") > 0 ) {
  1123. var xpt = window.screenleft + 100;
  1124. var ypt = window.screenTop + 50;
  1125. var coord = getRelativeCoordinate ( xpt, ypt );
  1126. var mon = coord[0];
  1127. xpt = coord[1];
  1128. ypt = coord[2];
  1129. open ( "SPMNW11000", mon, xpt, ypt, "prcpdetl", "/root/temp/result", "/root/result", "", false );
  1130. model.removeNodeset("/root/temp");
  1131. }else {
  1132. //처방반환사유 팝업
  1133. if (getNodesetCount ("/root/endinfo/result/list") > 0 ) {
  1134. modal("SPPAS03000", "2", "100", "100", "SPPAS03000", "/root/endinfo/result", "root/target", "left:100; top:100; width:400; height:400; sysmenu:hidden; min:visible; max:hidden; :hidden; resize:true; caption:visible;", false);
  1135. model.removeNodeset("/root/endinfo");
  1136. }
  1137. model.setValue("/root/send/savedata/saveflaginfo", FlagInfoHeader+FlagInfoData);
  1138. model.setValue("/root/send/savedata/savergstinfo", RgstInfoHeader+RgstInfoData);
  1139. model.setValue("/root/send/savedata/saveprcpinfo", PrcpInfoHeader+PrcpInfoData);
  1140. if (submit("TXMNL00103", false)) {
  1141. //오류팝업
  1142. var prcpErrList = model.instances(0).selectNodes( "/root/temp/result/prcperrlist" );
  1143. if ( prcpErrList.length > 0 ) {
  1144. if ( !isNull(model.getValue ("/root/temp/result/prcperrlist/prcpcd"))){
  1145. var xpt = window.screenleft + 100;
  1146. var ypt = window.screenTop + 50;
  1147. var coord = getRelativeCoordinate ( xpt, ypt );
  1148. var mon = coord[0];
  1149. xpt = coord[1];
  1150. ypt = coord[2];
  1151. open ( "SPMMO00600", mon, xpt, ypt, "prcpdetl", "/root/temp/result", "/root/result", "", false );
  1152. model.removeNodeset("/root/temp/result/prcperrlist");
  1153. }
  1154. } else {
  1155. messageBox("처방이 반환 되었습니다.", "I");
  1156. fGetPrcpList(); //재조회
  1157. grd_prcplist.fixedcellischeck(0, grd_prcplist.colRef("chk")) = false;
  1158. }
  1159. }
  1160. }
  1161. }
  1162. ]]>
  1163. </script>
  1164. </button>
  1165. <button id="button7" class="btn5_letter6" style="left:865px; top:371px; width:86px; height:19px; ">
  1166. <caption>방사선실배정</caption>
  1167. <script type="javascript" ev:event="DOMActivate">
  1168. <![CDATA[
  1169. //환자가 선택되지 않았을 경우에 방사선 자동 실배정 종료
  1170. if (model.getValue("/root/main/patbdpaminfo/pid") == "") {
  1171. messageBox("환자가 지정되지", "E007");
  1172. return;
  1173. }
  1174. model.makeNode("root/temp/result");
  1175. var AutoRoomAssignHeader = "pid▦workflag▦prcpdd▦prcpno▦prcphistno▦ioflag▩";
  1176. var AutoRoomAssignData = "";
  1177. if (grd_prcplist.findRow("true", 1, grd_prcplist.colRef("chk")) != -1) {
  1178. for (var i = 1; i<= getNodesetCount("/root/main/prcpinfo/prcplist"); i++) {
  1179. if (model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/chk") == "true" && model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpkindnm") != "H" ) {
  1180. /* [입원전 검사실 화면에서의 체크 사항]
  1181. 1. 입원전 검사실에서의 처방은 수납완료이어야 한다.
  1182. 2. 영상의학과 일반촬영검사에 한함.
  1183. */
  1184. var dcflag = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/dcflag");
  1185. var rcptflag = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/rcptflag");
  1186. var raycnt = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/raycnt"); //방사선실배정 가능코드여부(1:가능)
  1187. var prcpstatcd = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpstatcd");
  1188. var prcpcd = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpcd");
  1189. var prcpno = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpno");
  1190. var prcpnm = model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpnm");
  1191. if (dcflag == "D/C") {
  1192. model.makeValue("/root/temp/tempresult/prcperrlist/prcpno", prcpno);
  1193. model.makeValue("/root/temp/tempresult/prcperrlist/prcpcd", prcpcd);
  1194. model.makeValue("/root/temp/tempresult/prcperrlist/prcpnm", prcpnm);
  1195. model.makeValue("/root/temp/tempresult/prcperrlist/prcperr", "반환된 처방입니다.");
  1196. model.duplicate("/root/temp/result","/root/temp/tempresult/prcperrlist");
  1197. } else if (rcptflag == 'N') {
  1198. model.makeValue("/root/temp/tempresult/prcperrlist/prcpno", prcpno);
  1199. model.makeValue("/root/temp/tempresult/prcperrlist/prcpcd", prcpcd);
  1200. model.makeValue("/root/temp/tempresult/prcperrlist/prcpnm", prcpnm);
  1201. model.makeValue("/root/temp/tempresult/prcperrlist/prcperr", "수납완료하지 않은 처방입니다.");
  1202. model.duplicate("/root/temp/result","/root/temp/tempresult/prcperrlist");
  1203. } else if (raycnt == "0") {
  1204. model.makeValue("/root/temp/tempresult/prcperrlist/prcpno", prcpno);
  1205. model.makeValue("/root/temp/tempresult/prcperrlist/prcpcd", prcpcd);
  1206. model.makeValue("/root/temp/tempresult/prcperrlist/prcpnm", prcpnm);
  1207. model.makeValue("/root/temp/tempresult/prcperrlist/prcperr", "배정가능한 검사코드가 아닙니다. 영상의학과에 문의하시기 바랍니다.");
  1208. model.duplicate("/root/temp/result","/root/temp/tempresult/prcperrlist");
  1209. } else if (raycnt == "1" && prcpstatcd >= "440") {
  1210. model.makeValue("/root/temp/tempresult/prcperrlist/prcpno", prcpno);
  1211. model.makeValue("/root/temp/tempresult/prcperrlist/prcpcd", prcpcd);
  1212. model.makeValue("/root/temp/tempresult/prcperrlist/prcpnm", prcpnm);
  1213. model.makeValue("/root/temp/tempresult/prcperrlist/prcperr", "이미 방사선 실배정된 처방입니다.");
  1214. model.duplicate("/root/temp/result","/root/temp/tempresult/prcperrlist");
  1215. }
  1216. AutoRoomAssignData += model.getValue("/root/main/patbdpaminfo/pid")
  1217. + "▦" + "1"
  1218. + "▦" + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpdd")
  1219. + "▦" + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcpno")
  1220. + "▦" + model.getValue("/root/main/prcpinfo/prcplist[" + i + "]/prcphistno")
  1221. + "▦" + "O"
  1222. + "▩";
  1223. }
  1224. }
  1225. model.removenode("/root/send");
  1226. model.makeValue("/root/send/prcplist", AutoRoomAssignHeader + AutoRoomAssignData);
  1227. model.refresh();
  1228. if (getNodesetCount ("/root/temp/result/prcperrlist") > 0 ) {
  1229. var xpt = window.screenleft + 100;
  1230. var ypt = window.screenTop + 50;
  1231. var coord = getRelativeCoordinate ( xpt, ypt );
  1232. var mon = coord[0];
  1233. xpt = coord[1];
  1234. ypt = coord[2];
  1235. open ( "SPMNW11000", mon, xpt, ypt, "prcpdetl", "/root/temp/result", "/root/result", "", false );
  1236. model.removeNodeset("/root/temp");
  1237. } else {
  1238. if (submit("TXMNL00104", false)) {
  1239. if (model.getValue("/root/temp/resultmsg/resultmsglist/prcperr") != "") {
  1240. messageBox(model.getValue("/root/temp/resultmsg/resultmsglist/prcperr"), "I");
  1241. }
  1242. fGetPrcpList(); //처방조회
  1243. }
  1244. }
  1245. } else {
  1246. messageBox("선택한 처방이", "I004");
  1247. }
  1248. ]]>
  1249. </script>
  1250. </button>
  1251. <button id="btn_arv" class="btn5_letter2" style="left:742px; top:75px; width:42px; height:19px; ">
  1252. <caption>도착</caption>
  1253. <script type="javascript" ev:event="DOMActivate">
  1254. <![CDATA[
  1255. if (grd_trgtlist.findRow("true", 1, grd_trgtlist.colRef("chk")) != -1) {
  1256. var SaveInfoHeader = "arvflag▦pid▦orddd▦cretno▦prcphopedd▦instcd▩";
  1257. var SaveInfoData = "";
  1258. model.removeNodeset("/root/send");
  1259. model.makeNode("/root/send");
  1260. //도착체크
  1261. for (var i = 1; i<= getNodesetCount("/root/main/trgtpatinfo/trgtpatlist"); i++) {
  1262. if(model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + i + "]/chk") == "true"){
  1263. SaveInfoData += model.getValue("/root/main/cond/arvflag") +"▦"
  1264. + model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + i + "]/pid") +"▦"
  1265. + model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + i + "]/orddd") +"▦"
  1266. + model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + i + "]/cretno") +"▦"
  1267. + model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + i + "]/prcphopedd") +"▦"
  1268. + model.getValue("/root/main/trgtpatinfo/trgtpatlist[" + i + "]/instcd") +"▦"
  1269. +"▩";
  1270. }
  1271. }
  1272. model.makeValue("/root/send/saveinfo", SaveInfoHeader+SaveInfoData);
  1273. submit("TXMNL00101");
  1274. model.resetInstanceNode("/root/main/patbdinfo");
  1275. fGetTrgtList();
  1276. }else{
  1277. messageBox("선택한 대상자가", "I004");
  1278. return;
  1279. }
  1280. ]]>
  1281. </script>
  1282. </button>
  1283. <output id="output8" ref="/root/main/totrcptamt" class="output_search" visibility="hidden" style="left:1049px; top:720px; width:145px; height:19px; "/>
  1284. <caption id="caption11" visibility="hidden" style="left:420px; top:719px; width:505px; height:20px; ">* 해당 금액은 수납예정 금액이며 할인, 보험사항등에 의해 수납 시점에서 바뀔 수 있습니다.</caption>
  1285. <caption id="caption14" class="search_name" visibility="hidden" style="left:931px; top:720px; width:119px; height:17px; ">수납예정금액 :</caption>
  1286. <button id="btn_zoom" class="btn5_letter4" style="left:675px; top:75px; width:64px; height:19px; ">
  1287. <caption>확대하기</caption>
  1288. <script type="javascript" ev:event="DOMActivate">
  1289. <![CDATA[
  1290. if ( btn_zoom.attribute("text") == "확대하기" ) {
  1291. btn_zoom.attribute("text") = "축소하기";
  1292. grd_trgtlist.attribute("width") = "1195";
  1293. if(model.getValue("/root/main/cond/arvflag") == "1"){
  1294. grd_trgtlist.colWidth(grd_trgtlist.colRef("diagnm")) = 250;
  1295. }else{
  1296. grd_trgtlist.colWidth(grd_trgtlist.colRef("diagnm")) = 154;
  1297. }
  1298. } else {
  1299. btn_zoom.attribute("text") = "확대하기";
  1300. grd_trgtlist.attribute("width") = "784";
  1301. grd_trgtlist.colWidth(grd_trgtlist.colRef("diagnm")) = 125;
  1302. }
  1303. model.refresh();
  1304. ]]>
  1305. </script>
  1306. </button>
  1307. <shape id="roundrect3" class="roundrect_example" appearance="roundrect" style="left:190px; top:69px; width:445px; height:24px; background-color:#fffbf2; border-color:#7cbbdd; "/>
  1308. <caption id="caption27" style="left:200px; top:72px; width:35px; height:20px; ">범례 :</caption>
  1309. <caption id="caption29" style="left:409px; top:74px; width:20px; height:15px; background-color:#ff99cc; "/>
  1310. <caption id="caption32" style="left:244px; top:74px; width:20px; height:15px; background-color:#FF9A00; "/>
  1311. <caption id="caption34" style="left:435px; top:74px; width:85px; height:15px; ">진찰료 후수납</caption>
  1312. <caption id="caption35" style="left:529px; top:74px; width:20px; height:15px; background-color:#ccffcc; "/>
  1313. <caption id="caption37" style="left:270px; top:74px; width:45px; height:15px; ">미수납</caption>
  1314. <caption id="caption39" style="left:555px; top:74px; width:70px; height:15px; ">당일 선검사</caption>
  1315. <caption id="caption40" style="left:320px; top:74px; width:20px; height:15px; background-color:#ffff00; "/>
  1316. <caption id="caption41" style="left:346px; top:74px; width:55px; height:15px; ">수납 VIP</caption>
  1317. </group>
  1318. <group id="grp_tle" style="left:0px; top:0px; width:1195px; height:13px; ">
  1319. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:191px; height:14px; ">입원전검사실 메인</caption>
  1320. </group>
  1321. <group id="grp_btn" style="left:0px; top:757px; width:1195px; height:27px; "/>
  1322. </xhtml:body>
  1323. </xhtml:html>