SPMMO11500_중증환자등록신청서.xrw 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821
  1. <?xml version="1.0" encoding="EUC-KR"?>
  2. <?xml-stylesheet type="text/css" href="../../../com/commonweb/css/common.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>중증진료등록신청서</xhtml:title>
  6. <model id="model1">
  7. <instance id="instance1">
  8. <root xmlns="">
  9. <main>
  10. <serdiagappinfo>
  11. <row>
  12. <status/>
  13. <genrdd/>
  14. <genrno/>
  15. <histno/>
  16. <instcd/>
  17. <histcd/>
  18. <pid/>
  19. <anohosprgstflag/>
  20. <genrflagcd/>
  21. <insukind/>
  22. <cncrdiagcnfmdd/>
  23. <orddeptcd/>
  24. <orddrid/>
  25. <serdiagno/>
  26. <serdiagfromdd/>
  27. <serdiagtodd/>
  28. <genrorddd/>
  29. <genrcretno/>
  30. <maindiagcd/>
  31. <ediflag/>
  32. <editretdd/>
  33. <editrettm/>
  34. <pathngnm/>
  35. <ioflag/>
  36. <reggubun/>
  37. </row>
  38. </serdiagappinfo>
  39. <serdiagappdetl>
  40. <row/>
  41. </serdiagappdetl>
  42. <result>
  43. <serdiagappinfo/>
  44. <serdiagyn/>
  45. <serdiagno/>
  46. </result>
  47. <diagdetlinfo>
  48. <serdiagdetllist>
  49. <serdiagdetllist>
  50. <genrdd/>
  51. <genrno/>
  52. <histno/>
  53. <diagmthdcd/>
  54. <instcd/>
  55. <diagetccnts/>
  56. <chkflag/>
  57. <cdnm/>
  58. <cdid/>
  59. </serdiagdetllist>
  60. </serdiagdetllist>
  61. </diagdetlinfo>
  62. </main>
  63. <send>
  64. <savedata/>
  65. <reqdata/>
  66. </send>
  67. <init>
  68. <orddept/>
  69. <serdiagitem>
  70. <diagmthdcd/>
  71. <diagetccnts/>
  72. </serdiagitem>
  73. <items>
  74. <item1/>
  75. <item2/>
  76. <item3/>
  77. <item4/>
  78. <item5/>
  79. <item6/>
  80. <item7/>
  81. <item8/>
  82. <item9/>
  83. <item10/>
  84. <item11/>
  85. <item12/>
  86. <item13/>
  87. </items>
  88. <P0008/>
  89. </init>
  90. <serdiagpatinfo/>
  91. <temp>
  92. <hardcdno_5400/>
  93. </temp>
  94. </root>
  95. </instance>
  96. <submission id="TRZSD00109" mediatype="application/x-www-form-urlencoded" method="post" replace="instance"/>
  97. <submission id="TRMMB04101" mediatype="application/x-www-form-urlencoded" method="post"/>
  98. <submission id="TXMMO11501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata" resultref="/root/main/result/serdiagappinfo"/>
  99. <submission id="TRMMO11501" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/serdiagappinfo/row" resultref="/root/main/result/serdiagappinfo"/>
  100. <submission id="TRMMO11502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/serdiagappinfo/row" resultref="/root/main/result/serdiagyn"/>
  101. <submission id="TXMMO11502" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/serdiagappinfo/row"/>
  102. <submission id="TXMMO11503" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/savedata"/>
  103. <submission id="TRMMO11503" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/result/serdiagappinfo" resultref="/root/init/items"/>
  104. <submission id="TRMMO11505" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/serdiagappinfo/row" resultref="/root/main/result/serdiagappinfo"/>
  105. <submission id="TRMMO11504" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/serdiagappinfo/row" resultref="/root/main/result/serdiagappinfo"/>
  106. <submission id="TRMMO11506" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/send/reqdata" resultref="/root/serdiagpatinfo"/>
  107. <submission id="TRMMO11507" mediatype="application/x-www-form-urlencoded" method="post" ref="/root/main/serdiagappinfo/row" resultref="/root/main/result/serdiagappinfo"/>
  108. <script type="javascript" ev:event="xforms-ready">
  109. <![CDATA[
  110. mmbfGetDeptCodeComboList("/root/send/reqdata", "/root/init/orddept", "A");
  111. var sPid = getPatientInfo("pid");
  112. if(isNull(sPid)) {
  113. btn_save.visible = false; //저장
  114. btn_del.visible = false; //삭제
  115. btn_upt.visible = false; //수정
  116. messageBox("환자정보를 확인", "E001");
  117. return;
  118. }
  119. var sIoFlag = getPatientInfoDetail("ioflag");
  120. var sCretNo = getPatientInfoDetail("cretno");
  121. var sOrdDd = "";
  122. if (sIoFlag == "O" || sIoFlag == "S") {
  123. sIoFlag = "O";
  124. sOrdDd = getPatientInfoDetail("orddd");
  125. } else {
  126. sIoFlag = "I";
  127. sOrdDd = getPatientInfoDetail("indd");
  128. }
  129. model.setValue("/root/main/serdiagappinfo/row/pid", sPid);
  130. model.setValue("/root/main/serdiagappinfo/row/genrflagcd", sIoFlag);
  131. model.setValue("/root/main/serdiagappinfo/row/genrorddd", sOrdDd);
  132. model.setValue("/root/main/serdiagappinfo/row/genrcretno", sCretNo);
  133. submit("TRMMO11507"); //중증 작성 기본정보 조회
  134. if(isNull(model.getValue("/root/main/result/serdiagappinfo/pid"))) {
  135. btn_save.visible = false; //저장
  136. btn_del.visible = false; //삭제
  137. btn_upt.visible = false; //수정
  138. alert("진단코드가 저장 되지 않았습니다.");
  139. return;
  140. }
  141. if(model.getValue("/root/main/result/serdiagappinfo/diagyn") == "N") {
  142. btn_save.visible = false; //저장
  143. btn_del.visible = false; //삭제
  144. btn_upt.visible = false; //수정
  145. alert("진단코드가 중증신청서을 작성할 수 없는 코드입니다.");
  146. return;
  147. }
  148. if(model.getValue("/root/main/result/serdiagappinfo/cncrdiagcnfmdd") == "00000000") { // 특례 번호가 있거나 번호가 발급되지 않은 신청서가 존재하는경우.
  149. btn_save.visible = false; //저장
  150. btn_del.visible = false; //삭제
  151. btn_upt.visible = false; //수정
  152. alert("중증등록신청서가 이미 존재하여 신규 작성할 수 없습니다.");
  153. return;
  154. }
  155. model.setValue("/root/main/serdiagappinfo/row/pathngnm", model.getValue("/root/main/result/serdiagappinfo/pathngnm"));
  156. model.setValue("/root/main/serdiagappinfo/row/insukind", model.getValue("/root/main/result/serdiagappinfo/insukind"));
  157. model.setValue("/root/main/serdiagappinfo/row/genrdd", model.getValue("/root/main/result/serdiagappinfo/genrdd")); //발생일자
  158. model.setValue("/root/main/serdiagappinfo/row/genrno", model.getValue("/root/main/result/serdiagappinfo/genrno")); //발생번호
  159. model.setValue("/root/main/serdiagappinfo/row/histno", model.getValue("/root/main/result/serdiagappinfo/histno")); //이력번호
  160. model.setValue("/root/main/serdiagappinfo/row/cncrdiagcnfmdd", model.getValue("/root/main/result/serdiagappinfo/cncrdiagcnfmdd")); //암진단확인일
  161. model.setValue("/root/main/serdiagappinfo/row/maindiagcd", model.getValue("/root/main/result/serdiagappinfo/maindiagcd")); //진단코드
  162. model.setValue("/root/main/serdiagappinfo/row/reggubun", model.getValue("/root/main/result/serdiagappinfo/reggubun")); //등록구분(1:신규, 2:재등록, 3:중복암, 4:중복암 재등록)
  163. model.setValue("/root/main/serdiagappinfo/row/orddeptcd", getUserInfo("dutplcecd"));
  164. model.setValue("/root/main/serdiagappinfo/row/orddrid", getUserId());
  165. cap_insukindnm.text = model.getValue("/root/main/result/serdiagappinfo/insukindnm");
  166. if(!isNull(model.getValue("/root/main/result/serdiagappinfo/genrno"))) { // 기존에 작성 되고 특례번호가 발행되지 않은경우
  167. alert("중증등록신청서가 이미 존재합니다.");
  168. submit("TRMMO11503"); //최종진단방법
  169. var chk;
  170. for( i = 1 ; i <= 13 ; i++) {
  171. chk = model.getValue("/root/init/items/item" + i);
  172. if(chk == "true") {
  173. if ( i > 10) {
  174. model.setValue("/root/init/serdiagitem/diagmthdcd", i-1);
  175. } else {
  176. model.setValue("/root/init/serdiagitem/diagmthdcd", "0" + (i-1));
  177. }
  178. if (i == 5) {
  179. model.setValue("/root/init/serdiagitem/diagetccnts", ipt_etc1.value);
  180. } else if ( i == 11) {
  181. model.setValue("/root/init/serdiagitem/diagetccnts", ipt_etc2.value);
  182. } else {
  183. model.setValue("/root/init/serdiagitem/diagetccnts", "");
  184. }
  185. copyNodesetType("/root/main/serdiagappdetl/row", "/root/init/serdiagitem", "after");
  186. }
  187. }
  188. btn_save.visible = false; //저장
  189. btn_del.visible = true; //삭제
  190. btn_upt.visible = true; //수정
  191. } else { // 신규작성
  192. model.setValue("/root/main/serdiagappinfo/row/status", "I");
  193. mmbfGetHardCodeInfo("/root/send/reqdata", "/root/temp/hardcdno_5400", 5400);
  194. if ( model.getValue("/root/main/serdiagappinfo/row/anohosprgstflag") == "Y") {
  195. bool_anohosprgstflag.value = "true";
  196. }
  197. btn_del.visible = false; //삭제
  198. btn_upt.visible = false; //수정
  199. }
  200. model.refresh();
  201. ]]>
  202. </script>
  203. </model>
  204. <script type="javascript">
  205. <![CDATA[
  206. function fSetSerDiagItem(boolvalue, itemcd, itemcnts) {
  207. if (boolvalue == "true") {
  208. model.removenode("/root/main/serdiagappdetl/row[diagmthdcd='"+itemcd+"']");
  209. model.setValue("/root/init/serdiagitem/diagmthdcd", itemcd);
  210. model.setValue("/root/init/serdiagitem/diagetccnts", itemcnts);
  211. copyNodesetType("/root/main/serdiagappdetl/row", "/root/init/serdiagitem", "after");
  212. } else {
  213. model.removenode("/root/main/serdiagappdetl/row[diagmthdcd='"+itemcd+"']"); }
  214. }
  215. ]]>
  216. </script>
  217. <script type="javascript" src="../../../com/commonweb/js/common.js"/>
  218. <script type="javascript" src="../../../com/departmentcodeweb/js/ZSD001.js"/>
  219. <script type="javascript" src="../../../com/commonweb/js/dateHelper.js"/>
  220. <script type="javascript" src="../../../com/commonweb/js/tfHelper.js"/>
  221. <script type="javascript" src="../../../com/commonweb/js/stringHelper.js"/>
  222. <script type="javascript" src="../../../com/basiccodeweb/js/ZBC001.js"/>
  223. <script type="javascript" src="../../../com/userdeptinfoweb/js/ZSU001.js"/>
  224. <script type="javascript" src="../../../emr/prcpmngtweb/js/SMMMO04100.js"/>
  225. <script type="javascript" src="../../../emr/prcpmngtweb/js/SMMMO04200.js"/>
  226. <script type="javascript" src="../../../emr/prcpmngtweb/js/MMO001.js"/>
  227. </xhtml:head>
  228. <xhtml:body pagewidth="380" pageheight="450" guideline="2,476;" style="margin-left:8; margin-top:0; margin-right:8; margin-bottom:0; ">
  229. <group id="group1" disabled="true" style="left:84px; top:18px; width:271px; height:177px; ">
  230. <input id="ipt_pid" ref="/root/main/serdiagappinfo/row/pid" disabled="true" disable.background-color="#ffffff" style="left:5px; top:5px; width:130px; height:19px; "/>
  231. <select1 id="combo1" ref="/root/main/serdiagappinfo/row/orddeptcd" disabled="true" appearance="minimal" disable.background-color="#ffffff" style="left:5px; top:52px; width:130px; height:19px; ">
  232. <choices>
  233. <itemset nodeset="/root/init/orddept/dept">
  234. <label ref="depthngnm"/>
  235. <value ref="deptcd"/>
  236. </itemset>
  237. </choices>
  238. </select1>
  239. <input id="iopt_diaghngnm" ref="/root/main/serdiagappinfo/row/maindiagcd" disabled="true" disable.background-color="#ffffff" style="left:5px; top:77px; width:130px; height:19px; "/>
  240. <input id="ipt_hngnm" ref="/root/main/serdiagappinfo/row/pathngnm" disabled="true" disable.background-color="#ffffff" style="left:5px; top:27px; width:130px; height:19px; "/>
  241. </group>
  242. <line id="line1" class="line_1" style="x1:0px; y1:15px; x2:355px; y2:15px; "/>
  243. <caption id="caption14" class="tit_2" style="left:0px; top:0px; width:152px; height:14px; vertical-align:middle; ">중증진료 등록 신청서</caption>
  244. <caption id="caption26" class="cell_1" style="left:1px; top:20px; width:85px; height:23px; text-align:center; vertical-align:middle; ">등록번호</caption>
  245. <caption id="caption1" class="cell_1" style="left:1px; top:70px; width:85px; height:23px; text-align:center; vertical-align:middle; ">진료과</caption>
  246. <caption id="caption2" class="cell_1" style="left:1px; top:95px; width:85px; height:23px; text-align:center; vertical-align:middle; ">진단</caption>
  247. <caption id="caption3" class="cell_1" style="left:1px; top:145px; width:85px; height:23px; text-align:center; vertical-align:middle; ">암진단확인일</caption>
  248. <caption id="caption4" class="tit_2" style="left:0px; top:200px; width:228px; height:13px; vertical-align:middle; ">최종 진단 방법 (※ 중복 체크 가능)</caption>
  249. <line id="line2" class="line_1" style="x1:0px; y1:216px; x2:355px; y2:216px; "/>
  250. <caption id="caption6" style="left:4px; top:229px; width:50px; height:15px; ">① 검사</caption>
  251. <caption id="caption7" style="left:4px; top:272px; width:15px; height:15px; ">②</caption>
  252. <caption id="caption8" style="left:4px; top:294px; width:15px; height:15px; ">③</caption>
  253. <caption id="caption9" style="left:4px; top:316px; width:15px; height:15px; ">④</caption>
  254. <caption id="caption10" style="left:4px; top:338px; width:15px; height:15px; ">⑤</caption>
  255. <caption id="caption11" style="left:4px; top:363px; width:15px; height:15px; ">⑥</caption>
  256. <caption id="caption12" style="left:4px; top:387px; width:15px; height:15px; ">⑦</caption>
  257. <button id="btn_save" class="btn4_letter2" style="left:235px; top:415px; width:56px; height:22px; ">
  258. <caption>저장</caption>
  259. <script type="javascript" ev:event="DOMActivate">
  260. <![CDATA[
  261. var cncrdiagcnfmdd = model.getValue("/root/main/serdiagappinfo/row/cncrdiagcnfmdd");
  262. var reggubun = model.getValue("/root/main/serdiagappinfo/row/reggubun");
  263. if ( !isValidDateTime(cncrdiagcnfmdd, "YYYYMMDD")) {
  264. messageBox("암진단 확인일은", "I003");
  265. return;
  266. }
  267. if(cncrdiagcnfmdd > getCurrentDate() ) {
  268. messageBox("암진단 확인일을 미래일자로 입력 할 수 없습니다.", "I999");
  269. return;
  270. }
  271. if(reggubun == "3") { // 중복암은 한달이전 진단일도 선택 가능 하도록 처리 2017.07.10 엄영만
  272. if(cncrdiagcnfmdd == getCurrentDate() ) {
  273. if("7" != messageBox("중복암의 암진단 확인일이 오늘로 입력 되었습니다. 수정하시겠습니까?", "Q999") ) {
  274. return;
  275. }
  276. }
  277. } else { // 중복암은 한달이전 진단일도 선택 가능 하도록 처리 2017.07.10 엄영만
  278. if(cncrdiagcnfmdd < ((getCurrentDate().toDate()).getAddDate(-1,"M")).getDateFormat() ) {
  279. messageBox("암진단 확인일을 최근 1달이내의 날짜로 입력 하셔야 합니다.", "I999");
  280. return;
  281. }
  282. }
  283. if ( getNodesetCount("/root/main/serdiagappdetl/row") == 1 ) {
  284. messageBox("최종진단방법은 1개 이상", "C002");
  285. return;
  286. }
  287. if (bool_etc.value == "true") {
  288. var yy1 = ipt_etc1.value;
  289. var xx1 = 0;
  290. for(var i=0; i < yy1.length; i++) { (yy1.charCodeAt(i) > 255) ? xx1 += 2 : xx1 += 1; }
  291. if (ipt_etc1.value == "" ) {
  292. messageBox("1번 기타항목을 선택하였으므로 해당 내용을","C001");
  293. return;
  294. } else if ( xx1 < 5 || xx1 > 40 ) {
  295. messageBox("1번 기타항목의 내용은 최소 : 한글 3자, 영어 5자 최대 : 한글 20자, 영어 40자 까지 입니다.","I");
  296. return;
  297. }
  298. model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='04']/diagetccnts", ipt_etc1.value );
  299. }
  300. if (bool_item7.value == "true") {
  301. var yy2 = ipt_etc2.value;
  302. var xx2 = 0;
  303. for(var i=0; i < yy2.length; i++) { (yy2.charCodeAt(i) > 255) ? xx2 += 2 : xx2 += 1; }
  304. if ( ipt_etc2.value == "") {
  305. messageBox("7번 기타항목을 선택하였으므로 해당 내용을","C001");
  306. return;
  307. } else if ( xx2 < 10 || xx2 > 80 ) {
  308. messageBox("7번 기타항목의 내용은 최소 : 한글 5자, 영어 10자 최대 : 한글 40자, 영어 80자 까지 입니다.","I");
  309. return;
  310. }
  311. model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='10']/diagetccnts", ipt_etc2.value );
  312. }
  313. if (bool_anohosprgstflag.value == "true") {
  314. model.setValue("/root/main/serdiagappinfo/row/anohosprgstflag","Y");
  315. } else {
  316. model.setValue("/root/main/serdiagappinfo/row/anohosprgstflag","N");
  317. }
  318. copyNodeListType("/root/send/savedata", "/root/main/serdiagappinfo", "replace");
  319. copyNodeListType("/root/send/savedata", "/root/main/serdiagappdetl", "after");
  320. var ret = submit("TXMMO11501");
  321. if (ret == true ) {
  322. var sAutpPrtYn = fGetHardCDList("Y", 272, 3);
  323. if (sAutpPrtYn == "Y") {
  324. model.removenode("/root/send/reqdata");
  325. model.makeValue("/root/send/reqdata/pid", model.getValue("/root/main/serdiagappinfo/row/pid"));
  326. var genrflagcd = model.getValue("/root/main/serdiagappinfo/row/genrflagcd")
  327. if (genrflagcd == "O" || genrflagcd == "S") {
  328. genrflagcd = "O";
  329. } else {
  330. genrflagcd = "I";
  331. }
  332. model.makeValue("/root/send/reqdata/genrflagcd", genrflagcd);
  333. if (submit("TRMMO11506") == true) {
  334. var insukind = model.getValue("/root/serdiagpatinfo/serdiagpatinfo/insukind");
  335. if (insukind == "11") {
  336. exeReportPreview("RPMMO11501", "XMLSTR", "/root/serdiagpatinfo/serdiagpatinfo", "", "true", "", "", "", "", "true", "", "", "", "", "", "", "", "", "", "", "");
  337. } else {
  338. exeReportPreview("RPMMO11502", "XMLSTR", "/root/serdiagpatinfo/serdiagpatinfo", "", "true", "", "", "", "", "true", "", "", "", "", "", "", "", "", "", "", "");
  339. }
  340. }
  341. }
  342. if(opener != null) {
  343. opener.javascript.setParameter("SPMMO11500_save", "Y"); // 처방 저장시 작성 여부를 체크 하기 위해 추가. 2012.02.28 엄영만
  344. }
  345. window.close();
  346. } else {
  347. messageBox("저장", "E009");
  348. }
  349. ]]>
  350. </script>
  351. </button>
  352. <button id="btn_exit" class="btn4_letter2" style="left:295px; top:415px; width:56px; height:22px; ">
  353. <caption>종료</caption>
  354. <script type="javascript" ev:event="DOMActivate">
  355. <![CDATA[
  356. window.close();
  357. ]]>
  358. </script>
  359. </button>
  360. <caption id="caption13" class="cell_1" style="left:1px; top:45px; width:85px; height:23px; text-align:center; vertical-align:middle; ">환자명</caption>
  361. <bool id="bool_sono" ref="/root/init/items/item2" style="left:60px; top:226px; width:20px; height:15px; ">
  362. <script type="javascript" ev:event="xforms-value-changed">
  363. <![CDATA[
  364. fSetSerDiagItem(bool_sono.value,"01", "");
  365. ]]>
  366. </script>
  367. </bool>
  368. <bool id="bool_ct" ref="/root/init/items/item3" style="left:135px; top:226px; width:20px; height:15px; ">
  369. <script type="javascript" ev:event="xforms-value-changed">
  370. <![CDATA[
  371. fSetSerDiagItem(bool_ct.value,"02", "");
  372. ]]>
  373. </script>
  374. </bool>
  375. <bool id="bool_mri" ref="/root/init/items/item4" style="left:210px; top:226px; width:20px; height:15px; ">
  376. <script type="javascript" ev:event="xforms-value-changed">
  377. <![CDATA[
  378. fSetSerDiagItem(bool_mri.value,"03", "");
  379. ]]>
  380. </script>
  381. </bool>
  382. <bool id="bool_etc" ref="/root/init/items/item5" style="left:60px; top:247px; width:20px; height:15px; ">
  383. <script type="javascript" ev:event="xforms-value-changed">
  384. <![CDATA[
  385. //fSetSerDiagItem(bool_etc.value, "04", ipt_etc1.value);
  386. if (bool_etc.value == "true") {
  387. //model.setValue("/root/init/items/item12", "");
  388. //model.refresh();
  389. ipt_etc1.disabled = false;
  390. if (ipt_etc1.value == "" ) {
  391. messageBox("기타항목을 선택하였으므로 해당 내용을","C001");
  392. return;
  393. }
  394. //model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='04']/diagetccnts", ipt_etc1.value );
  395. //model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='04']/diagetccnts", model.getValue("/root/init/items/item12"));
  396. } else {
  397. model.removenode("/root/main/serdiagappdetl/row[diagmthdcd='"+ "04" +"']");
  398. model.setValue("/root/init/items/item12", "");
  399. model.refresh();
  400. ipt_etc1.disabled = true;
  401. }
  402. ]]>
  403. </script>
  404. </bool>
  405. <bool id="bool_item4" ref="/root/init/items/item8" style="left:25px; top:315px; width:20px; height:15px; ">
  406. <script type="javascript" ev:event="xforms-value-changed">
  407. <![CDATA[
  408. fSetSerDiagItem(bool_item4.value, "07", "");
  409. model.refresh();
  410. ]]>
  411. </script>
  412. </bool>
  413. <bool id="bool_item3" ref="/root/init/items/item7" style="left:25px; top:293px; width:20px; height:15px; ">
  414. <script type="javascript" ev:event="xforms-value-changed">
  415. <![CDATA[
  416. fSetSerDiagItem(bool_item3.value, "06", "");
  417. model.refresh();
  418. ]]>
  419. </script>
  420. </bool>
  421. <bool id="bool_item2" ref="/root/init/items/item6" style="left:25px; top:271px; width:20px; height:15px; ">
  422. <script type="javascript" ev:event="xforms-value-changed">
  423. <![CDATA[
  424. fSetSerDiagItem(bool_item2.value, "05", "");
  425. model.refresh();
  426. ]]>
  427. </script>
  428. </bool>
  429. <bool id="bool_item5" ref="/root/init/items/item9" style="left:25px; top:337px; width:20px; height:15px; ">
  430. <script type="javascript" ev:event="xforms-value-changed">
  431. <![CDATA[
  432. fSetSerDiagItem(bool_item5.value, "08", "");
  433. model.refresh();
  434. ]]>
  435. </script>
  436. </bool>
  437. <bool id="bool_item6" ref="/root/init/items/item10" style="left:25px; top:362px; width:20px; height:15px; ">
  438. <script type="javascript" ev:event="xforms-value-changed">
  439. <![CDATA[
  440. fSetSerDiagItem(bool_item6.value, "09", "");
  441. model.refresh();
  442. ]]>
  443. </script>
  444. </bool>
  445. <bool id="bool_item7" ref="/root/init/items/item11" style="left:25px; top:386px; width:20px; height:15px; ">
  446. <script type="javascript" ev:event="xforms-value-changed">
  447. <![CDATA[
  448. // fSetSerDiagItem(bool_item7.value, "10", ipt_etc2.value);
  449. // if (bool_item7.value == "true") {
  450. // //model.setValue("/root/init/items/item13", "");
  451. // model.refresh();
  452. // ipt_etc2.disabled = false;
  453. // } else {
  454. // //model.setValue("/root/init/items/item13", "");
  455. // model.refresh();
  456. // ipt_etc2.disabled = true;
  457. // }
  458. // model.refresh();
  459. //fSetSerDiagItem(bool_item7.value, "10", ipt_etc2.value);
  460. if (bool_item7.value == "true") {
  461. //model.setValue("/root/init/items/item13", "");
  462. //model.refresh();
  463. ipt_etc2.disabled = false;
  464. if (ipt_etc2.value == "" ) {
  465. messageBox("기타항목을 선택하였으므로 해당 내용을","C001");
  466. return;
  467. }
  468. //model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='10']/diagetccnts", ipt_etc2.value );
  469. //model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='10']/diagetccnts", model.getValue("/root/init/items/item13"));
  470. } else {
  471. model.removenode("/root/main/serdiagappdetl/row[diagmthdcd='"+ "10" +"']");
  472. model.setValue("/root/init/items/item13", "");
  473. model.refresh();
  474. ipt_etc2.disabled = true;
  475. }
  476. ]]>
  477. </script>
  478. </bool>
  479. <input id="ipt_etc1" ref="/root/init/items/item12" disabled="true" style="left:109px; top:245px; width:241px; height:19px; ">
  480. <script type="javascript" ev:event="xforms-value-changed">
  481. <![CDATA[
  482. //model.setValue("/root/init/items/item12", model.getValue("/root/init/items/item12"));
  483. //model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='04']/diagetccnts", model.getValue("/root/init/items/item12"));
  484. if(model.getValue("/root/init/items/item12") != ""){
  485. fSetSerDiagItem(bool_etc.value, "04", ipt_etc1.value);
  486. model.refresh();
  487. }
  488. ]]>
  489. </script>
  490. </input>
  491. <input id="ipt_etc2" ref="/root/init/items/item13" disabled="true" style="left:75px; top:384px; width:275px; height:19px; ">
  492. <script type="javascript" ev:event="xforms-value-changed">
  493. <![CDATA[
  494. //model.setValue("/root/init/items/item13", model.getValue("/root/init/items/item13"));
  495. //model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='10']/diagetccnts", model.getValue("/root/init/items/item13"));
  496. if(model.getValue("/root/init/items/item13") != ""){
  497. fSetSerDiagItem(bool_item7.value, "10", ipt_etc2.value);
  498. model.refresh();
  499. }
  500. ]]>
  501. </script>
  502. </input>
  503. <bool id="bool_anohosprgstflag" visibility="hidden" ref="/root/init/items/item1" style="left:239px; top:151px; width:15px; height:15px; "/>
  504. <caption id="cap_insukindnm" class="cell_1" style="left:225px; top:21px; width:128px; height:45px; font-size:11pt; font-weight:bold; text-align:center; vertical-align:middle; border-color:#000000; border-style:solid; "/>
  505. <caption id="cap_item1" visibility="hidden" style="left:257px; top:152px; width:95px; height:15px; ">
  506. <![CDATA[타병원등록여부]]>
  507. <script type="javascript" ev:event="onclick">
  508. <![CDATA[
  509. if ( bool_anohosprgstflag.value == "true") {
  510. bool_anohosprgstflag.value = "false";
  511. } else {
  512. bool_anohosprgstflag.value = "true";
  513. }
  514. ]]>
  515. </script>
  516. </caption>
  517. <caption id="cap_item2" style="left:79px; top:227px; width:40px; height:15px; ">
  518. <![CDATA[SONO]]>
  519. <script type="javascript" ev:event="onclick">
  520. <![CDATA[
  521. if ( bool_sono.value == "true") {
  522. bool_sono.selected = "false";
  523. } else {
  524. bool_sono.selected = "true";
  525. }
  526. ]]>
  527. </script>
  528. </caption>
  529. <caption id="cap_item3" style="left:154px; top:227px; width:40px; height:15px; ">
  530. <![CDATA[CT]]>
  531. <script type="javascript" ev:event="onclick">
  532. <![CDATA[
  533. if ( bool_ct.value == "true") {
  534. bool_ct.selected = "false"
  535. } else {
  536. bool_ct.selected = "true"
  537. }
  538. ]]>
  539. </script>
  540. </caption>
  541. <caption id="cap_item4" style="left:229px; top:227px; width:40px; height:15px; ">
  542. <![CDATA[MRI]]>
  543. <script type="javascript" ev:event="onclick">
  544. <![CDATA[
  545. if ( bool_mri.value == "true") {
  546. bool_mri.selected = "false";
  547. } else {
  548. bool_mri.selected = "true";
  549. }
  550. ]]>
  551. </script>
  552. </caption>
  553. <caption id="cap_item5" style="left:79px; top:248px; width:40px; height:15px; ">
  554. <![CDATA[기타]]>
  555. <script type="javascript" ev:event="onclick">
  556. <![CDATA[
  557. if ( bool_etc.value == "true") {
  558. bool_etc.selected = "false";
  559. } else {
  560. bool_etc.selected = "true";
  561. }
  562. if (bool_etc.value == "true") {
  563. //model.setValue("/root/init/items/item12", "");
  564. //model.refresh();
  565. ipt_etc1.disabled = false;
  566. } else {
  567. //model.setValue("/root/init/items/item12", "");
  568. //model.refresh();
  569. ipt_etc1.disabled = true;
  570. }
  571. ]]>
  572. </script>
  573. </caption>
  574. <caption id="cap_item6" style="left:45px; top:271px; width:146px; height:15px; ">
  575. <![CDATA[조직검사 없는 진단적 수술]]>
  576. <script type="javascript" ev:event="onclick">
  577. <![CDATA[
  578. if ( bool_item2.value == "true") {
  579. bool_item2.selected = "false";
  580. } else {
  581. bool_item2.selected = "true";
  582. }
  583. ]]>
  584. </script>
  585. </caption>
  586. <caption id="cap_item7" style="left:45px; top:293px; width:186px; height:15px; ">
  587. <![CDATA[특수 생화학적 또는 면역학적 검사]]>
  588. <script type="javascript" ev:event="onclick">
  589. <![CDATA[
  590. if ( bool_item3.value == "true") {
  591. bool_item3.selected = "false";
  592. } else {
  593. bool_item3.selected = "true";
  594. }
  595. ]]>
  596. </script>
  597. </caption>
  598. <caption id="cap_item8" style="left:45px; top:315px; width:158px; height:15px; ">
  599. <![CDATA[세포학적 또는 혈액학적 검사]]>
  600. <script type="javascript" ev:event="onclick">
  601. <![CDATA[
  602. if ( bool_item4.value == "true") {
  603. bool_item4.selected = "false";
  604. } else {
  605. bool_item4.selected = "true";
  606. }
  607. ]]>
  608. </script>
  609. </caption>
  610. <caption id="cap_item9" style="left:45px; top:337px; width:142px; height:15px; ">
  611. <![CDATA[전이부위의 조직학적 검사]]>
  612. <script type="javascript" ev:event="onclick">
  613. <![CDATA[
  614. if ( bool_item5.value == "true") {
  615. bool_item5.selected = "false";
  616. } else {
  617. bool_item5.selected = "true";
  618. }
  619. ]]>
  620. </script>
  621. </caption>
  622. <caption id="cap_item10" style="left:45px; top:362px; width:142px; height:15px; ">
  623. <![CDATA[원발부위의 조직학적 생검]]>
  624. <script type="javascript" ev:event="onclick">
  625. <![CDATA[
  626. if ( bool_item6.value == "true") {
  627. bool_item6.selected = "false";
  628. } else {
  629. bool_item6.selected = "true";
  630. }
  631. ]]>
  632. </script>
  633. </caption>
  634. <caption id="cap_item11" style="left:45px; top:386px; width:40px; height:15px; ">
  635. <![CDATA[기타]]>
  636. <script type="javascript" ev:event="onclick">
  637. <![CDATA[
  638. if ( bool_item7.value == "true") {
  639. bool_item7.selected = "false";
  640. } else {
  641. bool_item7.selected = "true";
  642. }
  643. if (bool_item7.value == "true") {
  644. //model.setValue("/root/init/items/item13", "");
  645. //model.refresh();
  646. ipt_etc2.disabled = false;
  647. } else {
  648. //model.setValue("/root/init/items/item13", "");
  649. //model.refresh();
  650. ipt_etc2.disabled = true;
  651. }
  652. ]]>
  653. </script>
  654. </caption>
  655. <select1 id="rdo_reggubun" ref="/root/main/serdiagappinfo/row/reggubun" appearance="full" cellspacing="3" cols="4" overflow="visible" style="left:90px; top:123px; width:265px; height:20px; border-style:none; ">
  656. <choices>
  657. <item>
  658. <label>신규</label>
  659. <value>1</value>
  660. </item>
  661. <item>
  662. <label>재등록</label>
  663. <value>2</value>
  664. </item>
  665. <item>
  666. <label>중복암</label>
  667. <value>3</value>
  668. </item>
  669. <item>
  670. <label>중복암 재등록</label>
  671. <value>4</value>
  672. </item>
  673. </choices>
  674. </select1>
  675. <input id="ipt_diagcnfmdate" ref="/root/main/serdiagappinfo/row/cncrdiagcnfmdd" class="input_s_essential" inputtype="date" format="yyyy-mm-dd" disable.background-color="#ffffff" style="left:90px; top:145px; width:130px; height:19px; "/>
  676. <button id="btn_del" class="btn4_letter2" style="left:175px; top:415px; width:56px; height:22px; ">
  677. <caption>삭제</caption>
  678. <script type="javascript" ev:event="DOMActivate">
  679. <![CDATA[
  680. if((model.getValue("/root/main/serdiagappinfo/row/orddeptcd") == getUserInfo("dutplcecd")) && (getUserInfo("jobkindcd") == "0330") && (getUserInfo("jobposcd") != "1799")){ // 0330 : 의사
  681. submit("TRMMO11502");
  682. if((model.getValue("/root/main/result/serdiagyn/histcd") == "O") && (model.getValue("/root/main/result/serdiagyn/prntyn") == "N") && (model.getValue("/root/main/result/serdiagyn/serdiagno") == "-")){
  683. if(submit("TXMMO11502")){
  684. messageBox("해당환자의 중증등록신청서가 삭제","I001");
  685. btn_del.visible = false;
  686. }else{
  687. messageBox("해당환자의 중증등록신청서 삭제를 ","E009");
  688. }
  689. model.refresh();
  690. }else{
  691. messageBox("해당환자의 중증등록신청서를 삭제 ","E001");
  692. return;
  693. }
  694. }else{
  695. messageBox("삭제할 수 있는 ","E002");
  696. btn_save.visible = false; //저장
  697. btn_del.visible = false; //삭제
  698. btn_upt.visible = false; //수정
  699. return;
  700. }
  701. ]]>
  702. </script>
  703. </button>
  704. <button id="btn_upt" class="btn4_letter2" style="left:115px; top:415px; width:56px; height:22px; ">
  705. <caption>수정</caption>
  706. <script type="javascript" ev:event="DOMActivate">
  707. <![CDATA[
  708. if ( getNodesetCount("/root/main/serdiagappdetl/row") == 1 ) {
  709. messageBox("최종진단방법은 1개 이상", "C002");
  710. return;
  711. }
  712. // if (bool_etc.value == "true") {
  713. // if (ipt_etc1.value == "" ) {
  714. // messageBox("기타항목을 선택하였으므로 해당 내용을","C001");
  715. // return;
  716. // }
  717. // model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='04']/diagetccnts", ipt_etc1.value );
  718. // }
  719. //
  720. // if (bool_item7.value == "true") {
  721. // if ( ipt_etc2.value == "") {
  722. // messageBox("기타항목을 선택하였으므로 해당 내용을","C001");
  723. // return;
  724. // }
  725. // model.setValue("/root/main/serdiagappdetl/row[diagmthdcd='10']/diagetccnts", ipt_etc2.value );
  726. // }
  727. copyNodeListType("/root/send/savedata", "/root/main/serdiagappinfo", "replace");
  728. copyNodeListType("/root/send/savedata", "/root/main/serdiagappdetl", "after");
  729. if((model.getValue("/root/main/serdiagappinfo/row/orddeptcd") == getUserInfo("dutplcecd")) && (getUserInfo("jobkindcd") == "0330") && (getUserInfo("jobposcd") != "1799")){ // 0330 : 의사, 1799 : 인턴
  730. submit("TRMMO11502");
  731. if((model.getValue("/root/main/result/serdiagyn/histcd") == "O") && (model.getValue("/root/main/result/serdiagyn/prntyn") == "N") && (model.getValue("/root/main/result/serdiagyn/serdiagno") == "-")){
  732. if(submit("TXMMO11503")){
  733. messageBox("해당환자의 중증등록신청서가 수정","I001");
  734. btn_del.visible = false;
  735. btn_upt.visible = false;
  736. //window.close();
  737. }else{
  738. messageBox("해당환자의 중증등록신청서 수정을 ","E009");
  739. }
  740. model.refresh();
  741. }else{
  742. messageBox("해당환자의 중증등록신청서를 수정 ","E001");
  743. return;
  744. }
  745. }else{
  746. messageBox("수정할 수 있는 ","E002");
  747. btn_save.visible = false; //저장
  748. btn_del.visible = false; //삭제
  749. btn_upt.visible = false; //수정
  750. return;
  751. }
  752. ]]>
  753. </script>
  754. </button>
  755. <caption id="caption5" class="cell_1" style="left:0px; top:170px; width:85px; height:23px; text-align:center; vertical-align:middle; ">외래/입원구분</caption>
  756. <select1 id="combo2" ref="/root/main/serdiagappinfo/row/genrflagcd" appearance="minimal" disable.background-color="#ffffff" style="left:90px; top:170px; width:130px; height:19px; ">
  757. <choices>
  758. <item>
  759. <label>외래</label>
  760. <value>O</value>
  761. </item>
  762. <item>
  763. <label>입원</label>
  764. <value>I</value>
  765. </item>
  766. </choices>
  767. </select1>
  768. <button id="button1" class="btn4_letter4" style="left:5px; top:415px; width:80px; height:22px; ">
  769. <caption>예외환자</caption>
  770. <script type="javascript" ev:event="DOMActivate">
  771. <![CDATA[
  772. modal ("SPMMO09500");
  773. ]]>
  774. </script>
  775. </button>
  776. <caption id="caption15" class="cell_1" style="left:0px; top:120px; width:85px; height:23px; text-align:center; vertical-align:middle; ">등록구분</caption>
  777. </xhtml:body>
  778. </xhtml:html>