SMPIS01000_외래상기도감염항생제처방조회.xrw 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <!--
  3. * @(#)SMPIS01000_외래상기도감염항생제처방조회.xrw
  4. ************************************************
  5. * [ Maps ]
  6. * TRZBC00102 : 공통코드
  7. * TRPID20309 : 진료과, 주치의
  8. * TRPID20407 : 청구차수
  9. -->
  10. <?xml-stylesheet href="../../../com/commonweb/css/common.css" type="text/css" ?>
  11. <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">
  12. <xhtml:head>
  13. <xhtml:title>외래 항생제 처방조회</xhtml:title>
  14. <model id="model1">
  15. <instance id="instance1">
  16. <root xmlns="">
  17. <main>
  18. <!-- SPPMC02500_환자조회 화면에서 선택된 검색결과를 받는 경로임 -->
  19. <patinfo>
  20. <patinfolist/>
  21. </patinfo>
  22. <popupendflag/>
  23. <grdlist>
  24. <diagclamlist>
  25. <clamym/>
  26. <clamflagcd/>
  27. <clamdg/>
  28. <ioflag/>
  29. <ordfildcd/>
  30. <docuseqno/>
  31. <pid/>
  32. <patnm/>
  33. <patrrgstno/>
  34. <orddeptcd/>
  35. <orddrnm/>
  36. <diagseq/>
  37. <judgrid/>
  38. <indd/>
  39. <fromdd/>
  40. <todd/>
  41. <insukind/>
  42. <suppkind/>
  43. <edimedcaretotamt/>
  44. <acptno/>
  45. <diagcd1/>
  46. <diagcd2/>
  47. <diagcd3/>
  48. <diagcd4/>
  49. <diagcd5/>
  50. <diagcd6/>
  51. <hngnm/>
  52. </diagclamlist>
  53. </grdlist>
  54. </main>
  55. <init>
  56. <!-- 진료과 -->
  57. <orddeptcdlist>
  58. <cd/>
  59. <nm/>
  60. </orddeptcdlist>
  61. <!-- 보험유형 -->
  62. <P0008list>
  63. <P0008>
  64. <cdnm/>
  65. <cdid/>
  66. </P0008>
  67. </P0008list>
  68. <!-- 진료분야 -->
  69. <P0291list>
  70. <P0291>
  71. <cdnm/>
  72. <cdid/>
  73. </P0291>
  74. </P0291list>
  75. <!-- 청구구분 -->
  76. <P0155list>
  77. <P0155>
  78. <cdnm/>
  79. <cdid/>
  80. <cdengabbrnm/>
  81. </P0155>
  82. </P0155list>
  83. </init>
  84. <hidden>
  85. <sppiz00400>
  86. <cond>
  87. <!-- 상병코드 Grid '상병코드' 컬럼 에서 SPPIZ00400_상병코드조회 에 전달하기 위한 조건 값 -->
  88. <basedd/>
  89. <diagcd/>
  90. <diagnm/>
  91. <selectedrdodiagkind/>
  92. </cond>
  93. <rslt>
  94. <diagcd/>
  95. <diaghngnm/>
  96. <diagengnm/>
  97. </rslt>
  98. </sppiz00400>
  99. <!-- 환자조회 팝업용도-->
  100. <sppmc02500>
  101. <cond>
  102. <srchcond/>
  103. <pid/>
  104. <hngnm/>
  105. </cond>
  106. </sppmc02500>
  107. </hidden>
  108. <send>
  109. <item1>
  110. <clamymfrom/>
  111. <clamymto/>
  112. <insukind/>
  113. <ioflag>O</ioflag>
  114. <diagcd/>
  115. <diagcond>S</diagcond>
  116. <diagcdfr>J00</diagcdfr>
  117. <diagcdto>J06.9</diagcdto>
  118. <ordfildcd/>
  119. <orddeptcd/>
  120. <pid/>
  121. <agechk/>
  122. </item1>
  123. </send>
  124. </root>
  125. </instance>
  126. <script type="javascript" ev:event="xforms-ready">
  127. <![CDATA[
  128. // 화면 초기화
  129. fInitialize();
  130. ]]>
  131. </script>
  132. <!-- submission -->
  133. <submission id="TRZBC00102" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  134. <submission id="TRPIS01000" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/item1" resultref="/root/main"/>
  135. <submission id="TRPID20309" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/item1" resultref="/root/init/tmp"/>
  136. </model>
  137. <!-- js import -->
  138. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  139. <script type="javascript" src="../../../com/commonweb/js/utilHelper.js"/>
  140. <script type="javascript" src="../../../com/commonweb/js/numericHelper.js"/>
  141. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  142. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  143. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  144. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  145. <!-- 뽕숑 -->
  146. <script type="javascript">
  147. <![CDATA[
  148. // 화면 초기화
  149. function fInitialize()
  150. {
  151. rdo_diagcd.value = "S";
  152. model.removeNodeset("/root/main/grdlist/diagclamlist"); // 그리드 초기화
  153. zbcfGetCodeList(
  154. new Array("P0008" // 보험유형
  155. ,"P0291" // 진료분야
  156. ,"P0155" // 청구구분
  157. ),
  158. new Array("/root/init/P0008list"
  159. ,"/root/init/P0291list"
  160. ,"/root/init/P0155list"
  161. )
  162. ,false
  163. );
  164. cmb_insukind.refresh();
  165. cmb_ordfild.refresh();
  166. rdo_ioflag.value = "O"; // 내원유형:입원
  167. // 청구년월 셋팅 시작
  168. var today = new Date();
  169. var baseyear = today.getDateFormat("YYYY"); // (dateHelper.js)에서 제공하는 함수를 사용하여 해당 년를 구한다.
  170. var basemonth = today.getDateFormat("MM");
  171. var currentym = baseyear + basemonth;
  172. model.setValue("/root/send/item1/clamymfrom",currentym);
  173. model.setValue("/root/send/item1/clamymto",currentym);
  174. ipt_clamymfrom.refresh();
  175. // 청구년월 셋팅 끝
  176. fGetOrdDept(); // 진료과 콤보 리스트
  177. }
  178. // 진료과 리스트 가져오기
  179. function fGetOrdDept()
  180. {
  181. submit("TRPID20309");
  182. }
  183. // 상병조건(팝업에서 호출함)
  184. function fSetDiagCdNm() {
  185. var diagcd = model.getValue("/root/hidden/sppiz00400/rslt/diagcd");
  186. if (diagcd) {
  187. model.setValue("/root/send/item1/diagcdfr", diagcd);
  188. model.setValue("/root/send/item1/diagcdto", diagcd);
  189. model.refreshpart("/root/send/item1/diagcdfr");
  190. model.refreshpart("/root/send/item1/diagcdto");
  191. }
  192. }
  193. // 환자단위 조회
  194. function fPatSrch()
  195. {
  196. var ipt_pid = model.getValue("/root/send/item1/pid");
  197. if (ipt_pid) {
  198. if ( !isNaN(ipt_pid) )
  199. {
  200. model.setValue("/root/hidden/sppmc02500/cond/srchcond", "1"); // 검색조건 : 등록번호로 설정
  201. model.setValue("/root/hidden/sppmc02500/cond/pid", ipt_pid);
  202. }
  203. else
  204. {
  205. model.setValue("/root/hidden/sppmc02500/cond/srchcond", "2"); // 검색조건 : 환자명으로 설정
  206. model.setValue("/root/hidden/sppmc02500/cond/hngnm", ipt_pid);
  207. }
  208. } else {
  209. model.resetInstanceNode("/root/hidden/sppmc02500/cond");
  210. }
  211. // pam/commonweb/xrw/SPPMC02500_환자조회.xrw
  212. modal("SPPMC02500", "1", "150", "150", "SPPMC02500", "/root/hidden/sppmc02500/cond", "/root/send", "", ""); // SPPMC02500_환자조회.xrw
  213. var srch_pid = model.getValue("/root/main/patinfo/patinfolist/pid");
  214. if (srch_pid) { // SPPMC02500_환자조회 화면에서 조회한 경우임
  215. model.removeNodeset("/root/main/patinfo/patinfolist"); // patinfolist가 제거됨 (resetInstanceNode의 경우 값은 지우고 노드는 남아있음)
  216. model.makeNode("/root/main/patinfo/patinfolist"); // SPPMC02500_환자조회 팝업을 다시 조회할 경우를 위해 다시 노드를 추가함
  217. model.setValue("/root/send/item1/pid", srch_pid);
  218. }
  219. model.refresh();
  220. }
  221. // 조회
  222. function fSearch()
  223. {
  224. var chk_clamymfrom = model.getValue("/root/send/item1/clamymfrom");
  225. var chk_clamymto = model.getValue("/root/send/item1/clamymto");
  226. var chk_ioflag = model.getValue("/root/send/item1/ioflag");
  227. var chk_ordfild = model.getValue("/root/send/item1/ordfildcd");
  228. var chk_diagcdfr = model.getValue("/root/send/item1/diagcdfr");
  229. var chk_diagcdto = model.getValue("/root/send/item1/diagcdto");
  230. var chk_pid = model.getValue("/root/send/item1/pid");
  231. if ( chk_clamymfrom == "" | chk_clamymfrom == "")
  232. {
  233. messageBox("청구년월은 ", "I003");
  234. model.setFocus("ipt_clamymfrom");
  235. return;
  236. }
  237. /*
  238. else if ( chk_ioflag == "O" && chk_ordfild == "" )
  239. {
  240. // 외래는 진료분야를 필수조건으로 정한다
  241. messageBox("진료분야는 ","I003");
  242. cmb_ordfild.select(1);
  243. model.setFocus("cmb_ordfild");
  244. return;
  245. }
  246. */
  247. // PID값이 있다면(팝업호출 됐을 경우) 상병조건이 없어도 조회가 되게 한다
  248. if ( chk_pid == "" && (chk_diagcdfr == "" | chk_diagcdto == "") )
  249. {
  250. messageBox("상병조건은 ", "I003");
  251. model.setFocus("ipt_diagfr");
  252. return;
  253. }
  254. submit("TRPIS01000");
  255. }
  256. ]]>
  257. </script>
  258. </xhtml:head>
  259. <xhtml:body pagewidth="1211" pageheight="784" guideline="1,1213;2,784;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  260. <!-- TITLE -->
  261. <group id="group1" style="left:0px; top:0px; width:1190px; height:13px; ">
  262. <caption id="caption1" class="tit_1" style="left:0px; top:0px; width:253px; height:14px; ">외래 항생제 처방조회</caption>
  263. </group>
  264. <!-- 전체 그룹 -->
  265. <group id="group2" scroll="no" style="left:0px; top:13px; width:1190px; height:732px; ">
  266. <!-- 조회조건 -->
  267. <group id="group4" style="left:0px; top:10px; width:1190px; height:65px; vertical-align:top; ">
  268. <shape id="roundrect2" appearance="roundrect" style="left:0px; top:0px; width:1190px; height:60px; "/>
  269. <caption id="caption5" class="search_name" style="left:10px; top:10px; width:76px; height:17px; ">청구년월</caption>
  270. <input id="ipt_clamymfrom" ref="/root/send/item1/clamymfrom" class="input_search" navindex="1" inputtype="date" format="yyyy-mm" style="left:98px; top:10px; width:80px; height:19px; "/>
  271. <caption id="caption6" class="search_name" style="left:517px; top:10px; width:76px; height:17px; ">진료분야</caption>
  272. <select1 id="cmb_ordfild" ref="/root/send/item1/ordfildcd" class="combo_search" appearance="minimal" style="left:605px; top:10px; width:100px; height:19px; ">
  273. <choices>
  274. <itemset nodeset="/root/init/P0291list/P0291">
  275. <label ref="cdnm"/>
  276. <value ref="cdid"/>
  277. </itemset>
  278. </choices>
  279. </select1>
  280. <line id="line2" class="line_4" style="x1:1075px; y1:5px; x2:1075px; y2:54px; "/>
  281. <button id="button1" class="btn1_letter2" navindex="2" style="left:1100px; top:20px; width:56px; height:22px; ">
  282. <caption>조회</caption>
  283. <script type="javascript" ev:event="DOMActivate">
  284. <![CDATA[
  285. fSearch();
  286. ]]>
  287. </script>
  288. </button>
  289. <caption id="caption9" class="search_name" style="left:272px; top:10px; width:76px; height:17px; ">내원유형</caption>
  290. <select1 id="rdo_ioflag" ref="/root/send/item1/ioflag" class="radio_search" appearance="full" cols="3" overflow="visible" style="left:360px; top:10px; width:95px; height:20px; border-style:none; ">
  291. <choices>
  292. <item>
  293. <label>입원</label>
  294. <value>I</value>
  295. </item>
  296. <item>
  297. <label>외래</label>
  298. <value>O</value>
  299. </item>
  300. </choices>
  301. <script type="javascript" ev:event="xforms-value-changed">
  302. <![CDATA[
  303. fGetOrdDept(); // 진료과 콤보 리스트
  304. if ( rdo_ioflag.value == "O" )
  305. {
  306. cmb_ordfild.select(1);
  307. }
  308. ]]>
  309. </script>
  310. </select1>
  311. <caption id="caption13" class="search_name" style="left:750px; top:10px; width:76px; height:17px; ">보험유형</caption>
  312. <output id="opt_insukind" ref="/root/send/item1/insukind" class="output_search" style="left:940px; top:10px; width:20px; height:19px; "/>
  313. <select1 id="cmb_insukind" ref="/root/send/item1/insukind" class="combo_search" appearance="minimal" style="left:835px; top:10px; width:100px; height:19px; ">
  314. <choices>
  315. <itemset nodeset="/root/init/P0008list/P0008">
  316. <label ref="cdnm"/>
  317. <value ref="cdid"/>
  318. </itemset>
  319. </choices>
  320. </select1>
  321. <select1 id="combo1" ref="/root/send/item1/orddeptcd" class="combo_search" appearance="minimal" style="left:835px; top:35px; width:100px; height:19px; ">
  322. <choices>
  323. <itemset nodeset="/root/init/tmp/orddeptcd/orddeptcdlist">
  324. <label ref="nm"/>
  325. <value ref="cd"/>
  326. </itemset>
  327. </choices>
  328. </select1>
  329. <caption id="caption2" class="search_name" style="left:750px; top:35px; width:65px; height:17px; ">진료과</caption>
  330. <caption id="caption3" class="search_name" style="left:10px; top:35px; width:76px; height:17px; ">상병조건</caption>
  331. <select1 id="rdo_diagcd" ref="/root/send/item1/diagcond" class="radio_search" appearance="full" cols="3" overflow="visible" style="left:98px; top:35px; width:237px; height:20px; border-style:none; ">
  332. <choices>
  333. <item>
  334. <label>주상병만</label>
  335. <value>M</value>
  336. </item>
  337. <item>
  338. <label>부상병포함</label>
  339. <value>S</value>
  340. </item>
  341. <item>
  342. <label>제1,2상병만</label>
  343. <value>M1</value>
  344. </item>
  345. </choices>
  346. </select1>
  347. <input id="ipt_diagfr" ref="/root/send/item1/diagcdfr" class="input_search" navindex="12" imemode="alpha" inputtype="button" _chartype="upper" style="left:335px; top:35px; width:68px; height:19px; ">
  348. <script type="javascript" ev:event="onbuttonclick">
  349. <![CDATA[
  350. model.removeNodeset("/root/hidden/sppiz00400/rslt");
  351. model.makeNode("/root/hidden/sppiz00400/rslt/diagcd");
  352. model.makeNode("/root/hidden/sppiz00400/rslt/diaghngnm");
  353. model.makeNode("/root/hidden/sppiz00400/rslt/diagengnm");
  354. model.resetInstanceNode("/root/hidden/sppiz00400/cond");
  355. model.setValue("/root/hidden/sppiz00400/cond/basedd", getCurrentDate()); // (dateHelper.js) 현재날짜 반환
  356. model.setValue("/root/hidden/sppiz00400/cond/diagcd", model.getValue("/root/send/diagcd"));
  357. model.setValue("/root/hidden/sppiz00400/cond/diagnm", "");
  358. model.setValue("/root/hidden/sppiz00400/cond/selectedrdodiagkind","3"); // 사용자가 직접검색하여 입력 할수 있도록 임의의 값(3)을 넣어줌
  359. modal("SPPIZ00400", "1", "10", "10", "SPPIZ00400", "/root/hidden/sppiz00400/cond", "/root/init", "", ""); // SPPIZ00400_상병코드조회.xrw
  360. /*
  361. var clamkey = model.getValue("/root/main/item1/clbs/clamkey");
  362. if (clamkey) { // 조회된 심사대상자가 있음
  363. fSortDiagNo(true);
  364. } */
  365. ]]>
  366. </script>
  367. <script type="javascript" ev:event="xforms-value-changed">
  368. <![CDATA[
  369. model.setValue("/root/send/item1/diagcdto", model.getValue("/root/send/item1/diagcdfr"));
  370. model.refresh();
  371. ]]>
  372. </script>
  373. <script type="javascript" ev:event="onkeypress">
  374. <![CDATA[
  375. if (event.keyCode == "13") { // Enter 입력 시에
  376. setInputNodeCurText(); // 현재 입력값 노드에 반영
  377. model.setValue("/root/send/item1/diagcdto",ipt_diagfr.value);
  378. ipt_diagto.refresh();
  379. }
  380. ]]>
  381. </script>
  382. </input>
  383. <caption id="caption4" style="left:405px; top:35px; width:15px; height:20px; ">~</caption>
  384. <input id="ipt_diagto" ref="/root/send/item1/diagcdto" class="input_search" navindex="4" imemode="alpha" _chartype="upper" style="left:420px; top:35px; width:68px; height:19px; "/>
  385. <select id="chk_age" ref="/root/send/item1/agechk" overflow="visible" appearance="full" style="left:495px; top:37px; width:100px; height:20px; border-style:none; ">
  386. <choices>
  387. <item>
  388. <label>만15세 미만</label>
  389. <value>Y</value>
  390. </item>
  391. </choices>
  392. </select>
  393. </group>
  394. <caption id="caption12" class="tit_2" style="left:0px; top:80px; width:100px; height:13px; ">환자 리스트</caption>
  395. <button id="button2" class="btn2_letter4" style="left:1120px; top:79px; width:64px; height:19px; ">
  396. <caption>엑셀저장</caption>
  397. <script type="javascript" ev:event="DOMActivate">
  398. <![CDATA[
  399. if (grd_outjudg.rows > 1) {
  400. var fileName = window.fileDialog("save", "", false, "외래 상기도감염 항생제처방 조회_" + getCurrentDate(), "xls", "Excel Files(*.xls)|*.xls|All Files (*.*)|*.*");
  401. if (fileName != "") {
  402. //datagrid.saveExcel의 7번째 인자 값(boolean) : 그리드의 col type=combo일 경우 엑셀저장내용이 lable 또는 value로 설정 함
  403. // grd_clbsmast.saveExcel(fileName, "SheetName", true, true, "", "", true);
  404. grd_outjudg.saveExcel(fileName, "sheetname:;colhiddenextend:false;rowhiddenextend:false;", true, true, "", "", true);
  405. }
  406. } else {
  407. messageBox("엑셀저장할 대상이 ", "I004"); ///엑셀저장할 대상자가 없습니다.
  408. }
  409. ]]>
  410. </script>
  411. </button>
  412. <datagrid id="grd_outjudg" nodeset="/root/main/grdlist/diagclamlist" class="datagrid2" caption="청구년월^차수^청구구분^내원유형^분야^등록번호^수신자^보&#xA;험^보&#xA;조^진료과^진료의^상병1^상병2^상병3^상병4^상병5^상병6^항생제처방^항생제처방(원외)^심사자^입원일자^유형시작^유형종료^주민번호^총진료비^접수번호^명일련" colsep="^" colwidth="64, 37, 37, 37, 42, 76, 60, 25, 25, 91, 60, 45, 45, 45, 46, 45, 45, 402, 276, 60, 75, 75, 83, 113, 70, 72, 100" explorerbar="sortshow" extendlastcol="scroll" mergecellsfixedrows="bycolrec" rowheader="seq" rowsep="|" style="left:0px; top:100px; width:1190px; height:625px; ">
  413. <col ref="clamym" format="yyyy-mm" style="text-align:center; "/>
  414. <col ref="clamdg" style="text-align:center; "/>
  415. <col disabled="true" ref="clamflagcd" type="combo" style="text-align:center; ">
  416. <choices>
  417. <itemset nodeset="/root/init/P0155list/P0155">
  418. <label ref="cdengabbrnm"/>
  419. <value ref="cdid"/>
  420. </itemset>
  421. </choices>
  422. </col>
  423. <col disabled="true" ref="ioflag" type="combo" style="text-align:center; ">
  424. <choices>
  425. <item>
  426. <label>입원</label>
  427. <value>I</value>
  428. </item>
  429. <item>
  430. <label>외래</label>
  431. <value>O</value>
  432. </item>
  433. </choices>
  434. </col>
  435. <col disabled="true" ref="ordfildcd" type="combo" style="text-align:center; ">
  436. <choices>
  437. <itemset nodeset="/root/init/P0291list/P0291">
  438. <label ref="cdnm"/>
  439. <value ref="cdid"/>
  440. </itemset>
  441. </choices>
  442. </col>
  443. <col ref="pid" style="text-align:center; "/>
  444. <col ref="patnm" style="text-align:center; "/>
  445. <col ref="insukind"/>
  446. <col ref="suppkind" style="text-align:center; "/>
  447. <col ref="orddeptcd" style="text-align:center; "/>
  448. <col ref="orddrnm" style="text-align:center; "/>
  449. <col ref="diagcd1"/>
  450. <col ref="diagcd2"/>
  451. <col ref="diagcd3"/>
  452. <col ref="diagcd4"/>
  453. <col ref="diagcd5"/>
  454. <col ref="diagcd6"/>
  455. <col ref="hngnm"/>
  456. <col ref="hngnm2"/>
  457. <col ref="judgrid" style="text-align:center; "/>
  458. <col ref="indd" format="yyyy-mm-dd" style="text-align:center; "/>
  459. <col ref="fromdd" format="yyyy-mm-dd" style="text-align:center; "/>
  460. <col ref="todd" format="yyyy-mm-dd" style="text-align:center; "/>
  461. <col ref="patrrgstno" format="999999-9999999" style="text-align:center; "/>
  462. <col ref="edimedcaretotamt" format="#,###" style="text-align:right; "/>
  463. <col ref="acptno" style="text-align:center; "/>
  464. <col ref="docuseqno" style="text-align:right; "/>
  465. </datagrid>
  466. </group>
  467. </xhtml:body>
  468. </xhtml:html>