SPMMO01600_처방상세수술.xrw 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/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. <prcp>
  11. <prcplist>
  12. <status/>
  13. <prcpstatcd/>
  14. <prcpclscd/>
  15. <prcpkindcd/>
  16. <prcpcd/>
  17. <prcpnm/>
  18. <prcpvol/>
  19. <prcpvolunitnm/>
  20. <prcpqty/>
  21. <prcpqtyunitnm/>
  22. <prcptims/>
  23. <prcpdayno/>
  24. <drugmthdspccdnm/>
  25. <prcpmixno/>
  26. <payflagcd/>
  27. <prcpdelivefact/>
  28. <hosinhosoutflag/>
  29. <prcpexecdeptcd/>
  30. <prcphopedd/>
  31. <choiordflag/>
  32. <rgstdt/>
  33. <rgstridnm/>
  34. <testrsltunit/>
  35. <testrsltcnts/>
  36. <prcpgenrflag/>
  37. <prcphistcd/>
  38. <tempprcpflag/>
  39. <prcpsetcd/>
  40. <prcpvolunitflag/>
  41. <prcpqtyunitflag/>
  42. <orgprcpqty/>
  43. <drugspd/>
  44. <drugspdunitflag/>
  45. <powdflag/>
  46. <prnprcpflag/>
  47. <prepprcpflag/>
  48. <selfprcpflag/>
  49. <selfdrugflag/>
  50. <drugpackflag/>
  51. <erprcpflag/>
  52. <precureprcpflag/>
  53. <nigtprcpflag/>
  54. <portprcpflag/>
  55. <fixprcpflag/>
  56. <anamneflag/>
  57. <fastprcpflag/>
  58. <erreadflag/>
  59. <prcpdirecflag/>
  60. <tnsuseflag/>
  61. <tnsfiltflag/>
  62. <trnptbftestflag/>
  63. <offictourhealexamflag/>
  64. <stemcellflag/>
  65. <angioflagcd/>
  66. <opansflagcd/>
  67. <ansttm/>
  68. <mealcalrcnts/>
  69. <mealprotcnts/>
  70. <mealupdtflag/>
  71. <hosinprcpresncd/>
  72. <etcprcpresncd/>
  73. <drugmthdspccd/>
  74. <issdeptcd/>
  75. <prcpauthflag/>
  76. <prcpinptflag/>
  77. <prcpsignflag/>
  78. <rateprcpflag/>
  79. <prcprefseq/>
  80. <ordreqlnkno/>
  81. <testreqlnkno/>
  82. <prcplnkdd/>
  83. <prcplnkno/>
  84. <oprsrvno/>
  85. <tootfact/>
  86. <clinccmtcnts/>
  87. <prcpessninptflag/>
  88. <grupsnglflag/>
  89. <drugrateqty/>
  90. <asttestflag/>
  91. <clincstdyflag/>
  92. <prtlno/>
  93. <clincstdycd/>
  94. <optermcd/>
  95. <prcpflag/>
  96. <hscttempprcpflag/>
  97. <inclprcpcd/>
  98. <inclprcpno/>
  99. <pampkspec/>
  100. <prcppkspec/>
  101. <calcscormastspec/>
  102. <drugmastspec/>
  103. <rateprcpspec/>
  104. <matrsetprcpspec/>
  105. <suppdeptspec/>
  106. <contprcpspec/>
  107. <etclnkspec/>
  108. <srchcondcnts/>
  109. <orgprcpnm/>
  110. <chkcol/>
  111. <hsctdelivepos/>
  112. <hsctlnkno/>
  113. <etcprcpflag/>
  114. <aftcertflag/>
  115. <aftcertdrid/>
  116. <prcpvalidd/>
  117. <insukind/>
  118. <specdrid/>
  119. <anticncrprtlno/>
  120. <anticncrdayno/>
  121. <druglnkno/>
  122. <rehbprcpcurefreqflag/>
  123. <dietprcpgenrflag/>
  124. <irpayflag/>
  125. <irflag/>
  126. <procerdietflag/>
  127. <diagtestconttestintvlflag/>
  128. <drugindependpackflag/>
  129. <diagtestconttestbasetm/>
  130. <diagtestconttestorgtims/>
  131. <ermediscmngtresncd/>
  132. <rehbprcpenddd/>
  133. <matrallsizespecid/>
  134. <rehbprcpcurepartcd/>
  135. <lowdrugresncd/>
  136. <tfdtlcd/>
  137. <dnorreqlnkno/>
  138. <subcretno/>
  139. <exptmthdfact/>
  140. <lowdrugresnetcfact/>
  141. <diagtestconttestcdspec/>
  142. <drgacptflag/>
  143. <drprcpetc1/>
  144. <drprcpetc2/>
  145. <drprcpetc3/>
  146. <drprcpetc4/>
  147. <drprcpetc5/>
  148. <drprcpetc6/>
  149. <drprcpetc7/>
  150. <drprcpetc8/>
  151. <drprcpetc9/>
  152. <drprcpetc10/>
  153. <tempcol1/>
  154. <tempcol2/>
  155. <tempcol3/>
  156. <tempcol4/>
  157. <tempcol5/>
  158. <tempcol6/>
  159. <tempcol7/>
  160. <tempcol8/>
  161. <tempcol9/>
  162. <tempcol10/>
  163. <tempcol11/>
  164. <tempcol12/>
  165. <tempcol13/>
  166. <tempcol14/>
  167. <tempcol15/>
  168. <tempcol16/>
  169. <tempcol17/>
  170. <tempcol18/>
  171. <tempcol19/>
  172. <tempcol20/>
  173. <tempcol21/>
  174. <tempcol22/>
  175. <tempcol23/>
  176. <tempcol24/>
  177. <tempcol25/>
  178. </prcplist>
  179. </prcp>
  180. </main>
  181. <init>
  182. <payflagcd/>
  183. <opansflagcd/>
  184. <orddept/>
  185. <dept/>
  186. <userlist/>
  187. <operation/>
  188. <hardcdno/>
  189. <drgacptflag/>
  190. <nigtprcpflag/>
  191. </init>
  192. <orddept/>
  193. <temp>
  194. <send/>
  195. <patsupkind/>
  196. </temp>
  197. </root>
  198. </instance>
  199. <script type="javascript" ev:event="xforms-model-construct-done">
  200. <![CDATA[
  201. zbcfGetCodeList(new Array("M0029", "M0007", "M0639", "P0506"),new Array("/root/init/payflagcd", "/root/init/opansflagcd", "/root/init/nigtprcpflag","/root/init/drgacptflag"));
  202. //원무에서 화면을 열 경우, 공통코드 조회 이외의 로직은 처리하지 않음 2008. 06. 16 오지훈
  203. var prcppopupflag = opener.javascript.getParameter("prcppopupflag");
  204. if(prcppopupflag == "PAM"){
  205. return;
  206. }
  207. document.title = document.title + "[" + model.getValue("/root/main/prcp/prcplist/prcpcd") + " : " + model.getValue("/root/main/prcp/prcplist/orgprcpnm") + "]";
  208. fPrcpExecDeptSrch();
  209. var prcpessninptflag = model.getValue ( "/root/main/prcp/prcplist/prcpessninptflag" );
  210. if ( prcpessninptflag != 3 && prcpessninptflag != 5 ) {
  211. model.setValue("/root/main/prcp/prcplist/opansflagcd", "-");
  212. grd_prcplist.colDisabled(grd_prcplist.colref("opansflagcd")) = true;
  213. }
  214. model.refresh();
  215. ]]>
  216. </script>
  217. <submission id="TRZBC00101" mediatype="application/x-www-form-urlencoded" method="post"/>
  218. <submission id="TRZSD00109" mediatype="application/x-www-form-urlencoded" method="post"/>
  219. <submission id="TRMMO00116" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send" resultref="/root/orddept"/>
  220. <script type="javascript" ev:event="xforms-ready">
  221. <![CDATA[
  222. var operation = getGlobalVariable("operation");
  223. if(operation != null || operation != ""){
  224. setCSVToNode("/root/init/operation", operation);
  225. var opflagcd = model.getValue("/root/init/operation/list/opflagcd"); // opflagcd 1:정규, 2:응급, 3:추가
  226. if(opflagcd == "2"){
  227. model.setValue("/root/main/prcp/prcplist/erprcpflag", "Y");
  228. }
  229. var opfromtmcd = model.getValue("/root/init/operation/list/opfromtmcd"); //opfromtmcd 수술시작시간
  230. if(eval(opfromtmcd) > 180000){ //야간 시간 기준을 물어볼 것
  231. model.setValue("/root/main/prcp/prcplist/nigtprcpflag", "Y");
  232. }
  233. }
  234. //20110113 mjm수정. 유저정보 처방화면에서 가져오도록 수정.
  235. if ( opener.model.getValue ( "/root/usge" ) == "prcp") {
  236. model.copyNode(root.init.userlist , opener.root.init.specdrinfo );
  237. model.refresh();
  238. } else {
  239. mmbfGetUserComboList("/root/send/reqdata", "/root/init/userlist" , getUserInfo("dutplcecd"), "0330", "", "M", "", "", "", "Y"); // 선택진료의사 리스트를 조회한다.
  240. }
  241. model.setfocus("button1");
  242. ]]>
  243. </script>
  244. <submission id="TRMMB04102" mediatype="application/x-www-form-urlencoded" method="post"/>
  245. <submission id="TRMMB04103" mediatype="application/x-www-form-urlencoded" method="post"/>
  246. <submission id="TRMMO15701" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/temp/send" resultref="/root/temp/patsupkind"/>
  247. </model>
  248. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  249. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  250. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  251. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  252. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  253. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  254. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  255. </xhtml:head>
  256. <xhtml:body pagewidth="770" pageheight="135" guideline="2,240;1,750;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  257. <caption id="caption22" class="tit_2" style="left:2px; top:62px; width:82px; height:13px; ">전달사항</caption>
  258. <button id="button1" class="btn4_letter2" style="left:637px; top:101px; width:56px; height:22px; ">
  259. <caption>확인</caption>
  260. <script type="javascript" ev:event="onclick">
  261. <![CDATA[
  262. var prcpessninptflag = model.getValue ( "/root/main/prcp/prcplist/prcpessninptflag" );
  263. if ( prcpessninptflag == 3 || prcpessninptflag == 5 ) {
  264. if ( model.getValue ( "/root/main/prcp/prcplist/opansflagcd" ) == "-" || isNull(model.getValue ( "/root/main/prcp/prcplist/opansflagcd" ))) {
  265. messageBox ( "수술유형이 입력되지" , "E007" );
  266. return;
  267. }
  268. }
  269. //치과수술처방인 경우, 연달아 치식 팝업을 호출하는데, '확인'한 경우만 호출하도록 추가 (2009.10.27 JJE)
  270. if( !isNull(getOpenerUID()) ){ //Opener의 UID가 존재하면,
  271. opener.window.javascript.setParameter("SPMMO01600_returnParam", "Y"); //opener에 returnParam return
  272. }
  273. model.setValue ( "/root/main/prcp/prcplist/tempcol1", grd_prcplist.labelMatrix ( 1, grd_prcplist.colRef("opansflagcd") ));
  274. appendChildPrcp ( "/root/main/prcp/prcplist", "/root/prcptemp" );
  275. model.close();
  276. ]]>
  277. </script>
  278. <script type="javascript" ev:event="onkeydown">
  279. <![CDATA[
  280. if(event.keyCode == "13") {
  281. button1.dispatch("onclick");
  282. }
  283. ]]>
  284. </script>
  285. </button>
  286. <button id="button2" class="btn4_letter2" style="left:696px; top:101px; width:56px; height:22px; ">
  287. <caption>취소</caption>
  288. <script type="javascript" ev:event="onclick">
  289. <![CDATA[
  290. model.close();
  291. ]]>
  292. </script>
  293. </button>
  294. <line id="line7" class="line_1" style="x1:2px; y1:0px; x2:750px; y2:0px; "/>
  295. <datagrid id="grd_prcplist" nodeset="/root/main/prcp/prcplist" caption="응급^야간/심야^선처치^급여^수술유형^선택진료^진료의 ^시행부서^임상연구^DRG인정^기왕증" colsep="^" colwidth="35, 65, 45, 70, 135, 0, 105, 130, 55, 60, 43" dataheight="23" defaultrows="12" ellipsis="true" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheight="23" rowsep="|" selectionmode="free" tooltip="true" style="left:2px; top:5px; width:748px; height:48px; ">
  296. <col checkvalue="Y,N" ref="erprcpflag" type="checkbox"/>
  297. <col class="gridcombo" ref="nigtprcpflag" type="combo" style="text-align:center; ">
  298. <choices>
  299. <itemset nodeset="/root/init/nigtprcpflag/M0639">
  300. <label ref="cdnm"/>
  301. <value ref="cdid"/>
  302. </itemset>
  303. </choices>
  304. </col>
  305. <col checkvalue="Y,N" ref="precureprcpflag" type="checkbox"/>
  306. <col class="gridcombo" checkvalue="Y,N" ref="payflagcd" type="combo">
  307. <choices>
  308. <itemset nodeset="/root/init/payflagcd/M0029">
  309. <label ref="cdnm"/>
  310. <value ref="cdid"/>
  311. </itemset>
  312. </choices>
  313. </col>
  314. <col class="gridcombo" ref="opansflagcd" type="combo" style="text-align:center; ">
  315. <choices>
  316. <itemset nodeset="/root/init/opansflagcd/M0007">
  317. <label ref="cdnm"/>
  318. <value ref="cdid"/>
  319. </itemset>
  320. </choices>
  321. </col>
  322. <col checkvalue="Y,N" ref="choiordflag" type="checkbox"/>
  323. <col disabled="true" ref="specdrid" type="combo">
  324. <choices>
  325. <itemset nodeset="/root/init/userlist/usercombo">
  326. <label ref="usernm"/>
  327. <value ref="userid"/>
  328. </itemset>
  329. </choices>
  330. </col>
  331. <col class="gridcombo" itemcount="30" ref="prcpexecdeptcd" type="combo">
  332. <choices>
  333. <itemset nodeset="/root/orddept/dept">
  334. <label ref="depthngnm"/>
  335. <value ref="deptcd"/>
  336. </itemset>
  337. </choices>
  338. </col>
  339. <col checkvalue="Y,N" ref="clincstdyflag" type="checkbox"/>
  340. <col class="gridcombo" ref="drgacptflag" type="combo" style="text-align:center; ">
  341. <choices>
  342. <itemset nodeset="/root/init/drgacptflag/P0506">
  343. <label ref="cdnm"/>
  344. <value ref="cdid"/>
  345. </itemset>
  346. </choices>
  347. </col>
  348. <col checkvalue="Y,N" ref="anamneflag" type="checkbox"/>
  349. <script type="javascript" ev:event="xforms-value-changed">
  350. <![CDATA[
  351. if ( grd_prcplist.col == grd_prcplist.colRef("choiordflag")){ //선택진료의 클릭시
  352. var choiordflag = model.getValue("/root/main/prcp/prcplist/choiordflag");
  353. if(choiordflag == "Y"){
  354. button3.dispatch("DOMActivate");
  355. }else{
  356. model.setValue("/root/main/prcp/prcplist/specdrid", "");
  357. model.refresh();
  358. }
  359. }else if ( grd_prcplist.col == grd_prcplist.colRef("erprcpflag")){ //응급컬럼 클릭시
  360. var node = model.instances(0).selectSingleNode("/root/init/operation/list/opflagcd");
  361. if(node != null){
  362. model.setFocus("grd_prcplist");
  363. var opflagcd = model.getValue("/root/init/operation/list/opflagcd");
  364. var erprcpflag = model.getValue("/root/main/prcp/prcplist/erprcpflag");
  365. if(opflagcd == "1" && erprcpflag == "Y"){ //수술이 정규인 경우, 응급을 클릭하면 error!!
  366. messageBox("정규 수술은 응급을 선택", "E001");
  367. model.setValue("/root/main/prcp/prcplist/erprcpflag", "N");
  368. model.refresh();
  369. return;
  370. }
  371. }
  372. }else if(grd_prcplist.col == grd_prcplist.colRef("anamneflag")){
  373. var clincstdyflag = grd_prcplist.valueMatrix(1, grd_prcplist.colRef("clincstdyflag"));
  374. if(clincstdyflag == "Y") {
  375. messageBox ( "기왕증은 임상연구와 동시에 선택 할 수", "I004" );
  376. grd_prcplist.valueMatrix(1, grd_prcplist.colRef("anamneflag")) = "N";
  377. return;
  378. }
  379. var prcpgenrflag = opener.model.getValue("/root/patflag/list/prcpgenrflag");
  380. var anamneflag = grd_prcplist.valueMatrix(1, grd_prcplist.colRef("anamneflag"));
  381. if(prcpgenrflag == "I" || prcpgenrflag == "D" || prcpgenrflag == "E"){
  382. if(anamneflag == "Y"){ //기왕증이 Y로 처리된 경우에만 보조유형선택 팝업 open
  383. var pid = opener.model.getValue("/root/paminfo/list/pid");
  384. var indd = opener.model.getValue("/root/paminfo/list/indd");
  385. var subcretno = fGetSubcretno(pid, indd, "anamneflag");
  386. model.setValue("/root/main/prcp/prcplist/subcretno", subcretno);
  387. if(subcretno == "0"){
  388. messageBox ( "환자의 부유형이 없거나 또는 선택되지 않았습니다.", "I999" );
  389. grd_prcplist.valueMatrix(1, grd_prcplist.colRef("anamneflag")) = "N";
  390. }
  391. }else{ //기왕증이 N로 처리된 경우에는 subcretno 0로 처리
  392. model.setValue("/root/main/prcp/prcplist/subcretno", "0");
  393. }
  394. } else {
  395. messageBox ( "외래 환자는 기왕증을 선택 할 수", "I004" );
  396. grd_prcplist.valueMatrix(1, grd_prcplist.colRef("anamneflag")) = "N";
  397. }
  398. }else if ( grd_prcplist.col == grd_prcplist.colref("clincstdyflag")) {
  399. var anamneflag = grd_prcplist.valueMatrix(1, grd_prcplist.colRef("anamneflag"));
  400. if(anamneflag == "Y") {
  401. messageBox ( "임상연구는 기왕증과 동시에 선택 할 수", "I004" );
  402. grd_prcplist.valueMatrix(1, grd_prcplist.colRef("clincstdyflag")) = "N";
  403. return;
  404. }
  405. fSubcretnoSet("0", grd_prcplist);
  406. }else if ( grd_prcplist.col == grd_prcplist.colref("drgacptflag")) {
  407. if ( model.getValue ( "/root/main/prcp/prcplist/drgacptflag" ) == "A" ) { // PCA용 약제
  408. messageBox ( "급여구분이 '본인부담'으로 변경 됩니다.", "I" );
  409. model.setValue ( "/root/main/prcp/prcplist/payflagcd", "1" );
  410. } else if ( model.getValue ( "/root/main/prcp/prcplist/drgacptflag" ) == "B" ) { // 미용성형
  411. messageBox ( "급여구분이 '비급여'로 변경 됩니다.", "I" );
  412. model.setValue ( "/root/main/prcp/prcplist/payflagcd", "2" );
  413. }
  414. }
  415. model.refresh();
  416. ]]>
  417. </script>
  418. </datagrid>
  419. <input id="input1" ref="/root/main/prcp/prcplist/prcpdelivefact" style="left:2px; top:77px; width:748px; height:19px; "/>
  420. <button id="button4" class="icon_search" style="left:76px; top:60px; width:16px; height:16px; ">
  421. <caption/>
  422. <script type="javascript" ev:event="DOMActivate">
  423. <![CDATA[
  424. setParameter ( "SPMMB02200_cond2", "3" );
  425. fPrcpModal ( "SPMMB02200", 50, 50 );
  426. model.setValue ( "/root/main/prcp/prcplist/prcpdelivefact", getParameter ( "SPMMB02200_clinccmt" ));
  427. model.refresh();
  428. ]]>
  429. </script>
  430. </button>
  431. <button id="btn_execdept" class="icon_search" style="left:569px; top:9px; width:16px; height:16px; ">
  432. <caption/>
  433. <script type="javascript" ev:event="DOMActivate">
  434. <![CDATA[
  435. modal("SPMMB02500");
  436. ]]>
  437. </script>
  438. </button>
  439. <button id="btn_specdrid" class="icon_search" style="left:439px; top:9px; width:16px; height:16px; ">
  440. <caption/>
  441. <script type="javascript" ev:event="DOMActivate">
  442. <![CDATA[
  443. // var choiordflag = model.getValue("/root/main/prcp/prcplist/choiordflag");
  444. // if(choiordflag == "Y" ||
  445. // opener.model.getValue("/root/paminfo/list/specordyn") == "Y" ){ // 선택진료로 원무 접수 되었을 경우 by sonjy 2008-08-28
  446. //20110112 mjm추가 선택진료 가능여부 체크
  447. if ( !fChoiOrdChk()) return;
  448. //20110113 mjm 변경 선택진료 함수로 변경
  449. fChgChoiDr( "pop" );
  450. ]]>
  451. </script>
  452. </button>
  453. </xhtml:body>
  454. </xhtml:html>