SMMNA00500_APU메인.xrw 58 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * 제 목 :apu메인.xrw
  4. * 설 명 :
  5. * 설 계 자 :
  6. * 작 성 자 :
  7. * 작 성 일 :
  8. * 수정이력 :
  9. * 기 타 :
  10. -->
  11. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  12. <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">
  13. <xhtml:head>
  14. <xhtml:title>APU메인</xhtml:title>
  15. <model id="model1">
  16. <instance id="instance1">
  17. <root>
  18. <main>
  19. <paminfo/>
  20. <direcprcp>
  21. <direcprcpinfo>
  22. <pid/>
  23. <hngnm/>
  24. <age/>
  25. <sex/>
  26. <iogb/>
  27. <prcpnm/>
  28. <orddeptnm/>
  29. <orddridnm/>
  30. <prcphopedd/>
  31. <conformdd/>
  32. <prcpdt/>
  33. <prcpdd/>
  34. <prnprcpflag/>
  35. <prcpflag/>
  36. <prcpcd/>
  37. <hsctlnkno/>
  38. <indd/>
  39. <cretno/>
  40. <instcd/>
  41. <orddeptcd/>
  42. <orddrid/>
  43. <vipyn/>
  44. <rqstyn/>
  45. <spcffactyn/>
  46. <prcpno/>
  47. <prcphistno/>
  48. </direcprcpinfo>
  49. </direcprcp>
  50. <prcpdetl>
  51. <prcpdetlinfo>
  52. <chk/>
  53. <flag/>
  54. <dr/>
  55. <rcptyn/>
  56. <prcpstatcd/>
  57. <prcpcd/>
  58. <prcpnm/>
  59. <prcpvol/>
  60. <prcpvolunitflag/>
  61. <prcpqty/>
  62. <prcpqtyunitflag/>
  63. <prcptims/>
  64. <prcpdayno/>
  65. <payflagcd/>
  66. <prcpmixno/>
  67. <drugmthdspccd/>
  68. <prcpdelivefact/>
  69. <prcpdd/>
  70. <orddrid/>
  71. <execyn/>
  72. <execdd/>
  73. <execrid/>
  74. <prnprcpflag/>
  75. <prcpflag/>
  76. <prcpno/>
  77. <pid/>
  78. <iogb/>
  79. <rgstdd/>
  80. <prcphistno/>
  81. <remark/>
  82. <instcd/>
  83. <execprcpno/>
  84. <hscttempprcpflag/>
  85. <execprcpuniqno/>
  86. </prcpdetlinfo>
  87. </prcpdetl>
  88. <execprcp>
  89. <execprcpinfo>
  90. <chk/>
  91. <flag/>
  92. <dr/>
  93. <rcptyn/>
  94. <prcpstatcd/>
  95. <prcpcd/>
  96. <prcpnm/>
  97. <prcpvol/>
  98. <prcpvolunitflag/>
  99. <prcpqty/>
  100. <prcpqtyunitflag/>
  101. <prcptims/>
  102. <prcpdayno/>
  103. <payflagcd/>
  104. <prcpmixno/>
  105. <drugmthdspccd/>
  106. <prcpdelivefact/>
  107. <prcpdd/>
  108. <orddrid/>
  109. <execyn/>
  110. <execdd/>
  111. <execrid/>
  112. <prnprcpflag/>
  113. <prcpflag/>
  114. <prcpno/>
  115. <pid/>
  116. <iogb/>
  117. <rgstdd/>
  118. <prcphistno/>
  119. <remark/>
  120. <instcd/>
  121. <execprcpno/>
  122. <hscttempprcpflag/>
  123. <execprcpuniqno/>
  124. </execprcpinfo>
  125. </execprcp>
  126. <popupendflag/>
  127. <formdata>
  128. <popdata2>
  129. <pid/>
  130. <prcpdd/>
  131. <prcpcd/>
  132. <deptcd/>
  133. </popdata2>
  134. </formdata>
  135. <cond>
  136. <workflag apu=""/>
  137. <orddd/>
  138. <wardcd/>
  139. <baseinfo>
  140. <pid/>
  141. <sdate/>
  142. <tdate/>
  143. <iogb/>
  144. <deptcd/>
  145. <prcpflag/>
  146. </baseinfo>
  147. <globalinstance>
  148. <instance1/>
  149. </globalinstance>
  150. </cond>
  151. <patinfo>
  152. <patinfolist/>
  153. </patinfo>
  154. <menuitems>
  155. <inmenu>
  156. <item>
  157. <name>공여자문진</name>
  158. <func>fSetPopup01</func>
  159. </item>
  160. <item>
  161. <name>공여자매핑</name>
  162. <func>fSetPopup11</func>
  163. </item>
  164. <item>
  165. <name>공여자처방입력</name>
  166. <func>fSetPopup02</func>
  167. </item>
  168. <item>
  169. <name>검사결과판정조회</name>
  170. <func>fSetPopup03</func>
  171. </item>
  172. <item>
  173. <name>OCR서식지출력</name>
  174. <func>fSetPopup04</func>
  175. </item>
  176. <item>
  177. <name>환자진료정보조회</name>
  178. <func>fSetPopup05</func>
  179. </item>
  180. <item>
  181. <name>APU혈액불출등록</name>
  182. <func>fSetPopup06</func>
  183. </item>
  184. <item>
  185. <name>통합검사결과조회</name>
  186. <func>fSetPopup07</func>
  187. </item>
  188. <item>
  189. <name>통합기록조회</name>
  190. <func>fSetPopup08</func>
  191. </item>
  192. <item>
  193. <name>APU간호기록_치료.BMT</name>
  194. <func>fSetPopup09</func>
  195. </item>
  196. <item>
  197. <name>APU간호기록_헌혈</name>
  198. <func>fSetPopup10</func>
  199. </item>
  200. </inmenu>
  201. </menuitems>
  202. </main>
  203. <init>
  204. <cmbinfo>
  205. <payflagcd>
  206. <M0029>
  207. <cdid/>
  208. <cdnm/>
  209. </M0029>
  210. </payflagcd>
  211. </cmbinfo>
  212. </init>
  213. <send/>
  214. <popdata>
  215. <pid>21403</pid>
  216. <prcpdd>20070904</prcpdd>
  217. <execprcpuniqno>31389</execprcpuniqno>
  218. </popdata>
  219. <hidden>
  220. <count/>
  221. <momdcinfo>
  222. <isdc/>
  223. </momdcinfo>
  224. </hidden>
  225. <temp/>
  226. </root>
  227. </instance>
  228. <script type="javascript">
  229. <![CDATA[
  230. //-----------------------------
  231. // DC- DC interface 태운것(20071227_사용하지 않음)
  232. //-----------------------------
  233. function fSaveDataCancel_OLD() {
  234. //acting 취소+ D/C + 후인증
  235. var k = 0;
  236. for (var i = 1; i < datagrid2.rows; i++){
  237. if (model.getValue("/root/main/execprcp/execprcpinfo[" + i + "]/chk") == "true"){
  238. k = parseInt(k) + 1;
  239. }
  240. }
  241. if (k == 0){
  242. messageBox("처리할 내역이 선택되지 않았습니다.", "E999", "");
  243. return;
  244. }
  245. if (messageBox("D/C ",'Q003',"") != 6) return;
  246. fActingCancel();
  247. fActingDC_OLD();
  248. if (submit("TXMNA00502", false)) {
  249. //오류팝업
  250. var prcpErrList = model.instances(0).selectNodes( "/root/temp/result/prcperrlist" );
  251. if ( prcpErrList.length > 0 ) {
  252. if ( !isNull(model.getValue ("/root/temp/result/prcperrlist/prcpcd"))){
  253. var xpt = window.screenleft + 100;
  254. var ypt = window.screenTop + 50;
  255. var coord = getRelativeCoordinate ( xpt, ypt );
  256. var mon = coord[0];
  257. xpt = coord[1];
  258. ypt = coord[2];
  259. open ( "SPMMO00600", mon, xpt, ypt, "prcpdetl", "/root/temp/result", "/root/result", "", false );
  260. model.removeNodeset("/root/temp/result/prcperrlist");
  261. }
  262. } else {
  263. // model.removeNodeset("/root/main/prcpposinfo/prcpinfo");
  264. // model.copyNode("/root/main/bfprcpinfo/bfprcplistinfo", "/root/temp/result");
  265. //model.copyNode("/root/main/prcpposinfo/prcpinfo", "/root/temp/result");
  266. //grd_prcpposlist.colDisabled(1) = false;
  267. //fPrcpListRef("Bf");
  268. }
  269. model.refresh();
  270. } else {
  271. //alert("실처방발생 실패");
  272. messageBox("Acting취소+D/C+후인증이 되었습니다.","E001");
  273. readfunc2();
  274. }
  275. }
  276. //----------------------------------------------
  277. // DC interface 처리
  278. //----------------------------------------------
  279. function fActingDC_OLD() {
  280. //선택사항을 저장한다.
  281. var pGrdMain = grd_keepbaclist;
  282. var pGrdList = datagrid2;
  283. var xPathMain = "/root/main/direcprcp/direcprcpinfo";
  284. var xPathList = "/root/main/execprcp/execprcpinfo";
  285. var iRows = -1;
  286. var chkflag;
  287. var cnt = 0;
  288. var FlagInfoData = "";
  289. var RgstInfoData = "";
  290. var PrcpInfoData = "";
  291. var SignInfoData = "";
  292. //----------------------------------------------
  293. //전체체크기능(추가해야함)
  294. //----------------------------------------------
  295. var rowMain = pGrdMain.row;
  296. var rowList = pGrdList.row;
  297. if (pGrdList.rows <= 1 || pGrdList.row <= 0 ) {
  298. //alert("자료가 존재하지 않습니다");
  299. messageBox("자료가","I004"); //없습니다.
  300. return;
  301. }
  302. // if (model.getValue(xPathList + "[" + rowList + "]/detstatus") != "재원") {
  303. // //alert("재원환자만 처방발생이 가능 합니다");
  304. // messageBox("재원환자이외는 처리","E001"); //할수 없습니다.
  305. // return;
  306. // }
  307. // if (model.getValue(xPathList + "[" + rowList + "]/inptflag") != "실") {
  308. // //alert("입실환자만 처방발생이 가능 합니다");
  309. // messageBox("입실환자이외는 처방발생","E001");
  310. // return;
  311. // }
  312. // if (model.getValue(xPathList + "[" + rowList + "]/detstatus") == "퇴실") {
  313. // //alert("퇴실환자는 처방발생이 불가능 합니다");
  314. // messageBox("퇴실환자는","E001");
  315. // return;
  316. // }
  317. //----------------------------------------------
  318. //초기화
  319. //----------------------------------------------
  320. var xPathSend = "/root/send";
  321. model.removeNodeset(xPathSend+ "/reqdata");
  322. model.removeNodeset(xPathSend+ "/senddata");
  323. model.removeNodeset(xPathSend+ "/savedata");
  324. model.makeNode(xPathSend + "/reqdata"); //저장구분정보(saveFlagInfoVO)
  325. model.makeNode(xPathSend + "/senddata"); //저장등록정보(saveRgstInfoVO)
  326. // model.makeNode(xPathSend + "/inptdata"); //저장처방정보(savePrcpInfoVO)
  327. model.makeNode(xPathSend + "/savedata"); //저장인증정보(saveSignInfoVO)
  328. model.makeNode(xPathSend + "/savedata/saveflaginfo"); //저장구분정보(saveFlagInfoVO)
  329. model.makeNode(xPathSend + "/savedata/savergstinfo"); //저장등록정보(saveRgstInfoVO)
  330. model.makeNode(xPathSend + "/savedata/saveprcpinfo"); //저장처방정보(savePrcpInfoVO)
  331. model.makeNode(xPathSend + "/savedata/savesigninfo"); //저장인증정보(saveSignInfoVO)
  332. //----------------------------------------------
  333. //***** 저장 후 조회조건
  334. //----------------------------------------------
  335. // var cpgappno = model.getValue(xPathList +"[" + pGrdkeep.row + "]/cpgappno");
  336. // var prtldg = in_actingprtldg.value; //model.getValue("/root/main/actingbasicinfo/prtldg");
  337. //
  338. // var reqdataHeader = "cpgappno▦prcpdd▦prtldg▩";
  339. // var reqdataData = cpgappno + "▦"
  340. // + "" + "▦"
  341. // + prtldg + "▩";
  342. // model.setValue(xPathSend + "/reqdata",reqdataHeader+reqdataData);
  343. //----------------------------------------------
  344. //***** 저장구분정보(saveFlagInfoVO):입원처방
  345. //----------------------------------------------
  346. var deptcd = ""; //부서코드
  347. var deptnm = ""; //부서명
  348. var ordtype = model.getValue(xPathMain + "[" + rowMain +"]/iogb"); //환자진료형태(외래 O, 응급 E ,입원 I)
  349. deptcd = getUserInfo("posdeptcd"); // "1000000000"; //getUserInfo("posdeptcd");(테스트용)
  350. deptnm = getUserInfo("posdeptnm"); //"1000000000"; //getUserInfo("posdeptnm");(테스트용)
  351. //alert(deptcd + "/" + deptnm);
  352. //----------------------------------------------
  353. //자료생성
  354. //----------------------------------------------
  355. // if (model.getValue("/root/main/prcpposinfo/cond/poscd") == '1') { //환자위치
  356. // deptcd = model.getValue("/root/main/cond/wardcd");
  357. // deptnm = model.getValue("/root/init/deptinfo/deptlist[deptcd = '" + model.getValue("/root/main/cond/wardcd") + "']/depthngnm");
  358. // } else { //User위치
  359. // deptcd = model.getValue("/root/main/prcpposinfo/cond/deptcd");
  360. // deptnm = model.getValue("/root/init/deptinfo/deptlist[deptcd = '" + model.getValue("/root/main/prcpposinfo/cond/deptcd") + "']/depthngnm");
  361. // }
  362. var FlagInfoHeader = "savedataflag▦saveflag▦prcpflag▦inptflag▦pamflag▦diagflag▦prcperrflag▦deptcd▦deptnm▦userid▦usernm▦signyn▩";
  363. FlagInfoData = '2' +"▦" //저장자료구분 (2:처방)
  364. + ordtype +"▦" //저장구분 (O:외래, I:입원, E:응급, S:건진)
  365. + '1' +"▦" //처방구분(M0035 처방권한에 대한 구분종류 : 간호 추가처방)(1:의사+간호처방,2:간호추가처방)
  366. + '09' +"▦" //입력구분(M0034 처방입력에 대한 구분종류 : 간호처방)(09:간호처방)(문의요망 : ???????)
  367. + 'Y' +"▦" //원무정보 처리구분 (Y/N)(Y:원무자료체크)
  368. + 'N' +"▦" //진단정보 처리구분 (Y/N)(N:진료자료체크하지 않음)
  369. + 'Y' +"▦" //처방오류구분(Y/N) -> Y일 경우 의사처방과 동일하게 오류리스트를 반환, N이면 오류를 확인하지 않음
  370. + deptcd +"▦" //부서코드 (입력자 또는 로그인한 사용자의 부서코드)
  371. + deptnm +"▦" //부서명 (입력자 또는 로그인한 사용자의 부서명)
  372. + getUserId() +"▦" //사용자ID (입력자 또는 로그인한 사용자ID)
  373. + getUserName() +"▦" //사용자명 (입력자 또는 로그인한 사용자명)
  374. + 'N' +"▩"; //전자서명여부 (Y/N)(일단N)
  375. //----------------------------------------------
  376. //***** 저장등록정보(saveRgstInfoVO)
  377. //----------------------------------------------
  378. var pid = model.getValue(xPathMain + "[" + rowMain + "]/pid") ; //등록번호
  379. var orddd = "";
  380. if (ordtype == "I" || ordtype == "D" ) {
  381. orddd = "-"; //진료일자(원무Key) - 입원일경우는 '-'
  382. } else {
  383. orddd = model.getValue(xPathMain + "[" + rowMain + "]/prcpdd");
  384. }
  385. var indd = model.getValue(xPathMain + "[" + rowMain + "]/indd") ; //입원일자
  386. var cretno = model.getValue(xPathMain + "[" + rowMain + "]/cretno") ; //입원생성번호(테스트용)
  387. var orddeptcd = model.getValue(xPathMain + "[" + rowMain + "]/orddeptcd") ; //진료과
  388. var orderid = model.getValue(xPathMain + "[" + rowMain + "]/orddrid") ; //진료의ID
  389. var instcd = model.getValue(xPathMain + "[" + rowMain + "]/instcd") ; //기관코드(테스트용)
  390. var RgstInfoHeader = "pid▦orddd▦indd▦cretno▦orddeptcd▦orddrid▦instcd▩";
  391. RgstInfoData = pid +"▦"
  392. + orddd +"▦"
  393. + indd +"▦"
  394. + cretno +"▦"
  395. + orddeptcd +"▦"
  396. + orderid +"▦"
  397. + instcd +"▩";
  398. //----------------------------------------------
  399. //***** 실처방시 상태변경
  400. //----------------------------------------------
  401. var OrdseqnoHeader = "cpgappno▦ordseqno▦prcpno▦prcpcd▩";
  402. var OrdseqnoData = "";
  403. //----------------------------------------------
  404. //***** 저장처방정보(savePrcpInfoVO)
  405. //----------------------------------------------
  406. // var xPathMainActing = "/root/main/actinginfo/actinglist";
  407. // var xPathMainChemo = "/root/main/chemoinfo/chemolist";
  408. var chkflag;
  409. var cnt = 0;
  410. var PrcpInfoHeader = "status▦rowno▦prcpdd▦prcpno▦prcphistno▦instcd▦pid▦orddd▦cretno▦orddeptcd▦"
  411. +"orddrid▦prcpgenrflag▦prcpstatcd▦prcpkindcd▦prcpcd▦calcscorcd▦inclprcpcd▦inclprcpno▦prcpexecdeptcd▦prcphopedd▦"
  412. +"prcpqty▦prcpqtyunitflag▦prcptims▦prcpdayno▦payflagcd▦erprcpflag▦precureprcpflag▦nigtprcpflag▦portprcpflag▦fixprcpflag▦"
  413. +"choiordflag▦anamneflag▦prcpdirecflag▦angioflagcd▦opansflagcd▦ansttm▦offictourhealexamflag▦stemcellflag▦hosinhosoutflag▦hosinprcpresncd▦"
  414. +"issdeptcd▦prcpauthflag▦prcpinptflag▦prcpsignflag▦oprsrvno▦clincstdyflag▦clincstdycd▦drugmthdspccd▦prcpdelivefact▦tootfact▦"
  415. +"matrsetprcpspec▦calcflag▦rsrvflag▦rsrvdd▦rsrvtm▦rsrvrid▦execdd▦exectm▦execrid▦direcprcplnkdd▦"
  416. +"direcprcplnkno▦ordreqlnkno▦testreqlnkno▦anticncrprtlno▦drugrateqty▦prnprcpflag▦prcpmixno▩";
  417. //----------------(20071203추가)
  418. // '00000000' as execdd --실시일자
  419. // '000000' as exectm --실시시간
  420. // '-' as execrid --실시자ID
  421. // prtl.cpgappno anticncrprtlno
  422. // '-' drugrateqty
  423. // prtl.prnprcpflag prnprcpflag
  424. // prtl.prcpmixno prcpmixno
  425. // ast.adbhprtlord prtl
  426. //-----------------------------------------------
  427. //for ( i = 1; i<= getNodesetCount("/root/main/prcpposinfo/prcpinfo/prcplist"); i++) {
  428. for (var row=1;row<pGrdList.rows;row++) {
  429. //선택하지 않은 자료는 거른다.
  430. chkflag = model.getValue(xPathList + "["+row+"]/chk");
  431. if( chkflag != "true" ) continue;
  432. // //이미 저장된 자료는 거른다.
  433. // chkflag = model.getValue(xPathList + "["+row+"]/saveflag");
  434. // if( chkflag == "Y" ) continue;
  435. // chkflag = model.getValue(xPathList + "["+row+"]/prcpno");
  436. // if( chkflag != "0" ) {
  437. // //그냥 넘어갈수도 있음
  438. // //alert("이미 처방발생자료입니다");
  439. // messageBox("이미 처방이발행된 자료는 처리","E001"); //할수 없습니다.
  440. // model.setValue(xPathMainActing + "["+row+"]/chk", 'false');
  441. // continue;
  442. // }
  443. cnt += 1;
  444. // if (model.getValue("/root/main/prcpposinfo/prcpinfo/prcplist[" + i + "]/status") == 'C') { //DC
  445. // prcphistno = model.getValue("/root/main/prcpposinfo/prcpinfo/prcplist[" + i + "]/prcphistno");
  446. // prcpno = model.getValue("/root/main/prcpposinfo/prcpinfo/prcplist[" + i + "]/prcpno");
  447. //
  448. // } else if (model.getValue("/root/main/prcpposinfo/prcpinfo/prcplist[" + i + "]/status") == 'I' ) { //신규
  449. // prcphistno = 0;
  450. // prcpno = 0;
  451. // }
  452. var prcpdd = model.getValue(xPathList + "[" + row + "]/prcpdd");
  453. var prcpno = model.getValue(xPathList + "[" + row + "]/prcpno");
  454. var prcphistno = model.getValue(xPathList + "[" + row+ "]/prcphistno"); ////?????????????[문의사항]
  455. var instcd = getUserInfo("dutplceinstcd");
  456. var pid = model.getValue(xPathList + "[" + row + "]/pid");
  457. var ordindd = prcpdd;
  458. var orddeptcd = model.getValue(xPathMain + "[" + rowMain+ "]/orddeptcd");
  459. var orddrid = model.getValue(xPathMain + "[" + rowMain+ "]/orddrid");
  460. //var ordtype = "D";
  461. ordtype = model.getValue(xPathMain + "[" + rowMain +"]/iogb");
  462. //기본공통정보
  463. PrcpInfoData += "C" +"▦" //신규(I), DC(C)
  464. + row +"▦" //줄번호 (병리 요구)
  465. + prcpdd +"▦" //처방일자(외래/종건은 orddd와 동일, 입원은 처방일자)
  466. + prcpno +"▦" //처방번호 (status가 'I'일 경우 0)
  467. + prcphistno +"▦" //처방이력번호 (status가 'I'일 경우 0)
  468. + instcd +"▦" //기관코드
  469. + pid +"▦" //등록번호(원무Key)
  470. + ordindd +"▦" //진료일자(원무Key) - 입원환자일 경우 indd
  471. + cretno +"▦" //생성번호(원무Key)
  472. + orddeptcd +"▦" ; //진료과(원무)
  473. //emr.mmbtprcd(처방마스타)에 '처방코드'로 '수가코드'를 찾을것(식이를 제외하고는 처방코드=수가코드가 일치하는 경우가 대부분이다.
  474. var calcscorcd = model.getValue(xPathList + "[" + row + "]/prcpcd"); //수가코드(?) = 처방코드
  475. var prcpqty = model.getValue(xPathList + "[" + row + "]/prcpqty"); //어떤것인지(처방수량)(?) ==> actingfinfo에 추가 원본에는 prcpqty가 있음
  476. var prcptims = model.getValue(xPathList + "[" + row + "]/prcptims"); //처방횟수
  477. //var prcpdayno = model.getValue(xPathMainActing + "[" + row + "]/prcpdayno"); //처방일수(?)
  478. var prcpdayno = "1"; //처방일수(?) ==> 무조건 1일
  479. var payflagcd = model.getValue(xPathList + "[" + row + "]/payflagcd");
  480. var drugmthdspccd = model.getValue(xPathList + "[" + row + "]/drugmthdspccd"); //복용방법
  481. var remark = model.getValue(xPathList + "[" + row + "]/remark"); //전달사항
  482. var prcpqtyunitflag = model.getValue(xPathList + "[" + row + "]/prcpqtyunitflag"); //처방수량단위
  483. PrcpInfoData += ""
  484. + orddrid +"▦" //진료의ID(원무)
  485. + ordtype +"▦" //처방발생구분(원무) - O:외래, I:입원, E:응급, S:건진
  486. + '000' +"▦" //처방상태 : '000'
  487. + '20' +"▦" //처방종류 : '20'(?????????): 추가
  488. + model.getValue(xPathMain + "[" + row + "]/prcpcd") +"▦" //처방코드
  489. + calcscorcd +"▦" //수가코드(처방코드인가?)
  490. + '-' +"▦" //종속처방코드 ('-') => default : '-' //***
  491. + 0 +"▦" //종속처방번호 (일련번호 - 종속처방코드별로 생성) => default : 0 //***
  492. + orddeptcd +"▦" //처방실시부서코드 (수가의 접수부서를 넣어 주거나, 접수하는 부서코드, 없을 경우 '-'로 처리)
  493. + prcpdd +"▦" ; //처방희망일자 (처방일자 이전으로 발생불가)
  494. PrcpInfoData += ""
  495. + prcpqty +"▦" //처방수량 (1) (약품일 경우 반드시 포장단위 수량을 넣어 주어야 됨) => default : 1
  496. + prcpqtyunitflag +"▦" //처방수량단위 (약품일 경우 '3', 그렇지 않을경우 '-') => default : '-' //***
  497. + prcptims +"▦" //처방횟수 (1) (입원일 경우 횟수에 따라 풀림) => default : 1 //***
  498. + prcpdayno +"▦" //처방일수 (1) (지원부서에서는 주사처방에 대하여 일수를 넣으면 안됨, 넣으면 자료가 문제가 생김) => default : 1 //***
  499. + payflagcd +"▦" //급여구분코드 (M0029 참조) -> '-'로 넣으주면 환자의 보험유형에 따라 자동 발생
  500. + 'N' +"▦" //응급처방구분 (Y/N) ==> default : 'N' //***
  501. + 'N' +"▦" //선처치처방구분 (Y/N) ==> default : 'N'
  502. + 'N' +"▦" //야간처방구분 (Y/N) : 야간가산에 해당 될 경우 ==> default : 'N' //***
  503. + 'N' +"▦" //포터블처방구분 (Y/N) ==> default : 'N' //***
  504. + 'N' +"▦" ; //정액처방구분 (Y/N) ==> default : 'N' //***
  505. PrcpInfoData += ""
  506. + 'N' +"▦" //선택처방구분 (Y/N) -> 만약 '-'일 경우 원무정보 기준으로 처리 ==> default : 'N' //***
  507. + 'N' +"▦" //기왕력(증)구분 (Y/N) ==> default : 'N' //***
  508. + '-' +"▦" //처방방향구분 (코드정의서 M0041 참조), 재활은 위치구분으로 사용 : '-' => default : '-' //***
  509. + '-' +"▦" //Angio구분 (코드정의서 M0006 참조) : '-' => default : '-' //***
  510. + '-' +"▦" //수술마취구분 (코드정의서 M0007, M0008 참조) : '-' => default : '-' //***
  511. + '0000' +"▦" //마취처방에 대한 마취적용시간 - 분을 4자리로 표현, 연속검사 검사간격 => default : '0000' //***
  512. + 'N' +"▦" //출장검진구분 (Y/N) => default : 'N' //***
  513. + '00NNN' +"▦" //'00NNN' 건진청구구분, 조혈모(줄기)세포 구분 - Stem Cell Source 여부 ,Cryo여부, CD34 채집여부, 해동여부의 조합으로 구성 => default : '00NNN' //***
  514. + '-' +"▦" //원내외구분(건진은 'I', 약이 아닐경우 '-') => default : '-' //***
  515. + '00' +"▦" ; //원내처방사유 (건진에 해당하는 사유 - 정의, 약이 아닐경우 '00') => default : '00' //***
  516. // + '2' +"▦" //처방권한구분(0:의사처방화면, 1:의사및간호사공유처방, 2:순수간호처방, 3:지원부서의사처방, 4:기타처방 - 기타 지원부서 추가, 5:계산용원무처방, 6:건진처방 ==> 0,1만 의사처방화면에 보임, 단 3은 추후에 결정)
  517. PrcpInfoData += ""
  518. + orddeptcd +"▦" //발행부서코드 (집계가 타부서일 경우 타과코드, 입원은 기본이 병동) -> '-' 로 처리하면 자동 처리(기본은 처방입력부서이나 입원은 해당 병동으로 처리) => default : '-' //***
  519. + '0' +"▦" //처방권한구분(0:의사처방화면, 1:의사및간호사공유처방, 2:순수간호처방, 3:지원부서의사처방, 4:기타처방 - 기타 지원부서 추가, 5:계산용원무처방, 6:건진처방 ==> 0,1만 의사처방화면에 보임, 단 3은 추후에 결정)
  520. + '09' +"▦" //처방입력구분(저장구분정보의 inptflag와 동일하게 처리)
  521. + '1' +"▦" //처방서명구분(0:인증안됨, 1:의사가 후인증, 2:인증완료) => default : '2' //***????
  522. + '-' +"▦" //수술예약번호(0) => default : '-' //***
  523. + 'N' +"▦" //임상연구구분 (Y/N)
  524. + '-' +"▦" //임상연구코드 ('-') -> 임상연구구분이 'Y'일 경우 임상연구코드를 등록 => default : '-' //***
  525. + drugmthdspccd +"▦" //투여방법및검체코드(약일 경우 복용방법, 진검 및 병리일 경우 검체코드, Default '-') => default : '-' //***
  526. + remark +"▦" //처방전달사항 //***
  527. + '-' +"▦" ; //치식 (병리만 사용, 나머지는 '-') => default : '-' //***
  528. var anticncrprtlno = '';
  529. var prnprcpflag = model.getValue(xPathList + "[" + row + "]/prnprcpflag");
  530. var prcpmixno = model.getValue(xPathList + "[" + row + "]/prcpmixno");
  531. PrcpInfoData += ""
  532. + '-' +"▦" //재료처방내용 ('-') -> 추후정의 //***
  533. + 'N' +"▦" //계산구분 (Y/N)
  534. + 'N' +"▦" //예약구분 (Y/N)
  535. + '00000000' +"▦" //예약일자 ('N'일 경우 '00000000')
  536. + '000000' +"▦" //예약시간 ('N'일 경우 '000000')
  537. + '-' +"▦" //예약자ID ('-')
  538. + '00000000' +"▦" //실시일자 ('00000000') getCurrentDate()
  539. + '000000' +"▦" //실시시간 ('000000') getCurrentTime()
  540. + '-' +"▦" //실시자ID ('-') getUserId()
  541. + '00000000' +"▦" ; //지시처방연계일자 (00000000) -> 지원부서에서 사용 - 원지시처방의 처방일자
  542. PrcpInfoData += ""
  543. + '0' +"▦" //지시처방연계번호 (0) -> 지원부서에서 사용 - 원지시처방의 실시처방유일번호
  544. + '0' +"▦" //진료의뢰연계번호 (0)
  545. + '0' +"▦" //검사의뢰연계번호 (0) -> 병리와 진단검사 사용
  546. + anticncrprtlno +"▦" //항암프로토콜번호(anticncrprtlno)
  547. + '-' +"▦"
  548. + prnprcpflag +"▦"
  549. + prcpmixno +"▩" ;
  550. //----------------(20071203추가)
  551. // '00000000' as execdd --실시일자
  552. // '000000' as exectm --실시시간
  553. // '-' as execrid --실시자ID
  554. // prtl.cpgappno anticncrprtlno
  555. // '-' drugrateqty
  556. // prtl.prnprcpflag prnprcpflag
  557. // prtl.prcpmixno prcpmixno
  558. // ast.adbhprtlord prtl
  559. //-----------------------------------------------
  560. //----------------------------------------------
  561. //***** 실처방시 상태변경
  562. //----------------------------------------------
  563. var cpgappno = ''; //cpgappno
  564. var ordseqno = model.getValue(xPathList + "[" + row + "]/ordseqno"); //ordseqno
  565. var prcpno = model.getValue(xPathList + "[" + row + "]/prcpno"); //prcpno
  566. var prcpcd = model.getValue(xPathList + "[" + row + "]/prcpcd"); //prcpno
  567. OrdseqnoData += ""
  568. + cpgappno +"▦" //CPG적용번호
  569. + ordseqno +"▦" //처방순번
  570. + prcpno +"▦" //입원처방생성번호
  571. + prcpcd +"▩" //처방코드
  572. }
  573. if (cnt == 0) {
  574. //alert("처방발생할 자료가 존재하지 않습니다");
  575. messageBox("처방발행할 자료가","I004"); //없습니다.
  576. return;
  577. }
  578. //----------------------------------------------
  579. //***** 저장처방정보(savePrcpInfoVO)
  580. //----------------------------------------------
  581. // var SignInfoHeader = "signdd▦signno▦instcd▦pid▦orddd▦cretno▦signflag▦signgenrflag▦rgstdeptcd▦rgstdd▦rgsttm▦rgstrid▦updtdeptcd▦updtdd▦updttm▦updtrid▦fstrgstrid▦fstrgstdt▦lastupdtrid▦"
  582. // +"lastupdtdt▦signbfcnts▦signaftcnts▩";
  583. //----------------------------------------------
  584. //***** 저장instance에반영
  585. //----------------------------------------------
  586. model.setValue(xPathSend + "/savedata/saveflaginfo", FlagInfoHeader+FlagInfoData);
  587. model.setValue(xPathSend + "/savedata/savergstinfo", RgstInfoHeader+RgstInfoData);
  588. model.setValue(xPathSend + "/savedata/saveprcpinfo", PrcpInfoHeader+PrcpInfoData);
  589. model.setValue(xPathSend + "/senddata", OrdseqnoHeader+OrdseqnoData);
  590. }
  591. //-----------------------------------------------------------------------------------
  592. function isDate(str) { // 날짜 형식에 대한 적합여부 체크
  593. if (str == "") return true; // 빈건 체크안함
  594. if (trim(str) == "") return true; // 빈건 체크안함
  595. if (isNaN(parseInt(str))) return false; // 숫자가 아니면 false
  596. if (str.length != 8) return false; // 8자리(yyyymmdd)가 아니면 false
  597. var yy = new Number(str.substring(0, 4));
  598. var mm = new Number(str.substring(4, 6)) - 1;
  599. var dd = new Number(str.substring(6, 8));
  600. var date = new Date(yy, mm, dd);
  601. //alert(date.getFullYear() +"-" + (date.getMonth()+1) + "-" + date.getDate());
  602. if (yy != date.getFullYear() ||
  603. mm != date.getMonth() ||
  604. dd != date.getDate()) {
  605. return false; // 존재하지 않는 날짜
  606. }
  607. return true; // 존재하는 날짜
  608. }
  609. function trim(data){ // 문자에 대한 TRIM 작업
  610. return data.replace(/(^\s*)|(\s*$)/g, "");
  611. }
  612. ]]>
  613. </script>
  614. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  615. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  616. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  617. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  618. <script type="javascript" src="../../../ast/commonweb/js/AST.js"/>
  619. <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
  620. <script type="javascript" src="../../../ast/examcureweb/js/AEZ0001.js"/>
  621. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  622. <script type="javascript" src="../../../emr/apumngtweb/js/SMMNA00500.js"/>
  623. <script type="javascript" src="../../../emr/carecomweb/js/CareCom.js"/>
  624. <submission id="TRZBC00101"/>
  625. <script type="javascript" ev:event="xforms-ready">
  626. <![CDATA[
  627. grd_keepbaclist.extendLastCol="scroll";
  628. finit();
  629. fInqurySelectedPrgm();
  630. ]]>
  631. </script>
  632. <submission id="TRAOA01001" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/main/excuprcplist"/>
  633. <submission id="TRMNA00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/baseinfo" resultref="/root/main/direcprcp"/>
  634. <submission id="TRMNA00502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/baseinfo1" resultref="/root/main/prcpdetl"/>
  635. <submission id="TRMNA00503" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/baseinfo1" resultref="/root/main/execprcp"/>
  636. <submission id="TRMNA00510" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/endsave/endcond" resultref="/root/endsave"/>
  637. <submission id="TXMNA00501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/execdata" resultref="/root/hidden"/>
  638. <submission id="TXMNA00502" mediatype="application/x-www-form-urlencoded" method="post"/>
  639. <submission id="TXMNA00503" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/execdata" resultref="/root/hidden"/>
  640. <!--모처방의 d/c여부 판단-->
  641. <submission id="TRMNA00511" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/hidden"/>
  642. </model>
  643. </xhtml:head>
  644. <xhtml:body pagewidth="1211" pageheight="784" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  645. <group id="group1" style="left:0px; top:0px; width:1194px; height:13px; ">
  646. <caption id="caption6" class="tit_1" style="left:0px; top:0px; width:224px; height:14px; ">APU_main</caption>
  647. </group>
  648. <group id="group3" scroll="auto" style="left:0px; top:15px; width:1194px; height:730px; ">
  649. <group id="group2" style="left:0px; top:1px; width:1194px; height:35px; vertical-align:top; ">
  650. <shape id="roundrect1" class="roundrect_search" appearance="roundrect" style="left:0px; top:0px; width:1194px; height:35px; "/>
  651. <button id="btn_search" class="btn1_letter2" style="left:1123px; top:7px; width:56px; height:22px; ">
  652. <caption>조회</caption>
  653. <script type="javascript" ev:event="DOMActivate">
  654. <![CDATA[
  655. fInqurySelectedPrgm();
  656. // readfunc();
  657. ]]>
  658. </script>
  659. </button>
  660. <line id="line13" class="line_4" style="x1:1108px; y1:7px; x2:1108px; y2:29px; "/>
  661. <caption id="caption4" class="search_name" style="left:15px; top:9px; width:89px; height:17px; ">조회기간 :</caption>
  662. <caption id="caption5" class="search_name" style="left:308px; top:9px; width:112px; height:17px; ">입원외래구분 :</caption>
  663. <caption id="caption3" class="search_no_b" style="left:194px; top:8px; width:13px; height:17px; ">~</caption>
  664. <input id="input1" ref="/root/main/cond/baseinfo/sdate" class="input_search" inputtype="date" style="left:105px; top:8px; width:85px; height:19px; "/>
  665. <input id="input2" ref="/root/main/cond/baseinfo/tdate" class="input_search" inputtype="date" style="left:210px; top:8px; width:85px; height:19px; "/>
  666. <select1 id="combo1" ref="/root/main/cond/baseinfo/iogb" class="combo_search" appearance="minimal" style="left:424px; top:8px; width:60px; height:19px; ">
  667. <choices>
  668. <item>
  669. <label>전체</label>
  670. <value/>
  671. </item>
  672. <item>
  673. <label>입원</label>
  674. <value>I</value>
  675. </item>
  676. <item>
  677. <label>외래</label>
  678. <value>O</value>
  679. </item>
  680. </choices>
  681. </select1>
  682. <caption id="caption8" class="search_name" style="left:499px; top:9px; width:87px; height:17px; ">등록번호 :</caption>
  683. <input id="input3" ref="/root/main/cond/baseinfo/pid" class="input_search" style="left:590px; top:8px; width:100px; height:19px; ">
  684. <script type="javascript" ev:event="onkeyup">
  685. <![CDATA[
  686. if(event.keyCode == "13") {
  687. inputEnterKey("btn_search", "DOMActivate");
  688. }
  689. ]]>
  690. </script>
  691. </input>
  692. <button id="button61" class="icon_search" style="left:693px; top:9px; width:16px; height:16px; ">
  693. <caption/>
  694. <script type="javascript" ev:event="DOMActivate">
  695. <![CDATA[
  696. modal("SPPMC02500", "", "200", "200", "SPPMC02500","/root/send/baseinfo","/root/send");
  697. if (model.getValue("/root/main/popupendflag") == "cancel" || model.getValue("/root/main/popupendflag") == ""){
  698. }else{
  699. model.setValue("/root/main/cond/baseinfo/pid",model.getValue("/root/main/patinfo/patinfolist/pid"));
  700. readfunc();
  701. }
  702. ]]>
  703. </script>
  704. </button>
  705. <select1 id="combo2" ref="/root/main/cond/baseinfo/iogb" class="combo_search" appearance="minimal" style="left:424px; top:8px; width:60px; height:19px; ">
  706. <choices>
  707. <item>
  708. <label>전체</label>
  709. <value/>
  710. </item>
  711. <item>
  712. <label>입원</label>
  713. <value>I</value>
  714. </item>
  715. <item>
  716. <label>외래</label>
  717. <value>O</value>
  718. </item>
  719. </choices>
  720. </select1>
  721. <caption id="caption10" class="search_name" style="left:725px; top:9px; width:90px; height:17px; ">처방구분 :</caption>
  722. <select1 id="combo3" ref="/root/main/cond/baseinfo/prcpflag" class="combo_search" appearance="minimal" style="left:825px; top:8px; width:80px; height:19px; ">
  723. <choices>
  724. <item>
  725. <label>전체</label>
  726. <value/>
  727. </item>
  728. <item>
  729. <label>실처방</label>
  730. <value>1</value>
  731. </item>
  732. <item>
  733. <label>지시처방</label>
  734. <value>2</value>
  735. </item>
  736. </choices>
  737. </select1>
  738. </group>
  739. <switch id="swt_main" style="left:0px; top:62px; width:1194px; height:655px; ">
  740. <case id="case_apu" selected="true" style="left:0px; top:0px; width:1194px; height:650px; ">
  741. <button id="button3" class="btn6_letter5" style="left:1004px; top:0px; width:92px; height:22px; ">
  742. <caption>스케줄관리</caption>
  743. <script type="javascript" ev:event="DOMActivate">
  744. <![CDATA[
  745. modal("SMMNA00800", "", "", "", "", "", "");
  746. ]]>
  747. </script>
  748. </button>
  749. <button id="button4" class="btn6_letter5" style="left:1098px; top:0px; width:92px; height:22px; ">
  750. <caption>공여자매핑</caption>
  751. <script type="javascript" ev:event="DOMActivate">
  752. <![CDATA[
  753. modal("SMMNA00600", "", "", "", "", "", "");
  754. ]]>
  755. </script>
  756. </button>
  757. <caption id="caption1" class="tit_2" style="left:9px; top:3px; width:131px; height:13px; ">처방내역</caption>
  758. <caption id="caption14" class="color_6" style="left:1113px; top:629px; width:15px; height:15px; background-color:#FF0000; "/>
  759. <caption id="caption2" style="left:1135px; top:629px; width:55px; height:15px; ">반환</caption>
  760. <datagrid id="grd_keepbaclist" nodeset="/root/main/direcprcp/direcprcpinfo" class="datagrid2" allowselection="false" caption="등록번호^환자명^나이/성별^나이/성별^IO^(지시)처방^진료과^주치의^희망일시^확정일시^처방일시^처방일자^PRN^처방구분^처방코드^hsct연결번호^(외래,입원)일^생성번호^병원코드^진료과^주치의코드^특이^특이^특이^prcpno^prcphistno" colsep="^" colwidth="80, 57, 31, 32, 38, 291, 68, 60, 76, 96, 97, 68, 48, 64, 66, 100, 100, 100, 100, 100, 100, 100, 48, 100, 100, 100" explorerbar="sortshow" fixedcols="0" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" tooltip="true" style="left:0px; top:0px; width:1190px; height:305px; ">
  761. <col ref="pid" style="text-align:center; "/>
  762. <col ref="hngnm" style="text-align:center; "/>
  763. <col ref="age" style="text-align:center; "/>
  764. <col ref="sex" type="combo" style="text-align:center; ">
  765. <choices>
  766. <item>
  767. <label>남자</label>
  768. <value>M</value>
  769. </item>
  770. <item>
  771. <label>여자</label>
  772. <value>F</value>
  773. </item>
  774. </choices>
  775. </col>
  776. <col ref="iogb" type="combo" style="text-align:center; ">
  777. <choices>
  778. <item>
  779. <label>입원</label>
  780. <value>I</value>
  781. </item>
  782. <item>
  783. <label>입원</label>
  784. <value>E</value>
  785. </item>
  786. <item>
  787. <label>외래</label>
  788. <value>O</value>
  789. </item>
  790. </choices>
  791. </col>
  792. <col ref="prcpnm" style="text-align:left; "/>
  793. <col disabled="true" ref="orddeptnm" style="text-align:center; "/>
  794. <col disabled="true" ref="orddridnm" style="text-align:center; "/>
  795. <col ref="prcphopedd" format="yyyy-mm-dd" style="text-align:center; "/>
  796. <col ref="conformdd" format="yyyy-mm-dd hh:nn" style="text-align:center; "/>
  797. <col ref="prcpdt" format="yyyy-mm-dd hh:ss" style="text-align:center; "/>
  798. <col ref="prcpdd" visibility="hidden" format="yyyy-mm-dd" style="text-align:center; "/>
  799. <col ref="prnprcpflag" style="text-align:center; "/>
  800. <col ref="prcpflag" type="combo" style="text-align:center; ">
  801. <choices>
  802. <item>
  803. <label>실처방</label>
  804. <value>1</value>
  805. </item>
  806. <item>
  807. <label>지시처방</label>
  808. <value>2</value>
  809. </item>
  810. </choices>
  811. </col>
  812. <col ref="prcpcd" style="text-align:center; "/>
  813. <col ref="hsctlnkno" visibility="hidden"/>
  814. <col ref="indd" visibility="hidden"/>
  815. <col ref="cretno" visibility="hidden"/>
  816. <col ref="instcd" visibility="hidden"/>
  817. <col ref="orddeptcd" visibility="hidden"/>
  818. <col ref="orddrid" visibility="hidden" style="text-align:center; "/>
  819. <col ref="vipyn" visibility="hidden" style="text-align:center; "/>
  820. <col ref="rqstyn" visibility="hidden" style="text-align:center; "/>
  821. <col ref="spcffactyn" visibility="hidden" style="text-align:center; "/>
  822. <col ref="prcpno" visibility="hidden"/>
  823. <col ref="prcphistno" visibility="hidden"/>
  824. <script type="javascript" ev:event="onaftersort">
  825. <![CDATA[
  826. grd_keepbaclist.gridToInstance();
  827. ]]>
  828. </script>
  829. <script type="javascript" ev:event="ondblclick">
  830. <![CDATA[
  831. //상단올리기
  832. fSetPatInfo();
  833. //20080912 하단조회전에 모처방 d/c상태 확인
  834. var isdcYn = fIsMomPrcpDC();//return값이 true일 경우 하단질의문 조회안함
  835. //alert(isdcYn);
  836. if(isdcYn == 'N'){
  837. //하단질의문조회
  838. fQueryDetail();
  839. }else if(isdcYn == 'Y'){
  840. messageBox('선택하신 처방은 이미 의사 d/c된 처방입니다.', 'E');
  841. //메인처방 재조회
  842. fInqurySelectedPrgm();
  843. }
  844. ]]>
  845. </script>
  846. <script type="javascript" ev:event="DOMFocusOut">
  847. <![CDATA[
  848. window.setPopupMenu(false);
  849. ]]>
  850. </script>
  851. <script type="javascript" ev:event="onmousedown">
  852. <![CDATA[
  853. fnonmousedown();
  854. ]]>
  855. </script>
  856. </datagrid>
  857. <line id="line1" class="line_1" style="x1:0px; y1:307px; x2:1190px; y2:307px; "/>
  858. <button id="button6" class="btn2_letter5" visibility="visible" style="left:959px; top:313px; width:75px; height:19px; ">
  859. <caption>PRN관리</caption>
  860. <script type="javascript" ev:event="onclick">
  861. <![CDATA[
  862. fnPrn();
  863. ]]>
  864. </script>
  865. </button>
  866. <button id="button7" class="btn2_letter5" style="left:1035px; top:313px; width:75px; height:19px; ">
  867. <caption>간호처방</caption>
  868. <script type="javascript" ev:event="onclick">
  869. <![CDATA[
  870. //model.reset();
  871. //modal("SMMNW01000", "", "", "", "", "/root/temp/param/wardcd", "/root/temp/param/wardcd");
  872. modal("SMMNW10900", "", "", "", "", "", "");
  873. ]]>
  874. </script>
  875. </button>
  876. <switch id="switch1" style="left:0px; top:333px; width:1194px; height:290px; ">
  877. <case id="case1" selected="true" style="left:0px; top:0px; width:1190px; height:290px; ">
  878. <datagrid id="datagrid1" nodeset="/root/main/prcpdetl/prcpdetlinfo" class="datagrid2" caption="^구분^Dr^수납^상태^처방코드^처방내역^1일&#xA;용량^용량&#xA;단위^수량^수량&#xA;단위^처방&#xA;횟수^처방&#xA;일수^급여^MIX^복용^의사&#xA;전달사항^처방일시^처방의^반환&#xA;요청일시^반환&#xA;승인일시^투약No^상태^Acting&#xA;여부^Acting&#xA;일자^Acting^PRN^처방구분^처방번호^등록번호^입원외래^수납일자^이력번호^비고^instcd^execprcpno^hscttempprcpflag^execprcpuniqno^enddd" colsep="^" colwidth="30, 50, 50, 50, 62, 84, 316, 50, 50, 50, 50, 50, 50, 60, 50, 70, 66, 80, 60, 110, 110, 52, 50, 50, 80, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 100, 100, 100, 100" ellipsis="true" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" tooltip="true" fixeFols="0" style="left:0px; top:30px; width:1190px; height:260px; ">
  879. <col ref="chk" type="checkbox"/>
  880. <col ref="flag" style="text-align:center; "/>
  881. <col ref="dr" style="text-align:center; "/>
  882. <col ref="rcptyn" style="text-align:center; "/>
  883. <col ref="prcpstatcd" style="text-align:center; "/>
  884. <col ref="prcpcd" style="text-align:left; "/>
  885. <col ref="prcpnm" style="text-align:left; "/>
  886. <col ref="prcpvol" style="text-align:right; "/>
  887. <col ref="prcpvolunitflag" style="text-align:center; "/>
  888. <col ref="prcpqty" style="text-align:right; "/>
  889. <col ref="prcpqtyunitflag" style="text-align:center; "/>
  890. <col ref="prcptims" style="text-align:center; "/>
  891. <col ref="prcpdayno" style="text-align:right; "/>
  892. <col ref="payflagcd" type="combo" style="text-align:center; ">
  893. <choices>
  894. <itemset nodeset="/root/init/cmbinfo/payflagcd/M0029">
  895. <label ref="cdnm"/>
  896. <value ref="cdid"/>
  897. </itemset>
  898. </choices>
  899. </col>
  900. <col ref="prcpmixno" style="text-align:center; "/>
  901. <col ref="drugmthdspccd" style="text-align:left; "/>
  902. <col ref="prcpdelivefact" style="text-align:center; "/>
  903. <col ref="prcpdd" format="yyyy-mm-dd" style="text-align:center; "/>
  904. <col ref="orddrid" style="text-align:center; "/>
  905. <col ref="retreqdt" format="yyyy-mm-dd hh:mm:ss" style="text-align:center; "/>
  906. <col ref="rsrvdt" format="yyyy-mm-dd hh:mm:ss" style="text-align:center; "/>
  907. <col ref="drugno" style="text-align:center; "/>
  908. <col ref="orddrid" visibility="hidden" style="text-align:center; "/>
  909. <col ref="execyn" style="text-align:center; "/>
  910. <col ref="execdd" format="yyyy-mm-dd" style="text-align:center; "/>
  911. <col ref="execrid" style="text-align:center; "/>
  912. <col ref="prnprcpflag" style="text-align:center; "/>
  913. <col ref="prcpflag" visibility="hidden" style="text-align:center; "/>
  914. <col ref="prcpno" visibility="hidden" style="text-align:center; "/>
  915. <col ref="pid" visibility="hidden" style="text-align:center; "/>
  916. <col ref="iogb" visibility="hidden" style="text-align:center; "/>
  917. <col ref="rgstdd" visibility="hidden" style="text-align:center; "/>
  918. <col ref="prcphistno" visibility="hidden" style="text-align:center; "/>
  919. <col ref="remark" visibility="hidden" style="text-align:left; "/>
  920. <col ref="instcd" visibility="hidden"/>
  921. <col ref="execprcpno" visibility="hidden"/>
  922. <col ref="hscttempprcpflag" visibility="hidden"/>
  923. <col ref="execprcpuniqno" visibility="hidden"/>
  924. <col ref="enddd" visibility="hidden"/>
  925. <script type="javascript" ev:event="xforms-select">
  926. <![CDATA[
  927. fGrdSelect("1");
  928. ]]>
  929. </script>
  930. </datagrid>
  931. <button id="button9" class="btn5_letter5" style="left:1109px; top:5px; width:75px; height:19px; ">
  932. <caption>Acting</caption>
  933. <script type="javascript" ev:event="onclick">
  934. <![CDATA[
  935. fSaveData();
  936. ]]>
  937. </script>
  938. <script type="javascript" ev:event="onaftersort">
  939. <![CDATA[
  940. //그리드 헤더클릭하여 sort후 인스턴스노드 순서가 바뀌는것을 방지하기 위해 인스턴스를 재설정
  941. datagrid1.gridToInstance();
  942. ]]>
  943. </script>
  944. </button>
  945. <caption id="caption7" class="tit_2" style="left:0px; top:10px; width:131px; height:14px; ">처방내역</caption>
  946. </case>
  947. <case id="case2" style="left:0px; top:0px; width:1190px; height:290px; ">
  948. <datagrid id="datagrid2" nodeset="/root/main/execprcp/execprcpinfo" class="datagrid2" caption="^구분^Dr^수납^상태^처방코드^처방내역^1일&#xA;용량^용량&#xA;단위^수량^수량&#xA;단위^처방&#xA;횟수^처방&#xA;일수^급여^MIX^복용^의사&#xA;전달사항^처방일시^처방의^Acting&#xA;여부^Acting&#xA;일자^Acting^PRN^처방구분^처방번호^등록번호^입원외래^수납일자^이력번호^비고^instcd^execprcpno^hscttempprcpflag^execprcpuniqno^enddd" colsep="^" colwidth="31, 50, 50, 50, 62, 84, 316, 50, 50, 50, 50, 50, 50, 67, 50, 70, 65, 83, 60, 50, 85, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 100, 100, 100, 100" ellipsis="true" explorerbar="sortshow" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" tooltip="true" fixeFols="0" style="left:0px; top:30px; width:1190px; height:260px; ">
  949. <col ref="chk" type="checkbox"/>
  950. <col ref="flag" style="text-align:center; "/>
  951. <col ref="dr" style="text-align:center; "/>
  952. <col ref="rcptyn" style="text-align:center; "/>
  953. <col ref="prcpstatcd" style="text-align:center; "/>
  954. <col ref="prcpcd" style="text-align:left; "/>
  955. <col ref="prcpnm" style="text-align:left; "/>
  956. <col ref="prcpvol" style="text-align:right; "/>
  957. <col ref="prcpvolunitflag" style="text-align:center; "/>
  958. <col ref="prcpqty" style="text-align:right; "/>
  959. <col ref="prcpqtyunitflag" style="text-align:center; "/>
  960. <col ref="prcptims" style="text-align:center; "/>
  961. <col ref="prcpdayno" style="text-align:right; "/>
  962. <col ref="payflagcd" type="combo" style="text-align:center; ">
  963. <choices>
  964. <itemset nodeset="/root/init/cmbinfo/payflagcd/M0029">
  965. <label ref="cdnm"/>
  966. <value ref="cdid"/>
  967. </itemset>
  968. </choices>
  969. </col>
  970. <col ref="prcpmixno" style="text-align:center; "/>
  971. <col ref="drugmthdspccd" style="text-align:left; "/>
  972. <col ref="prcpdelivefact" style="text-align:center; "/>
  973. <col ref="prcpdd" format="yyyy-mm-dd" style="text-align:center; "/>
  974. <col ref="orddrid" style="text-align:center; "/>
  975. <col ref="execyn" style="text-align:center; "/>
  976. <col ref="execdd" format="yyyy-mm-dd" style="text-align:center; "/>
  977. <col ref="execrid" style="text-align:center; "/>
  978. <col ref="prnprcpflag" style="text-align:center; "/>
  979. <col ref="prcpflag" visibility="hidden" style="text-align:center; "/>
  980. <col ref="prcpno" visibility="hidden" style="text-align:center; "/>
  981. <col ref="pid" visibility="hidden" style="text-align:center; "/>
  982. <col ref="iogb" visibility="hidden" style="text-align:center; "/>
  983. <col ref="rgstdd" visibility="hidden" style="text-align:center; "/>
  984. <col ref="prcphistno" visibility="hidden" style="text-align:center; "/>
  985. <col ref="remark" visibility="hidden" style="text-align:left; "/>
  986. <col ref="instcd" visibility="hidden"/>
  987. <col ref="execprcpno" visibility="hidden"/>
  988. <col ref="hscttempprcpflag" visibility="hidden"/>
  989. <col ref="execprcpuniqno" visibility="hidden"/>
  990. <col ref="enddd" visibility="hidden"/>
  991. <script type="javascript" ev:event="xforms-select">
  992. <![CDATA[
  993. fGrdSelect("2");
  994. ]]>
  995. </script>
  996. </datagrid>
  997. <button id="button1" class="btn5_letter5" style="left:1111px; top:5px; width:75px; height:19px; ">
  998. <caption>반납의뢰</caption>
  999. <script type="javascript" ev:event="onclick">
  1000. <![CDATA[
  1001. fSaveDataCancel();
  1002. ]]>
  1003. </script>
  1004. <script type="javascript" ev:event="onaftersort">
  1005. <![CDATA[
  1006. //그리드 헤더클릭하여 sort후 인스턴스노드 순서가 바뀌는것을 방지하기 위해 인스턴스를 재설정
  1007. datagrid2.gridToInstance();
  1008. ]]>
  1009. </script>
  1010. </button>
  1011. <caption id="caption9" class="tit_2" style="left:0px; top:10px; width:131px; height:14px; ">실시내역</caption>
  1012. </case>
  1013. </switch>
  1014. <button id="btn_case1" class="btn_sw" group="tab" selected="true" style="left:1px; top:313px; width:60px; height:22px; ">
  1015. <caption>처방내역</caption>
  1016. <script type="javascript" ev:event="DOMActivate">
  1017. <![CDATA[
  1018. model.toggle("case1");
  1019. btn_case1.selected = true;
  1020. btn_case2.selected = false;
  1021. if (grd_keepbaclist.row > 0){
  1022. readfunc1();
  1023. }
  1024. ]]>
  1025. </script>
  1026. </button>
  1027. <button id="btn_case2" class="btn_sw" group="tab" selected="true" style="left:61px; top:313px; width:60px; height:22px; ">
  1028. <caption>실시내역</caption>
  1029. <script type="javascript" ev:event="DOMActivate">
  1030. <![CDATA[
  1031. model.toggle("case2");
  1032. btn_case1.selected = false;
  1033. btn_case2.selected = true;
  1034. if (grd_keepbaclist.row > 0){
  1035. readfunc2();
  1036. }
  1037. ]]>
  1038. </script>
  1039. </button>
  1040. <button id="button2" class="btn2_letter5" style="left:1111px; top:313px; width:75px; height:19px; ">
  1041. <caption>검체라벨</caption>
  1042. <script type="javascript" ev:event="onclick">
  1043. <![CDATA[
  1044. //model.reset();
  1045. modal("SMLLC00300", "", "", "", "", "", "");
  1046. ]]>
  1047. </script>
  1048. </button>
  1049. <caption id="caption11" style="left:1077px; top:630px; width:30px; height:15px; ">퇴원</caption>
  1050. <caption id="caption12" class="color_6" style="left:1055px; top:630px; width:15px; height:15px; background-color:#0000FF; "/>
  1051. </case>
  1052. <case id="case_om">
  1053. <import id="3" src="../../../emr/wardorderweb/xrw/SMMNW00300_Order Manage.xrw" style="left:0px; top:0px; width:1190px; height:634px; "/>
  1054. </case>
  1055. </switch>
  1056. <button id="btn_apu" class="btn_sw" group="tab" selected="true" style="left:0px; top:40px; width:100px; height:22px; ">
  1057. <caption>APU Main</caption>
  1058. <script type="javascript" ev:event="onclick">
  1059. <![CDATA[
  1060. var xPathMainCond = "/root/main/cond";
  1061. model.setValue(xPathMainCond + "/workflag", "apu");
  1062. //fInqurySelectedPrgm();
  1063. btn_apu.selected = true;
  1064. model.toggle("case_apu");
  1065. ]]>
  1066. </script>
  1067. </button>
  1068. <button id="btn_om" class="btn_sw" visibility="visible" group="tab" style="left:100px; top:40px; width:100px; height:22px; ">
  1069. <caption>PRN관리</caption>
  1070. <script type="javascript" ev:event="onclick">
  1071. <![CDATA[
  1072. fnPrn();
  1073. ]]>
  1074. </script>
  1075. </button>
  1076. </group>
  1077. <button id="btn_carerec" class="btn2_letter4" visibility="visible" style="left:1045px; top:55px; width:64px; height:19px; ">
  1078. <caption>TYPE ll</caption>
  1079. <script type="javascript" ev:event="DOMActivate">
  1080. <![CDATA[/*
  1081. - 기록구분(recflag) :
  1082. G : 일반간호기록
  1083. B : 혈당간호기록
  1084. O : 외래간호기록
  1085. F : 기능검사기록
  1086. I : 주사실간호기록
  1087. D : DSC간호기록
  1088. S : 전문간호기록
  1089. H : 가정간호기록
  1090. E : 응급간호기록
  1091. A : 마취간호기록
  1092. R : 회복간호기록
  1093. L : 투석간호기록
  1094. P : 수술간호기록
  1095. T : 수혈간호기록
  1096. W : 병동간호기록
  1097. U : 성분헌혈간호기록
  1098. - 부서코드(dutplaccd) :
  1099. -- 20080708 이후 Ver.
  1100. 가정 001
  1101. 간클리닉 002
  1102. 기관지 003
  1103. 내시경 004
  1104. 병동 005
  1105. 부정맥 006
  1106. 분만 007
  1107. 성분 008
  1108. 외래 009
  1109. 응급 010
  1110. 전문 011
  1111. 주사 012
  1112. 통원 013
  1113. 투석 014
  1114. 혈당 015
  1115. Echo 016
  1116. 외래항암 017
  1117. 수술 900
  1118. 마취 900
  1119. 회복 900
  1120. - 처방구분(prcpflag) :
  1121. A : 투약 ('A2', 'A4', 'A6')
  1122. H : 처치 ('H4')
  1123. T : 검사 ('B2','B4','B6','C2','C4','C6','D2','E2')를 포함한 나머지 처방
  1124. - 기록 구분 정보
  1125. SMMNR03400_ParamBase : recflag▦dutplaccd▦reclnkkey => 기록구분▦부서코드▦기록연계키
  1126. SMMNR03400_ParamPrcp : prcpflag▦prcpnm => 처방구분▦처방정보
  1127. */
  1128. // 상단정보 세팅
  1129. model.removenode("/root/main/paminfo");
  1130. model.makeNode("/root/main/paminfo/pamlist");
  1131. var sPamInfo = getGlobalVariable("paminfo");
  1132. //alert(sPamInfo);
  1133. setCSVToNode("/root/main/paminfo",sPamInfo,"pamlist");
  1134. var pid = model.getValue('/root/main/paminfo/pamlist/pid');
  1135. if(pid == ''){
  1136. alert('상단정보를 먼저 확인하세요.');
  1137. return;
  1138. }else{
  1139. var ioflag = model.getValue('/root/main/paminfo/pamlist/ioflag');
  1140. var pid = model.getValue('/root/main/paminfo/pamlist/pid');
  1141. var cretno = model.getValue('/root/main/paminfo/pamlist/cretno');
  1142. var instcd = model.getValue('/root/main/paminfo/pamlist/instcd');
  1143. var ordindd = '';
  1144. if(ioflag == 'O'){
  1145. ordindd = model.getValue('/root/main/paminfo/pamlist/orddd');
  1146. }else if(ioflag == 'I' || ioflag == 'E' || ioflag == 'D'){
  1147. ordindd = model.getValue('/root/main/paminfo/pamlist/indd');
  1148. }
  1149. //alert(pid+' '+ioflag+' '+cretno+' '+instcd+' '+orddd);
  1150. var ParamBaseHeader = "recflag▦dutplaccd▦reclnkkey▩";
  1151. var ParamBaseData = '';
  1152. ParamBaseData += "U▦008▦";
  1153. ParamBaseData += "," + pid;
  1154. ParamBaseData += "," + ordindd;
  1155. ParamBaseData += "," + cretno;
  1156. ParamBaseData += "," + instcd;
  1157. ParamBaseData += "▩";
  1158. setParameter("SMMNR03400_ParamBase", ParamBaseHeader + ParamBaseData);
  1159. modal("SMMNR03400","1","15","128");
  1160. }
  1161. ]]>
  1162. </script>
  1163. </button>
  1164. <button id="button10" class="btn2_letter5" style="left:1113px; top:55px; width:75px; height:19px; ">
  1165. <caption>스케쥴관리</caption>
  1166. <script type="javascript" ev:event="onclick">
  1167. <![CDATA[
  1168. //model.reset();
  1169. //modal("SMMNW01000", "", "", "", "", "/root/temp/param/wardcd", "/root/temp/param/wardcd");
  1170. modal("SMMNA00800", "", "", "", "", "", "");
  1171. ]]>
  1172. </script>
  1173. </button>
  1174. </xhtml:body>
  1175. </xhtml:html>